Jak upewnić się, że gra może zostać ukończona

10

Nie jestem pewien, jaki jest prawidłowy termin dla tego, czego szukam, więc przepraszam, jeśli jest to duplikat pytania. Ale czy istnieje termin / algorytm zapewniający „ukończenie” gry w stosunku do nieskończonego przewijania. Rozumiem przez to, że gdybym miał grę, w której użytkownik musiałby przeskakiwać bloki, gdy ekran próbuje je dogonić, w jaki sposób miałbym zapewnić, że zawsze będzie dostępny nowy blok, w którym użytkownik może teoria przeskoczyć?

Wiem, że teoretycznie sprawdziłbym, jak wysoko użytkownik może skoczyć i upewnić się, że w tym zasięgu jest blok, ale czy jest coś jeszcze? tzn. unikanie kosztownych kontroli przy umieszczaniu nowych bloków, aby upewnić się, że nie nakładają się na siebie itp.?

W szczególności patrzę na html5 / js, ale zastanawiałem się, czy istnieje termin dla tego lub określonego rodzaju algo, który mógłbym zbadać?

Dzięki

TommyBs
źródło
2
Prawie to opisałeś. Wiedz, jak daleko użytkownik może skoczyć i nie umieszczać bloku dalej. To naprawdę proste obliczenie kinematyki i nie będzie wąskim gardłem dla twojej gry w porównaniu do animacji.
mobo
2
Może chcesz przeczytać gamasutra.com/view/feature/170049/...
Kelly Thomas
3
Martwienie się o drogie kontrole może być nieco przedwczesne przy rozwiązywaniu problemów z odtwarzaniem. Można niemal zawsze optymalizować coś, co staje się problemem prędkość później ale nigdy nie można wysyłać w grę, ponieważ jest to nie do zagrania, bo myślał metoda byłaby zbyt powolny, a więc nigdy nie próbował go =)
Patrick Hughes
1
Dzięki za wszystkie komentarze chłopaki, naprawdę to doceniam. Artykuł o gamasutrze jest bardzo pomocny @KellyThomas
TommyBs

Odpowiedzi:

6

Jednym z interesujących sposobów, jakie widziałem, jest stworzenie bota / AI, który rozumie, jak grać w grę. To nawet nie musi być w tym dobre. Upewnij się tylko, że dla dowolnego punktu skok wydaje się konieczny / możliwy, że AI spekulacyjnie wypróbuje dużą ich liczbę (symulując skok), dopóki nie znajdzie takiego, który może wykonać. Uruchom AI na poziomie kilka razy i sprawdź, czy któryś z nich zakończy się ukończeniem.

Zobacz wideo Inifinite Mario AI i artykuły pomocnicze na temat tej jednej możliwej techniki. Na filmie można zauważyć, że sztuczna inteligencja jest znacznie lepsza niż człowiek. Możesz sztucznie stłumić takie AI, aby zapewnić, że reprezentuje on odpowiedni poziom umiejętności gracza.

Sean Middleditch
źródło