Wie plane ich mein eigenes Projekt?

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
[unmarkierte Version][unmarkierte Version]
(Entwurf (Implementierung): Abschnitt zu Fremdentwicklungen hinzugefügt)
(Entwurf (Implementierung): Abschnitt zu Klassenstruktur, Datenstruktur und Verzeichnisstruktur hinzugefügt)
Zeile 134: Zeile 134:
  
 
Kein Spiel lässt sich noch vollkommen ohne Fremdentwicklungen realisieren, da dies einen enormen Aufwand bedeuten würde. Damit sind Bibliotheken, wie Grafik-Engines, Sound-Engines, Physik-Engines oder Bibliotheken für mathematische Berechnungen, Spiel-Engines oder ähnliches gemeint. Es sollte deshalb festgehalten werden, welche vom Spiel verwendet werden sollen. Dabei muss immer berücksichtigt werden, dass dadurch diverse Einschränkungen oder Verpflichtungen entstehen bzw. Gebühren anfallen können.
 
Kein Spiel lässt sich noch vollkommen ohne Fremdentwicklungen realisieren, da dies einen enormen Aufwand bedeuten würde. Damit sind Bibliotheken, wie Grafik-Engines, Sound-Engines, Physik-Engines oder Bibliotheken für mathematische Berechnungen, Spiel-Engines oder ähnliches gemeint. Es sollte deshalb festgehalten werden, welche vom Spiel verwendet werden sollen. Dabei muss immer berücksichtigt werden, dass dadurch diverse Einschränkungen oder Verpflichtungen entstehen bzw. Gebühren anfallen können.
 +
 +
=== Die Klassenstruktur (UML-Klassen-Diagramme) ===
 +
 +
Da in den meisten Fällen für die Spieleentwicklung objektorientierung zum Einsatz kommen soll, muss man sich Gedanken darüber machen, welche Klassenstruktur man für sein Projekt verwenden möchte.
 +
 +
=== Die Datenstruktur ===
 +
 +
Neben der Klassenstruktur, die die Beziehungen der Objekte zur Laufzeit untereinander darstellt, ist auch eine Datenstruktur für die Daten notwendig, die vom Spiel verwendet werden sollen. Das heißt die Formate, die man für das Spiel selbst entwickelt hat, wie die Formate für Level/Spielabschnitte/Strecken/... und für Spielstände müssen beschrieben werden. Wenn sich diese während der (geschlossenen) Entwicklung ändern, stellt dies kein größeres Problem dar. Sollte sich aber eines der Formate von einer Version zur anderen ändern, dann muss das Spiel sowohl mit dem alten Dateiformat, als auch mit dem neuen Dateiformat umgehen können, sofern Dateien in diesem Format auch dynamisch vom Spiel erstellt werden können. Dies trifft beispielsweise auf Spielstände zu und nur dann auf Level, wenn diese vom Spieler über einen eingebauten Editor angelegt oder bearbeitet werden können.
 +
 +
=== Die Verzeichnisstruktur ===
 +
 +
Sowohl für das Projekt selbst, als auch für das Spiel muss eine Verzeichnisstruktur definiert werden. Für das Projekt selbst ist in der Regel durch die Entwicklungsumgebung eine Struktur vorgegeben. für das Spiel muss diese erst definiert werden. So kann es sein, dass die Bibliotheken mit ausführbarem Programmcode in den Unterordner lib gelegt werden sollen, die Grafiken in den Ordner gfx, Audiodateien in sfx und so weiter. Diese Verzeichnisse stellen nur ein Beispiel für die Organisation der Dateien dar. Ebenfalls ist es möglich, alle Dateien, die ausführbaren Code enthalten (die Anwendung selbst und die Bibliotheken) in das Hauptverzeichnis zu legen oder die Ressourcen in ein gemeinsames Unterverzeichnis zu legen.
  
 
== Teamarbeit ==
 
== Teamarbeit ==
  
 
Grundsätzlich werden an einem Projekt mehrere Leute beschäftigt sein. Dies erfordert eine Koordinierung der Arbeiten der Mitarbeiter und somit gegebenenfalls Mittel für diese. Es muss eine Kommunikation möglich und Festlegungen und Dateien zentral abrufbar sein. Die Aufgaben der Mitarbeiter sollten nach Möglichkeit zentral verwaltet werden, damit jeder den aktuellen Fortschritt einsehen kann.
 
Grundsätzlich werden an einem Projekt mehrere Leute beschäftigt sein. Dies erfordert eine Koordinierung der Arbeiten der Mitarbeiter und somit gegebenenfalls Mittel für diese. Es muss eine Kommunikation möglich und Festlegungen und Dateien zentral abrufbar sein. Die Aufgaben der Mitarbeiter sollten nach Möglichkeit zentral verwaltet werden, damit jeder den aktuellen Fortschritt einsehen kann.

Version vom 14. Dezember 2011, 11:13 Uhr

Klicke hier, um diese Version anzusehen.

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge