Полный цикл разработки простой игры

Цена договорная • безналичный расчёт, электронные деньги
17 марта 2014, 15:15 • 4 отклика • 65 просмотров
Задача разработать полностью простую серверную игру.
Чтобы не тратить время сразу опишу сокращенную версию ТЗ.

Поднимаем сайт с единственным полем "пароль". Если пароль новый, то попадаем в новый аккаунт, если пароль уже использовали, то в старый аккаунт. После ввода пароля игрок попадает в очередь.

Экран 1. Просто серый экран и надпись "ждем подключения другого игрока. Не закрывайте окно пожалуйста."

Когда к серверу подключится другой игрок, то звучит звонок в браузере. надпись меняется на "нашелся соперник, подтвердите готовность к игре" ниже числовой таймер в секундах с обратным отсчетом 15...14...13... и так до 0. И одна кнопка. "готов играть".

Если пользователь так и не нажмет "готов играть" то появляется надпись "вы пропустили найденного соперника" и кнопка "я вернулся, найдите мне нового соперника" (при ее нажатии игрок снова попадает на "экран 1".

Если пользователь нажмет "готов играть", то появляется надпись "ожидание готовности соперника". Если соперник так и не нажмет, то меняем надпись на "соперник не подтвердил готовность к игре, ждем подключение нового игрока" что равносильно "экрану 1"

Если оба наконец подтвердили свое присутствие за компом, то открывается сама игра. Отображаться она должна на html5. Примерный вид вложил файлом в задание.

Сама игра это всем известная игра змейка, но в дуэльном варианте.

Игра проходит на клетчетом поле 50х25(предположим) в верхнем левом углу стартует 1 игрок в нижнем правом 2 игрок. (координаты 5х5 и 45х20 соответственно)

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

Змейка перескакивает строго по клеткам. анимация не нужна нигде. Треугольник головы(изображен в приложении) поворачивается в момент нажатия стрелки, а не в момент первого движения по новому направлению.

На поле генерируется в начале несколько "яблок" от 10 до 20 скажем. (на приложении изображены белыми крестиками.
они раскладываются симметрично относительно стартовых позиций игроков.

Коллизии. Змейка на яблоко - змейка растет на одну клетку.
змейка сама на себя - поражение
змейка на стену - поражение
змейка на змейку соперника - победа

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

экран поражения и экран победы пришлю потом как выглядит.

После экрана победы или поражения переходим к "экрану 1"

Пишем сумму сроки, вопросы.

P.S некоторые спрашивают почему-то. Графика будет такой как в приложении сейчас. Это практически финальная версия.
Файлы