Gott, da hast du recht. Wenn man DSL hat fällt einem sowas überhaupt nicht mehr auf...... (187KB sind eigentlich nicht viel, oder doch...
Wie gesagt, das mit der Auflösung werde ich noch ändern, ist meiner Meinung nach aber auch nicht so wichtig (auf jeden Fall werde ich kein ScrollAreaGadget benutzen, dass hatte ich schon ausprobiert)
Performant ist es eigentlich schon... FPS bei mir 438 ohne VSync.
Vielleicht sollte ich hier etwas mehr über die TileEngine an sich schreiben:
Also seitdem ich mir vorgenommen hatte das Retro Jump'Run' Spiel Gargoyles Quest nachzuprogrammieren, war ich auf der Suche nach einem MapEditor und einer Tile Engine für PB. Bin aber nicht wirklich fündig geworden und hab dann angefangen eine eigene TileEngine zu schreiben und ebenhalt auch einen MapEditor dafür.
Die Tile Engine ünterstützt normale Sprites mit einer transparenten Farbe.
(Alphasprites bau ich wahrscheinlich auch noch ein, mal sehen, hab mit Alphamasken und -kanal noch nicht herumexperimentiert).
Die Tiles werden als einzelne PNGs gespeichert und sind nicht wie üblich in einem Bild gespeichert. Allerdings kann man die Tiles im Mapeditor in eine Datei packen, diese wird dann beim Laden der Map wieder entpackt.
Die Map kann animierte Tiles enthalten und Parallaxscrolling funzt auch schon. Es sind mehrere Layer möglich, die unterschiedliche Tilegrößen haben können. Wer ein Metafeld will, kann eins erstellen und Werte dort eintragen. Ein Tile Grabber ist auch dabei, womit man Tiles aus einer Bilddatei rausgrabben kann. Ausserdem kann mein ein Hintergrundbild oder eine Hintergrundfarbe benutzen.
MapEngine und GameEngine (Kollsionsabfragen, Gegner,Schüsse, beweglich Elemente etc.) sollen aber getrennt bleiben. Somit kann man mit der MapEngine Shooter, Jump'n'Runs oder Strategiespiele proggen.
Wenn der Editor fertig ist, fange ich an eine GameEngine zu schreiben.
Hier ist der Code von der Tile Engine:
http://rapidshare.com/files/17126482/MapEngine9.rar
zur MapEngine:
Mit "LoadMap" wird die Map geladen und initialisiert
Dann einfach in die GameSchleife den Befehl DrawMap einfügen
Mit FreeMap wird wieder alles freigegeben
Enthält die Map Animationen, einfach den Befehl MapAnimation mit Verzögerung in ms einfügen.
In der Prozedur ScrollScreen wird die Map mit den Pfeiltasten gescrollt.
(Es wird einfach nur den Wert von Level\ScreenPos geändert)