amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
18.Feb.2023
TheoTheoderich


Entwicklertagebuch: Single-Player Modus in "Settle the World"?
Vor einer Woche hatte Christian 'TheoTheoderich' Wiegel für sein rundenbasiertes Aufbau- und Handelsspiel "Settle the World" ein Intro-Update veröffentlicht (amiga-news.de berichtete). In den Rückmeldungen dazu wurde vor allem der Wunsch geäußert, einen Single-Player Modus inklusive mindestens eines Computer Gegner in das Spiel zu integrieren.
In einem aktuellen Entwicklertagebuch skizziert nun der Programmierer, wie das umgesetzt werden könnte:

"Um es vorweg zu nehmen...das wird nicht einfach.

Settle the World war ein Beitrag zum BlitzBasic Jam 2022 und sollte eigentlich innerhalb von sechs Monaten fertiggestellt werden. Es war, auf Grund der knappen Zeitvorgabe des Wettbewerbs, als rein lokales Mehrspieler-Spiel konzipiert.

Das sorgt leider dafür, dass im Programmcode eigentlich überall visuelle Rückmeldungen für Spieler hinterlegt sind. Das bedeutet, dass z. B. ein Fenster erscheint, wenn eine Einheit keine Bewegungspunkte mehr hat, oder ein Fenster erscheint, wenn ein Pioneer keine Werkzeuge mehr hat, etc.

Die Aufrufe dieser Informations-Fenster sind in den Programmteilen der Einheiten eingebaut und dürfen naürlich nicht bei Bewegungen von computergesteuerten Einheiten aufgerufen werden. Entweder werden nun alle Programmteile für eine universelle Nutzung von Spielern und Computer Gegnern umgeschrieben, oder die Computer Gegner erhalten eigene Programmteile, was allerdings die Dateigröße von Settle the World massiv erhöhen wird (und damit den Fast-RAM Bedarf).

Gestern habe ich leider festgestellt, dass sich aber viele Statements und Funktionen nicht einfach für eine gemeinsame Nutzung umschreiben lassen. Das käme in vielen Teilen einer kompletten Neuprogrammierung gleich und daher werde ich das nicht machen. Es würde wahrscheinlich zu einem Durcheinander im Code führen, das ich nach einigen Wochen nicht mehr verstehen und somit das Projekt einstellen würde. Wie schon dutzende Projekte am Amiga und PC in den letzten 20 Jahren.

Settle the World soll aber vor diesem Schicksal bewahrt werden, da mir das Spiel wirklich am Herzen liegt! Ich werde also den Teil der Computer-Gegner als zusätzlichen Programmcode einbauen, der größtenteils getrennt vom eigentlichen Code ist. Das wird nicht einfach, ich habe so etwas noch nie gemacht.

Um ein Gespür dafür zu bekommen, welche Arbeiten notwendig sind, habe ich in den letzten zwei Tagen einfach mal angefangen und einen der Spieler als Computer-Gegner markiert. Dieser Gegner fängt nicht mit beladenen Schiffen, wie der Spieler an, sondern direkt mit einer ersten Stadt.

Ich habe also eine Funktion geschrieben, die eine "perfekte" Stelle für eine Stadt ermittelt.

Grundlage ist die Startposition des jeweiligen Spielers, also die Position, an der normalerweise die Schiffe des Spielers spawnen. Nun werden alle Felder in einem Radius von 12 Feldern auf eine geeignete Position überprüft. Dazu werden die umliegenden Felder eines jeden Landfeldes nach bestimmten Kriterien bewertet.

Wie funktioniert das:
  • Jede Geländeart bekommt für Ihre Wichtigkeit Punkte. Fruchtbarer Ackerboden bekommt sehr viele Punkte, Tundra oder Wüste geben keine Punkte. Bonus- und Flussfelder geben Zusatzpunkte.
  • Es gibt drei Zusatzkriterien:
    • Hat die geprüfte Position auf der Karte Zugang zu Weizen, Holz und/oder Ozean?
    • Falls ja, gibt das erste Feld das eine dieser Kriterien erfüllt Zusatzpunkte.
    • Ist es die erste Stadt eines Spielers so gibt der Zugang zum Ozean sehr viele Zusatzpunkte, um sicherzustellen, dass die erste Stadt am Meer errichtet wird.
Danach wird an der Position mit den meisten Punkten eine Stadt erstellt. Dann wird an der Position dieser ersten Stadt ein Pioneer erstellt, in die Stadt integriert und als Farmer auf einem Feld eingesetzt.

Soweit funktioniert das recht zuverlässig auf allen von mir getesteten Karten.

Allerdings habe ich dafür schon zwei Abende gebraucht... Das wird ein sehr, sehr langwieriges Projekt, einen Computer-Gegner einzubauen..." (dr)

[Meldung: 18. Feb. 2023, 08:20] [Kommentare: 1 - 21. Feb. 2023, 21:49]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.