Inseln erstellen

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Inseln erstellen

    Moin,
    ich hab mal ein kleines Project angefangen, leider komme ich bei den Inseln nicht weiter, die Suchfunktion hat leider auch nichts nützliches hervorgebracht.

    Ich möchte Inseln erstellen, welche NICHT vom Player oder Gegnern begehbar sind. Dazu würde ich normalerweise ein Sprite machen, Inseln malen und diese dann auf colisition prüfen. Leider umfasst meine Map 10.000 mal 10.000 als ich versuchte ein Sprite dieser Größe zu erstellen schmierte mein GM ab.
    Danach habe ich es mit 5.000 mal 5.000 Sprites versucht, da ich davon aber 4 brauche sind die Ladezeiten zu lange und es laggt ab und an.

    Fazit: Ich suche eine Möglichkeit Inseln in meinem Spiel zu erstellen und zu garantieren, dass weder ich noch ein Gegner über die Inseln kann (ist ein Spiel mit Schiffen).

    hoffe ihr habt eine Idee wie ich das lösen kann.

    P.S. ich habe GM 8.0!!
  • Du hast also 4 Objekte mit jeweils 5000x5000px Sprites?
    Wieso, wenn du eine Map von 10000x10000px hast?
    Ich verstehe echt gar nicht, was du gemacht hast, liegt wohl an den fehlenden Einheiten..bei 5000 mal 5000 Sprites denke ich an 25000000 Sprites.
    Und das scheint ja auch so zu sein, wenn du "Sprites" dahinter schreibst.
  • Ich zietiere ja ungerne Personen, am wenigsten mag ich es jedoch mich selbst du wiederholen,
    Leider umfasst meine Map 10.000 mal 10.000 als ich versuchte ein Sprite dieser Größe zu erstellen schmierte mein GM ab.

    deswegen dachte ich, es währe sinnvoller 5.000 mal 5.000 px Sprites zu erstellen um am schluss auch auf eine fläche von 10.000 mal 10.000 zu kommen.
  • die sprites sind je auch viel zu groß...
    versuche für jede insel eine eigene sprite zu erstellen, die zu objekten machen
    und in den raum einzufügen.
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Leider habe ich bereits sehr viele Objecte und Sprites und da werden auch ohne Inseln noch sehr viele dazukommen, wenn ich jetzt auf einer fläche von 10.000 mal 10.000 px versuche jede einzelne Insel zu malen in einem Object zu Speichern, mit colisition abfragen austatte dauert das 1. extrem viel Zeit, und 2. wir das Spiel dadurch auch nicht flüssiger bzw. es laggt bei zu vielen Objecten..
  • Nein es wird gewiss nicht laggen, wenn du es sauber programmierst.
    Aktiv müssen ja nur die Objekte im Sichtbereich sein.
    Außerdem könntest du, wenn du die Inseln als einzelne Objekte hast auch zufallsgenerierte Level erstellen lassen, wenn dir die manuelle Levelgestaltung zu aufwendig ist. Und je nach Grafikstil, könntest du sogar die Inselformen zufallsgenerieren.
  • Ich hatte damals in meinen Survival Game auch so ähnliche Probleme.
    In den ersten Versionen wurde dann die Insel zufällig geneiert. Die Steinvorkommen wurden auch mit nen Tileset auf einer Ebene höher erzeugt. Dabei wurde aber ein unsichtbares Object(volle Mask) erzeugt und gleich wieder deaktiviert.
    Der Player und die Tiere haben dann bei Annäherung diese Objecte aktiviert sodas damit interaktion möglich war. Bei einer bestimmten Entfernung zu diesen Objecten wurden diese wieder deaktiviert.

    Vlt. Ist das ein kleiner Denkansatz zu Problem aber es gibt sicher noch bessere und Ressourcenschonende Möglichkeiten.
  • Du könntest auch den Hintergrund der Map als riesiges Bild der Inseln laden und wie oben schon erwähnt unsichtbare Collisionobjecte drauf setzen.
    Wenn du die Ressource extern lädts, hast du keine langen Ladezeiten :)

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)
  • Extern laden... hmm versuch ist es wert, ich werde es mal ausprobieren. Leider hab ich auch da keine ahnung wie ich colisition abfrage mache.

    @Baruter ja wie genau lege ich den eine Mask um die Tiles bzw. wie frage ich colisition ab?

    Ich hab mich mal an einer Collisition versucht, leider hab ich keine ahnung davon und es funktioinirt nicht :(
    Kann mir jemand sagen was ich an folgendem Code ändern muss damit es geht?

    :event_create: Create Event:

    GML-Quellcode

    1. find = tile_layer_find(1000000,x,y)
    2. findX = 0
    3. findY = 0

    :event_step: Step Event:

    GML-Quellcode

    1. find = tile_layer_find(1000000,x,y)
    2. findX = tile_get_x(find)
    3. findY = tile_get_y(find)
    4. if distance_to_point(findX,findY) < 10 {
    5. speed = 0
    6. }

    1000000 ist die depth der zu findenen tiles

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von franky180 ()

  • Hier werden zwei Möglichkeiten beschrieben wie man Collision mit Tiles erkennt, das soll sogar schneller gehen als mit Objekten, aber einfach wirkt das nicht: gmc.yoyogames.com/index.php?showtopic=523392

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)