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

Aktuelle Zeit: Di Apr 16, 2024 23:31

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



Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: Perseus arms
BeitragVerfasst: Di Okt 04, 2005 01:22 
Offline
DGL Member

Registriert: So Sep 26, 2004 05:57
Beiträge: 190
Wohnort: Linz
Viele von euch werden das Gefühl kennen, wenn man lange lange Zeit an einem Projekt (bei mir eine 3D Engine) arbeitet. Dies ist kein positives Gefühl. Aus diesem Grund habe ich ein kleines Nebenprojekt gestartet, welches ich erst vor ein paar Tagen begonnen habe und welches schon um einiges lustiger ist zum Testen als so manch anderes Programm (wahrscheinlich wohl nur für mich als Programmierer, aber dennoch ...).

Dieses Nebenprojekt - welches (soweit als möglich) die genannte 3D Engine verwendet - ist ein 2D Weltraumshooter mit dem (Code-)Namen "Perseus arms". Perseus ist einer der Arme der Milchstraße (also unserer Galaxie) und der Name ist (soweit mir bekannt) noch nicht besetzt, im Gegensatz zu so manch anderen coolen Namen von Galaxien wie Andromeda, Orion oder Pegasus.

Die Hintergrundgeschichte ist so einleuchtend wie simpel:
Als die Menschheit in diesen Teil der Galaxie vor dringt, findet sie an diesem kleinen aber feinen Fleck mehr (bitter benötigte) Ressourcen für den Bau und Antrieb von Raumschiffen, Waffen und Verteidigungsanlagen als je zuvor. Wie sollte es auch anders sein: dieser Teil der Galaxie (der Teil des Armes der am nähesten zu unserem Sonnensystem ist) wird bereits hart umkämpft von mehreren Rassen. Um nicht eines Tages vom Sieger dieses Krieges überrumpelt zu werden, benötigt man natürlich einen größeren Anteil an diesen Ressourcen. Somit folgen nach einigen Erkundungsflügen große Flotten.
Wieviele Rassen sich bekriegen, ob und welche Unterschiede es zwischen den Rassen im Spiel gibt, deren Hintergrundgeschichte, deren Ambitionen, ob man die anderen Rassen spielen kann und ob/wieviele Missionen es gibt steht noch in den Sternen geschrieben.

Zum Spiel:
Entstanden ist diese Idee durch ein uralt Spiel mit dem Namen "Gravity Well" was noch mit Windows GDI-Grafik ausgestattet ist. Da ich dieses schon viel zu oft und viel zu lange gespielt habe, kamen mir natürlich einige Verbesserungsideen. Da das übertreffen der Grafik kaum eine Herausforderung ist, war meine bisher größte Angst dieses Projekt zu starten immer die KI. Aber hierzu später.

Hier die Spielregeln für ein allgemeines (zufällig generiertes) Spiel. Diese Regeln (vor allem der Spielbeginn und das Spielziel) kann natürlich bei Missionen - sofern ich sie jemals einbaue - variieren. Generell sei noch gesagt, dass ich hier wahrscheinlich großteils nach dem Try & Error Prinzip verfahren werde. Hier jedoch die grundlegenden Gedanken:

Die Spielwelt:
Die Spielwelt besteht aus mehreren Sonnensystemen (~5-10) wobei jedes Sonnensystem aus einem Stern, mehreren Planeten und gegebenenfalls mehreren Monden je Planet besteht. Die Sterne sind dabei die einzigen Fixpunkte des gesamten Spieles, alles andere (also auch die Planeten) ist in Bewegung. Von den Planeten sind nicht alle bebaubar (wegen einer zu lebensfeindlichen Atmosphäre), und diejenigen die bebaubar sind unterscheiden sich hinsichtlich ihres Rohstoffvorkommen und ihrer Baukosten und Bauplätze. Da Verteidigungsanlagen Bauplätze benötigen, werden dadurch gegebenenfalls einige Planeten zu wichtigen Stützpunkten, obwohl keine oder wenige Rohstoffe vorhanden sind.

Haupt-Einheiten:

Jäger/Fighter:
Der Fighter ist ein sehr wendiges Schiff. Es ist Hauptsächlich für Angriffe geeignet, und zugleich ist es das Schiff wo die Geschicklichkeit des Spielers am meisten gefragt ist.

