Ergebnis 1 bis 16 von 16

Thema: Minimaps und deren Minimapmann beim 2k(3)

  1. #1

    Minimaps und deren Minimapmann beim 2k(3)

    Code:
    A mini-map is a miniature map, often placed in a corner of the screen in
    computer games to aid in reorientation. [...]
    
    Often, the mini-map is aided by a GPS in order to dynamically update the
    current position of the player with respect to the surrounding environment.
    [...]
     
    Mini-maps have become almost standard-issue in RTS and MMORPG genres, as
    a notion of where the current screen lies within the scope of the game world is
    necessary.

    Bei einer Minimap geht es darum, die Orientierung zu behalten. Das wird durch zwei Merkmale erreicht:

    1. Eine herausgezoomte Ansicht des Gebietes
    2. Einem GPS-Signal , also den "Minimapmännern" oder - wenn es nur einer ist - dem "Minimapmann"


    Eine Minimap ist eine interessante Sache, wenn das Gebiet sehr groß ist oder man sich schnell orientieren muss. Ein Blick genügt. Aber was genau bedeutet das beim 2000er oder 2003er Maker? Bei einer Auflösung von 640x480 Pixeln bleibt nicht mehr sehr viel Platz auf dem Bildschirm übrig. Die Minimap ist dann nicht mehr mini (man ignoriert die Auflösung und pflanzt eine detaillierte Karte in die Ecke) oder keine Map mehr (die Informationen verschwinden im Pixelmatsch). Wie kann man so etwas also realisieren?

    Die Minimap einblendbar machen, systematisieren, halb transparent darstellen, in Gebiete einteilen ... Es gibt so einige work arounds. Typisch für den Maker, der die technischen Voraussetzung des Öfteren vermissen lässt. Aber leider ist vieles davon nur sinnvoll, wenn der Spielzuschnitt einem genügend Zeit zum Trödeln und Karte inspizieren gibt.

    Wenn ihr wollt könnt ihr etwas dazu schreiben. Aber mein Anliegen geht in eine etwas andere Richtung. Und zwar zielt es auf den als zweites genannten Punkt ab, dem vom Autor des Wikiartikels als GPS-Signal bezeichneten Features.

    Ich baue an einem Rennspiel mit dem Maker. Die Auflösung ist die selbe. Das Minimapproblem ein ähnliches. Diesmal geht es aber um Echtzeit. Es geht um schnelles Wahrnehmen und Verarbeiten. Aber es geht eben auch um die Auflösung des Makers. Ich habe mich dafür entschieden die Übersichtskarte der Strecke zu "begradigen". Also Schlangenlinien und Schrägen durch Streckenabschnitte in 45°-Winkeln zu ersetzen. Alles andere sieht mehr nach moderner Kunst als dynamischer Strecke aus. Dummerweise ist jetzt der Minimapmann nicht mehr ganz auf dem neuesten Stand und folgt weiterhin stur der hundertprozentig genauen Koordinate.

    Ein Dilemma.

    Weg mit dem blöden Läufer! Eine Rennbahn braucht Checkpoints um Abkürzungen zu vermeiden und andere Dinge zu regeln. Die Checkpointabschnitte reichen also als Übersicht.
    Es wird einfach der nächste Streckenabschnitt auf der Minimap hervorgehoben. Am besten mit rot. Das hält solange an, bis man diesen absolviert hat und der nächste Abschnitt an die Reihe kommt. Dann wird der rot und somit fährt man von Abschnitt zu Abschnitt immer mit einem Auge auf der Minimap, ganz ohne Minimapmann.

    Eine effektreiche Lösung? - Ja.
    Eine funktionierende Lösung? - Ja.
    Eine übersichtliche Lösung? - Ja...

    Und kann man sich auch bestens orientieren?

    "A mini-map is a miniature map, often placed in a corner of the screen in
    computer games to aid in reorientation
    "


    Verdammt. Ich wusste doch, dass ich etwas vergessen habe.

    Geändert von CapSeb (06.12.2008 um 16:51 Uhr)

  2. #2
    Tut mir leid, aber ich kriege nicht raus, was dein Anliegen eigentlich ist, bzw wo dein Problem liegt.

    Wenn du den Streckenabschnitt rot hervorhebst, erfuellst du doch den Orientierungsanspruch. Solange deine Checkpoints nicht sehr weit entfernt sind, und damit die Abschnitte sehr lang werden, ist deine Karte auch hinreichend genau. Ist N die Anzahl deiner Checkpoints, so naehrt sich mit N -> oo deine Abschnittskarte einer Koordinatenkarte an. *schulterzuck*

  3. #3
    was möchtest du noch gleich?

    Edit:
    btw, auch bei großen Karte macht das einen Sinn.
    Ich persöhnlich nutze auch eine Minimap an 2 Orten, einmal auf der Weltkarte und dann noch n einen Minspiel.

    Bei der Weltkarte, haben wir ja das Problem das Details verloren gehe, dennoch folgt der kleine Punkt dem Helde aufs genauste, das ich deshalb da ich gelbe Punkte als Makierungen für Ortschaften nehme.

    Bei deiner Strecke, wäre das dann ungefähr das selbe, eigentlich müsste der cursor doch Prima folgen.

    Geändert von R.D. (05.12.2008 um 11:04 Uhr)

  4. #4
    Warum wurde das Thema verschoben? Ich habe keine gezielte Frage zum Thema "Wie mache ich eine Minimap" gestellt! Es geht um die allgemeine Diskussion, inwiefern eine Minimap beim Maker umsetzbar ist und verweise als Beispiel auf die Problematik einer Rennstreckenübersichtskarte und deren Unvereinbarkeit mit einer sehr geringen Bldschirmauflösung.

    @Ineluki: Nicht verstanden und trotzdem verschoben? Das "Problem" ist, dass es kein direktes Problem gibt. Es geht um Spieldesign. Und das wurde bisher immer im Community-Forum abgehalten. Ich war mir im ersten Moment, also bevor ich angefangen habe den Thread zu erstellen, nicht sicher in welches Forum ich das ganze packen soll. Für das Entwicklerforum hätte ich aber eine andere Struktur gewählt und auch eine konkrete Frage formuliert. So hängt der Thread jetzt in der Luft.
    EDIT: Sorry, Kelven war's. Ein Thread wird verschoben und der erste Antwortpost kommt von einem Moderator. Scheinbar beides nachts um eins. Zufall oder Verschwörung? Wohl eher ersteres. Das nächste Mal versuche ich erst zu erfahren wer's tatsächlich war.

    Zum Thema Checkpointanzahl gegen unendlich: Schon mal ein Spiel gesehen, bei dem man alle zwei Meter einen Checkpoint überquert? Es wäre möglich so etwas zu bauen. Das wären dann keine Checkpoints mehr. Checkpoints dienen eben, wie gesagt, auch anderen Sachen. Ich rede aber davon, dass es Checkpoints sind. Eine Designfrage. Und um genau das geht es.

    R.D.:
    Was ich wollte? Tipp, hinter dem Thread versteckt sich sogar ein sinnvoller Inhalt.
    Zum Edit: wie im Eingangspost erwähnt, entspricht die von mir gewählte Minimap nicht genau der Übersichtsmap, weil die geringe Auflösung gerade Linien bevorzugt (Pixelmatsch und so). Ich glaube den Punkt musst du noch mal lesen. Dann weißt du auch, warum das mit dem Folgen des Cursors doch nicht so gut klappt.

    (Also irgendwie, glaub ich, ist das Thema zu hoch oder zu theoretisch >_> Mehr Vorstellungskraft, bitte!)



    CapSeb

    Geändert von CapSeb (05.12.2008 um 18:12 Uhr)

  5. #5
    Zitat Zitat von CapSeb Beitrag anzeigen
    R.D.:
    Was ich wollte? Tipp, hinter dem Thread versteckt sich sogar ein sinnvoller Inhalt.
    Zum Edit: wie im Eingangspost erwähnt, entspricht die von mir gewählte Minimap nicht genau der Übersichtsmap, weil die geringe Auflösung gerade Linien bevorzugt (Pixelmatsch und so). Ich glaube den Punkt musst du noch mal lesen. Dann weißt du auch, warum das mit dem Folgen des Cursors doch nicht so gut klappt.

    (Also irgendwie, glaub ich, ist das Thema zu hoch oder zu theoretisch >_> Mehr Vorstellungskraft, bitte!)
    ähm, ganz kleiner Hinweiß, was du wolltest weiß ich genau, ich versteh nicht, warum da ein Problem ist.

    Auf meiner Weltkarte, folgt der Curser dem Helden, natürlich nicht genau wie dumm soll das denn auch sein, das man genau sieht was auch auf dem Bildschirm zu sehen ist, vllt nur halb so groß.
    es heißt doch nicht umsonst "Minimap".
    Sie soll nur die ungefähre Posi anzeigen. und mir nich über jder Kleinigkeit ausschluss geben, das wär stumpf. wie du sagt, man sol sich orientieren.
    Außerdem, ist es nicht zwingend notwendig das die Karte, einfach nur herraus gezoomt is.
    Man könnte auch ein Simples Koordinatenraster benutzen, auf dem die Ränder der Weg makiert sind. So ähnlich wie du das gemacht hast.

    Dein Thema ist nicht zu hoch, sondern eher, KA sinnlos.
    Minimaps sind umsetzbar, fertig.
    Klar, bei dir hast du nun eine Ausnahme gefunden, aber naja der Maker heißt ja auch RPG-Maker. Heißt für Rennspiele die Echtzeit brauchen, musst du umdenken und gegenbenenfalls rationalisieren.
    Ein RPG, lässt immer Zeit zu trödeln.
    Bei dir soll gehts um Echtzeit, man müsste ein Auge auf den rennwagen haben, das andere auf der Minmap.
    Bei rennstrecken finde ich es imo wieso eher weniger gut. Da sie ja nicht so groß sind wie eine Map in einem RPG (was gemeint ist, ist natürlich das nur die Strecke dargestellt wird).

    Man kennt Strecken, irgendwann da ist dann die Karte unnötig und versperrt vllt sogar die Sicht, bei 2D.

  6. #6
    Zitat Zitat von R.D.
    ähm, ganz kleiner Hinweiß, was du wolltest weiß ich genau, ich versteh nicht, warum da ein Problem ist.

    (Also vorher hast du noch gefragt "Was möchtest du noch gleich". Der zweite Halbsatz ist von Ineluki kopiert.)

    Auf meiner Weltkarte, folgt der Curser dem Helden, natürlich nicht genau wie dumm soll das denn auch sein, das man genau sieht was auch auf dem Bildschirm zu sehen ist, vllt nur halb so groß.
    es heißt doch nicht umsonst "Minimap".
    Sie soll nur die ungefähre Posi anzeigen. und mir nich über jder Kleinigkeit ausschluss geben, das wär stumpf. wie du sagt, man sol sich orientieren.

    (Richtig.)


    Außerdem, ist es nicht zwingend notwendig das die Karte, einfach nur herraus gezoomt is.
    Man könnte auch ein Simples Koordinatenraster benutzen, auf dem die Ränder der Weg makiert sind. So ähnlich wie du das gemacht hast.

    (Ja, auch das hab ich schon gesagt.)


    Dein Thema ist nicht zu hoch, sondern eher, KA sinnlos.
    Minimaps sind umsetzbar, fertig.

    (Eine meisterhafte Schlussfolgerung und der sagenhafte Kern deines Posts.)

    Klar, bei dir hast du nun eine Ausnahme gefunden, aber naja der Maker heißt ja auch RPG-Maker. Heißt für Rennspiele die Echtzeit brauchen, musst du umdenken und gegenbenenfalls rationalisieren.

    (Weil der Maker "RPG-Maker" heißt, bin ich jetzt ein Außenseiter der selbst zurechtkommen muss? Diese Logik enzieht sich meiner Vorstellungskraft. Desweiteren: Wie "rationalisieren"?)

    Ein RPG, lässt immer Zeit zu trödeln.
    Bei dir soll gehts um Echtzeit, man müsste ein Auge auf den rennwagen haben, das andere auf der Minmap.

    (Diese Sätze stammen im Grunde von mir.)

    Bei rennstrecken finde ich es imo wieso eher weniger gut. Da sie ja nicht so groß sind wie eine Map in einem RPG (was gemeint ist, ist natürlich das nur die Strecke dargestellt wird).

    (Also du würdest einfach auf die Minimap verzichten? Ok, ist eine Möglichkeit. Kommerzielle Vorbilder widersprechen dir da aber leider.)

    Man kennt Strecken, irgendwann da ist dann die Karte unnötig und versperrt vllt sogar die Sicht, bei 2D.

    (Also gibts jetzt doch ein Problem, oder wie? Und was soll der Anhang "bei 2D"?)


    Bitte bläh doch das nächste Mal deine Posts nicht mit Wiederholungen und ist-so-und-fertig-Äußerungen auf. Das ganze hört sich mehr nach einer Rechtfertigung als einem konstruktivem Beitrag an. Ich habe nicht gesagt, dass du dumm bist oder dergleichen. Sondern du hast etwas missverstanden. Nämlich die jetzt von mit zum dritten Mal erwähnte Tatsache, dass der Streckenverlauf auf der Minimap nicht den Kurven auf der Karte entspricht. Ein Cursor (mein toller Minimapmann) würde außerhalb der Minimapbahn rumeiern.


    CapSeb

    Geändert von CapSeb (06.12.2008 um 16:55 Uhr)

  7. #7
    Gut seh ich ein ^.~
    Ich habs so interpretiert. Entschuldigung dafür.

    @Außenseiter
    Nein, natürlich nicht ich würde mich ja dann selbst beleidigen^^
    Es gibt aber da dieses Grenzen, die man umgehen muss.

    @Rationalisieren
    Naja, du musst es halt passende zum Maker machen, wo ein anderes Program, vllt weniger Zeilen verschlingt, kommt beim Maker wie du ja sagst an das Problem das die Punkt am Rand zu sehen ist.
    Du könntest, wenn wir schobnmal dabei sind, es so machen, dass du bereiche nimmst.
    Du teilst also die einzelen abschnitte in geometriche figuren.

    z.b.
    Wir haben ein gerade Strecke, sie ist auf der minimap 3px hoch und 20px breit.

    Es gilt der Bereich von X=0,Y=0,X=20,Y=3. Befindet sich der Fahrer in dem bereich, wird die X pos, auf die mitte (also 2) ausgerichtet.
    die Y-achse bleibt und es wird bewegt. Kommt der Fahrer in den nächsten bereich gehts da los.

    zugegebener Maßen einer Recht umständliche Lösung, aber immerhin.


    @Vorbilder
    ganz ehrlich ich orientier mich bei sowas kaum an großen Vorbildern, weil bei der Größe das net so schlimm ist^^

    @2D
    nunja, ich gehe davon aus, das du den Fehler nicht machts, aber stellen wir uns vor man bewegt das Fahrzeug grad von links nach rechts und es kommt eine 180° Kurve, unten und rechts hört die karte aber auf, somit steht die Karte vllt genau in der Kurve.

    2D hab ich gesagt, weil ich vermeiden will das einer sagt, aber 3D ja da gehts das beim XP blablub -.-

  8. #8
    Ich habe den Thread verschoben und bin der Meinung, dass solche speziellen Themen im Entwicklerforum besser aufgehoben sind.

  9. #9
    Jetzt bin ich total verwirrt.

    Dann muss ich mich wohl bei Ineluki entschuldigen.

    Und so zerzaust der Thread jetzt ist, wird vermutlich nix mehr Brauchbares heraus kommen. Also falls jemand den Durchblick hat, bitte was Vernünftiges schreiben, damit der Thread noch die Kurve kriegt.

    @R.D.: Ich hab ja momentan diese Bereiche schon in Form von Checkpoints. Tatsache ist aber, dass jede Andeutung einer falschen Information mehr verwirrt als hilft. Dazu gehören Positionsangaben die nicht dem eigenen Fahren entsprechen und markierte Bereiche die nur in der Nähe aber nicht genau unter einem sind. Es geht darum, dass ein einziger Blick genügen soll, um die Lage abzuchecken, ohne darüber nachdenken zu müssen, was die Information denn nun wirklich bedeutet.


    CapSeb

  10. #10
    Zitat Zitat von CapSeb Beitrag anzeigen
    @R.D.: Ich hab ja momentan diese Bereiche schon in Form von Checkpoints. Tatsache ist aber, dass jede Andeutung einer falschen Information mehr verwirrt als hilft. Dazu gehören Positionsangaben die nicht dem eigenen Fahren entsprechen und markierte Bereiche die nur in der Nähe aber nicht genau unter einem sind. Es geht darum, dass ein einziger Blick genügen soll, um die Lage abzuchecken, ohne darüber nachdenken zu müssen, was die Information denn nun wirklich bedeutet.
    mh, gut bei echtzeit ist es natürlich so eine sache, da würde ich auch eher zu deine Karte greifen, die dann nur die Weg darstellt.

  11. #11
    Wenn ich das jetzt richtig verstanden habe, besteht deine Minimap aus vielen Geraden, die jeweils bei Richtungsänderungen um 45° gedreht dargestellt werden, richtig?
    Also sowas in der Richtung?



    Wenn du nun diese Geraden kurz genug darstellst und damit eine aneinanderliegende Reihe von lauter Geraden hast, könnte man ja die entsprechende Gerade, deren Koordinaten des Spielers entsprechen, andersfarbig darstellen...?!
    Es wäre dann keine große Strecke andersfarbig herausgehoben (wie bei der Checkpoint-variante), sondern wieder nur ein kleiner Teil davon und das würde die Orientierungsmöglichkeit doch schon reichlich steigern. Also wenn ich mir das gerade richtig vorstelle.

    greetz!
    elsen =)

  12. #12
    @R.D.: Bleibt die Frage, ob man einfach so auf ein solches GPS-Signal verzichten soll.


    @Elsen: Jop, genauso sieht es aus, natürlich ein wenig geschminkt. Das heißt, statt einer Pixelbreite etwas dicker, damit Ereignisse wie Sprungschanzen und besondere Bodenflächen erkannt werden können.

    Allerdings gibt es ein paar Probleme bei der Sache. Ich nehme mal als Beispiel deine - noch relativ simple - Streckenstruktur. Sie würde schon 20 Checkpoints enthalten und Bereiche, die in der tatsächlichen Bahn eine Kurve darstellen, in verschiedene Abschnitte unterteilen.
    Das ist auf der einen Seite ein sehr großer Aufwand und verbraucht jede Menge Picture (2 pro Checkpoint im Pictureordner). Ich versuche das Erstellen von Bahnen relativ einfach zu halten, um in die Richtung eines Editors gehen zu können.
    Auf der anderen Seite muss man daran denken, dass es ja immernoch Checkpoints sind, also durchfahren werden müssen. Sprungschanzen, die Abschnitte abkürzen, und Abzweigungen, die Abschnitte umfahren, sind immer nur innerhalb eines Checkpointabschnittes möglich. Dementsprechend darf man nicht jede Kurve mit zwei, drei Checkpoints zupflastern.
    Ganz nebenbei kostet es auch noch ein wenig Rechenleistung, jedes Mal den nächsten Checkpoint anzupeilen.

    Die Hardcorelösung die dabei herauskommt: Zwei Arten von "Checkpoints". Einmal spärlich verteilte echte Checkpoints, also Schranken, die überprüfen ob man tatsächlich die Bahn abfährt, und als zweites Minimap-Checkpoints, die die Position darstellen und nicht zwingend alle durchfahren werden müssen.
    Das würde allerdings sehr viel Arbeit, eine Erweiterung/ Verkomplizierung des Quellcodes und eine starke Belastung des "Editors" bedeuten.
    Rentiert sich das oder gibt es dann doch bessere Lösungen?


    CapSeb

    Geändert von CapSeb (06.12.2008 um 17:00 Uhr) Grund: Tippo

  13. #13
    Zitat Zitat von CapSeb Beitrag anzeigen
    @R.D.: Bleibt die Frage, ob man einfach so auf ein solches GPS-Signal verzichten soll.
    Wenn du sehr große strecken benutzt, dann sollte man sich etwas überlegen ja, aber sonst, würde ich es sein lassen.

  14. #14
    Zitat Zitat
    Das ist auf der einen Seite ein sehr großer Aufwand und verbraucht jede Menge Picture (2 pro Checkpoint im Pictureordner)
    Ja, das wären wirklich belastend viele Pictures

    Dein Rennspiel wird ja garantiert auf Pixelmovement basieren. Hast du dann eine Minimap im Maßstab x : 1 und teilst deine Koordinaten durch x oder wie hast du es gelöst?
    Das Problem ist einfach zu interessant, um es aus den Augen zu verlieren

    Muss jetzt aber schnell wieder ab...
    Posten und bye!

    greetz!
    elsen =)

  15. #15
    @R.D.: Ok, nehme zur Kenntnis: R.D. wünscht sich eine genaue(re) Positionsangabe.

    @elsen: Immer schön dran bleiben am Thema. Ausdiskutieren bringt meist die größten Erkenntnisse (wenn aus-PROBIEREN nicht mehr weiterhilft ).

    Das mit dem X zu 1 wäre genau das Prinzip bei der Minimap. Ich habe einen Rahmen für die Minimap, sodass alle Bahnen bzw. deren Picture 55x55 Pixel groß sind. Abhängig von der tatsächlichen Bahngröße würde dann der Zoomfaktor bestimmt werden, richtig. Das ist einfache Zuordnung zweier Einheiten.
    Nur dadurch, dass es momentan kein GPS-Signal gibt, kann ich den Zoomfaktor ignorieren und einfach für jeden Checkpoint ein neues Picture erstellen, das an der entsprechenden Stelle rot ist. Zwei sind es pro Checkpoint, weil die Minimap - mit ihren verschiedenen Untergrundfarben und den beiden Randmarkierungen (!) des Abschnittes (rote Trennstriche) - pro Checkpoint wechselt. Hinzu kommt der rote Bereich der blinkt. Wegen den weiterwandernden Trennstrichen braucht man je Checkpoint also zwei Picture. Und momentan ist jede Bahn auf bis zu 9 Checkpoints ausgelegt. Das ist auch schon sehr viel Material.

    Würde ich jetzt mit Hilfe des - je nach Bahn variierenden - Zoomfaktors die genau Position wiedergeben, würde das eben nicht der Minimap entsprechen. Die Bahn ist auch viel dicker als auf der Minimap dargestellt. Das GPS-Signal würde also mehr als die Hälfte der Zeit außerhalb der Fahrbahn entlang wandern.
    Wie gesagt - nicht einfach.

    @some1else: Es gibt doch sicher noch andere einfachere Lösungen als zwei Arten von Checkpoints und monsterhafte Ansammlungen von Pictures?!
    (Tipp: diesen User gibt es nicht)


    CapSeb

  16. #16
    mh, mir kamen so zwei Ideen....

    Ich weiß nicht wie es nun mit der Genauigkeit der Strecke aussieht, durch die 45° Winkel, aber eine Idee (oder mehr ein Ansatz einer Idee ^^) wäre folgende:
    Wenn du in Y-Richtung fährst, werden die X koordinaten nur um 1 pro 2 Y Koordinaten verändert (falls eine Richtungsänderung auf der X-Achse stattfindet), in X Richtung dasselbe mit der Y-Achse, so kämen sie vllt nicht mehr über den zu schmalen Rand der Fahrbahn...
    Allerdings gäbe es da das Problem, dass die Koordinaten nicht mehr stimmig wären... #___#

    eine zweite Idee wäre vllt, den von dir genannten "Minimapmann" quasi vorzuprogrammieren und dann per interne/unsichtbare Checkpoints die momentane Position anzupeilen. Wenn das in nicht zu großen Abständen passiert, müsste es passabel aussehen....
    Bei dieser Idee müsstest du dann die unsichtbaren Checkpoints so oft wie möglich setzten, dass es noch im möglichen Arbeitsaufwand liegt und den "Minimapmann" dann so groß bzw. breit wie die Streckenbreite darstellen... Dann ist es zwar keine Ultrahammerhaargenauexakte Methode, aber zum Orientieren erfüllt es 100% seinen Zweck......
    Leider auch hier wieder ein Kontrapunkt: jede Strecke aufwendig vorprogrammieren! Das wird wohl einiges an Tests und Zeitaufwand erfordern.

    mh.. und sowas fällt mir im Zug ein -.-'


    greetz!
    elsen =)

    EDIT: Ah bin ich blöde.. die 2. Idee hattest du ja glaube so ähnlich schon mal iwo geschrieben oO sry...

    Geändert von elsen (09.12.2008 um 16:44 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •