Working Title: Zombie Apocalypse

Kommentare anzeigen Worklog abonnieren

Worklogs Working Title: Zombie Apocalypse

Statusbericht #1 oder "It works... in theory."

Dienstag, 5. August 2008 von aMul
Damit das Projekt nicht endet, bevor es richtig angefangen hat, hier ein kurzer Bericht, was mein Spiel bislang tolles gelernt hat.
Leider habe ich die letzten Tage auf Grund verschiedener Komplikationen nicht annähernd soviel zu Stande gebracht, wie ich vorhatte, aber nun ja, seht selbst:

Das Programm kann bisher:
- Waffen-Definitionsdateien laden
- Zombie-Definitionsdateien laden
- Die geladenen Daten in einer Pseudo-Umgebung, die ich kurz hingeschmiert habe, um zu testen ob alles richtig geladen wird, wie folgt verwerten:

Die geladenen Zombies und Waffen können im "Spiel" benutzt, bzw. abgeschossen werden.
Die KI der Zombies befähigt diese immerhin schon dazu, dem Spieler zu folgen, wenn sie ihn bemerkt haben.
Bemerken tun die Untoten einen, wenn man sich zu lange in ihrem "Awareness-Radius" aufhält, auf sie schießt oder man in ihrer Nähe Zombies umlegt.
Weiterhin habe ich die unterschiedliche Behandlung von automatischen und semi-automatischen Waffen integriert und es gibt zwei Nachlade-Arten, entweder das ganze Magazin auf einmal oder jede Patrone einzeln. Man kann auch einstellen, wie viele Projektile den Lauf per Schuss verlassen sollen(für alles was Schrot schießt ganz praktisch). Auch der Schaden der einzelnen Projektile ist natürlich einstellbar.
Um das Spiel nicht ganz so einfach und etwas realistischer zu machen streuen die Waffen beliebig.
Auch Rückstoß habe ich in sofern eingebaut, dass das Fadenkreuz mit jedem Schuss in eine halbwegs zufällige Richtung zuckelt. Dieses Zucken wird zudem(wenn erwünscht) mit jedem Schuss stärker, sodass z.B. die letzten 10 von 30 Schuss einer AK47 sonst wo hin gehen, wenn man nicht mit der Maus dagegen hält(was allerdings nicht so einfach ist wie es klingt).
Ich habe zwar noch nie eine echte Waffe in der Hand gehalten, aber es kommt mir so doch recht realistisch vor und es ist ein lustiges Gefühl, wenn man mit der Maus versucht die virtuelle Waffe unter Kontrolle zu behalten.

So, da ich weiß, wie langweilig so viel Text ist, gibt es für die Bild-geilen einen ersten Secret-Pre-Alpha-WIP-Screenshot:
user posted image
Auf diesem farbenfrohen Bild sieht man ääh... sieben Zombies, die sich dem Spieler(das wasweißichwieviel-Eck) nähern.
Der lustige nicht durchgezogene Kreis ist das Fadenkreuz und ich denke man kann erkennen, dass gerade eine Kugel in eben diese Richtung fliegt.
Das ganze sieht auf dem Screenshot nicht sonderlich spektakulär aus, aber bei einem Secret-Pre-Alpha-Bla kann man nicht mehr erwarten. Razz


Für die, die es wirklich interessiert im folgenden die Definitionsdateien für einen Zombie und eine Waffe.
Wer sich damit nicht auseinandersetzten möchte darf hier aufhören zu lesen. Wink
Code: [AUSKLAPPEN]
[new zombieclass]
name = "Stinknormaler Zombie"
awarenessradius = 250 # Radius um den Zombie in dem er den Spieler nach einiger zeit bemerkt
damage = 15
health = 50
punchdelay = 1000 # wie lange der Zombie warten muss bevor er wieder zuschlagen kann
speed = 20
[end zombieclass]

