wolf
Hallo,
Ich hätte mal eine Frage zum programmieren von Spielen:
Wie programmiert man eine Engine(2D) ?
Oder kennt jemand ein Tutorial für das programmieren von Engines.
Den ich weiß nicht so recht wie anfangen soll.
danke
Hanfling
Zuerst würde ich anfangen eine Support Kram zu schreiben.
z.B.
- 2D Vektoren, mit überladenen operatoren, damit man schnell mit ihnen arbeiten kann. Am besten als Template, mache ich auch bei meiner 3D.
- Evtl. eigene Log/String Klasse
- wichtig: Templates für LinkedLists, (Selfbalancing)Trees..., also dynamische Datenstrukturen. Damit sparst du dir eine enorme Menge an Arbeit. (ich würde nicht die der STL nehmen, weil ich sie zu aufgebläht empfinde für Spieleprogrammierung (ebenso die c++ string Klasse)
- etc.
Am besten dient bei dir main() nur damit ein CEngine Objekt zu erzeugen.
CEngine sollte dann alles machen.
Du brauchst auf jeden Fall Klassen für Resourcen Laden, Resourcen Manager (ungenutzte Resourcen löschen, keine Resourcen doppelt laden, etc. (hier kannst du sehr gut die Templates von oben verwenden), Input/Event Handling (die du aus dem Mainloop aufrufst), Eine Klasse die für den View verantwortlich ist (wenn auch nicht so bedeutend/aufwendig wie in 3D), Dann z.B. etwas um den Hintergrund zu zeichnen (und laden zu können, evtl. eigenes kleines Mapformat, wo drinsteht welches Tileset (ok auch Tilesets gehen gut als eingenes Format. z.B. einfach eine Textdatei, wo der Name der Textur drinsteht + Mappings)[ich will 'hightlingt matching braces' hier

]), Dann Basisklasse für alle Objekte, mit was zum zeichnen davon, etc. etc.