![]() |
Eigene 2dEngine basierend auf DX oder OpenGL
So, im Moment flute ich das Forum ja mal wieder. Ständig neue Ideen und so, hab wohl im Moment einfach zuviel Zeit ^^
Ich hoffei hr lasst euch von der Länge des Textes, die nun doch entstanden ist nicht abschrecken :) Nagut, hier meine Idee. Ich habe bisher ja einige kleine Spiel programmiert, wie Snake, Pong oder mein kleines Rocket. Zugegebenermaßen sehr kleine Projekte. Deswegen würde ich mich gerne mal an etwas größerem versuchen und zwar ein kleines 2D Spiel entwickeln, vielleicht sogar mit einer kleinen Story oder so. Einfach etwas, dass mehr als aus einer einzigen Handlung besteht. Ich hätte jetzt die Möglichkeit dabei auf Andorra2D oder sowas zurückzugreifen. Allerdings würde ich mir lieber selber die Arbeit machen und eine eigene kleine Engine basteln. Alleine aus Gründen des Lernens, ich möchte gerne Verstehen was hinter der Sache passiert (z.B. wie und warum DX und OpenGl performanter sind). Ich würde also gerne, basierend auf oben genanntem eine kleine Engine für 2dSpiele basteln. Habe folgenden Thread hier im Forum gefunden: ![]() So, das hat mir schonmal einige Anrgegungen gegeben: - Kamera - Hintergrund/(transparenter) Vordergrund mit Bewegung - Objekte natürlich - Effekte auch Dann fänd ich es furchtbar cool, die Spielart von GodOfWar, also das Tastendrücken im richtigen Moment in Verbindung mit einer Animation, einzubringen. Man macht also zB eine Spezialattacke und dann wird eine Animation eingespielt, in der man im richtigen Moment spezielle Tasten drücken muss, um erfolgreich anzugreifen, bzw mehr Schaden zu machen. Ich bin mir allerdings ziemlich sicher, dass ich das ganze ohne eine kleine Anleitung oder einen "Wegweiser" nicht hinbekomme. Ich weiß ehrlich gesagt nichtmal wo ich anfangen soll. Was gehört alles dazu, und wie setze ich das um? Wie z.B. mache ich Animationen und Effekte? Bisher habe ich sowas mit einer TTimer Komponente gemacht, wobei es ja sehr kompliziert ist, mit einer einzigen Komponente, getrennte Animationen abzuspielen. Nebenbei scheint die Timer-Komponente ja nicht gerade die beste Lösung zu sein (nach dem was ich bisher gelesen habe). Ich könnte jetzt hier zu allen Einzelheiten Fragen stellen, aber das würde den Rahmen sprengen. Gibt es nicht im Internet Literatur dazu, die sich speziell mit sowas auseinandersetzt? Kann auch gerne allgemein gehalten, also nicht Delphi-spezifisch sein. Dann wäre ich euch noch sehr dankbar, wenn ihr mir kurz erklärt, was genau alles zu so einer Engine gehört und wie man sie aufbaut! - Leveleditor denke ich mal - Charaktereditor vielleicht? Mit verschiedenen Animationen und sowas? Gibt man in so einem Editor dann auch schon verschiedene Attacken an? Oder dient der nur zum äusseren des Charakters? Wird das eigentliche Spiel denn dann programmiert? Oder baut man die Engine so auf, dass man das Spiel hinterher "zusammenklicken" kann? Ich kann mir nicht wirklich vorstellen wie sowas bei einem größeren Projekt aussehen würde. Für jedes Level eine eigene Unit? Bei Pong zB habe ich einfach ein paar Variablen oder Klassen in einer Unit, vielleicht noch einen Controller in der anderen und auf der Form wird alles gezeichnet. Ok, lange Rede, kurzer Sinn: Könnt ihr mir irgendwie sagen wo ich anfangen soll? Ich denke ihr seht was ich vor habe und wo meine Probleme liegen. Edit: Da fallen mir gleich noch ein paar Sachen ein. SlowMotion zB wäre schön. |
Re: Eigene 2dEngine basierend auf DX oder OpenGL
Zitat:
Der Rest dürfte sich ja dann wohl ergeben. OpenGL Tutorials -> Google -> "NeHe" DirectX Tutorials -> Google Zitat:
|
Re: Eigene 2dEngine basierend auf DX oder OpenGL
|
Re: Eigene 2dEngine basierend auf DX oder OpenGL
Zitat:
|
Re: Eigene 2dEngine basierend auf DX oder OpenGL
Nur die Leistungsunterstützung.
Vista (Oberfl.-darstellung) basiert auf DirectX. OpenGl wird desswegen nicht direkt dargestellt sondern wird erst Zwischengepuffert. Man kann nun mal keinen OpenGl-Rendercontext auf dem DirectX-Rendercontext ertellen. Zitat:
|
Re: Eigene 2dEngine basierend auf DX oder OpenGL
Ok, dann wurschtel ich mich da durch, hab schon n schönes PDF Dokument gefunden!
![]() Könnt ihr mir denn trotzdem noch erklären wie sowas dann aufgebaut ist? So eine Engine? Das wird jawohl kaum bei DirectX erklärt sein. Also ich hab zB zwei Editoren für Level und Charakter, und meine ganzen Funktionen zum zeichnen, Bewegen und so weiter. Und dann, wird dann weiter alles so programmiert unter Einbindung der Units? Also zB für alle Ereignisse im Level und Fähigkeiten des Charakters werden dann eigene Units erstellt? Aaah ich hab überhaupt keine Ahnung wie sone Engine aufgebaut ist, hab auch die ganze Zeit schon gegoogelt aber nix brauchbares dazu gefunden! |
Re: Eigene 2dEngine basierend auf DX oder OpenGL
Das Problem mit OpenGL besteht aber nur beim Fenstermodus mit aktiviertem Aero. Für Vollbildanwendugen besteht es nicht.
|
Re: Eigene 2dEngine basierend auf DX oder OpenGL
Abgesehn von meiner oben gestellten Frage, könntet ihr mir wohl noch sagen wo es gute Informationen zu DreictX in Verbindung mit Delphi gibt? Also, wenn ich nun immer noch von C++ (was ich nicht beherrsche) auf Delphi schliessen musst, wird die Sache doch sehr kompliziert, und zu Delphi und 2D mit DirectX finde ich irgendwie nichts vernünftiges.
Edit: Nebenbei bin ich verwirrt ob ich auch Tutorials für ältere DX Versionen wie 8 oder so verwenden kann, oder ob sich in den neueren DX Versionen schon wieder zuviel geändert hat. |
Re: Eigene 2dEngine basierend auf DX oder OpenGL
|
Re: Eigene 2dEngine basierend auf DX oder OpenGL
Direct3D ist also nicht nur für 3D Anwendungen? Würde ungern das halbe Tutorial durcharbeiten und dann merken dass das schon 3d ist, womit ich mich eigentlich erst später beschäftigen möchte...
Achso, und dann deine letzten Links: Habe Wrapper gegooglet und das folgendermaßen verstanden...es ist sone Art "Vereinfachung" der DirectX Methoden, auf Delphi spezialisiert? Brauch ich sowas oder kann ich auch direkt mit DirectX arbeiten? Wenn ichs falsch verstanden habe bitte aufklären :) Grüße und danke für die Links :) Ich fang an zu lesen ^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz