Back-end для социальной игры

Цена договорная • наличный расчёт, электронные деньги
08 февраля 2015, 01:55 • 5 откликов • 49 просмотров
Игра — аналог бильярда.

На старте у каждого есть по 5 единиц энергии. Победитель партии получает 3 кубка и не теряет энергию. Проигравший теряет энергию и получает 1 кубок. 1 единица энергии восстанавливается в течение 20 минут.

Никакой игровой логики на сервере не будет. Для PvP используется Photon. Нужна серверная часть для хранения данных и платежей для социальных сетей.

Игра будет запущена в социальных сетях: vk.com, odnoklassniki.ru, facebook.com.


Что на сервере

user:

  1. first_name, last_name

  2. ссылку на фото

  3. страна (если доступна)

  4. возраст (если клиент пришлет)

  5. рейтинг

  6. уровень

  7. xp

  8. победы

  9. Партии;

  10. золото

  11. товары (форма и команды)

  12. энергия

  13. время до получения следующей (запоминаем врем стало меньше, обнуляем при достижении максимума)

  14. кубки

  15. список играющих друзей

  16. из какой сети

  17. забитые голы

  18. пропущенные голы


leaderboards (по победам):

  1. День: 25 лучших за последние сутки

  2. Неделя: 25 лучших за последние 7 дней

  3. Все время: 25 лучших за все время


config

  1. цены на золото

  2. цена на докупку энергии

  3. цены на комбинации

  4. цены на форму

  5. стоимость бонусов

  6. до скольки голов партия

  7. опыт за действия (победы, поражения)

  8. опыт по уровням


PvP
Игрок входит на арену. Как только найден противник и начата партия, блокируется по 1 энергии у каждого игрока. Счетчик партий +1.
Во время партии могут быть использованы бонусы, покупаться товары, докупаться золото. Все это должно проверяться на сервере и записываться (логируем покупки и использование бонусов, чтобы потом выводить в статистике).
Партия заканчивается как только один из игроков забьет 2 гола (может больше). Оба клиента шлют на сервер id победителя (+ идентификатор соц. сети, чтобы не было конфликтов на случай, если id в разных сетях совпадают). Сервер выдает награды (3 кубка победа, 1 кубок за поражение) и добавляет опыт. С проигравшего снимается энергия.
Также партия заканчивается, если один из игроков покинул партию раньше времени, либо произошел обрыв связи. Тому, кто вышел, ни опыт ни кубок не начисляется. Оставшийся назначается победителем.

Покупки за реал
В магазине за реал можно будет купить 5 товаров (золото). Цены и количество для каждой сети будут указаны в конфиге.


Нотификации
Для vk и facebook возможно понадобится прикрутить серверные нотификации (массовые рассылки) об обновлениях и т.п. с возможностью выбрать часть аудитории по каким-то параметрам (время последнего захода, плательщики, возраст).
Для vk дополнительно слать уровень игрока в соц. сеть. Метод setUserLevel

Прочее
Для fb и ok в игре будет предусмотрена возможность просить у друзей жизни (энергию). Нужно будет контролировать, чтобы в этом месте не было читеров.


Технологии
На усмотрение исполнителя.

Данный документ не является техническим заданием :) 
Детализируем в зависимости от выбранной технологии совместно с исполнителем.