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

Aktuelle Zeit: Mo Aug 19, 2019 17:36

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



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Intruder Alert (2D - RTS)
BeitragVerfasst: Mi Mai 15, 2013 10:58 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Hallo allerseits,

Nach langer Arbeit ist es jetzt nun bald soweit, dass mein Projekt "Intruder Alert - Ixian Operations" der Fertigstellung kurz bevorsteht, daher wollte ich auch hier mal einen Thread dafür machen.

Erstmal zum Spiel ansich:
Bei Intruder Alert handelt es sich um ein SciFi Strategie Spiel (RTS); Vorbild war Supreme Commander. Es spielt dabei weit in der Zukunft in der die Menschen bereits einer Allianz (Ruxilla Allianz) beigetreten sind. Im Gegensatz zu vielen anderen Spielen, ist der Protagonist, bzw. die Person die man spielt ein Alien, der aus einer fremden Galaxie in die Milchstraße kommt. Jetzt denkt man sich vielleicht, man spielt eine Person... in einem RTS!?!? Das ist nur die Geschichte der Kampagne, in der man als Kommandant über verschiedene Armeen die Kontrolle erhält. Auf jeden Fall möchte ich von der Kampagne nicht allzu viel spoilern, da für die die es spielen wollen es ja auch noch ein paar Überraschungen geben soll. Ich verrate nur soviel, dass man in der Kampagne dazu kommt jedes Volk zu spielen und ich das meiner Meinung nach auch einigermaßen so in die Geschichte eingebaut habe, dass es auch Sinn macht.
Im Spiel stehen euch insgesamt 6 Völker zur Verfügung, die sich komplett unterscheiden (und nicht nur in einer Spezialeinheit oder Fertigkeit). Jedes Volk hat zwar irgendwie einen Energiegenerator aber wenn es schon allein darum geht wie die Völker die Gebäude bauen ist das sehr verschieden, um Mal ein paar Beispiele zu geben:

Ruxilla - Drone die wie gewohnt einfach die Gebäude errichtet
Zyr - Dronen die sich in Gebäude verwandelt
CUR - Fahrzeug, dass sich erst stationieren muss um dann bauen zu können.
Crotons - Fliegen, die die Gebäude bauen (ähnlich wie Ruxilla)
Mercoss - Konstrukteure die sich in Gebäude transformieren können, aber dafür von speziellen Baudronen unterstützt werden müssen.
Ixir - Dronen die sich in Gebäude und wieder zurück verwandeln können.

Das Balancing der Völker ist zwar noch nicht perfekt, aber eigentlich gut genug. Perfekt ist sowieso nicht möglich, da die Völker je nach Spielmodus unterschiedliche Stärken bzw. Schwächen haben, aber bei den Standardeinstellungen ist das Spiel fair. Für viele ist bestimmt auch noch wichtig, was das Spiel von einem Standard RTS unterscheidet. Nun insbesondere bei den Ressourcen gibt es einige Besonderheiten. Denn hier ist Bevölkerung eine Ressource und nicht eine Angabe wie viele Soldaten man auf dem Feld hat. Die Bevölkerung wächst exponetiell ist aber auch vom Bevölkerungsplatz (Anzahl der Häuser) abhänbgig. Hat man wenig Bevölkerung steigt diese ansich langsam, hat man aber zum Beispiel 190 von 200 Bevölkerung steigt es auch langsam, weil nicht mehr sonderlich viel Platz für weitere Bewohner übrig ist. Eine weitere Besonderheit von Intruder Alert sind die Spezialfähigkeiten, die für jedes Volk individuell sind und auf jeden Fall die gute Performance, bei mir läuft das Spiel auch bei 8 Spielern mit rund 500 Einheiten/Gebäude pro Spieler noch einwandfrei und das, obwohl das Spiel keine Multi-Threading unterstützt. Wer eine schlechte Grafikkarte hat muss höchstens mal die Kriegsnebeldarstellung auf einfach statt auf realistisch stellen.

