Сегодня я хотел бы поделиться своими идеями по поводу того, как должны создаваться комнаты. Как создаються комнаты сейчас: 1) Создаем комнату, пишем название комнаты 2) Заходим в комнату и настраиваем под себя 3) Ждем пока собируться игроки, ждем пока они выбирут нации, нажмут плюс 4) В бой В общем, все тупо копи-пастнуто с первых Казаков. Минусы этого дизайна, еще со старых Казаков: 1) Список комнат. Список состоит из 4 колонок: Игрок, создавший комнату, количество игроков и (никогда не функционировавщий) ранг. Смотря на все это, мы не получаем достаточно информации, чтобы решить, хотим мы в эту комнату или нет. В названии команты хост может прописать всю информацию (формат, ПТ, настройки, запрещенные нации), может прописать частично, или может написать какой-то бред вроде: "РУССКИЕ СЮДА" или "asdadjiooa". Также хост может написать"1 на 1", но в колонке количества игроков может быть написано "7/8". Возникает когнитивный диссонанс. Заходим в комнату, и нас, также как 5 других игроков, начинают кикать по очереди. В итоге оказывается, что хост вообще ждал своего друга. PS: Список до сих пор не сортируется. Полгода прошло. 2) Формат, настройки и правилы комнаты могут не соответсвовать реальности. С точки зрения игрока. В названии комнаты может быть прописано все что угодно, но это не гарантирует то, что все будет на самом деле так. То есть здесь игрок может расчитывать только на честность и бдительность хоста. Также, если настройки не соответствуют названию комнаты, он может предупредить об этом хоста в чате комнаты. Да и тут нет 100% гарантии. С точки зрения хоста. Он может прописать любые настройки и правила в названии комнаты, но это не дает гарантии того, что хост не ЗАБУДЕТЬ настроить все так, как он написал в названии, и в том, что он ПРОСЛЕДИТ за тем, чтобы все игроки придерживались правил комнаты. Простой пример, в названии написано "30 мин ПТ". Игроки заходят, поверив наслово. Комната набрана, хост нажимает в бой, забыв поменять ПТ в настройках с "10 мин" на "30 мин". Еще пример, сказано "БЕЗ Украины и Дании". Комната набрана. Хост не заметил 1 игрока, который выбрал Данию, и нажал "В бой". Или же, хост все проверил, но прямо за несколько милисекунд до того, как он нажал кнопку "В бой", какой-то Нео меняет нацию на Данию. 3) Комната сперва создается, и только потом настраивается. Я хочу создать комнату 1 на 1. Сейчас, для этого, я должен сперва создать комнату на 8 игроков, и потом вручную закрыть 6 ненужных слотов. При этом, все это время, моя комната отоюбражается в списке комнат. И скажем за 1-2 секунды сразу появилось 5 желающих, и они нажали кнопки войти. Мне придется сперва решить, с кем я буду играть, а остальных попросить покинуть комнату (при условии, что я не скотина), или просто их кикнуть (если я скотина). Может также оказаться, что я жду друга, но не знаю как создавать комнату с паролем. И может мне накласть на то что, я создал открытую комнату, и другие могут подумать, что я жду их, хотя на самом деле я жду не их, а определенного игрока. И если кто-то из них зайдет, и его тупо кикну. Мои предложения: 1) Список комнат. Добавление колонок: Стартовые настройки, ПТ, монголь....монгле....короче шар, стены и артилерия итд. Это сделает список комнат намного информативным. Название комнаты можно : 1) Либо нафиг убрать, так как оно может быть дизинформацией или полным бред, не имеющий никакого отношения к комнате. 2) Либо, чтобы оно генерировалось из остальных колонок. То есть, если формат FFA, ПТ - 30 мин, без арты и стен, то название комнаты должно быть "FFA, PT30, nart". Только по делу, ничего лишнего. Хотите уйню издеть, издите в чате. Также можно было бы вместить какой нибудь угол экрана окно с превью списка игроков, находящихся в комнате. При нажатии на определенную комнату, в превью-окне отображается список игроков с их нациями и цветами. 2) Сперва комната создаются, настраиваются, и только потом опубликовываються в списке комнат. Такой подход решит проблему того, когда комната еще не настроена, но она уже в списке комнат. Не было бы незванных и лишних игроков. Да и у игроков исчезла бы проблема, когда они заходят в комнату, а их кикают по непонятным им причин. В настройках обязательно должна быты функция бана определенных нации. Не хотим чтобы была Украина и Дания? Просто убрали галочки с них и все. Ни один игрок не сможет их выбрать даже если он сильно захочет, потому что их тупо не будет в списке нации. Или если хотим, чтобы у всех был Рандом, просто поставили галочку на Рандом, а с остальных убираем. Это снимит с хоста обязанность все время следить за тем, чтобы у всех были только разрешенные нации. Также это не будет возможности всяким Нео менять нации за 1 секунду до того, как хост нажмет кнопку "В бой". В то же время и хост не должен иметь возможности менять настройки комнаты после ее опубликации. После опубликации комнаты, у хоста не должно быть возможности менять настройки. Для внесении изменении в настройки, у него должен быть только один выход: закрыть текущую комнату и создать новую. Такой подход положил бы конец недобросовестным хостам в мультиплеере. Вроде бы все.
по поводу "Нео" и "Недобросовесных хостов" - достаточно, чтобы после любого изменения настроек у всех сбрасывалась кнопка Старт или Готов и игра не стартовала
"Для внесении изменении в настройки, у него должен быть только один выход: закрыть текущую комнату и создать новую" - Желательно: кроме случая пока ещё никто не подключился.
Как раз в тему написал приложение, в котором можно, выбрав настройки генерировать строку для названия комнаты с сокращением настроек. Если нужно, могу скинуть ссылку