LUDUMDARE 10 Erfahrungsbericht

Previous topic - Next topic

Baggi

Der LUDUMDARE 48h contest ist ein Wettbewerb im Computerspieleprogrammieren
mit einer Zeitbegrenzung von 48 Stunden. Nachdem Gernot den Wettbewerb hier im
Forum angekündigt hat, habe ich mir fest vorgenommen daran teilzunehmen. Der Start
war am Freitag dem 14. Dezember um 19:00 Uhr kalifornische Zeit, das ist bei uns am
Samstag um 4:00 Uhr morgens. Das bedeutet, dass der Wettbewerb nach deutscher Zeit
Montag morgen um 4:00 Uhr endet. Deshalb habe ich mir am Montag Urlaub genommen.
Ich hatte das Wochenende also frei, außer 2 Sachen, die noch erledigt werden mussten.
Samstag morgen musste ich noch zur Post und einkaufen und Samstag abend war ne
kleine Geburtstagsparty bei einer Freundin.

Das Thema des diesjährigen LD10 war "Kettenreaktion", es ging also darum ein Spiel zu
entwickeln, was zum Thema Kettenreaktion passt. Am Samstag um 14:00 Uhr hab ich
angefangen, mit einer ziemlich wagen Vortsellung meines Spiels. Mir war noch nicht klar
worum es geht und wie ich die Kettenreaktion einbaue. Die Dinge die klar waren, waren eher
organisatorischer Natur. Das wichtigste Ziel für mich war ein Spiel in der vorgegebenen Zeit
fertigzustellen, das bedeutet es muss relativ einfach sein, einfache Grafiken, einfache
Programmierung und einfache Sounds. Bei einer derartigen Zeitbegrenzung kann man sich
nicht lange mit schwierigen Animationen oder Algorithmen beschäftigen. Weiterhin war mir
klar, dass ich in irgendeiner Weise ein Spiel entwickeln muss mit einer Vielzahl an Individuen
für die Kettenreaktion, seien es nun Tiere wie in dem enstandenen Spiel oder Atome, Bäume oder
was auch immer. Also hab ich als erstes begonnen ein Tier zu entwickeln, weil ich Tiere mag
und außerdem schon immer mal etwas mit Schwärmen/Herden usw. machen wollte. Der erste
Entwurf in anim8or sah so aus:



Bis jetzt hatte ich die Vorstellung es wird eine relativ böse Spinne werden, aber dann sah es doch
eher wie eine Krabbe aus, die zum Schluss sogar zu einer niedlichen Krabbe wurde.



Zuerst wollte ich einen richtigen Spinnengang mit anim8or modellieren, habe aber festgestellt, dass
es viel zu aufwendig ist, also habe ich die acht Beine einfach so in Bewegung gesetzt wie es
mir in den Kopf kam. Nachdem ich die Animation der Beine und Fühler fertig hatte wollte ich die
Keyframes mit dem 3dconverter von GLBasic in eine .ddd Datei umwandeln. Leider hat das
nicht geklappt, es scheint ein Problem mit dem 3dconverter zu geben. OK, was solls, dann halt
ohne Beinanimation. Ich hab zuviel Zeit zum Animieren gebraucht, hätte es gleich lassen sollen.
Egal, erstmal die Krabbe in GLBasic laden.



Ich hatte mir überlegt, dass die Krabben eine Zufallsbewegung machen, genauer gesagt einen Levi-Walk.
Auf diese Art bewegen sich zum Beispiel Tintenfische auf der Flucht, was in der mathematischen
Modellierung von Tierbewegungen benutzt wird. Es ist ganz leicht, die Krabben bewegen sich
zufällig in eine Richtung, mit einer zufälligen Geschwindigkeit und einer zufälligen Dauer. Die
Spielfigur des Spielers war bis jetzt nur ein Kegel mit dem man die Krabben (wie ein Schäferhund es mit den
Schafen macht) zusammentreiben bzw. indirekt lenken kann. Wenn sich der Kegel einer Krabbe auf einen
bestimmten Abstand nähert, dann flieht diese in die entgegengesetzte Richtung. Somit hatte ich die
Steuerung im prinzip fertig. Aber der Kegel ist ja eine etwas langweilige Spielfigur, also habe ich nun
eine Figur mit anim8or modelliert. Da ich keine Animationen machen wollte, habe ich mir gedacht, dass
sich die Figur auf einer Art Kugel bewegt und einfach losgelegt, rausgekommen ist ein total spaciges
und auch irgendwie niedliches rotes Hovercraft. Die Krabben haben auch einen neuen Anstrich bekommen,
aber die Spielidee hatte ich immer noch nicht.



