Einleitung
In diesem Thread werden ich euch über die Entwicklung meines ersten Spiels "Tower Defense Evolution" (Arbeitstitel) informieren. Das "Evolution" im Titel bezieht sich auf die Entwicklung des Spiels. Es gibt keinerlei Design Dokument und UML Diagramm. Dementsprechend musste ich schon viel Code umschreiben und anpassen.
Mein Ziel ist es, mit diesem Projekt Erfahrung im Bereich Spielprogrammierung zu sammeln um dann nach diesem Projekt ein Tower Wars Spiel (Die Spieler schicken sich gegenseitig Creeps) zu programmieren, welches über das Internet gespielt wird. Eine Tower Defense ist sozusagen der Einzelspielermodus und die dabei erworbenen Kenntnisse sollen mir dabei helfen, dass Multiplayerspiel auf ein gutes Fundament zu stellen. Deshalb ist es nicht mein Ziel, dieses Spiel zu vollenden.
Was ist eine Tower Defense?
Eine Tower Defense ist ein Spiel, bei dem der Spieler auf einem Spielfeld Türme baut um damit sogenannte Creeps zu vernichten. Diese Creeps sind die eigentlichen Gegner in diesem Spiel und sie sind ziemlich dumme Kreaturen, da sie nur einem Pfad folgen und sich von den Türmen beschießen lassen. :D
Für das Vernichten von Creeps gibt es neue Credits, mit denen neue Türme gekauft und bereits gebaute Türme verbessert werden können. Die Creeps kommen in Wellen, wobei jede Welle einem Level entspricht. Ist eine Welle besiegt, erscheint die nächste Welle.
Sobald eine gewisse Anzahl an Creeps den Endpunkt erreicht hat, ist das Spiel verloren.
Technische Umsetzung
Das Spiel wird in C# mit XNA 3.0 Beta geschrieben. Demzufolge wird es nur auf Windows PCs laufen (und eventuell auf der XBox). Die Hardwareanforderungen des Spiels werden sehr gering sein, da nur 2D Grafik zum Einsatz kommt.
Implementierungen im Detail
Hier werde ich Postings von mir verlinken mit Erklärungen zur Implementierung bestimmter Techniken in meinem Spiel.
- Hintergrundmaske für Interfaces http://zfx.info/viewtopic.php?f=11&t=217
- Hintergrundmaske für das Interface
- Dateiformat für Karteninformationen
- Klasse zum Laden der Karten
- Darstellung des Spielfeldes
- Creeps
- Türme
- Grafiken für Buttons erstellen
- Spielinformationen oben rechts einblenden (Credits, Leben, Level)
- Strategien für Türme implementieren (worauf schießt mein Turm)
- ...
- diverse Verbesserungen am Code vornehmen