Необходимо реализовать игрушку "Танчики 2D", суть которого в следующем. Пользователь (игрок) управлет своим танчиком, который может двигаться по четырём направлениям и стрелять снарядами (будем считать, что она способна летать по всей карте). Снаряды, попадая по другому танку, наносят урон, снижая запас здоровья. При неположительном запасе здоровья танк уничтожается и игрок теряет над ним контроль. Игра мультиплеерная. Взаимодействие игроков будет через удаленный сервер. Игрок имеет следующие действия:
- Появиться на карте с координатами (x0, y0)
- Двигаться вверх
- Двигаться вниз
- Двигаться влево
- Двигаться вправо
- Остановиться
- Выстрелить
- Уничтожиться
- Изменить запас здоровья на ∆HP
- Отправить в чат игры сообщение
На каждое действие клиент отправляет сообщение на сервер, который, в свою очередь, транслирует это же сообщение всем остальным подключившимся игрокам. А игроки, получив сообщение от сервера, начинают обновлять картину происходящего. На мой взгляд, это – минимум, что должно быть сделано в проекте.
Можно сделать дополнительные приколюхи, которые сделают нашу игрушку более интересной:
- Туман войны
- Вода как ландшафт (через воду проезжать нельзя, только морская техника)
- Самолеты-бомбардировщики, разведчики, оглушатели (как они будут действовать – придумаем сами)
- Виды орудий на танк (пушки, пулеметы, лазеры, артиллерия, и так далее)
- Морская техника (скажем, она будет обеспечивать нас продовольствием, которая играет ключевую роль в игре)
- Мультиязычность, игровое меню с игровыми командами
- Конвертирование растрового изображения в карту игры
- Генерация игровых карт
- Голосовые сообщения реального времени
- Отлаженная синхронизация клиента и сервера при медленных соединениях