Prototypowanie gry logicznej dla rozwiązywania poziomów

11

Jestem w fazie prototypowania, tworząc grę logiczną na iOS. Podstawową przesłanką tego, co gracz musi zrobić, jest przejście z punktu A do punktu B, przechodząc przez labirynt podobny do konfiguracji, jednocześnie przesuwając bloki z drogi i unikając wrogów. To moje pierwsze podejście do takiej gry, więc zastanawiam się, w jaki sposób inni upewnili się, że tworzone przez nich poziomy są możliwe do rozwiązania.

Na przykład weź klasyczną grę Odblokuj, w której musisz przenieść czerwony blok z planszy, przesuwając inne nieczerwone klocki z drogi. To staje się trudne, ponieważ wszyscy znajdują się w ciasnej przestrzeni i nie mają zbyt wiele ruchu.

Czy twórca wie, że układanie puzzli jest ułożone w sposób umożliwiający rozwiązanie puzzli? Czy zaczynają od papierowych prototypów i pracują od rozwiązanego stanu końcowego do tyłu, tworząc początkowe układy planszy?

I00I
źródło

Odpowiedzi:

10

Wygląda na to, że tworzysz grę w stylu Sokoban . Masz co najmniej 3 opcje:

  • Praca od rozwiązanego stanu końcowego. Moje przeczucie mówi, że nie jest to optymalne rozwiązanie, ponieważ a) zwykle istnieje wiele stanów końcowych ib) łamigłówka musi być nie tylko do rozwiązania, ale także interesująca. Prawdopodobnie powinieneś raczej wykonać jedną lub obie pozostałe 2 opcje:

  • Automatyczne testowanie. Jeśli nie robisz wielkich poziomów, gracz może wykonać niewiele czynności, z których większość szybko doprowadzi do nierozwiązywalnego stanu gry. To czyni go idealnym dla bota do wyczerpania wszystkich możliwych ruchów. Jeśli istnieje co najmniej 1 ścieżka prowadząca do rozwiązania, bot ją znajdzie.

  • Moją preferowaną metodą byłoby testowanie ręczne. Wpadasz więc na ogólny pomysł na poziom i układasz planszę, umieszczasz przeszkody, ruchome klocki itp. Następnie próbujesz rozwiązać problem tak, jakbyś był graczem i musisz świadomie obserwować siebie. Przede wszystkim, czy on jest na poziomie rozwiązywalnym? Zautomatyzowany test może ci w tym bardzo pomóc, dzięki czemu zaoszczędzisz dużo czasu. Po drugie, czy poziom jest zabawny, czy jest wystarczająco interesujący, aby gracz chciał rozwiązać inny? To, oprócz samej rozwiązalności, jest głównym pytaniem, czy chcesz, aby twoja gra była dobra. Następnie musisz ocenić, czy poziom jest łatwy, czy trudny i prawdopodobnie chcesz je przedstawić w następującej kolejności: od łatwej do trudnej.

TL; DR: Zaimplementuj bota, który może szybko sprawdzić, czy dany poziom jest w ogóle do rozwiązania, najlepiej w edytorze poziomów. Następnie opracuj poziomy, które można z przyjemnością rozwiązać. Następnie ręcznie przetestuj pod kątem faktycznego współczynnika zabawy i trudności.

Hackworth
źródło
Hackworth dziękuję bardzo. To bardzo pomocne. Jak można znaleźć więcej informacji na temat tworzenia edytora poziomów i bota testującego? Z pewnością muszą istnieć pewne ogólne zasady, które pomogą mi zacząć. W jaki sposób na świecie odkryłeś, że gatunek tej gry nazywa się Sokoban? Nigdy bym nie wiedział, po co google. To wspaniale. Dzięki jeszcze raz. Mogę Ci powiedzieć, że zależy ci na tworzeniu „fajnych, świetnych gier”. To miła zmiana od zadawania pytań na Stackoverflow.
I00I
3