Ich hoffe das reicht erstmal an Informationen zum Spiel ansich. Da ihr ja vielleicht auch wissen wollt, welche Techniken hinter manchen Sachen stecken, erkläre ich hier die wichtigsten Dinge auch nochmal:

- Ein häufiges Problem in Strategiespielen ist die Wer-kann-auf-wen-schiessen Berechnung. Da ich es auch anderen Spielen nicht mag, dass alle Einheiten immer nur auf einen Gegner schiessen und somit viel Feuerkraft verschwendet wird, entschied ich mich hier dafür, dass die Einheiten auf irgendeine in Reichweite schiessen soll. Da aber mit meiner ersten Berechnung die Framerate schon bei relativ wenigen Einheiten einbrach musste ich mir eine Verbesserung überlegen die ungefähr so aussah: Die Einheit überprüft alle 0.8 Sekunden, welche Einheit ihr am nächsten ist und diese wird gespeichert. Sollte sich die nächste Einheit in Reichweite befinden, so wird auf eine zufällige Einheit in Reichweite geschossen. Dieser eigentlich doch relativ einfache Algorithmus hat mir einen immensen Performance-Schub gebracht und daher hab ich seitdem auch nichts mehr daran verändert.

- Pathfinding: Da ich eine 3200x2400 Pathmap habe, kam für mich der Algorithmuss aus der DGL-wiki nicht in Frage (obwohl ich dank diesem Tutorial auf diese Seite gestoßen bin). Daher musste ich mir was anderes überlegen. Ich wollte dafür nicht ein Karte mit wahr und falsch werten (Begehbarkeit) nehmen, sondern Wegpunkte die im Editor gesetzt werden müssen und daher auch deutlich weniger Rechenkapazität benötigen. Wenn man nun im Spiel eine Gruppe von Einheiten auswählt, dann wird ihr Mittelpunkt bestimmt, und von nächsten Wegpunkt aus ein Weg zum Ziel gesucht. Danach folgen die Einheiten einfach dem beschriebenen Weg. Da die Einheiten sich in einer Kastenformationen bewegen, kann es sein, dass sie trotz Pathfinding gegen den Rand einer Brücke stoßen. Sollte dies der Fall sein gehen sie zum letzten Wegpunkt zurück und versuchen einen anderen Weg der näher zur "Ideallinie" liegt.

- Kampagne: Für die Kampagne verwende ich eine sehr sehr einfach Skriptsprache. Diese macht nicht mehr als Befehle einfach linear abzuarbeiten. Meinen Anforderungen genügt es trotzdem, weswegen ich nichts besseres implementiert habe.

- Die Grafikengine für das Spiel ist übrigends Andorra2D was hier aus dem Forum noch einige kennen sollten und für Soundausgabe Audorra (in der Demo ist es noch TMediaplayer^^).

Mögliche Fragen (F.A.Q.):
Q: Hat das Spiel einen Multiplayer?
Jain. Also eigentlich Ja, aber Nein zu dem wie man ihr erwartet^^. Da das mein erstes Projekt ist und daher noch einige Sachen nicht perfekt geschrieben sind, obwohl ansich eigentlich alles gut läuft, und ich auch im Thema Netzwerkprogrammierung noch nicht so der Held bin funktioniert der Multiplayer nur so, dass bei jedem Spieler auf der Karte sich ein Portal befindet, wodurch er Einheiten zu seinem Verbündeten/Gegner schicken kann. Dort werden sie dann entweder von einer KI (die die Leute gruppiert und in den Angriff schickt) oder von einem Spieler der im gleichem Team ist gesteuert. Ein großer Nachteil an der Sache ist, das man praktisch nicht den Gegner erkunden kann, sobald die Leute durch das Portal sind, sind sie einfach weg; Ist der Gegner besiegt wird einem lediglich ein Gewinnsymbol angezeigt. Vorteil: Jeder Spieler kann ganz individuelle Einstellungen vornehmen, so kann es auch zwischen einem starken und einem schwachen Spieler ein spannendes Match geben. Der Multiplayer ist übrigends nur LAN, denn Online würde das mit den unterschiedlichen Einstellungen ja keinen Sinn machen. Wer aber will kann mal eine Runde gegen mich spielen, wenn er/sie Tunngle hat (Möglichkeit um Lan-Spiele auch über das Internet spielen zu können).

