Длительная многопользовательская игра RTS - PullRequest
5 голосов
/ 15 июня 2009

Я работаю над клоном космической стратегии в реальном времени, у которого в свое время не было многопользовательской опции. Я хочу добавить мультиплеер к нему.

Сам геймплей относительно длинный: около 10-15 часов геймплея необходимо для прохождения игры. Это очень долго, и я не хочу заставлять игроков играть в нее непрерывно или терять игровое состояние из-за сбоя / отключения питания.

Как подобные игры решают эту проблему? Сохранить многопользовательскую игру как однопользовательскую?

В однопользовательском режиме игрок может приостанавливать и ускорять время симуляции (в режиме паузы игрок по-прежнему может отдавать приказы, строить планеты и т. Д.).

Как эту функцию можно перевести в многопользовательский режим?

Предположим, есть более 2 игроков (дополнительный ИИ или человек-человек), и один игрок атакует другого, что переключает игру в космическое / наземное сражение. Эти битвы также могут быть приостановлены, чтобы отдать приказы.

Что должно случиться с другими не вовлеченными игроками? Должны ли они ждать? Должны ли они быть вынуждены действовать только в своем собственном королевстве?

Обновление: Просто некоторые подробности об игре.

Я клонирую эту игру. Клон выпущен как открытый исходный код, поэтому, скорее всего, кто-то создаст читерскую версию. Это проблема, но не так важна сейчас. Я думаю, что я решаю это, перемещая игровое состояние и контроль между игроками: сначала он запускается на машине первого игрока, затем перемещается ко второму и т. Д.

Я бы хотел больше подчеркнуть третий вопрос, приведенный выше:

Что должны делать другие игроки, когда двое участвуют в битве?

Сражения ведутся на разных экранах как экраны управления королевством. В режиме одиночной игры сражения автоматически останавливают игровой мир, и ни игрок, ни ИИ не могут управлять своим королевством во время битвы.

Ответы [ 7 ]

5 голосов
/ 15 июня 2009

История показывает, что любая функция, которая позволяет игрокам взаимодействовать на мета-уровне, будет подвергнута злоупотреблению сверх возможного блага, которое она может служить

Возможно, игроки могут заранее договориться о «плане игры», например, «4x 4 часа в дни подряд» или «3x 5 часов в среду».

Проблема, по-видимому, в значительной степени идентична рейдам WoW: соберите вместе игроков X, чтобы сделать что-то в режиме реального времени, что больше, чем обычное игровое время в один день, с несколькими сессиями в течение одной недели. Это, конечно, включает в себя роль лидера, горячие места, сохранение на месте и т. Д. Это достаточно сложно сделать, и все эти люди работают вместе!

Если кто-то видит, что у него плохое начало в первые 3 часа, как вы можете ожидать, что он снова будет страдать еще 12 часов? Ну, лодырь проиграл? Это означает сговор, вы выиграли один для меня, я выиграл один для вас. (2 игрока выигрывают по одному за 6 часов - намного лучше, чем до конца)

Все это было тщательно опробовано. Если есть способ сломать игру обманом, люди это сделают. Особенно, когда это PvP.

Успешные многопользовательские игры либо имеют достаточно короткие задания (менее одного вечера), либо явно прерываются (достигнутые этапы), либо не выполняются в реальном времени. К сожалению, я не вижу пути обхода этой болезни.

Короче говоря: я не думаю, что 15-часовая PvP RTS имеет смысл. Для одного игрока это означает быть лучше, чем компьютерный оппонент с фиксированным качеством. Вы пытаетесь, вы учитесь, вы победили это в конце концов. PvP, это означает, что если вы будете на 1% менее эффективны в первые 5 минут, против столь же опытного оппонента вы обязательно проиграете в конце.

Значение Игр измеряется в удовольствии в час.

2 голосов
/ 15 июня 2009

Работа паузы в игровом процессе. Дайте каждому игроку паузу в начале игры, а затем заставьте его покупать паузы в игровой валюте.

Ограничьте количество последовательных пауз, пауза одного игрока предотвратит паузу другого игрока на 10 минут, если только другой игрок не заплатит за это по штрафной цене.

Также ограничьте продолжительность каждой паузы и разрешите другим игрокам платить деньги за отмену паузы.

1 голос
/ 16 сентября 2009

Civ VI основан на пошаговом режиме, хотя в многопользовательском режиме он проигрывается в режиме реального времени (вы получаете определенное количество минут / секунд за ход). Таким образом, перед ним стоит та же задача - 4+ игрока играют в игру, которая длится вечно. Это решает проблему, позволяя игрокам сохранить игру, а затем вернуться к ней позже. Когда вы идете, чтобы создать сервер, у вас есть возможность начать новую игру или начать с одного из ваших сохранений. Если вы начинаете с сохранения, то каждый игрок выбирает ту цивилизацию, которая у него была до этого, и вещи начинают с того места, где они остановились

1 голос
/ 15 июня 2009

Я никогда не видел, чтобы игра решала эту проблему. Вы можете разрешить игрокам голосовать, чтобы отложить игру и возобновить ее позднее (т. Е. Функцию сохранения), что может сделать длительные сеансы игры переносимыми, но я не думаю, что пауза будет работать в многопользовательском режиме.

1 голос
/ 15 июня 2009

Я не думаю, что вы можете сделать это таким образом.

У вас не может быть многопользовательского ртс, который позволяет делать паузы и разрешать выдачу ордеров. Игроки будут делать паузу, отдавать приказы, ждать, чтобы увидеть, что делают другие игроки, мгновенно снова делать паузу, как только он захочет что-то изменить и выдать новые приказы.

Это не RTS, а CST (Chaotic Turnbased Stategy) игра.

0 голосов
/ 15 июня 2009

Вы можете подумать о том, чтобы дать игрокам, которые не играют на клавиатуре, возможность реагировать на определенные ситуации. Поскольку это предустановленные реакции, они не будут так же хороши, как реальный игрок в режиме ожидания, но также позволяют продолжить игру без игроков.

Я сейчас работаю над игрой, которая позволяет программировать реакции ваших персонажей, так что если вы вовлекаете в игру другого игрока, а вас нет в наличии, ваши персонажи по-прежнему реагируют.

Я использую простые макросы, чтобы помочь игрокам определить реакцию своих персонажей. Я делаю некоторые очень общие и другие очень сложные ... например

If [player1]
Is [attacked]
And Health [<30%]
Action [DefensiveStance]

Таким образом - хотя не все игроки доступны, игра может продолжать работать. И наоборот, в зависимости от того, сколько усилий игрок приложил к своим сценариям «AFK», тем лучше будет работать его команда.

Конечно, он все еще в процессе - позже мы увидим, насколько хорошо это получается:)

0 голосов
/ 15 июня 2009

Возможно, вы захотите рассмотреть систему, основанную на фазах. Каждый этап можно рассматривать как одну паузу. Игроки могут давать инструкции на каждом этапе, а затем выполнять инструкции. Инструкции, выпущенные на первом этапе, будут выполняться только на втором этапе блоками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...