Ich hab mich entschieden eine eigene Engine zu schreiben, aber nicht mit C++, sondern mit Java um es plattform-unabhängiger zu machen.
Mit Java hab ich wegen der Uni Übung, dafür hab ich einfach zu viel schon in Java und nicht C++ geschrieben.
C++ ist bei mir schon etwas angestaubt.
Was meine auf thornEngine getaufte Engine schon hat, ist:
- mehrere Maps darstellen (und der Status der Map beleibt erhalten) und wechseln
- Scrollen der Map (falls größer als 640x480 Pixel)
- Midi (unabhängig, davon ob Timidity installiert ist, oder nicht) und wave, aiff, au usw. Wiedergabe simultan
- Bilder (png, bmp, jpg, usw.) lesen und darstellen
- Player bewegen
- globale Variablen und Switches
- Items und Spells (als Datenstruktur)
- bis zu 2 Millionen Layer mit Objekten (Bilder, NPCs, usw.) pro Map
- Textausgabe (Messages)
- Laden von Maps (als xml über SAX)
- Events und Skripting (geht größtenteils)
Was noch nicht implementiert wurde, ist:
- Kollisionsabfrage für den Layer des Spielers und der NPCs/der Spielwelt
- Speichern von Maps/Spielstände (als xml - geht schon teilweise)
- Debug-Modus für globale Variablen und Switches, usw.