Schlachtschiff/Battleship:
Schlachtschiffe zeichnen sich vor allem durch ihre starke Feuerkraft aus. Obwohl sie auch für den Angriff verwendet werden können, dienen sie primär als Defensiv-Einheit.

Transporter:
Wie der Name schon sagt handelt es sich hierbei um Transportschiffe, welche Ressourcen von einem Planet zum anderen schaffen können. Transporter werden auch benötigt um neue Kolonien auf anderen Planeten zu errichten. Die Devensiv-Kraft von Transportern ist eher gering, und meistens ist man gut daran beraten, ein oder mehrere Jäger oder Schlachtschiffe zur Verteidigung mit zu nehmen.

Spielbeginn:
Jede Rasse startet mit einem "guten" Heimatplaneten, also einem Planeten welcher verhältnismäßig viele Ressourcen und zugleich viele Bauplätze liefert. Einige Verteidigungsanlagen, ein Fighter und ein Transporter sind ebenfalls vorhanden. Alle bebaubaren Planeten die keine Heimatplaneten einer Rasse sind gelten vorerst als unbesetzt.

Spielablauf:

Planeten Produzieren je nach Art unterschiedlich viele Ressourcen. Diese können verwendet werden um:
- Transporter zu befüllen
- Gebäude zu bauen
- Forschungen zu "finanzieren"
- Schiffe zu bauen
- Updates herzustellen
- Eventuell Jumper-Tore herzustellen um Schiffe schnell (ohne Zeitverlust) von einem Planeten zum anderen transportieren zu können.
Updates sind hierbei primär verbesserte Waffensysteme für Einheiten welche immer nachgeladen werden müssen. Beispielsweise Raketen, zielsuchende Raketen oder Schüsse mit größerer Reichweite oder mehr Schaden.

Gegnerirsche Einheiten, bzw. die Gebäude auf den gegnerischen Planeten kann man natürlich angreifen und vernichten. Sind alle Gebäude auf einem Planeten vernichtet, so gilt dieser als unbesetzt.

Wenn man mit einem (voll beladenem) Transporter einen unbesetzten Planeten erreicht, so kann man dort eine Basis bzw. Kolonie errichten. Die Kolonie kann bereits einen kleinen Teil der Ressourcen abbauen. Wenn genügend Ressourcen vorhanden sind, so können auch andere Gebäude errichtet werden soweit Platz vorhanden ist. Die möglichen Gebäude sind:
- Miene: Um die Ressourcen voll zu nutzen
- Fabriken: Um Schiffe und/oder Updates herzustellen
- Forschungseinrichtung: Um Forschungen schneller und auch billiger zu machen
- Verteidigungsanlagen aller Art, bis hin zum nahezu uneinnehmbaren Planeten

Steuerung:
In Einer eher detailierten Übersichtskarte (alle relevanten Objekte sind darin vorhanden) kann man
- Standard-Bauaufträge für Schiffe und/oder Updates angeben
- Standard-Flugrouten neu erstellter Schiffe angeben
- Standard-Transport Routen angeben (Updates und/oder Ressourcen immer von einem Planeten zum anderen)
- Seine Schiffe grob steuern
--- Schützen bzw. Verfolgen von eigenen Schiffen
--- Angreifen von gegnerischen Objekten aller Art
--- Nahe beieinander liegende Schiffe werden als Flotte erkannt und können als solche gesteuert aber natürlich auch aufgelöst werden
- Eine Einheit auswählen die man selbst steuern möchte
Diese Übersichtskarte macht somit den Strategie-Teil des Spieles aus.

Steuerung von Einheiten:
Steuern kann man nur Fighter und Schlachtschiffe.

Fighter:
Hier ist die richtige Aktion zu finden. Einem geübten Pilot ist es durchaus möglich mit einem einzelnen Fighter ganze gegnerische Flotten oder alle Gebäude eines Planeten zu zerstören.

Schlachtschiff:
Bei Schlachtschiffen können (im Gegensatz zu Jägern) auch die Schüsse gesteuert werden. Hierbei wird automatisch ein Ziel markiert (das näheste feindliche Objekt) und die Schüsse können nun vor oder hinter das Ziel platziert werden. Da automatisch die Schüsse nur direkt auf das Objekt abgesetzt werden, kann hier die Trefferquote um einiges erhöht werden, wenn man auf bewegte Objekte etwas vor ihre Flugrichtung zielt.