Jetzt kam mir die Idee für die Kettenreaktion. Zufällig infizieren sich Krabben mit einem Virus, und wenn
sie in Kontakt mit anderen Krabben kommen, dann werden auch diese infiziert, was sich wie eine
Kettenreaktion fortpflanzen kann. Das ist gut. Es war bereits Sonntag morgen, aber jetzt enstand so
langsam ein richtiges Spiel. Sonntag vormittag hatte ich dann die Idee fürs Gameplay. Die Krabben sind
in einer Art Krabbenfalle eingeschlossen und man muss sie mit Hilfe des Hovercrafts aus der Falle in
den offenen Ozean treiben. Dummerweise infizieren sich ab und zu mal Krabben (sie färben sich dann gelb),
die so schnell es geht eliminiert werden müssen, da sie im Ozean nicht überlebenfähig sind und
vorallem die gesunden anstecken (Kettenreaktion).



Das Hovercraft wird übrigens mit der Maus gesteuert, und man entledigt sich der gelben Krabben, indem man
mit ihnen in Kontakt kommt und die linke Maustaste betätigt, ein riesiger Spieker erledigt den Rest.



Damit war das Spiel am Sonntag nachmittag im Kasten. Jetzt fehlte noch das Finetuning. Startbildschirm,
Zwischensequenzen und Schlussbild und natürlich die Sounds. Aber ich lag gut in der Zeit. Also habe ich erstmal
einen schönen bunten Startbildschirm gebastelt:



und die Krabbenfalle hat noch ne neue Textur bekommen:



Am Sonntag abend habe ich noch die Sounds aufgenommen, das Hovercraft hat das Geräusch des
Elektromotors von einem kleinen Solarfahrzeug was hier in meinem Zimmer steht. Das Geräusch der
Krabbenzerstörung hab ich selbst mit dem Mund gemacht. Wenn Krabben sich infizieren wird ein Blatt Papier
zerdrückt und wenn sie ins Wasser plumbsen, dann fällt ein Kronkorken in ein Glas Wasser. Den Titelsong habe
ich mit dem PCDrummer gemacht und mit meiner Gitarre eingespielt. Fertig.
Man kommt in dem Spiel immer um ein Level weiter, wenn man mindestens 50 % der Krabben befreit hat, dann
erhöht sich die Zahl der Krabben um 20 und die Geschwindigkeit der Krabben sowohl die des Hoverkrafts wir erhöht.
Außerdem erhöht sich das Infektionsrisiko der Krabben. Ich saß bis Montag morgen um 2:00 Uhr am Finetuning,
Parameter (Geschwindigkeit, Infektion, ...) einstellen und testen. Dann hab ichs eingereicht. Insgesamt habe ich
etwa 30 Stunden daran gearbeitet, und war dann auch echt erledigt, aber glücklich.

Schranz0r

Cooler Bericht!
GameIdee ist echt sau gut ^^
ABER:

Ich finde die Steuerung der Maus zu schwach, hättest evtl einen sensivity beifügen sollen, weil andere Mäuse andere DPI haben als deine oder so ..

Sonnst Nice One ( N1 ) ;)

 Setzen, 1 mit *;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Baggi

Hi SchranzOr,

gute Idee, gibt es denn die Möglichkeit die Sensitivität der Maus mit GLBasic abzufragen?

Kitty Hello

Nein, das macht man in einem Options-Menü. Einfach faktoren von 0.5 bis 2.0 anbieten.
Danke für den super Bericht! Ich hoffe, das ermutigt im Sommer andere auch mal mitzumachen. Ich ahb ja bei LD8 mitgemacht und fand's auch ein großartiges Erlebnis. Ich hoffe, dass Du ordentlich abpunktest. Das Spiel ist echt sehr gut fertig geworden.

Baggi

Ah, alles klar, das bau ich noch ein.
Außerdem will ich noch eine Hall of Fame einbauen, eine Option, die zwischen Window und Fullscreen umschaltet und die Animation der Krabbenbeine implementieren.

Nach einigen Testspielen, sind mir noch ein paar Sachen aufgefallen. Ich muss nochmal alle zeitabhängigen Parameter vernünftig mit GETTIME() skalieren. Außerdem denke ich, dass es besser ist die Erweiterungen pro nächstem Level nur auf die Anzahl der Krabben zu beschränken und die Geschwindigkeit und das Infektionsrisiko konstant zu lassen.