Я в свои NN-лет решаю вопросы с кризисом среднего возраста просто: получаю второе высшее в театральном. Поскольку учусь я очно с толпой милых зумерш, то волей неволей заразился их вайбом.
В одно время между парами по актерскому и сценречью у нас образовался перерыв в несколько часов, и зумерши притащили небезызвесную игру «Шпион». Реализована она была на минималках даже для web-а из 90-х: нужно было внести список играющих, а потом передавать смартфон по кругу для получения персональной инфы. Интерфейс текстовый.
Кто не знает правила, напомню: все, кроме одного игрока (шпиона) узнают некое слово, место, историческое событие. В процессе общения нужно задавать друг-другу вопросы, чтобы вычислить того, кто не имеет представление, о чем речь, поймать шпиона. А шпион должен вести себя так, чтобы его не заподозрили, и по этим всем разговорам постараться угадать, о чем все знают и говорят. В общем, выигрывает либо шпион, правильно угадавший общий секрет, либо добропорядочные граждане.
Вопросы могут быть самыми разными: Это на улице или в помещении? Это для детей или взрослых? Можно ли на этом ездить? Это едят? И т. д.
«Шпион», при всей кажущейся его простоте забавлял нас много дней. Но мне, как айтишнику со стажем большим, чем те, с кем я учусь, было дико видеть, как для игры, явно претендующей на сетевую, нужно передавать чей-то смартфон из рук в руки. Так получилось, что я в это время активно работал над своим LOTIS, о котором писал здесь уже. И вот в какой-то из вечеров я сделал сетевого шпиона, чем несказанно удивил коллег, будущих актеров. Заодно и протестировал LOTIS в режиме чата.
Собственно, этой реализацией я и хотел поделиться и кратко рассказать о несложных решениях, которые позволили сделать шпиона сетевым.
Потыкать кнопочки можно вот по этой ссылке
Для любителей английских версий: ссылка
Чем моя реализация отличается от других
Прежде всего тем, что это сетевая игра с каким-то несложным, но приятным интерфейсом. Но не только этим.
Упрощенный вход
Мои друзья вряд ли стали бы заморачиваться с придумыванием логина и пароля, поэтому, я решил, что для подключения к игровой сессии будет достаточно ввести ее уникальный номер.
Ведущий
У игры должен быть ведущий. Он создает новую игру, получает ее номер и сообщает его остальным игрокам. Его смартфон выполняет функцию операционного сервера игры.
Чат
А что если игроки не в одном помещении? Неплохо было бы добавить общение голосом. Может быть, я или кто-то сделает это, но я пока добавил обычный чат, в котором можно задавать вопросы, писать ответы и видеть общую инфу.
Мерлин
Я заметил, что не всегда просто бывает придумать вопрос, и добавил виртуального помощника, Мерлина, который периодически кидает в чат вопрос и заодно комментирует игровой процесс.
Оформление
Не пинайте сильно, оно достаточно топорное. Но определенно лучше, чем та игра на минималках. Для убийства времени в компании вполне сойдет. И вообще, теперь это не «шпион», а «шпионка». А тем, кто знает, откуда эта милая девушка на заставке – отдельный респект!
Код игры открыт. Его можно скачать и развернуть у себя с гитхаба:
https://github.com/O-Planet/alias-spyfall-php
И, да, все это сделано за вечер с помощью LOTIS
saag
Зумерши, вас ТС дедукой не называют?:-)
O-Planet Автор
У нас очень гармоничные отношения)