To też było moje pytanie przez długi czas, nie jestem pewien. Jeśli to najlepsza praktyka, aby tworzyć puzzle, ale mam odpowiedź. Krótko mówiąc, wyobraź sobie prostą sytuację końcową, a następnie krok po kroku cofnij się i przejdź do punktu początkowego.

Teraz, aby podać więcej szczegółów: chcesz, aby łamigłówka była zawsze do rozwiązania, z punktu widzenia graczy nie jest ważne, czy puzzle mają dwa lub trzy rozwiązania, ale mają co najmniej jedno! Mając to na uwadze, możesz rozpocząć projektowanie, wykonując odwrotne ruchy. Powiedziałeś, że jest to gra, w której musisz jakoś przenieść wszystkie bloki z planszy. Na początek wyobraź sobie, że grasz na krawędzi mapy, a na planszy nie ma żadnych czerwonych bloków. Od tej sytuacji zaczynasz wykonywać ruchy do tyłu, które są ruchami normalnymi (odwrotność innego ruchu normalnego), lub ciągnięcie bloku (czyli odwrotność pchania bloku) i wciąganie bloku do planszy (co jest oczywiście odwrotne w przypadku wypychania tego bloku z scena). Dzięki takiemu podejściu wiesz, że zawsze istnieje co najmniej jedna metoda rozwiązania zagadki,

Jak sugerował Hackworth, tworzenie puzzli w ten sposób może generować na początku bardzo proste lub nie kreatywne puzzle, ale po wykonaniu kilku puzzli stopniowo dowiesz się, jaki rodzaj ruchów da dobrą układankę. To dokładnie tak samo, jak gracz zdobywał doświadczenie w rozwiązywaniu trudniejszych zagadek po rozwiązaniu prostych.

Ali1S232
źródło
Dziękuję Gajet za wgląd w swoje doświadczenia. Miło jest widzieć, że ktoś inny poszedł tą drogą. Nie wiem, jak skonfigurować edytor poziomów, a bot, aby sprawdzić, czy można je rozwiązać, sprawia, że ​​opieram się na tej metodzie w porównaniu do dwóch pozostałych, bardziej eleganckich rozwiązań. Nadal być może muszę porzucić moją miłość do Cocoa Touch, załamać się i użyć edytora poziomów i ram Cocos2d dla tego konkretnego projektu.
I00I
1

To naprawdę interesujące pytanie. Najlepszą odpowiedzią jest to, że projektując mechanikę gry, powinieneś pomyśleć o tym, jak chcesz budować puzzle. Tworzenie układanki, która jest zabawna, czasami różni się od tworzenia układu łamigłówek, w którym można stworzyć odpowiednią (dużą) liczbę zabawnych łamigłówek - jest to jedna z ważnych różnic między Deweloperem a Graczem.

Ale masz już pewne zasady, więc zobaczmy, jak szybko możemy doprowadzić cię do dobrej, powtarzalnej metody tworzenia puzzli. Musimy zacząć od celów. (Nie możesz wygrać bez bramek!) Oto kilka możliwych celów:

  1. Poziomy powinny być estetycznie piękne.
  2. Rozwiązanie poziomów powinno być eleganckie.
  3. Każdy poziom powinien mieć unikalne rozwiązanie.
  4. Każdy poziom powinien mieć dobrze zdefiniowany poziom trudności (abyś mógł je odpowiednio zamówić)
  5. Każdy poziom powinien się bardzo różnić od każdego innego poziomu.
  6. Potrzebujesz 1000 poziomów.
  7. Tworzenie poziomów powinno być na tyle proste, aby użytkownicy mogli to zrobić.

Wymyśl cel, który jest dla Ciebie odpowiedni, a następnie stamtąd pracuj wstecz. Jeśli chcesz mieć piękne poziomy - potrzebujesz systemu, w którym możesz rozwiązać dowolną aranżację z ograniczonym dostosowaniem - aby dominowały względy estetyczne. Jeśli potrzebujesz poziomów X, potrzebujesz procesu, który możesz zautomatyzować - lub mieć duży zespół pracujący dla Ciebie. ;) Twoje cele powinny prowadzić twoje rozwiązanie.

Simon Strange
źródło