Entwickler-Ecke

Open Source Projekte - [Spiel] Cavern Defense


Stoney - Fr 04.09.09 17:11
Titel: [Spiel] Cavern Defense
Crosspost im DP [http://www.delphipraxis.net/topic164357_spielcavern+defense.html]

Letztes Wochenende fand mal wieder der Ludum Dare [http://www.ludumdare.com] Wettbewerb statt. Beim Ludum Dare Wettbewerb ist das Ziel innerhalb von 48 Stunden von Grund auf ein Spiel zu einem bestimmten Thema zu programmieren. Alles muss innerhalb der 48 Stunden erstellt werden, Grafik, Musik, Sound und Code. Eigene Bibliotheken dürfen verwendet werden. Preise gibt beim Ludum Dare keine. Spaß und dabei lernen stehen im Vordergrund. :)
Das Thema diesmal war Höhlen. (Mein Spiel namens "Cavern Defense" habe ich zwar zum Ende der Deadline abgesendet, aber es hatte noch recht viele Bugs, deswegen habe ich ein paar Tage investiert und unter anderem die Bugs beseitigt.)


Mein Spiel ist ein Rundenstrategiespiel für zwei Spieler. Einer übernimmt die Rolle der Orks, der andere die Rolle der Menschen. Auf einem Schlachtfeld stehen dann beide Seiten gegenüber. Jeder Spieler hat einen Bogenschützen, einen Speerkämpfer und einen Schwertkämpfer. Diese Einheiten sollen taktisch eingesetzt werden, um die Einheiten des anderen Spielers zu vernichten.
Das Balancing ist natürlich noch nicht ganz ausgefeilt.

Anleitung:
Das Spiel komplett mit der Maus spielbar.
Linke Maustaste: Auf Einheit klicken, um diese auszuwählen. Es erscheinen hellere und dunklere Felder auf dem Bildschirm. Auf die hellen Felder kann die Einheit mit einem Linksklick bewegt werden.
Außerdem ist ein rotes Rechteck zu sehen, das ist der Angriffsradius. Liegt eine feindliche Einheit in dem Angriffsradius, kann diese mit einem Linksklick angegriffen werden.

Rechte Maustaste: Einheit deselektieren


Entgegen dem Screenshot ist das Spiel auch in Deutsch spielbar. Einfach beim Spielstart auf die entsprechende Flagge klicken.


Downloadlinks:
Windows [http://freeze-dev.de/blog/?download=Games.CavernDefense.Win] (6,1 MB)
Linux [http://freeze-dev.de/blog/?download=Games.CavernDefense.Linux] (5,1 MB)
Mac OS X [http://freeze-dev.de/blog/?download=Games.CavernDefense.MacOSX] (8,2 MB; Universal Binary)
Quelltext [http://freeze-dev.de/blog/?download=Games.CavernDefense.Source] (180 kB)

Um das Spiel unter Linux spielen zu können, müssen libSDL, libSDL_image, libSDL_ttf, libSDL_gfx und libSDL_mixer auf dem System installiert sein.


Um den Quelltext selber zu kompilieren, muss man noch entweder die Windows/Linux/Mac OS X - Zipdatei herunterladen und die miteinenader kombinieren, weil der /resources - Ordner nicht in der Quelltext-Zipdatei enthalten ist.


Verwendeter Compiler: FreePascal 2.2.4
Verwendete Bibliothek: Eigenes Framework [http://sourceforge.net/projects/elysionsdl/] auf Basis von SDL, SDL_image, SDL_ttf, SDL_gfx und SDL_mixer
Entwicklungszeit: etwa 6 Tage
Quelltextzeilen: etwa 2200 Zeilen


Andreas L. - Fr 04.09.09 17:38

Gefällt mir sehr gut, schicke Grafik :zustimm:

Fehler habe ich erstmal keine entdeckt.

Hast du vor eine KI zu integrieren?


Sinspin - Fr 04.09.09 18:04

An sich ein schönes Spiel, nur würde ich lieber gegen eine KI spielen als gegen mich selbst.

Aber, du hast da noch einen ordentlichen Fehler drinne (Windows Version). Bei mir hat das Programm mit der Zeit mehr als ein Gig RAM aufgesaugt. Der Verbrauch steigt ab dem Moment wo man ein neues Spiel startet kontinuierlich an.


Stoney - Fr 04.09.09 18:51

Danke für das Lob. :)

user profile iconAndreas L. hat folgendes geschrieben Zum zitierten Posting springen:

Hast du vor eine KI zu integrieren?

Das war eigentlich von Anfang an geplant, habe ich dann aber verworfen, weil ich das Spiel recht schnell fertig stellen wollte. Ist auf jeden Fall für eine der nächste Releases geplant.


user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:

Aber, du hast da noch einen ordentlichen Fehler drinne (Windows Version). Bei mir hat das Programm mit der Zeit mehr als ein Gig RAM aufgesaugt. Der Verbrauch steigt ab dem Moment wo man ein neues Spiel startet kontinuierlich an.

Hmm, ok, ist mir gar nicht aufgefallen. Hatte ein ähnliches Problem auch beim Intro- und Anleitungsbildschirm und dort behoben (hoffe ich jedenfalls). Werde ich mit dem nächsten Release beheben.
Aber in Zeiten von 4 - 8 GB RAM hat man sicherlich immer ein bissl RAM übrig. ;)


elundril - Fr 04.09.09 19:07

user profile iconStoney hat folgendes geschrieben Zum zitierten Posting springen:

Hmm, ok, ist mir gar nicht aufgefallen. Hatte ein ähnliches Problem auch beim Intro- und Anleitungsbildschirm und dort behoben (hoffe ich jedenfalls). Werde ich mit dem nächsten Release beheben.
Aber in Zeiten von 4 - 8 GB RAM hat man sicherlich immer ein bissl RAM übrig. ;)


naja, aber es bleibt trotzdem unsauber ;) und nach 3-4 stunden spielen kann es vielleicht auch knapp werden, da die 4 gigabyte ja ned nur für das spiel da sind, sondern auch das betriebssystem und andere programme ;)

lg elundril


Andreas L. - Fr 04.09.09 19:21

user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:
Der Verbrauch steigt ab dem Moment wo man ein neues Spiel startet kontinuierlich an.

Habe ich so eben auch festgestellt. RAM-Verbrauch steigt auch im Leerlauf, d. h. wenn man im Spiel nichts anklickt. Die CPU-Auslastung schwankt zwischen 40 und 60, ebenfalls im Leerlauf.
user profile iconSinspin hat folgendes geschrieben Zum zitierten Posting springen:

Bei mir hat das Programm mit der Zeit mehr als ein Gig RAM aufgesaugt.

Nach 20 min. Leerlauf hatte ich 166 MB Speicherverbrauch. Zwar viel für ein so kleines Spiel, aber extrem ist es jetzt auch wieder nicht.

@Stoney: Vllt. wäre es möglich ein größeres Spielfeld mit mehreren Figuren zu erstellen? Evtl. mit Karteneditor ;-)

PS: Getestet unter Win Vista Home Premium 32Bit


Stoney - Di 06.10.09 21:05

Kleines Update (Version 1.2.1):
- Der Speicherverbrauch-Bug ist behoben worden: Das Spiel verbraucht jetzt konstant ca. 30 MB (sicherlich kann man da auch noch etwas nachoptimieren)
- Jetzt gibt es auch eine 64-Bit-Linux-Executable im Linux-Paket. Die SDL-Pakete (siehe oben) müssen installiert sein, um das Spiel starten zu können.
- Das Mac OS X - Paket ist jetzt deutlich kleiner, da ich beim letzten Mal aus Versehen die Debug-Bibliotheken mitgeliefert hatte.

Die Downloadlinks habe ich bereits angepasst.
Andere Features wie KI oder Leveleditor sind für eine der nächsten Versionen geplant.


Thu# - Sa 17.10.09 11:23

Cool, gefällt mir sehr! Weiter so!