Farming Game - Grid erstellung

  • Guten Tag zusammen,


    ich versuche vergebens seit Wochen ein Farming- Spiele ala Harvest Moon zu realisieren. Nun habe ich aus diversen Foren und Videos zwei Grid- "Typen" herausgefiltert.


    1. Es wird ein Grid erzeugt und die einzelnen Vectoren auf/- bzw abgerundet. Somit ergibt sich ein X und Y Wert. Mit einer einfachen Funktion rastet das zu platzierende Gameobject an diesen Positionen ein. Das heißt, jedes Gameobject wird zusätzlich in die Spielewelt eingebracht/ gespawned.


    2. Es wird ein Raster aus einem Actor gespawned. In diesen Actor sind alle Funktionen und alle Modelle integriert. Felder, Pflanzen etc. Sprich, wenn ich mit diesem Actor interagiere, während ich ein Werkzeug in der Hand habe, aktiviert der Actor nur das passende 3D Modell und die Logik dahinter. Ist also von Grund auf immer schon in der Spielwelt.


    Ich hoffe ich konnte das einigermaßen nachvollziehbar beschreiben. Hat hiermit schon jemand Erfahrung gesammelt? Kennt jemand Vor und Nachteile beider Methoden?

    Ich danke Euch schon einmal für Eure Zeit!

    • Offizieller Beitrag

    1.1 Du hast eine flache Welt die komplett in Raster aufgeteilt ist (Simpel)


    zur 2. Variante:

    Bei deiner 2. Variante wird zb ein Bauhof gesetzt und ausgehen von diesem Bauhof das Grid erstellt.


    Hat dein Terrain mehre Ebenen (Höhen) so könnten auf jeder ebene unterschiedliche Grids existieren.


    Die Frage ist nun was passiert wenn du auf jeder selben ebene zwei Bauhöfe plazierst die jeweils unterschiedliche Grids erzeugen.

    Gibt es dieses Szenario? Was passiert dann wenn sich beide Grids überlappen ?


    Vielleicht gibt es eine Zonenauswahl wo man die Zone von Bauhof1 auswählen kann und wo dann auch nur das Grid dieses bauhofen Gilt. Wechselt man auf die Zone von Bauhof2 wechselt das Grid.


    Mal angenommen du baust den Bauhof, so hat der Bauhof ein Grid an dem beispielsweise Felder und Wege gebaut werden können.
    Der Bauhof hat sein eigenen Grid.

    Jede Strasse hat nun auch sein eigenen Grid. Du baust zb die Strasse und kannst direkt an die Strasse Gebäude Snapen. Dabei müssen die Strasse auch nicht gerade verlaufen, entscheident ist, das zb ein Gebäude nur auf dem nächsten ganzen Grid gebaut werden können. auf kleinere Grids die nicht voll sind, könnten auch kleine deko Meshes spawnen.

    Das könnte interessant sein wenn du zb willst das man an eine Autobahn mehr ranbauen kann wie an einen Feldweg. An den Feldweg zb nur ein Grid Feld und an die Autobahn 16 Gridfelder wo man auch eine ganze Tankstelle hinbauen könnte.


    Die Frage ist was du möchstest ?

  • Erstmal vielen dank für die Antwort.

    Ich möchte das tatsächlich so einfach halten wie das original Harvest Moon. Quasi eine 2.5D Variante.

    Im Bauernhof-Level kann man sich frei austoben mit Ackerbau etc. Wo anders wird auch nicht gebaut.

    Das ganze findet auf einer Ebene statt. Aber das mit den Gebäuden ist ein sehr wichtiger Punkt. Daran hatte ich nicht wirklich gedacht. Das Haupthaus hat einen festen Platz, aber Kuhstall etc. muss ja irgendwann mal gebaut werden. Da muss ich mich mal reinfuchsen wie es mit mehreren Feldern abläuft. Ansonsten besteht alles aus einem Grid-Feld.

    Die Variante 2 wäre mit dem Leveldesign gut zu arrangieren. Ich müsste auf das Grid keine rücksicht nehmen und sage einfach zu Beginn des Spiels, dass alle Grids, welche mit Levelobjekten kollidieren einfach gelöscht werden. Somit vermeide ich unnötige Berechnungen. Auch könnte ich zu beginn eines Spiels dort zufällig Bäume und Steine spawnen.

  • Müsste mal schauen. Ich habe mal angefangen mit einem Grid Game - sollte eigentlich ein Aufbau Spiel werden in dem man auf dem Grid Objekte platziert um ein Restaurant auszustatten. Das Grid war fest platziert und dimensioniert.


    Wenns dir hilft könnte ich bei Gelegenheit mal suchen ob ich die Source finde.

    • Offizieller Beitrag

    Ich kenn das Spiel nicht aber wenn ich mir die Screenshots so ansehe.

    Die Variante 2 wäre mit dem Leveldesign gut zu arrangieren. Ich müsste auf das Grid keine rücksicht nehmen und sage einfach zu Beginn des Spiels, dass alle Grids, welche mit Levelobjekten kollidieren einfach gelöscht werden.

    Das hört sich nicht gerade performant an ^^


    Deine Grids sollten nicht aus hunderten kleinen Mesh Objekten bestehen die aneinander gereiht werden.


    Als Gamer ist so ein Grid immer selbstverständlich und man sieht nicht, welche Überlegungen hinter etwas so einfachem wie einem Grid stecken.


    Ich würde das eigentliche Grid erstmal mathematisch aufbauen. So wie du sagtest zb durch runden das Mesh in einem Raster anzeigen lassen. (Dazu gibt es sicherlich viele Tutorials)

    Nun würde ich eine einzige Plane an der Mausposition erzeugen. Der Mauszeiger befindet sich exakt in der Mitte der Plane.

    Bewegst du die Maus, bewegt sich die Plane mit.

    Auf diese Plane befindet sich das Grid als Textur. Die Textur verfügt über eine Alphamap die das Grid darstellt. Außerdem könntest du einen schönen Opacity fade nach außen haben, so das man nicht mehr sieht das es eine Plane ist. Dein Grid hätte somit ein radiales Aussehen.


    Oftmals wird ein Gebäude als Ghost Objekt angezeigt wenn es gesetzt wird. Man baut, und das Gebäude wird mit einem Transparenz Material gesetzt. Der Bauer rennt hin und stellt das Gebäude fertig. Erst dann bekommt das Gebäude sein eigentliches Material.

    Heißt:

    Kolidiert das Ghost Mesh mit einem Hindernis zb einem Baum oder mit einem anderen Gebäude, so tust du Messen wie viele Gridteile das Mesh berühren.

    Ich könnte mir vorstellen, das du nur messen tust, wenn ein Ghost mit irgend etwas kolidiert. (schließlich muss auch nur dann gemessen werden) Dann könntest du durch ein paar Casts messen welcher von ihnen das Objekt trifft. Daraus kannst die überlappenden Kacheln in einem anderen roten Material ermitteln und darstellen.


    Kollidiert die Plane mit irgend etwas, werden Casts nach unten geschossen. Je nach welcher Cast etwas Trifft, weißt du wie beim Schiffeversenken wo sich ein Mesh befindet.

    Dann würde ich über der Plane die Kästchen mit rotem Material spawnen. (So das Rot kann nicht gebaut werden immer immer im Vordergrund ist)