dziaineka / polyana

Simple turn-based strategy game.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Поляна

Простая пошаговая многопользовательская сетевая игра на 2 или 4 пользователя. Представляет собой квадратное поле произвольного размера, состоящее из ячеек. Игрок может передвигаться из ячейки в ячейку. Ячейка, на которой игрок стоял до этого, становится недоступной. Побеждает тот, кто пройдет более длинный путь.

Техническая сторона игры

Игра состоит из двух серверов: боевого и игрового. Слайды.

Игровой сервер написан на python/django. Он предстравляет собой сайт, на котором можно зарегистрироваться, перейти в личный кабинет, управлять игровыми валютами. Также у игрового сервера есть API, позволяющее, используя HTTP-запросы, зарегистрироваться, авторизоваться и получить токен, получить информацию об игроке.

Подробное описание игрового сервера

Боевой сервер написан на erlang, работает по протоколу TCP. Он позволяет аутентифицировавшимся (по логину и паролю или по токену) пользователям играть в игру на поляне с другими игроками. Перед игрой игрок делает ставку в одной из игровых валют. Сервер подбирает игроку соперников. Бой ведется с меньшей ставкой из поставленных игроками. После игры ставки всех игроков переходят победителю.

Подробное описание боевого сервера

Что-то там еще про бота в телеграме дописать бы...

Как запустить серверы

База данных

Серверы используют СУБД Postgres. Серверы обращаются к ней через порт 15432. База данных называется polyana, пользователь polyana, пароль polyana.

Проще всего запустить базу средствами vagrant с помощью этой конфигурации.

Игровой сервер

Для запуска игрового сервера нужно:

  • установить зависимости
  • создать структуру базы данных (выполнить миграции django)
  • запустить сервер

Подробнее здесь.

Боевой сервер

В описании боевого сервера.

About

Simple turn-based strategy game.

License:MIT License


Languages

Language:Erlang 53.9%Language:Python 40.7%Language:HTML 5.4%