Q: Wird das Spiel später was kosten?
Momentan will ich das Spiel kostenlos machen und dafür vielleicht sowas wie ne Spezialedition rausbrigen, die dann vielleicht 5$ kostet und einem noch den Soundtrack dazu gibt -> Sozusagen eine Art freiwillige Unterstützung für mich.

Q: Läuft das Spiel auch auf Mac/Linux?
Tut mir leid. War wie bereits gesagt mein erstes Projekt und da habe ich an solche Sachen noch nicht gedacht und sowas nachträglich einzubauen läuft fast nie gut, weil man ein Workaround um das andere bauen muss.

Was ist schon fertig:
- 6 von 6 Völkern
- Netzwerkprotokoll
- Standardspiel
- Optionen
- Menüs
- Mapeditor / Leveleditor / KI-Editor
- Statistik
- grafische Überarbeitung (6 von 6 Völkern)

Was ist noch zumachen:
- Ich warte momentan noch auf die Synchronisierung von 2 Personen aus der Kampagne und einem Tutorial (die Wartezeit vertreibe ich mir mit einigen OpenGL Minispielen z.B. "Data Control 2" auf meiner Webseite zu finden)
- Bild für das Intro des letzten Kampagnenlevels erstellen
- Kampagne testen
- Englische Sounddateien in Ogg konvertieren
- Bug Fixing

Was gibts noch eventuell:
- Warfield Modus: Im Prinzip ein Risikomodus, bei dem die Schlachten nicht durch Würfeln sondern durch Matches ausgetragen werden, vorallem deshalb weil ich den Editor dafür schon programmiert habe, aber noch garnichts im Spiel selbst.
- Speichern: Da ein normales Match meistens sowieso nur 30-60 Minuten dauert, ist das meiner Meinung nach nicht so wichtig und deshalb in den Hintergrund gerückt.

Screenshots und einen Trailer gibts auf meiner Webseite:
http://www.frudelsoft.de - Meine Webseite
http://www.frudelsoft.com/Intruder%20Alert/screenshots.html - Screenshots
http://www.frudelsoft.com/Intruder%20Alert/trailer.html - Trailer
http://www.frudelsoft.com/Intruder%20Alert/downloads.html - Download der momentanen Beta-Version
http://www.indiedb.com/games/intruder-alert-ixian-operations - Link zur IndieDB

Sources (Im Beta Download befindet sich auch der Sourcecode des Spiels, zum kompilieren braucht ihr aber auf jeden Fall noch Folgendes):
http://andorra.sourceforge.net/index35d8.html?section=downloads - Download von Andorra, wenn ihr das Spiel bei euch kompilieren möchtet.
http://www.frudelsoft.com/OpenSource/AdClasses.pas - Download von Andorra AdClasses.pas veränderte Version, Original einfach dadurch ersetzen, wenn ihr das Spiel bei euch kompilieren möchtet.
http://audorra.sourceforge.net/index.php?p=download/ - Download von Audorra, wenn ihr das Spiel bei euch kompilieren möchtet.

Kleiner Hinweis zur Demo: Da gibt es noch 1 kleineres Problem, nachdem ihr euer Profil erstellt habt und auf Run Game geklickt habt passiert nichts. Ihr müsst dann einfach nochmal Intruder Alert.exe starten, dann euer Profil auswählen und dann gehts los.

Hier noch der DGL Meinungsthread und das wars erstmal (EDIT: Wie ich gerade sehe ist "erstmal" hier vielleicht doch nicht so angebracht^^):
http://www.delphigl.com/forum/viewtopic.php?f=14&t=10855

Ich hoffe ihr probiert mal die Demo aus und freut euch dann auf die Vollversion, die in diesem Sommer fertig werden sollte.

