Einzelnen Beitrag anzeigen

Stoney

Registriert seit: 6. Nov 2004
Ort: Königsbrunn
30 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Edge2D - Engine to develop Games easily in 2D

  Alt 27. Jan 2010, 18:51
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.
Johannes Stein
  Mit Zitat antworten Zitat