Code: [AUSKLAPPEN]
[new weaponclass]
name = "AK47"
addrecoil = 0.4 # wie viel Rückstoß pro Schuss dazu kommt
automatic = True
bulletspershot = 1 # bei einer Shotgun darf man hier mehr eintragen
damage = 10
focusrate = 0.2 # wie schnell das Verziehen wieder auf den Normalwert zurückkehrt wenn man nicht schießt
magcapacity = 30 # Schuss im Magazin
recoil = 2 # wie viel Rückstoß der erste Schuss einer Salve hat
reloadtime = 2000
shotdelay = 100
singlereload = False # ob jeder Schuss einzeln nachgeladen werden muss
spread = 1 # Streuung der Waffe in Grad
zoomaddrecoil = 0
zoomrecoil = 5
zoomspread = 2
zoomtime = 2000
[end weaponclass]

Ich habe die Definitionen mal mit Kommentaren versehen(ja, sowas kann mein Programm Mr. Green), wo ich es für nötig hielt.
Weiterhin anzumerken ist vielleicht, dass alle Geschwindigkeiten in X per Frame angegeben sind. Das wird später noch auf X pro Sekunde umgestellt.
Ansonsten sind diese Definitionen natürlich noch nicht final, es wird sich sicher noch einiges ändern, aber ich denke man sieht das Schema.


So, das war es erstmal mit meinem kurzen Bericht.
Wie immer gilt: Kritik, Lob und Beleidigungen per PN an mich.

Ein Projekt aus Langeweile oder "Must eat brainzz!"

Donnerstag, 31. Juli 2008 von aMul
Guten Morgen, Abend, Tag oder was auch immer die Uhr gerade sagt.
Ich habe mich dazu entschlossen, zu einem meiner aktuellen Projekte einen Worklog anzulegen. Zum einen weil ich das Feature klasse finde und zum anderen weil ich hoffe, dass ich mich hiermit selber motivieren kann, dass Projekt wenigstens soweit zu entwickeln, bis etwas vorzeigbares entstanden ist(was bei vielen meiner ehemaligen Projekte nicht der Fall ist).
Zudem wollte ich einfach mal schauen, ob die (hoffentlich) regelmäßige Veröffentlichung von Updates etwas an meiner Arbeitsweise ändert und wie es mit dem Feedback in dieser Ecke des Portals aussieht.

Aber genug dazu, jetzt was zum Projekt:

Wie der aufmerksame Beobachter sich sicherlich bereits gedacht hat, soll diesem Projekt ein Spiel entspringen, in welchem man mit Zombies interagieren darf. Vorzugsweise mit Schrotflinten, Sturmgewehren und anderen Blei-spukenden Gerätschaften.
Das ganze wird 2D(von oben gesehen) stattfinden und mit Hilfe meiner Sprite-Bibliothek visualisiert werden. Selbige ist noch alles andere als fertig, allerdings bietet sie schon jetzt Features wie "physikalisch korrekte" Beleuchtung von Sprites aufgrund von Normalmaps und ich möchte die Lib im Rahmen dieses Projektes weiterschreiben und erweitern. Durch genanntes und vielleicht noch kommende Features hoffe ich, dem Spiel eine möglichst intensive Grusel-Atmosphäre verschaffen zu können.

Ich habe vor, das Spiel möglichst modular und vor allem flexibel zu schreiben, womit im Klartext gemeint ist, dass das Spiel möglichst viel auf externen Dateien aufbauen soll. Damit möchte ich anderen Leuten ermöglichen das Spiel zu modifizieren oder gar komplett anders zu gestalten.
Um diese Ziele zu erreichen ist unter anderem eine Scriptengine notwendig, ob ich jemals soweit kommen werde diese umzusetzten steht noch in den Sternen, aber man darf ja träumen.


So, das war es erst einmal von mir und meinem Ferienprojekt.


PS:
Auch wenn es noch nicht viel(=nichts) zu sehen gibt, bin ich immer für Kritik und Vorschläge offen. Auch Fragen werden gerne beantwortet.
Wenn ihr also einen Rechtschreibfehler findet, nicht versteht was die komischen Worte im Titel dieses Eintrags meinen oder ihr gratis für mich arbeiten wollt, schickt mir eine PN oder kontaktiert mich über ICQ Wink