Jump to content
Unity Insider Forum

[WIP] Strategieprojekt: Patria - Terra Incognita


Recommended Posts

Hallo Community, Grüsse.

 

Mein erstes Unityprojekt. Nicht kommerziell(for noncommercial use only). Das Hextutorial von Landon war der Start. Es ist ein Strategiespiel in Retropixel(voxel)style in dem es um die Entdeckung eines Kontinents und den Bau von Gebäuden geht. Die Modelle modelliere ich mit MagicaVoxel, Sounds sind von freesound.org.

 

 

Am Anfang erleidet man Schiffbruch und landet auf der Welt Patria an einem unbekannten Kontinent. Es gibt auch Andere denen es genauso ging, leider feindlich ;-). Man baut eine erste Siedlung, der Name ist Zufall genau wie der Himmel über der Stadt.

In der Siedlung sieht man Arbeiterhütten die erste Fabrik, eine Baumeisterhalle und Bäume. Im Gegensatz zu Civ kann man die Siedlung mit der Maus selbst bauen, zur Auswahl ein UI-Dropdown.

Was gebaut wird erscheint in rot - hier ist eine Mithrilmine in Bau.

post-5000-0-19618600-1456681213_thumb.jpg

 

Ich habe Grenzen eingebaut, die durch farbige Projektoren realisiert werden, man kann jetzt im Mainmenu auch die Wunschfarbe wählen. Entdeckungen(Ruinen usw mit Fragezeichen) innerhalb der Imperiumsgrenzen kann man anklicken und entdecken.

post-5000-0-22619200-1457353478_thumb.jpg

 

Im Freecameramode(Taste C) ein Blick auf eine zweite Siedlung und einen Kanonenturm. Die Kanonentürme verursachen 1W6 dmg, dh 1-6. Die Trefferwahrscheinlichkeit ist 100/(Hexfeldabstand/2)%. Man kann Gebäude und Städte damit angreifen.

post-5000-0-39897700-1456087709_thumb.jpg

 

 

Hilfe:

post-5000-0-72887500-1455368456_thumb.jpg

 

Demo v0.3 Windows x86

- Wenn die Startposition nicht gut ist - einfach neu starten - in dem game ist viel Zufall.

- Am Anfang auf ein ebenes Feld klicken (Geländeart ist egal, umliegende Felder auch - im Gegensatz zu Civ/MoM) um die erste Siedlung zu bauen.

- Dann in der Siedlung 10 Arbeiterhütten eine Fabrik und die Buildershall, Auswählen im Dropdown oben rechts und bauen indem man ein freies Siedlungsfeld anklickt, Dinge in Bau sind rot, dann Siedlung verlassen und Endbutton für nächste Runde.

- wenn die Buildershall fertig ist Farm bauen, das (W) am Namen bedeutet dass es ein Weltgebäude ist und auf dem Weltbildschirm gebaut wird durch Klicken auf ein Grasfeld wenn die Farm oben links im Weltfenster als Bauauftrag erscheint. Die Farm wird erst in der Siedlung zusammengezimmert.

- dann Sawmill bauen usw - Bäume und Strassen sind kostenlos und nur Verschönerung

- mit Forts kann man die Grenzen erweitern

- Entdeckungen(Ruinen usw mit Fragezeichen) innerhalb der Imperiumsgrenzen kann man anklicken und entdecken.

- Städte müssen im Abstand von 5 Feldern gebaut werden

- man sollte ein Mithrilvorkommen suchen um dort eine Mithrilmine zu bauen

- falls Food oder Gold am Ende sind seid ihr das auch

https://bitbucket.or...oject/downloads

 

 

Tastaturbefehle:

G - Hexgrid an-abschaltbar

Space - End Turn

Esc - Exit City/World/Mainmenu

Pfeiltasten/Numblockpfeiltasten - Scrollen des Terrains

C - Freecameramode an/aus

V - Zeige Gebäudezustand an/aus

B - Zeige Imperiumsgrenzen auf minimap an/aus

M - Minimap an/aus

