Załóżmy, że chcę stworzyć grę strategiczną z globalnym stanem zmiennym współdzielonym przez wszystkich graczy (pomyśl o planszy). Ale w przeciwieństwie do gry planszowej, nie chcę, aby była to akcja w czasie rzeczywistym i / lub turowa. Zamiast tego gracze powinni być w stanie zalogować się o każdej porze dnia i wydawać określoną liczbę punktów akcji dziennie, jak chcą. W przeciwieństwie do kilku godzin sesje gry potrwają kilka tygodni.
Ma to na celu nagradzanie dobrej strategii, a nie czasu spędzonego na grze (alternatywnie, hardkorowi gracze mogą zawsze grać jednocześnie w wiele gier równolegle), a także wszelkiego rodzaju problemów związanych z graniem na żywo, takich jak rozłączenia i synchronizacja. Gra powinna pozostać uzależniająca, a ponadto powinna mieć niewielki wpływ na inwestycje dla zwykłych graczy.
Jak dotąd tak dobrze, ale wciąż pozostaje otwarte pytanie, kiedy rozwiązać działania i kiedy powinny być widoczne. Chcę uniknąć „gry ninja”, takiej jak wykonywanie wszystkich ruchów na kilka minut przed codziennym resetowaniem punktów, aby zaskoczyć innych graczy lub spamować F5, aby wykonać akcję w odpowiednim czasie, która pokonałaby cały punkt nierealnego- gra na czas.
Pomyślałem o kilku podejściach do tego:
Rozwiązuj wszystkie zdarzenia w ramach jednego zaplanowanego procesu uruchamianego raz dziennie. Zasadniczo oznacza to „ślepą” rozgrywkę, w której gracze mogą podejmować działania, ale nie widzą natychmiast swoich wyników. Chodzi o to, że kilka lat temu grałem w podobną grę na przeglądarkę i nie podobało mi się to, że czujesz się odłączony i bezsilny, dopóki deus ex machina nie powiedział ci, co naprawdę się wydarzyło przez cały ten czas. Widzisz, jak świat ewoluuje w odstępach jednego dnia, co często nie wydaje się, że w ogóle ewoluuje.
W przypadku działań, które mają duży wpływ na grę lub innych graczy (ataki, duże osiągnięcia), spraw, aby były widoczne dla wszystkich od razu, ale opóźnij ich działanie o około 24 godziny. Gracze przeciwni mogą zostać powiadomieni o zdarzeniu, aby mogli na nie zareagować.
Czy masz jakieś inne pomysły, jak mogę rozwiązać ten problem? Czy istnieją znane podejścia w podobnych istniejących grach?