Spieler:
Der Spieler steuert immer eine (oder auch keine) Einheit selbst. Da das selbst Steuern Vorteile bringen sollte, ist die KI der automatisch gesteuerten Einheiten natürlich eher schlecht.

Gegner:
Es kann wie gesagt ein oder mehrere Rassen (Teams) als Gegner geben. Da jedes Gegner-Team wiederum mehrere Einheiten besitzt, stellt sich hier primär noch die Frage ob es äquivalent zum Spieler eine Einheit geben sollte die eine bessere KI hat als andere, oder ob alle gegnerischen Einheiten die gleiche "Intelligenz" besitzen sollten.

Gegner vs. Spieler:
Da die KI der Gegner-Schiffe wahrscheinlich gleich der KI der Spieler-Schiffe ist, wäre der Gewinn nur eine Frage der Strategie. Da es jedoch etwas Aktion auch geben sollte, werde ich den Strategie-Teil eher gering halten. Dies hoffe ich dadurch zu bewerkstelligen, dass die Bauzeit eines Schiffes verhältnissmäßig lange dauert im Vergleich zur Flugzeit vom eigenen Heimatplaneten zu einem anderen. Zudem ist die Flugzeit zum nähesten Planeten nur etwas kürzer als zu einem etwas entfernterem, da man ja im Weltraum nach der Beschleunigung auch wieder bremsen muss.
Da ich mir aber nicht erhoffe, dass die KI in Sachen Strategie einen Menschen schlagen kann, wird der Unterschied wohl großteils durch mehr Einheiten zu Spielbeginn ausgeglichen.
Bezüglich den eigentlichen Kämpfen sollte es hier ursprünglich ebenfalls heißen: "Gegner: viele Einheiten; Spieler: wenige Einheiten, da ich die KI nicht so gut hin bekomme". Inzwischen habe ich jedoch mit diversen Steering-Algorithmen rum probiert und muss gestehen, dass ich so gut wie keine Chance mehr in einen 1:1 Kampf habe. Aus diesem Grund werde ich wohl die Variante wählen, dass das Gegner-Team ebenfalls immer eine Einheit mit einer guten KI hat (wobei die Einheit mit guter KI gleich wie beim Spieler gewechselt werden kann) und der Rest eher schwach ist, oder aber die gegnerischen Einheiten werden einfach (alle) ein klein wenig besser als die KI-gelenkten Einheiten des Spielers.

Spielziel:
Alle Objekte (Gebäude und Schiffe) von allen Gegnern zerstören :-).


Was gibt es derzeit?
Bisher habe ich eine Welt von Sonnensystemen, d.h. die Planeten kreisen mit einer elliptischen Umlaufbahn um Sonnen und Monde kreisen um die Planeten. Da das Verhältniss der Sonnen-Gravitation und der Umkreisungszeit nicht real sein kann (1 Jahr wäre wohl etwas zu viel) ist die Physik etwas ... angepasst. Aus diesem Grund ziehen sich Planeten auch nicht gegenseitig an, da sie sich sonnst aus der Umlaufbahn werfen würden.
Die Welt sieht also schon ganz ordentlich aus bis auf den Aspekt, dass die Sonnensysteme zufallsmäßig verteilt werden und (je nach Zufall) mal ein Planet oder Mond eines Sonnensystems mit dem eines anderen kollidiert :-).
Eine kleine Übersichtskarte ist vorhanden (im Screenshot links oben), eine große wo man die oben genannten Befehle an Einheiten geben kann noch nicht. Diese größere Übersichtskarte wird wohl noch ein schönes Stück Arbeit ...
KI gibt es wie gesagt bereits die ein oder andere für Einheiten jedoch noch nicht für ein gesamtes Team (Strategie-Mäßig)


Dateianhänge:
Dateikommentar: Screenshot:
Eine Sonne mit Planet und Mond. Es bekriegen sich 2 gegnerische Jäger/Fighter die derzeit noch die selbe Farbe haben.

Screenshot.PNG [133.67 KiB]
773-mal heruntergeladen
Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Foren-Übersicht » Sonstiges » Projekte


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 20 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.038s | 18 Queries | GZIP : On ]