N - Nächster Bauauftrag (falls mehrere fertig sind)

 

Mausbefehle:

Mauszeiger - über Tile halten für Info

Mausklick links - für Bau (wenn eine Bauorder angezeigt wird)

Mausklick links - in der Stadt um etwas zu bauen, das gilt auch bei Wealth oder zum Löschen

Mausklick links auf minimap - Zentrieren der Weltkarte dorthin

Mausklick links auf Entdeckung(Fragezeichen über Ruine usw) zum Entdecken

Mausklick links - auf Empiregoldanzeige öffnet den Schatzmeister

Mausklick rechts - auf eigene Stadt um sie zu betreten

Mausklick rechts - auf eigene Gebäude dreht sie um 10 Grad

Mausrad - Zoomen

 

Gebäude die man bauen kann:

workerhut=Arbeiterhütte für 2 Arbeiter (am Anfang sollte man 10 bauen)

factory=Fabrik beschäftigt 20 Arbeiter, unbeschäftigte Arbeiter benötigen Arbeitslosengeld

settlement=Neue Siedlung

buildershall=Baumeisterhalle, Voraussetzung für andere Gebäude

farm=Sollte zu Beginn auf Grasland gebaut werden für Nahrung

sawmill=Sägemühle sollte auf Wald gebaut werden für Resource wood

barracks=Kaserne, Voraussetzung für weiter Gebäude

fort=Fort erweitert Grenzen

mithrilmine=Mithrilmine um Mithril zu gewinnen, Voraussetzung für smithy

smithy=Schmiede, Voraussetzung für cannontower

cannontower=Kanonenturm (ein Stern darüber zeigt an welcher noch nicht geschossen hat)

walls=Stadtpalisaden erhöhen die Verteidigung, müssen in der unten Reihe gebaut werden

wealth=Verkaufswaren für Export um Geld zu generieren

bearbeitet von systemerror
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

Moin Cxyda,

 

Singleplayer mit KI

 

hast du Erfahrung mit Strategie KI? Ich denke ich sollte mich bei meinem eigenen Projekt auch mal dem Thema widmen allerdings habe ich (bis auf einfachste state machines) keinerlei Erfahrung damit. Hast du zufällig Tutorials zu diesem Thema? Zu Strategie spiel KI hab ich leider noch nichts brauchbares gefunden.

 

Gruß Cxyda

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Cxyda,

 

 

wenn Du gurgelst/ixquickst findest Du natürlich tutorials, aber die braucht man höchstens für pathfinding finde ich.

Die "KI"-Entscheidungen wie gespielt werden soll, das ist viel einfacher als sich SpielKünstlicheIntelligenz(GameAI) anhört,

denn man programmiert ja gar keine echte Künstliche Intelligenz (dann würde man als Professor

an die Uni berufen oder hochbezahlt bei Google eingestellt) sondern nur Scheinintelligenz:

 

Einfach gesagt: Alle möglichen Züge in einer Tabelle mit Punkten bewerten und den Zug mit den meisten Punkten ziehen.

Das wars eigentlich schon...

 

Beispiel für ein CIV-ähnliches game: Der Computerspieler soll auch Städte ausbauen.

Er geht durch ob alle schon etwas bauen oder es eine gibt wo ein neuer Bauauftrag gestellt werden muss.

Wenn eine einen Auftrag benötigt, dann prüfen welche Bauoptionen gerade möglich sind und Tabelle damit erstellen.

Für alle Bauoptionen Punkte vergeben. Hier kann man auch mehrere Tabellen erstellen zB 1. besser für Wirtschaft 2. besser für Wissenschaft 3. besser für Militär (diese Tabellen sind dann auch gleich "Berater" wenn man möchte) und addiert sie und das dann vielleicht noch abhängig davon ob mehr aggessiv oder defensiv.

Den Bauauftrag in der Liste mit den meisten Punkten bauen.

Vergleichbar für Einheiten die noch Bewegungspunkte haben durchgehen...

 

 

Edit 23.01.2016:

