Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Mär 19, 2024 04:22

Foren-Übersicht » Sonstiges » Projekte
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tuxbomber Reloaded
BeitragVerfasst: So Nov 16, 2008 11:44 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

Flash hat mich dazu ermuntert hier mein Projekt vorzustellen - Tuxbomber Reloaded.
Tuxbomber ist ein 2D Bomberman Klon mit vielen Features, Items und Gamemodi. Ich glaube ich muss an dieser Stelle nicht das Spielprinzip erklären,
das sollte wohl bekannt sein :wink:.

Hier der Download.

Projektverlauf
Die Arbeit am Projekt begann schon vor über einem Jahr, damals noch unter dem Namen Tuxbomber. Seitdem sind 2 Entwickler
an Tuxbomber beteiligt: Ich primär als Programmierer und ein Freund als Designer, der zusätzlich für den Sound zuständig ist und auch ab und an mitprogrammiert.

Die erste Version war noch sehr verbuggt und hatte von der Strukturierung her nicht wirklich das Potential weiterentwickelt zu werden. Wir haben dann komplett neu
begonnen und eine Version fertiggestellt. Nach ein paar Monaten Pause haben wir uns dann entschieden Tuxbomber Reloaded zu programmieren.
Die Entwicklung ist voll im Gange und kommt zügig voran.

Was ist Tuxbomber Reloaded?
Tuxbomber Reloaded bietet drei verschiedene Spielmodi: Deathmatch, Team-Deathmatch und Capture the Flag. Gespielt werden kann mit
theoretisch beliebig vielen Spielern, das hängt jedoch von der Map ab. LANServer werden per UDP-Broadcast gesucht, Internetserver werden in einer Datenbank online
gespeichert und ausgelesen. Für die Zukunft sind ein Online-Ranking und weitergehende Features geplant.
Bisher ist kein Singleplayer für Tuxbomber Reloaded geplant, in der alten Version ist zwar einer enthalten, aber es macht sehr viel Arbeit die KI
zu programmieren und das Spiel dahingehend anzupassen.
Das Level auf dem Screenshot ist 20x20 Felder groß, was im alten Tuxbomber noch die Grenze war, jetzt kann man aber viel größere Maps erstellen. Dazu
dient der eigens für das Spiel programmierte Editor, der das Level gleich mit allen Daten und einem Preview-Bild in einer Datei speichert.

Es gibt bisher folgende Items zum Aufsammeln: Bombslot, Bombpower, Invincible, C4, Timebomb, SpeedUp, SlowDown und Dizzy.
Damit wären auch die "Waffen" geklärt. Normale Bomben in einer Anzahl abhängend von den Bombslots, und einem Radius abhängend von den gesammelten Bombpower-Items.
Zusätzlich kann man einen C4-Sprengsatz aufsammeln, den man aus der Ferne zünden kann. Außerdem gibt es Zeitbomben, welche nach einer zufälligen Zeit explodieren.

Es gibt 4 verschiedene Charaktere: Tux - ein Pinguin, Icey - ein süßer Eisklotz, Yeti - der Name sagt alles, und Spikey - ein stacheliges Vieh. Alle unterscheiden
sich jedoch nur im Aussehen.

Falls das Spiel nach dem Zeitlimit nicht entschieden sein sollte wird der Sudden-Death Modus gestartet, beim dem alles zerstörbar ist und die Bomben verbessert werden.
Um das Gameplay etwas dynamischer zu machen kann man im Editor verschiedene Events scripten und so Aktionen auslösen.


Technische Details
So, genug gelabert, jetzt gehts zur Sache :).
Für die Grafik wird natürlich OpenGL verwendet. Um ein paar Special-Effects einzubauen wird die Szene in ein FBO gerendert um nachher
Post-Scene Shader drüberzujagen. Im Moment haben wir 8 verschiedene Shader im Angebot, welche nach und nach mit dem Gameplay
verbunden werden. Damit meine ich zum Beispiel einen speziellen Effekt bei der C4 Explosion (3. Screenshot, sieht in Bewegung besser aus),
oder der Shader, der im Benommenheits-Zustand angewendet wird.

Genutzt wird die glBitmap und die TextSuite, danke dafür an LossyEx! um auch NPOT Texturen zu supporten habe ich mir
eine kleine Erweiterung dazugebaut, die alle Texturen in die nächsthöhere POT-Stufe bringt.

Zur Soundausgabe benutzen wir FMOD, auch wenn es nerven gekostet hat den Header zu debuggen -.-. Dazu haben wir uns eine kleine Wrapperklasse geschrieben.
Die Hintergrundmusik haben wird übrigens selbst erstellt :D.

Um die oben genannten Scripts auszuführen haben wir uns für Pascal Script entschieden, weil uns Lua erstmal etwas abgeschreckt hat, vielleicht ändern wir das aber noch.
Ich hatte nur keine wirkliche Lust mich in Lua einzulesen, Pascal Script besticht einfach mit ungeahnter Komfortablität, nicht zuletzt aufgrund der gewohnten Syntax.