WICHTIG: Wenn ihr einen Bug entdeckt, bitte mir die Datei log.txt aus dem Spielordner mitschicken (oder die letzten rund 50 Zeilen kopieren), Danke!


Gruß Knittel :)


Zuletzt geändert von Knittel am Sa Mai 25, 2013 10:22, insgesamt 6-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Intruder Alert (2D - RTS)
BeitragVerfasst: Mi Mai 22, 2013 12:45 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
So nun sind alle Einheiten grafisch überarbeitet und hier auch ein Dankeschön an OmegaDrace der mir dabei sehr geholfen hat. (OmegaDrace on DeviantArt: http://omegadrace.deviantart.com/)
Hiermal die ganzen Einheiten im Vergleich (direkte Links zu den Bildern):

01: http://www.frudelsoft.com/Intruder%20Alert/media/NG%2001.jpg
02: http://www.frudelsoft.com/Intruder%20Alert/media/NG%2002.jpg
03: http://www.frudelsoft.com/Intruder%20Alert/media/NG%2003.jpg

Weiterhin ist der Soundtrack für das Spiel fertig und ich möchte mich an dieser Stelle auch noch bei Detective Fingerling bedanken, der den kompletten Soundtrack gemacht hat. (Detective Fingerling on SoundCloud: https://soundcloud.com/detective-fingerling)

Demnächst werde ich mal ein Spiel aufnehmen und auf Youtube hochladen um mal das Gameplay zu demonstrieren.

Über ein wenig Feedback würde ich mich übrigends sehr freuen.

Gruß Knittel


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Intruder Alert (2D - RTS)
BeitragVerfasst: Mo Mai 27, 2013 00:33 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
Mal ein kleines zwischendurch Update.

Weil es sich ja einige gewünscht haben: Die Upgrades zeigen absofort an was sie auf die spezifische Einheit bewirken.

Bild

Das war zum Beispiel ein Angriffsupgrade auf einen Chaser-Panzer. Die Schrift rollt langsam nach oben und verschwindet dann nach einige Zeit (10 Sekunden) wieder. Bin gerade dabei, dass man genau das auch mit den Werten der Einheit machen kann (Enter drücken und die Werte der Einheit werden auf die Weise angezeigt)

edit:

Bild

So jetzt kann man sich auch die Einheitenwerte anzeigen lassen.

Sound hab ich, weil das ja irgendwie Probleme macht nochmal komplett umgestellt auf die bass.dll, was ich ja ohne Probleme machen kann, weil man die bass.dll für nicht kommerzielle Projekte verwenden darf.

Der Bug mit dem Haus, das man das über das Limit upgraden kann hab ich auch repariert.

Weiterhin ist das Merken der Mine nur noch für die Sammler des menschlichen Spielers und diese laufen nicht mehr zu Anfang zu der Mine mit der Nummer 0 (denn das ist der Defaultwert für die Variable). Dieser ist jetzt -1 und daher suchen die Sammler beim Spawn die nächste Mine.

edit: So gibt auch absofort einen Preview der Karten.

Demnächst lad ich das alles als Patch hoch (edit: Hab mir wahrscheinlich einen Virus eingefangen, deswegen warte ich mit dem Upload lieber mal :/ )

edit [03:01] puh, grad auf die Uhr geschaut, schon halb die Nacht durchprogrammiert und mach jetzt lieber mal schluss, meld mich wieder sobald der Patch online ist und der Link funktioniert :D


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Intruder Alert (2D - RTS)
BeitragVerfasst: Mo Jun 03, 2013 20:30 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
OK. Meinen PC hab ich nochmal komplett checken lassen und ist jetzt sauber. Daher kommt nun auch der versprochene Patch v0.9.3.03

Bei den Häusern der Ruxilla wird nichtmehr das Level angezeigt, weil dieses sowieso nichts mit dem von dem Upgrade zu tun hat und man die Stufe des Hauses eigentlich an der Grafik erkennen kann. Ansonsten ist fast alles was gewünscht wurde hinzugekommen (steht auch größtenteils im letzen post):
- Map Preview (und Titel)
- Credits absofort auch inGame und man kommt zurück ins Spiel. (Credits sehen jetzt auch besser aus)
- Tastenkürzel absofort auch inGame einsehbar (Menü -> Hilfe -> Tastenkürzel)
- Soundausgabe mit bass.dll
- Per Entertaste mögliche Ausgabe von Einheitenwerten (wird noch nicht immer alles ausgegeben was man haben will, was daran liegt, da ich bisher nur die Hauptklassen wie Militäreinheit und Zivileinheit durchgegangen bin und noch nicht alle Einheiten Typen einzeln.)
- Ausgabe von Werten bei einem Upgrade und bei dem CPU-Boost der CUR.
- Sammler der Computer arbeiten wieder sinnvoll/besser wodurch die KI auch wieder schwerer wird.
- Crashbug von Zyr Sammlern wahrscheinlich beseitigt (kam sowieso sehr selten vor, aber seit meiner Verbesserung habe ich noch keinen Absturz mehr bekommen)
- ProfileManager repariert.

Zum updaten einfach den Patch herunterladen (Downloadlink im Thread klicken und dann den Patch von der 2ten Liste auswählen) und dann den Inhalt in euren IntruderAlert Ordner entpacken und alles überschreiben (Keine Sorge Profildaten bleiben erhalten, sofern euer Profil nicht IAPManager.exe heisst^^) und dann ist schon fertig ;)

Viel Spaß beim spielen, wenn ihr Lust habt könnt ihr mal die TowerDefence(Easy) Challenge austesten und mir sagen wie weit ihr gekommen seit, vielleicht schlagt ihr ja meinen Rekord (lvl 84) oder sogar den von meinem Freund (lvl 103) ;) Freue mich wie immer über Feedback und wenn gespielt wird :)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Intruder Alert (2D - RTS)
BeitragVerfasst: Mi Aug 21, 2013 17:10 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Nov 30, 2011 21:41
Beiträge: 136
Wohnort: Bad Vilbel
Programmiersprache: Delphi 7
So ich meld mich hier auch mal wieder :)

