Deus Figendi: auf einer Map wandern (Spieleprogrammierung)

Beitrag lesen

Hi

beides sofern boden nicht homogen ist. und dien vo9rhaben ist nicht trivial, bist du sicher? mit flash ist das gerade noch so machbar, wobei du actiosncript lernen müsstest.
MFG

nein, der Boden bleibt sich nicht gleich. Es soll z.B. Wüsten geben oder Gebirge, die man überklettern muss (in übertragenem Sinne, dort ist halt die Fortbewegungsgeschwindigkeit herabgesetzt). Die Map ist eine plane Grafik, die topographischen Gegebenheiten werden als Gegenstände verortet (z.b. Sumpf ist ein Gegenstand).

Programmieren werde ich das wohl in Python. Denkst du wirklich, dass das so schwierig ist?

Das ist sicher machbar, ich habe sowas ähnliches kürzlich mit JavaScript und canvas gebastelt.
"Mitscrollen" hatte ich noch nicht gemacht, dafür aber Zoom. Ob man nun einen Layer hat (Gegenstände) oder mehrere (Fußboden und Gegenstände) ist denke ich nicht so wild. Allerdings habe ich "Felder" gemacht, keine freie Positionierung... macht aber auch keinen großen Unterschied.

Von Python hab ich gerade extrem wenig Ahnung, aber wolltest du das im Browser machen oder auf dem Desktop? Muss es denn überhaupt grafisch sein oder reicht für die Schule auch ein ASCII-Modus (so wie Rogue)?

Zur Konkreten Frage: Natürlich müssen sich Karte und Gegenstände mit verschieben. Wenn die Gegenstände relativ zur Karte immer die gleiche Position haben kannst du sie rein grafisch auch direkt auf die Karte malen (soweit Python dafür Module bietet, wovon ich aber ausgehe).

Im Grunde machst du folgendes:
Position der Karte := Position des Spielers auf der Karte - halber Kartenausschnitt;
Wenn Position des Spielers < Kartenausschnitt/2 dann Position der Karte = 0 und Position der Spielfigut auf dem Kartenausschnitt (nicht auf der Karte) = Position auf der Karte
Wenn Position des Spielers > Karte-Kartenausschnitt/2 dann Position der Kart = max und Position der Spielfigur auf dem Kartenausschnitt = max-Position auf der Karte;

Das ganze einzeln für beide Koordinaten.

Kollisionsabfragen sind wenig trivial außer du hast ein klares Raster. Also Kollisionen von Rechtecken sind doch reicht leicht zu berechnen, Kreise, Hexagone etc. ist aufwendig aber kriegt man auch hin, aber wenn es um unförmige Dinge geht... bäh!

Aber wie gesagt: Mach doch ASCII-Grafik, dann erledigt sich das Kollision-Problem wie von selbst "Wenn Spielerposition = Gegenstandsposition dann Kollision"

--
sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
0 56

auf einer Map wandern (Spieleprogrammierung)

Kleinbonum
  • programmiertechnik
  1. 0
    bleicher
    1. 0
      Kleinbonum
      1. 0
        Deus Figendi
        1. 0
          Kleinbonum
          1. 0
            Deus Figendi
            1. 0
              Kleinbonum
              1. 0
                Felix Riesterer
                1. 0
                  Kleinbonum
  2. 0
    Der Martin
    1. 0
      Kleinbonum
      1. 0
        Ratge Bär
  3. 0
    splinter
    1. 0
      Kleinbonum
      1. 0
        splinter
  4. 0
    Felix Riesterer
    1. 0
      Felix Riesterer
      1. 0
        Tom
        1. 0
          Felix Riesterer
          1. 0
            Kleinbonum
          2. 0
            Tom
            1. 0
              Felix Riesterer
              1. 0
                Kleinbonum
                1. 0
                  Felix Riesterer
      2. 0
        Felix Riesterer
        1. 0
          Tom
          1. 0
            Felix Riesterer
            1. 0
              Felix Riesterer
              1. 0
                Felix Riesterer
            2. 0
              O'Brien
              1. 0
                Felix Riesterer
                1. 0
                  Felix Riesterer
                  1. 0
                    O'Brien
                    1. 0
                      Felix Riesterer
                      1. 0
                        Felix Riesterer
    2. 0
      Kleinbonum
      1. 0
        Felix Riesterer
        1. 0
          Kleinbonum
          1. 0
            Havyrl
        2. 0
          Tom
  5. 0
    Tom
  6. 0

    Nachtrag, Kartenausschnitte anzeigen

    Tom
  7. 0
    Felix Riesterer
    1. 0
      Tom
      1. 0
        Tom
        1. 0
          Felix Riesterer
      2. 0
        Felix Riesterer
    2. 0
      O'Brien
      1. 0
        Felix Riesterer
      2. 0
        Felix Riesterer
        1. 0
          O'Brien
          1. 0
            Felix Riesterer
            1. 0
              O'Brien
              1. 0

                wie auf Schienen

                Felix Riesterer
                1. 0
                  Tom
            2. 0
              Tom