Prototyping eines Puzzlespiels zur Lösbarkeit von Levels

11

Ich bin in der Prototyping-Phase, um ein Puzzlespiel für iOS zu erstellen. Die Grundvoraussetzung für das, was der Spieler tun muss, ist, von Punkt A nach Punkt B zu gelangen, indem er durch ein labyrinthartiges Setup navigiert, Blöcke aus dem Weg räumt und Feinden aus dem Weg geht. Dies ist meine erste Herangehensweise an ein Spiel wie dieses, daher frage ich mich, wie andere dafür gesorgt haben, dass die von ihnen erstellten Levels lösbar sind.

Nehmen Sie zum Beispiel das klassische Unblock-Spiel, bei dem Sie den roten Block vom Spielbrett entfernen müssen, indem Sie die anderen nicht roten Blockstücke aus dem Weg räumen. Es wird schwierig, weil sie alle auf engstem Raum sind und nicht viel Bewegung haben.

Hat der Schöpfer gewusst, dass die Anordnung der Puzzleteile so platziert ist, dass das Puzzle gelöst werden kann? Beginnen sie mit Papierprototypen und arbeiten von einem lösbaren Endzustand rückwärts, um die anfänglichen Spielbrettlayouts zu erstellen?

I00I
quelle

Antworten:

10

Sie scheinen ein Spiel im Sokoban- Stil zu machen. Sie haben mindestens 3 Möglichkeiten:

  • Arbeiten von einem gelösten Endzustand. Mein Bauchgefühl sagt, dass dies nicht die optimale Lösung ist, weil a) es normalerweise viele Endzustände gibt und b) das Rätsel nicht nur lösbar, sondern auch interessant sein muss. Sie sollten also wahrscheinlich lieber eine oder beide der beiden anderen Optionen verfolgen:

  • Automatische Prüfung. Wenn Sie keine großen Levels erreichen, kann ein Spieler nur wenige Aktionen ausführen, von denen die meisten schnell zu einem unlösbaren Spielzustand führen. Das macht dies perfekt für einen Bot, um alle möglichen Bewegungen auszuschöpfen. Wenn es mindestens einen Pfad gibt, der zu einer Lösung führt, wird der Bot ihn finden.

  • Meine bevorzugte Methode wäre das manuelle Testen. Sie haben also eine allgemeine Idee für ein Level und legen das Brett aus, platzieren Hindernisse und bewegliche Blöcke usw. Dann versuchen Sie, es zu lösen, als wären Sie ein Spieler, und Sie müssen sich bewusst beobachten. Ist er natürlich zuallererst lösbar? Ein automatisierter Test kann Ihnen dabei sehr helfen, was Ihnen viel Zeit spart. Zweitens macht es Spaß, das Level zu spielen. Ist es interessant genug, dass der Spieler ein anderes lösen möchte? Abgesehen von der bloßen Lösbarkeit ist dies die Hauptfrage, wenn Sie Ihr Spiel gut machen möchten. Als nächstes müssen Sie beurteilen, ob das Level leicht oder schwierig ist, und Sie möchten sie wahrscheinlich in dieser Reihenfolge präsentieren: leicht bis schwer.

TL; DR: Implementieren Sie einen Bot, der schnell überprüfen kann, ob ein bestimmtes Level überhaupt lösbar ist oder nicht, vorzugsweise in Ihrem Level-Editor. Dann entwerfe Levels, deren Lösung Spaß machen könnte. Testen Sie dann manuell den tatsächlichen Spaßfaktor und die Schwierigkeit.

Hackworth
quelle
Hackworth, vielen Dank. Es ist sehr hilfreich. Wie würde man mehr Informationen zum Erstellen eines Level-Editors und eines Test-Bots finden? Sicherlich muss es einige allgemeine Grundsätze geben, die mir den Einstieg erleichtern. Wie um alles in der Welt haben Sie herausgefunden, dass das Genre des Spiels Sokoban heißt? Ich hätte nie gewusst, wofür ich googeln soll. Das ist großartig. Danke noch einmal. Ich kann Ihnen sagen, dass es Ihnen wichtig ist, "lustige, großartige Spiele" zu machen. Es ist eine schöne Abwechslung, Fragen zu Stackoverflow zu stellen.
I00I
3

Dies war auch meine Frage für eine lange Zeit, ich bin nicht sicher, ob es die beste Praxis ist, Rätsel zu erstellen, aber ich habe jetzt eine Antwort. Um die Geschichte kurz zu machen, stellen Sie sich einfach eine gültige Endspielsituation vor, gehen Sie dann Schritt für Schritt zurück und gelangen Sie zu einem Startpunkt.

