Jak wspomniano w sftrabbit, jest to idealna aplikacja dla maszyny stanów.
Zasadniczo masz strukturę drzewa. Każdy liść / węzeł zawiera informacje o bieżącym stanie oraz zasady przechodzenia do następnego stanu. Każdy węzeł może zawierać wiele wyjść, w zależności od stopnia złożoności potrzebnego przepływu fabuły / gry.
Dobrym, bardzo luźnym analogiem jest książka Wybierz własną przygodę . Każda strona zawiera tekst opisujący część historii oraz decyzje, które może podjąć gracz. Każda decyzja prowadzi do innej strony. Niektóre strony mogą zawierać linki do wcześniej odwiedzonych stron itp.
Stare tekstowe gry przygodowe, takie jak Zork i Leather Goddesses of Phobos , oraz niesławne gry Sierra * Quest ( SpaceQuest z Rogerem Wilco, woźny kosmiczny jest jednym z moich ulubionych ) używały bardzo prostej wersji tego typu systemu. Każdy pokój na mapie był stanem, z wyjściami połączonymi z innymi stanami lub pokojami. Pozyskanie elementu powoduje ustawienie flagi w globalnym obiekcie stanu. Każdy pokój sprawdzi te flagi, aby ustalić, które postacie lub przedmioty były dostępne w każdym pokoju.
Twoje stany mogą być zaimplementowane jako klasa lub struktura, każda z właściwościami dla:
Lista zasobów - lista wskaźników do grafiki w tle i wszystko, czego potrzebujesz, aby wyświetlić pokój / stan / poziom.
Warunki wejścia - osiągnięcia, które musiały zostać osiągnięte, aby wejść na poziom
Wyjścia - linki do każdego możliwego „następnego” wyjścia. Przykładami tego są północ, południe, wschód i zachód, ale możesz także włączyć drzwi1, teleportację itp. Podczas próby wyjścia z pokoju lub ustalenia, czy wyjście / drzwi są „otwarte”, gra może sprawdzić następny stan aby sprawdzić, czy warunki wejścia zostały spełnione, i zmienić sposób wyświetlania wyjścia na ekranie, lub po prostu nie pozwolić graczowi poruszać się w tym kierunku.
Jeśli chcesz się spodobać, możesz dołączyć inną wersję stanu z różnymi warunkami wejścia, co zmieniłoby sposób prezentacji pokoju graczowi lub działania dostępne w tym pokoju.
Twój ekran startowy, śmierć / gra nad ekranem itp. Mogą być stanami w systemie, podobnie do sposobu poruszania się między ekranami menu. W rzeczywistości, jeśli masz taki system menu, możesz go do tego użyć. Zamiast strzałek w górę / w dół i „enter”, aby poruszać się po menu, szukałeś określonych wydarzeń w obszarze gry, takich jak nadepnięcie na teleportację, zejście z prawej strony ekranu itp.
Z administracyjnego punktu widzenia zastanów się, czy możesz skorzystać z narzędzia administratora, które pozwoliłoby Ci utworzyć maszynę stanu. Dodawaj pokoje do mapy, twórz łącza między nimi, przypisuj zasoby, takie jak obrazy tła itp. Prawdopodobnie jest to przesada przy pierwszej próbie; zbyt łatwo jest zaabsorbować się budowaniem narzędzi administracyjnych i nigdy tak naprawdę nie ukończyć gry. Pamiętaj - nie piszesz oprogramowania pośredniego, ale grę.
Mam nadzieję że to pomoże.