Zufällige Anordnung vom Räumen - "The Binding of Isaac" like

  • GM 8

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

  • Zufällige Anordnung vom Räumen - "The Binding of Isaac" like

    Moin Leute

    Mein Spiel soll zufällig angeordnete Räume haben, immer die gleiche Anzahl und man soll von diesen auch spezielle Räume bestimmen können (z.B. Boss Raum).
    Ich habe schon viel ausprobiert, leider hat noch nichts geklappt. Nach einer weile bin ich im Yoyogames Forum auf einen Thread gestoßen mit folgendem Coding:

    Quellcode

    1. global.rm_list=ds_lis_create(); //create the ds_list
    2. ds_list_add(rm_list, rm_1); //add all the rooms to the list...
    3. ds_list_add(rm_list, rm_2);
    4. ds_list_add(rm_list, rm_3);
    5. //etc for all the rooms...
    6. ds_list_shuffle(rm_list); //Shuffle the list so the rooms are in a random order...
    7. repeat(11) ds_list_delete(rm_list,0); //remove 11 rooms from the list and leave 9, the 10th will be the boss room
    8. var rm;
    9. rm=ds_list_find_value(rm_list,0); //Get the first room on the list
    10. ds_list_delete(rm_list, 0); //remove the room from the list
    11. room_goto(rm); //Gotot the first room!
    Alles anzeigen

    Und

    Quellcode

    1. //This would go in the object that controls the room when the player reaches the end...if !ds_list_empty(rm_list) //see if the list is empty or not
    2. {
    3. var rm;
    4. rm=ds_list_find_value(rm_list,0); //Get the first room on the list
    5. ds_list_delete(rm_list, 0); //remove the room from the list
    6. room_goto(rm); //Gotot the first room!
    7. }
    8. else
    9. {
    10. //List is empty! Goto the boss room!
    11. room_goto(rm_Boss);
    12. }
    Alles anzeigen


    Da ich wirklich lange dran gesessen habe und leider nichts wirklich geschafft habe, wollte ich fragen, ob mir einer sagen könnte:
    Wie und wo genau ich das einbauen muss?
    Ob das überhaupt klappt?
    Und ob ihr mit vielleicht noch ein paar Tipps geben könnt. :)

    Ich freue mich sehr über Antworten!

    - Meditroid
  • Wie bei "The Binding of Isaac", wollte die Räume als Beispiel so aussehen:
    X = NICHTS (Kein Raum, nur hier zur Veranschaulichung)
    # = Normale Räume
    S = Start Raum
    B = Boss Raum

    B # # # # X
    X X X # X X
    # # # # X #
    # X X S # #

    Es soll Wege geben, die in einer Sackgasse enden und nach dem Boss Raum sollten keine Normalen Räume mehr kommen.

    Danke für die schnelle Antwort! :)
  • Okey, damit is der Code da oben ziemlich unbrauchbar und das ganze gestaltet sich deutlich schwieriger.

    Wobei.. eine Möglichkeit wäre es ein Grid zu benutzen. Dieses kannst du mit IDS von Räumen bzw mit -1 (für nicht existente Räume) füllen. Mit ds_grid_shuffle kannst du das Grid dann zufallsgeneriert machen. Das ganz große Problem dabei ist allerdings zu verhidern dass der Weg zu einzelnen Räumen abgeschnitten wird. Dazu müsstest du dir einen Algorythmus einfallen lassen.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Nah, gibt nciht gleich auf :)
    Des weiteren.. muss es wirklich, wirklich zufallsgeneriert sein?
    Ich meine, du kannst dich ja einen Tag lang hinsetzen und vieleicht 15 verschiedene Konstelationen basteln. Das merkt paraktisch niemand.

    Außerdem gäbe es noch eine andere Möglcihkeit. Nämlich dass das ganze dynamisch erstellt wird. Sobald du einen Raum betrittst, wird per irandom entschieden wieviele Ausgänge der Raum ahben soll und an welchen Seiten diese liegen müssen. Gehtd er Spieler nun durch eine dieser Türen, geschieht einfach nochmal das selbe. Bereits besuchte Räume werden dann in einem Grid festgehalten.
    Auch diese Methode hat zwar einen Haken, aber keinen so großen: Du musst das ganze nur noch so coden dass wenn man durch eine Tür geht, beim neuen Raum darauf geachtet wird ob nicht bereits angrenzende Räume existieren (darauf einfach auf das Grid zugreifen)! Existieren bereits räume dann werden die Türen entsprechend gesetzt.

    Sobald eine bestimmte Anzahl Türen gesetzt wurden, wird einfach auf einmal des Boss-Raum hinetr der letzten Tür erstellt :)

    Dies wäre garnicht so schwer zu regeln!

    Falls du noch unbedingt technische Hilfe brauchst, versuch ich mich die Tage an ein simples Example..

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Ich will ja unbedingt weiter machen und meine Idee umsetzten. Und es sollte möglichst zufällig sein, da das Spiel drauf ausgelegt ist.
    Je zufällig, desto besser :)
    Wenn du mir wirklich ein kleines Example basteln solltest, wäre das verdammt klasse und würde mir sehr helfen!

    Nur noch kurz als Frage:
    Es sollte dann auch möglich sein, die Räume als Minimap zu übertragen, die die ganze Zeit sichtbar ist oder? Damit man weis in welchen Räumen man war und in den Räumen in den man noch nicht war, werden auf der Minimap nicht dargestellt, bis man sie das erste mal betritt, dann bleiben sie immer da.
  • Meditroid schrieb:

    Nur noch kurz als Frage:
    Es sollte dann auch möglich sein, die Räume als Minimap zu übertragen, die die ganze Zeit sichtbar ist oder? Damit man weis in welchen Räumen man war und in den Räumen in den man noch nicht war, werden auf der Minimap nicht dargestellt, bis man sie das erste mal betritt, dann bleiben sie immer da.
    Ja das solte ohne Probleme machbar sein.
    Na schön ich melde mich morgen oder übermorgen mal bei dir. Aber versuchs solang selbst!

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Quellcode

    1. Neu registrierter Nutzer (14 Beiträge): Programmiert ihr mir die Grundlage meines Spiels? Bitte :) :) :)
    2. Aktiver selbstloser Nutzer (1710 Beiträge): Na schön ich machs.


    In dem Forum ist das Schema immer gleich aber was reg ich mich auch ich war ja auch mal so ;)

    mfg whiterock
    Hoffe die Leute nehmen mir den Post nicht übel
  • whiterock schrieb:

    Quellcode

    1. Neu registrierter Nutzer (14 Beiträge): Programmiert ihr mir die Grundlage meines Spiels? Bitte :) :) :)
    2. Aktiver selbstloser Nutzer (1710 Beiträge): Na schön ich machs.


    In dem Forum ist das Schema immer gleich aber was reg ich mich auch ich war ja auch mal so ;)

    xD
    Da hast du eigentlich zu 100% recht, lol..

    Er hat ja angedeutet dass er schon seit Monaten an dem Spiel arbeitet sonst hätte ich ganz sicher sowas nicht auf mich genommen (imemrhin dauert das jetzt schon ca. 2.5 Stunden (naja, 1.5 Stunden wenn ich nur das machen würde..).
    Werds aber auch extra als example Posten falls es sonst noch wer braucht (und falls ichs hinkrieg noch ein paar Problemchen zu lösen). Glaub vor nicht allzulanger Zeit wollten schon mal jemand ein "Binding of Isaac"-Spiel machen. :)
    Dateien

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DragonGamer ()