Es hat sich nicht allzu viel getan, da ich im Moment hauptsächlich an einem neuen Projekt arbeite und Intruder Alert auch schon größtenteils fertig ist, aber ein paar Neuigkeiten gibt es trotzdem.

- Map Size: Ihr könnt jetzt absofort jeder Map in beliebiger Größe spielen, hab zwar noch nicht alle Einzelheiten dabei ausprobiert, aber schien bisher zu funktionieren. Wenn ihr mit anderen Mapgrößen Probleme habt, dann spielt einfach auf Standard (2x) und sagt mir was das Problem war, damit ich es beheben kann.

- Multiplayer im LAN stabil: Wenn ihr das Spiel im lokalen LAN spielt, dürften absofort überhaupt keine Probleme dies bezüglich auftauchen (Im virtuellen LAN gibt es noch manchmal Probleme). Mein Freund und ich haben letzthin einen absoluten Härtetest gemacht, den der Server bestanden hat. (innerhalb 1 min rund 10000 Einheiten durchs Portal geschickt; von beiden PCs aus).

- Ein paar kleine Bug fixes

Viel Spaß beim Zocken!

EDIT:

Nochmal ein neuer Patch:

- Bugs, die durch MapSize vorhanden waren sind behoben.

- Subplayers möglich. Das vorhandene 8 Spieler maximum wurde jetzt insofern entfernt, das man Subspieler einfügen kann (Letzte Spalte im Einzelspielermenü). Wenn man für einen Spieler einen Subspieler einstellt wird dieser Spieler "geklont" / dupliziert und das Startgebäude des duplizierten Spielers befindet sich in der Nähe von dem des Hauptspielers. So kann man absofort auch Schlachten mit über 8 Spielern bestreiten. (Der kleine Grafik Fehler bei der InGame Statistik ist mir bewusst und wir demnächst behoben)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 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.067s | 17 Queries | GZIP : On ]