Walka turowa - synchronizacja graczy

Antoni Kwapisz
05.09.2015

Tak, tytuł tematu nic nie mói o treści posta chociaż jest w 100% zgodny. Nie chodzi mi o problem z pisaniem kodu, problem jest natury czysto teoretyczniej.

W jednym z projektów planuje zrobienie walki turowej. Walka taka trwała by zazwyczaj kilka tur. W każdej z tur gracz musiał by wybrać jeden z ataków który wykona w tej turze. Niby prosta sprawa, kompletny brak komplikacji.
Jednak przy walce z innym graczem pojawia się problem, bo gracz przeciwnik też musi wybrać akcję.
Co się stanie jeśli nie ma go przy kompie i nic nie zrobi?

System ma wybrać za niego?
Jeśli wybierze losowo to pewnie gracz który nie zastosuje żadnej taktyki przegra, więc atakowanie niezalogowanego gracza było by właściwie automatcznym zwycięstwem. Nie ma to sensu, gracze logowali by się o 2 w nocy tylko po to rzeby pozabijać nieaktywnych graczy.
Można zrobić system który wybiera najlepszy mozliwy atak w tym momencie, ale wtedy opłacało by się być nie przy komputerze, nie opłacało by się grać. Nie opłacało by się też atakowaćinnych graczy bo gracz który zostanie zaatakowany wyłączał by grę i czekał aż wygra walkę... bo niezalogowani zazwyczaj wygrywają.

Można zrobić tak że gra/walka czeka aż obydwaj gracze wybiorą jakąś akcję i wtedy wykonuje turę. Jednak mogło by to straszliwie rozciągnąć walkę w czasie co zmieniło by ją w niegrywalny twór.

Można ustalić że gracz ma ograniczony czas na wykonanie akcji czyli wybranie ataku, ale co właśnie wtedy robić jak ktoś śpi... i tak przez najbliższą godzinę nic nie zrobi a wydłużenie tego czasu jeszcze bardziej znowu wydłuży walkę do jakiś makabrycznych okresów czasu.

Można zrobić system przez który gracz planował by swoje ataki. Jednak by wygrać walkę zazwyczaj trzeba stosować dynamiczną taktykę i dostosować się do akcji przeciwnika żeby wyprowadzić dobrą kontrakcję. Więc znowu nieaktywny gracz przegrywa. Można by rozbudować mechanikę planowania ataków o jakieś if elsy ale to stworzy jakiś chory mechanizm w którym normalny gracz nie ma szans się połapać a nie chce żeby walka była zdominowana przez osoby które i if elsach czuły się jak ryba w wodzie.

Można zrobić ze jeśli jeden z graczy jest nieaktywny to obydwaj używają losowych ataków ale to jest kompletnie bezsensowne rozwiązanie. Równie dobrze można losować który gracz wygrywa.

Można zrobić jak w the west że gracze planują swoje ataki a potem walczą według zaplanowanej taktyki lae to rozwiązanie jest do kitu. Chce dynamicznej walki a nie jakiegoś chorego wynalazku.

Można zrobić że tylko aktywni gracze mogą walczyć ale przy małej ilości graczy będzie to poprosyu nudne.

Jak widzicie mam dużo pomysłów.. jeden gorszy od drugiego. Może ktoś z was ma jakiś fajny, oryginalny pomysł który da się zastosować?
Powinien być dynamiczny i szybki (nie zajmować za dużo czasu rzeczywistego), a do tego nie powinien zachaczać o telepatię ani inne techniki do których nie ma gotowych bibliotek...

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie