Karte - Strategiespiel/Spiel von oben



  • Hallo,

    hab mal ne Frage, wie sieht es denn aus wenn man ein Strategiespiel baut, so wie Age of Empire zum Beispiel, also ein Spiel mit einer Karte.

    Wie wird das mit der Karte gemacht? Wenn man das Spiel spielt dann kann man ja ducht die Karte scrollen (links, rechts, oben, unten). Aber wie programmiere ich das?

    I. Gibt es wirklich eine komplette Karte die man beim scrollen nach link oder rechts (x/y px) bewegt?

    II. oder wird da niX bewegt sondern die Karte wird Kachelartig beim scrollen zusammengebaut (pro Schleifen durchlauf)?

    (programmiere mit sfml)



  • also der einfachste aber langsamste ansatz wäre:

    du platzierst alle modelle, etwa halt auf der xz ebene, oder halt höher/niedriger wo sie halt hingehören, und setzt dann die cameramatrix so, dass man von oben guckt

    und wenn der mauszeiger zu nah am bildschirm rand ist veränderst du einfach die cameraposition in die entsprechende richtung



  • Mit SFML würde ich dir zu einem tile-artigen Aufbau raten. Von der Karte zeichnest du nur jeweils der momentan sichtbare Bereich, gleiches gilt für die Objekte darauf.

    Fürs Scrolling hast du am besten einen 2D-Vektor, der z.B. den Offset von der linken oberen Kartenecke darstellt. Dein sf::View kannst du danach ausrichten. Wenn du an die Kartenränder kommst (d.h. die x- oder y-Koordinate befindet sich nahe 0 oder nahe der Kartenbreite/-höhe), erlaubst du kein weiteres Scrolling mehr, bzw. setzt das View immer auf die Grenzen zurück. Somit wird verhindert, dass der Benutzer nur noch ins Leere blickt.



  • halloechen,

    schau dir mal eine isometrische ansicht an, das ist denke ich das was du suchst.

    gruss
    msp


Anmelden zum Antworten