Ihr habt ein interessantes Projekt ausgesucht. Wird das speziell für den Informatikkurs entwickelt oder in der Freizeit?
Allerdings ist eine Engine zu entwickeln ein großes Unterfangen, auch bei 2D-Engines. Ich bastle selber seit etwa fünf Jahren (mit Pausen) an meiner eigenen Game-Engine, die ich für eigene Spiele und z.T. auch Uni-Projekte hernehme.
Eine gute Übung bei der Entwicklung einer Engine ist es, sich andere Engines anzusehen (am besten nicht nur die FreePascal- und Delphi-Engines, sondern auch Engines, die mit anderen Programmiersprachen gemacht wurden, wie z.B. das C++-Prototyping-Framework von den Entwicklern von den World of Goo-Entwicklern 2DBoy, Pygame, Allegro, etc.), um zu sehen, wie dort verschiedenes (Window Management, Sprite Management, Audio, etc.) gelöst wurde und daraus zu lernen, ob es in der eigenen Engine nützlich ist zu implementieren oder nicht oder ob es anders implementiert sinnvoller wäre.
Außerdem ist es sicherlich nicht schlecht, die üblichen Gamedev-Foren durchzustöbern, um zu sehen welche Erwartungen heutzutage an eine 2D-Engine gestellt werden.
Und was ganz wichtig ist: Planung. Zeichnet
UML-Diagramme, überlegt euch welche Daten in welchen Strukturen (Records) und Klassen gehören, welche Methoden wie und welchen Parametern aufgerufen werden sollen.
Es gibt noch einige Designmuster, die ich ganz nützlich finde:
Singleton Pattern (z.B. für Logger, oder evtl. für die Fensterverwaltung wenn sinnvoll)
Factory Pattern (z.B. für Fonts, Sprites oder Entities; ebenfalls auch möglich, um verschiedene Grafik-Backends anzusprechen, wird so bei der
Asphyre Engine mit Abstract Factory Pattern verwendet)
Template Pattern (immer gut wenn ähnliche Funktionalitäten öfters implementiert werden müssen; gut nutzbar für GameStates und GameState Management als auch Sprite-Klassen, z.B. wenn man zwischen verschiedenen Sprite-Typen unterscheiden möchte (Tiled Sprite, Background Sprite, etc.))
Für Engineentwicklung ist auch diese Seite ganz interessant:
http://wiki.delphigl.com/index.php/Enginepfad
Ich bin mal ganz gespannt darauf, erste Codeschnipsel und Demos von eurem Projekt zu sehen.