Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
frederic Mini JLI'ler
Anmeldedatum: 27.04.2004 Beiträge: 12
Medaillen: Keine
|
Verfasst am: 07.07.2004, 21:52 Titel: 2D Engine |
|
|
Hallo,
ich befinde mich grade in der späten Konzept und in der frühen Entwicklungsphase meines ersten richtiges Spiel, eine 4 gewinnt Computerumsetzung in 3D unter DirectX.
Ich plane danach für zukünftige 2D Projekte mir eine eigene Engine zu basteln, die ich dann für meine zukünftige 2D Spiele benutzen kann, egal welches Genre.
Mir ist es verständlich dass sich die meisten Fragen hier an 3D wenden. Ich werde irgendwann auch versuchen eine 3D Engine zu basteln, aber dafür fehlt mir noch die Erfahrung. Aber auch das Thema 2D ist interesannt, nicht nur für Anfänger.
Mich würde daher eure Meinung interessieren, was eine 2D Engine alles haben muss. Vom Programmieraufbau (Framework) zu bestimmte Technologien über Features bis zu Tools und Goodies.
Würde mich über eine Antwort freuen . |
|
Nach oben |
|
|
Sören JLI Master Trainee
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 07.07.2004, 22:25 Titel: |
|
|
Naja ich denke eine 2D Engine ist zwangsweise etwas konkreter als eine 3D Engine. Was ich damit sagen will: Eine gut funktioniernde 3D-Engine die zB sowohl Outdoor als auch Indoor-Levels verwalten kann, kann für fast jedes Genre benutzt werden, sei es ein Shooter ala Quake, ein Rollenspiel, ein Strategie-Game oder sonstwas. Bei einer 2D-Engine wird das schwierig eine Engine von einem Jump'n'Run für ein RPG zu nutzen, weil es da schon beim allgemeinen Spielaufbau kollidiert(zB Levelformat etc.), schließt man aber Sachen wie Levelloader usw. von der Engine aus, hat man imo nur einen DirectX Wrapper.
Kannst ja mal so schreiben was du mit deiner fertigen Engine alles machen willst! |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 08.07.2004, 04:50 Titel: |
|
|
Ich denke für den Anfang reicht es ein paar Klassen für DirectX zu proggen. z. B. einfache Verwaltung von Sprites. Leelformat muss man sich wohl für jedes Spiel neu ausdenken. Schreibt also ersteinmal ein paar grundlegende Verinfachungen, das sollte mienern Meinung nach für den Anfang reichen. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 08.07.2004, 11:33 Titel: |
|
|
MiracleBoy hat Folgendes geschrieben: | Kannst ja mal so schreiben was du mit deiner fertigen Engine alles machen willst! |
Genau...und wenn du das im Kopf hast, dann musst du uns gar nicht mehr fragen.
Richte die Engine einfach darauf aus, dass du die Dinge, die du damit machen willst, so einfach wie möglich ausführen kannst.
Wenn dir dann für ein anderes Genre noch Sachen fehlen, kannst du die Engine ja einfach erweitern _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
frederic Mini JLI'ler
Anmeldedatum: 27.04.2004 Beiträge: 12
Medaillen: Keine
|
Verfasst am: 08.07.2004, 12:46 Titel: |
|
|
Mh... gut, hab ich so weit verstanden, dass dies unter 2D ggf. bisschen Genreabhängig ist. Meine Arbeiten unter 2D würde ich eher unter Shooter und art simples Strategiespiel einkategorisieren.
Was empfiehlt es sich denn unter 2D für Effekte und Techniken in die Engine einzubauen?
Ich habe mir das ganze in etwa so vor gestellt:
Die Engine soll für mich als Art Framework dienen, aber mit vorgefertigen Tools oder Abläufe. Zum Beispiel Effekte, spezielle KI, Leveleditor, Multiplayercode (ich denke aber hier nur an 1 vs 1 an einem PC, erstmal) und was noch so ansteht, das ist eben der Punkt. |
|
Nach oben |
|
|
fowly JLI'ler
Anmeldedatum: 25.01.2004 Beiträge: 196 Wohnort: Detmold - NRW Medaillen: Keine
|
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 08.07.2004, 13:52 Titel: |
|
|
Ich würd erstmal ne simple Klasse für DirectGraphics DirectInput und DirectAudio schreiben. Dann ebsonders bei DirectGraphics ne Klasse für Animationen (also erweiterte SpriteKlasse)
Das sollte doch ersteinmal für 4 gewinnt reichen.
Bei späteren Spielen kannst du ja weitere Klassen hinzufügen und bestehende erweitern.KI hat in einer universellen Engine nichts zu suchen, denn die muss ja für jedes Spiel anders sein.
Multiplayer ist auch nicht umbedingt was für dei KI, Du könntes aber bei jedem Spiel ein Playerobjekt machen, so dass du ganz einfach merhrer machen aknnst, die dann auf unterschiedliche Tasten reagieren.
Für Effekte wäre ein Partikelsystem nicht schlecht.
Und sowas wie Alphakanal oder Colorkeys sollte ja kein Problem sein, da DirectX das ja von haus aus mitliefert. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
frederic Mini JLI'ler
Anmeldedatum: 27.04.2004 Beiträge: 12
Medaillen: Keine
|
Verfasst am: 08.07.2004, 13:57 Titel: |
|
|
Jonathan_Klein:
Verwechsel mein 4 gewinnt (in 3D!) nicht mit der 2D Engine, das sind zwei unterschiedliche Dinge.
Mh... also das mit der KI, da dachte ich, dass man simple bestimmte Gegner in der Engine Dinge zu weisen kann und einfach mit einer KI verbindet. Unter der KI in der Engine verstehe ich vorgefertige Funktionen die mir es später ermöglichen, einfacher eine KI zu integrieren. Ähnlich so beim Multiplayersystem. |
|
Nach oben |
|
|
MATTT Junior JLI'ler
Anmeldedatum: 18.06.2003 Beiträge: 59
Medaillen: Keine
|
Verfasst am: 08.07.2004, 18:31 Titel: |
|
|
ich bastel mir auch gerade eine 2d-engine (fast fertig)
ich habe directx-funktionen für
Surfaces und Sprites vereinfacht:
Surface:
-> erstellen/dateien reinladen
-> Surfaces auf ein anderes Surface/den Backbuffer kopieren
-> man kann sowohl die pixel der backbuffer als auch eigener Surfaces auslesen und veränder
Sprites:
-> dateien reinladen
-> mehere dateien als animation laden
-> pixelgenaue kollisionserkennung
-> transparenz (alpha blending) oder einfach nur in einer farbe schimmern lassen
-> dupliezieren
-> transformieren (also: drehen, skalieren)
und das beste: alle sprites/surfaces werden durch aufruf von me2dDestroy() wieder gelöscht
fehler werden in eine textdatei geschrieben
die KI würde ich nicht eine engine mit einbauen, weil das zu sehr ein ein genere festlegt
(ich hoffen das hilft dir) |
|
Nach oben |
|
|
frederic Mini JLI'ler
Anmeldedatum: 27.04.2004 Beiträge: 12
Medaillen: Keine
|
Verfasst am: 08.07.2004, 19:52 Titel: |
|
|
Danke MATT für die Ideen . |
|
Nach oben |
|
|
|