Um nun mehr Details zu geben: Sie möchten, dass das Puzzle immer lösbar ist. Aus Sicht der Spieler ist es nicht wichtig, ob das Puzzle zwei oder drei Lösungen hat, sondern mindestens eine! Wenn Sie dies berücksichtigen, können Sie Ihr Design starten, indem Sie umgekehrte gültige Bewegungen ausführen. Du hast gesagt, es ist ein Spiel, bei dem du irgendwie alle Blöcke vom Spielbrett entfernen musst. Stellen Sie sich also für den ersten Schritt vor, Sie spielen am Rand der Karte und es gibt keine roten Blöcke auf dem Brett. Ab dieser Situation beginnen Sie mit Rückwärtsbewegungen, bei denen es sich um normale Bewegungen handelt (Umkehrung einer anderen normalen Bewegung), oder ziehen einen Block (der umgekehrt ist wie beim Drücken des Blocks) und ziehen einen Block in das Spielbrett (was offensichtlich umgekehrt ist, um diesen Block herauszuschieben) Szene). Durch diesen Ansatz wissen Sie, dass es immer mindestens eine Methode gibt, um das Rätsel zu lösen.

Wie Hackworth vorgeschlagen hat, können das Erstellen von Rätseln auf diese Weise zunächst sehr einfache oder nicht kreative Rätsel erzeugen. Nachdem Sie jedoch einige Rätsel erstellt haben, werden Sie nach und nach lernen, welche Art von Bewegungen zu einem guten Rätsel führen. Es ist genau so, wie ein Spieler Erfahrung sammeln würde, um schwierigere Rätsel zu lösen, nachdem er einfache gelöst hat.

Ali1S232
quelle
Gajet, vielen Dank, dass Sie Einblicke in Ihre Erfahrungen geben. Es ist schön zu sehen, dass jemand anderes diesen Weg gegangen ist. Wenn ich nicht weiß, wie man einen Level-Editor und einen Bot einrichtet, um zu sehen, ob sie lösbar sind, lehne ich mich an diese Methode gegenüber den beiden anderen eleganteren Lösungen. Möglicherweise muss ich meine Liebe zu Cocoa Touch immer noch aufgeben und den Cocos2d-Editor und die Frameworks für dieses spezielle Projekt verwenden.
I00I
1

Das ist eine wirklich interessante Frage. Die beste Antwort ist, dass Sie beim Entwerfen Ihrer Spielmechanik überlegen sollten, wie Sie Ihre Rätsel erstellen möchten. Das Erstellen eines Puzzles, das Spaß macht, unterscheidet sich manchmal vom Erstellen eines Puzzlesystems, in dem Sie die richtige (große) Anzahl lustiger Puzzles erstellen können - dies ist einer der wichtigen Unterschiede zwischen Entwickler und Spieler.

Sie haben jedoch bereits einige Regeln festgelegt. Lassen Sie uns also sehen, wie schnell wir Sie zu einer guten, wiederholbaren Methode zur Erstellung von Puzzles bringen können. Wir müssen mit Zielen beginnen. (Ohne Tore kann man nicht gewinnen!) Hier sind einige mögliche Ziele für Sie:

  1. Die Ebenen sollten ästhetisch schön sein.
  2. Die Lösung für die Ebenen sollte elegant sein.
  3. Jedes Level sollte eine einzigartige Lösung haben.
  4. Jedes Level sollte einen genau definierten Schwierigkeitsgrad haben (damit Sie sie richtig bestellen können).
  5. Jedes Level sollte sich sehr von jedem anderen Level unterscheiden.
  6. Du brauchst 1.000 Level.
  7. Die Erstellung von Ebenen sollte für Benutzer einfach genug sein.

Überlegen Sie sich ein für Sie geeignetes Ziel und arbeiten Sie von dort aus rückwärts. Wenn Sie schöne Ebenen wünschen - dann benötigen Sie ein System, mit dem Sie jede Anordnung mit begrenzten Optimierungen lösbar machen können -, damit ästhetische Überlegungen dominieren können. Wenn Sie X-Levels benötigen, benötigen Sie einen Prozess, den Sie automatisieren können - oder ein großes Team, das für Sie arbeitet. ;) Ihre Ziele sollten Ihre Lösung vorantreiben.

Simon Strange
quelle