Ok, habe mal ein bisschen nachgelesen, es geht noch einfacher als ich dachte mit "Endlichen Automaten", dh fest programmiertem Verhalten (nur ein paar ifs), aber das wäre zu langweilig, ich werde schon wie beschrieben Punktetabellen und vor allem Randompunkte dazufügen, dann kommen zwar auch mal schlechte Entscheidungen raus aber man weiss vorher nie was passiert. Die Gegner sollen ja auch nicht superschlaue Schurken sein, die den Spieler immer fertigmachen und der frustriert das game löscht sondern eher Opfer für den Spieler damit er Erfolgserlebnisse hat wenn er sie besiegt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

hm okay danke schon mal für die Antwort =) Das klingt zwar nun recht einfach aber ich bin mir sicher das ich in der Praxis sehr schnell auf Probleme stoßen würde ^^ Vielleicht denk ich auch zu kompliziert aber gerade die Entscheidungen hängen ja oft von Dutzenden Faktoren ab ... naja ich schieb das Thema einfach noch ne weile vor mir her bis ich ne Erleuchtung habe ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich hab ma zb ein Buch dazu gekauft (knappe 215seiten), das die thematik ki in spielen beschreibt und erklärt. Im Gründe kratzt das auch nur an der Oberfläche.

Also deine selbst erstellte ki (cxyda) wird ohne großes Studium der Thematik whs etwas begrenzt sein. Denke aber das es weißt ned so ein Problem ist. Also die Projekte die du so haben wirst

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 month later...

Hallo, habe mal eine erste Enginedemo erstellt. Man kann eine Siedlung gründen, die ersten Dinge bauen (Dropdown oben rechts), das gleiche machen auch schon die Computergegner, Tastaturbefehle/Maus siehe Mainthread oben.

https://bitbucket.or...oject/downloads

There should be 'Patria-TerraIncognita_Data'

folder next to the executable

 

Da fehlt wohl noch der Folder

Link zu diesem Kommentar
Auf anderen Seiten teilen

There should be 'Patria-TerraIncognita_Data'

folder next to the executable

 

Da fehlt wohl noch der Folder

 

oops wiegesagt mein erstes Projekt mit Unity, bei mir funktioniert es weil der Ordner ja da ist.

Danke für den Hinweis bis ich das gelöst habe lösche ich erstmal den link.

 

Edit:

ok funktioniert es so mit dem Ordner im rar? Hinweis: Das ist nur eine Enginedemo, dh noch nicht spielbar.

Als erstes klickt man auf das Terrain zum Errichten der Siedlung, der Untergrund hat keinen Einfluss, dh egal

wo man baut, muss nur eben sein.

 

Da fehlen noch viele Dinge

https://bitbucket.org/systemerror/unity-project/downloads

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey systemerror,

ganz cool soweit :D Auch wenn ich sagen muss das du dein terrain generator nochmal anfassen solltest ^^ habe es 3 mal gestartet und alle 3 mal bin ich auf einer 5-8 Felder großen Insel gestartet ohne ein flaches stück, also mit bauen war nix ... und das Wasser durchqueren konnte ich auch nicht (keine Ahnung ob das gehen sollte), jedenfalls scheinen auch meine Mausklicks nur selten erkannt worden zu sein.

 

Warte gespannt auf updates :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 month later...

Hallo,

 

also um das mal zu sagen, das Forum und die community sind wirklich super.

Wiegesagt ist das mein erstes Unityprojekt, habe viel über Unity gelernt und über Rundenstrategie.

Mit der Version v03 ist das game jetzt spielbar, man kann gewinnen. Die schlimmsten Bugs habe ich hoffentlich gefunden.

Ein Erfolgserlebnis wenn alles beginnt zu funktionieren. Die Computergegner habe ich genau wie beschrieben programmiert, mit ein paar ifs die Punkte in eine Tabelle(array) vergeben und ein paar Randompunkte dazuaddiert damit das Verhalten unvorhersehbarer wird, aber vielleicht sollte ich sie noch etwas aggressiver machen? Reicht das wenn man dazu schreibt dass es nicht kommerziell ist?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...