Сразу оговорюсь - идея не целиком моя, я подсмотрел ее в одной схожей игре, и она мне очень понравилась.
Правда, там меньше нюансов и все гораздо проще, поэтому я постарался адаптировать ее под СК. Если забыл что-то учесть - пишите в комментах.
Как все обстоит сейчас
Скрытый текст
Народ собирается в звено/крыло на турнир/по квесту/на СО/ПвЕ/ПвП и т.д.
В чате обсуждают, какие корабли поставить.
Потом лидер жмет на старт, и остальные должны прожать подтверждение.
В 90% случаев выясняется, что у кого-то корабли не соответствуют критериям вылета, выводится сообщение, виновнику приходится спешно менять корабли/фит, лидер прожимается заново, при этом ситуация может повториться с этим же или другим членом команды, и так может продолжаться довольно долго под нервотрепку и ободряющие ругательства в чате.
При этом все зависят от всех - лидер вынужден каждый раз перестартовать бой, а все игроки вынуждены перепотверждаться. То есть нужно постоянное присутствие и внимание и отклик всех в течение определенного, порой довольно длительного времени.
Потом, с горем пополам, команда все же вылетает в бой, но не раз бывали случаи, когда у не успевали вылететь (например, на БзС или турнир), или у лидера лопалось терпение и он распускал команду.
Скрытый текст
Как будет лучше
Скрытый текст
В первую очередь, вылет командой подразумевает, что все должны попасть в один режим на кораблях, соответствующих определенным критериям. Поэтому задача игроков - соответствовать этим критериям, а остальное - задача лидера. Соответственно, все решения должен принимать лидер, а игроки лишь должны быть соответствовать и быть готовы.
Поэтому предлагаю ввести двухэтапное подтверждение вылета.
1. Лидер выбирает режим, в который вылетит команда. Как обычно жмет нужную кнопку, просто ничего не стартует, а появляется окошко с описанием режима и критериями боя, списком игроков, и их статусами. Соответственно, критерии соответствия для остальных игроков задаются:
а) режимом, выбранным лидером;
б) кораблем/кораблями лидера.
- На этом этапе производится проверка соответствия кораблей лидера выбранному режиму. При соответствии у всей команды появляется индикатор, что режим выбран.
- У лидера также появляется кнопка “Старт”, изначально неактивная. Также он видит состояние готовности всех членов команды.
- У всех игроков команды появляется окошко с описанием критериев боя:
- Режим боя;
- Требования к кораблям (на основании сетапа лидера).
- У каждого игрока появляется кнопка “Готов”. Она становится активной лишь при соответствии кораблей критериям.
- Когда игрок нажимает “Готов” - он передает дальнейшее управление процессом лидеру. Корабли в слотах блокируются, а сам он может выполнять любые действия, кроме смены кораблей, либо пойти покурить/попить чаю/и т.д. Также появляется кнопка “Отмена”. Если игрок подтвердился, но захотел сменить корабли, он отменяет подтверждение, меняет корабль и снова подтверждается.
- Подтверждения игроков независимы. То есть если один игрок выставил не те корабли и не может прожаться - ничего не прерывается, заявка на бой не отзывается, подтверждения остальных игроков не сбрасываются. Просто он не может прожаться. Остальные игроки просто видят, что он еще не готов. Лидер может кикнуть его при необходимости.
- Все это время лидер может набирать дополнительных игроков в команду. При их подключении у них автоматически выходит окошко с критериями, и они смогут подтвердиться, когда будут соответствовать.
2. Когда все подтвердились, у лидера становится активной кнопка “Старт”, и он производит вылет, когда сочтет нужным.
3. Если лидера дисконнектнуло по любой причине - выводится запрос на смену лидера, и лидерство переходит к игроку, подтвердившему его первым. Если предыдущий лидер успел вернуться - лидерство возвращается к нему. Это поможет команде вылететь в бой даже когда лидер “отвалился”. Если есть риск, что прежний лидер не вернется, новый может кикнуть его и взять другого игрока, если позволяет время, или вылететь тем составом, что остался.
4. Как вариант, для окошка лидера можно предусмотреть галку автостарта при готовности всех игроков.
Плюсы:
Скрытый текст
1. Лидеру не нужно каждый раз перестартовать заявку на вылет. Он создал заявку и стартует бой, когда все готовы, и отслеживает процесс готовности игроков.
2. Всей команде не нужно каждый раз перепрожимать подтверждение, следить за всеми остальными. Нажал готовность и занимайся чем хочешь, при старте боя уже будешь в нем.
3. Все члены команды видят требования к бою и не нужно спамить в чат условия вылета и по 10 раз объяснять их вновь прибывшим.
4. Никаких сюрпризов и нежданчиков, когда все прожались за 5-7мин до старта турнира/БзС, но за минуту до вылета какой-то Вася ВНЕЗАПНО осознал, что должен лететь не на ударке, а на заграде, нажал отмену, сменил корабль, лидеру пришлось перестартовать заявку, а Петя, до этого успешно подтвердившийся, ушел курить, подумав, что все ок и время есть, прожаться не успел, и пока его ждали, потом лидер его кикнул, перестартовался, все вновь перепрожаться уже не успели и в итоге вся команда проееела бой, или команда успела, но без кикнутого Пети, который пришел через 10 сек, и вместо экрана с отсчетом до начала боя увидел себя одного в ангаре и очень расстроился, т.к. не ожидал такого поворота событий.
В предложенной механике Петя спокойно курит, Вася жмет “Отмену”, ставит заграда вместо ударки, вновь жмет “Готов”, при этом от остальных никаких действий не требуется.
5. Даже если игрок подтвердился за 5мин до старта, и потом у него вылетел инет/завис комп/и т.д., ему пришлось перезагружаться/перезаходить - он все равно попадает в бой. Его подтверждение уже есть и оно не требуется повторно. Невозможна ситуация, когда из-за него команда попадет в ситуацию, описанную в пункте выше. Лидер решит, кикнуть его или нет, если что-то пошло не так, но остальным не придется ничего делать и вновь что-то жать.
6. При включенном автостарте при общей готовности команда сразу вылетает в бой.
Минусы:
Скрытый текст
1. Разрабам придется немного попотеть ![;)](<fileStore.core_Emoticons>/emoticons/002.png “;)”)
Понятно, что это наброски, черновик идеи, и нужно ее допиливать - но в целом, на мой взгляд, было бы крайне замечательно увидеть ее реализацию в игре.