Für die Netzwerkkommunikation benutzen wir IndySockets für die Http Verbindungen und "UDPSockUtil" für den LAN-Broadcast. Die SQL-Datenbank auf dem Webserver
wird mit PHP-Scripts gesteuert und liefert so nötigen Daten.
Um die Maps zu streamen und den eigentlichen Datenverkehr zu steuern benutzen wir ein binäres Protokoll, aufgesetzt auf die normalen TServer/ClientSockets.

Auch wenn bisher keine Bots eingebaut sind ein paar Worte zur KI. Sie basiert auf einen selbstimplementierten AStar Algorithmus, der versucht die einzelnen Felder
möglichst intelligent zu bewerten. Die Performance ist auch in vollkommen unoptimierten Zustand doch recht angenehm und man kann mit mehr als 20 Bots gemeinsam ruckelfrei
Spielen - alles im Hauptthread.

Im Moment ist das GUI noch nicht per OpenGL realisiert. Der Grund ist einfach, dass es Stunden gedauert hat in der alten Tuxbomber Version alles
anzupassen, dass es unserem Tuxbomberdesign entspricht. Das war nicht nur nervig, sondern der Code dafür war eher... naja, ich würde ihn niemandem zeigen...

Ich gebe zu, dass es ziemlich komisch klingt, aber das Spiel ist bisher Windows-Only. Ich habe noch keine Erfahrungen mit FreePascal und solchen Sachen gemacht,
aber höchstwahrscheinlich wird das noch was.


Im Moment kann ich leider noch nicht mit einer Vorabversion von Tuxbomber Reloaded dienen, da ein paar wichtige Features, wie das Verhalten nach dem Sieg und ähnliche
Sachen, die bei der Entwicklung nicht wirklich wichtig sind, noch nicht geregelt sind. Es müssen also ein paar Screenshots herhalten. Aber ich hoffe es dauert nicht mehr
lange bis ich eine Version hochlade.

Auf den Screenshots fehlt auf der rechten Seite das HUD, das wird gerade noch designt. Außerdem ist das Smiley ein Platzhalter :wink:.

Bild

Bild

Bild

Bild

Zu sagen ist noch, dass wir ein paar Bilder von "Supertux" verändert haben und verwenden. Diese stehen daher unter der GPL.


Markus


Zuletzt geändert von Markus am Do Nov 05, 2009 22:30, insgesamt 3-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 30, 2008 19:52 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

wir haben in den letzten Tagen primär an zwei Dingen gearbeitet. Zum einen an der EventEngine, die um viele Features - Teleporter und ähnliches - und Events an sich erweitert wurde.
Zum anderen, und das ist wohl interessanter, haben wir uns an die KI gemacht. Wir wollten die von Anfang an "intelligenter" als beim alten Tuxbomber machen, was natürlich
darin endete, dass es viel zu viel Performance gebraucht hat. Deswegen haben wir uns dazu entschieden die Berechnungen einfach in einem Thread zu machen, das hat dann auch
das gewünschte Ergebnis gehabt. Die KI ist aber keineswegs fertig und muss noch ausbalanciert werden, im Moment macht sie nichts als Items sammeln und mehr oder weniger gut den
Bomben ausweichen.

Eine Statstabelle haben wir auch reingemacht, die man wie in anderen Spielen über TAB aufrufen kann.
Außerdem haben wir einen Konverter für die alten Tuxbombermaps geschrieben, deswegen haben wir jetzt genug Maps zum testen 8)

Wir haben auch ein paar kleinere Dinge gefixt und dazuprogrammiert (weitere Items ect.), aber das kann ich hier nicht alles schreiben. Der Veröffentlichung steht aber nach wie vor nurnoch im Wege,
dass das Design für das HUD noch nicht fertig ist. Es wäre wohl ein bisschen blöd für jemanden, der das Spiel nicht kennt, wenn keine Informationen angezeigt werden, wieviele Bomben man hat, wie
viel Power die haben und ob man grade C4 hat und ähnliches.

Markus


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Dez 28, 2008 14:23 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mär 30, 2007 18:35
Beiträge: 331
Hallo,

in den letzten Wochen haben wir endlich vieles fertig bekommen. Das HUD ist komplett und man die Optionen im Spiel selbst umstellen.
Die GUI besteht jetzt nicht mehr aus VCL-Komponenten, sondern wir haben sie mit einer veränderten Version der GUI aus der Andorra Engine in OpenGL programmiert.
Danke hierfür! (Der veränderte Sourcecode steht unter der CPL und ist im Download enthalten)

In der Beta gibt es noch keinen Einzelspielermodus, nur Multiplayer. Man kann übers LAN und das Internet spielen. Es besteht zwar die Möglichkeit
Bots hinzuzufügen, aber die machen noch nicht viel.

Den Download der Beta gibts hier.

Markus


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.037s | 15 Queries | GZIP : On ]