Паралельный пошаговый старкрафт (пока 1 на 1).
Соперники ходят одновременно. Время хода ограничено X секундами. Ход можно закончить раньше, тогда его результат станет известен сразу.
Количество запросов которые игрок может выполнить за ход ограничено, и может быть улучшено через апгрейд базы.
Карта представляет из себя граф, где из каждого узла можно двигаться в 8 направлениях, если они не блокированы.
NW-N-NE
|\ | /|
W--*--E
|/ | \|
SW-S-SE
Каждому узлу соответсует UUID, а его координаты в общем случае неизвестны. Узел может содержать войска, здания, ресурсы, естественные препятствия.
- Получить список известных узлов
GET /nodes
[
{id: 0x339, visible: true},
{id: 0x310, visible: false},
...
]
- Получить инфу об узле
GET /nodes/0x339
{
id: 0x339,
units: [
{type: "scv", hp: [100, 100], id: 0x11},
{type: "scv", hp: [100, 100], id: 0x12},
{type: "scv", hp: [100, 100], id: 0x13},
],
buildings: [
{type: "command-center", hp: [3000,3000], id: 0x21},
],
resources: {
{type: "minerals": hp: [800, 800], id: 0x32},
{type: "gas", hp: [400, 400], id: 0x34}
},
neighbors: {
n: 0x310,
s: 0x312,
...
},
}
Юниты имеют набор характеристик: хп, типа брони, атаки, скорость, спец. способности.
- Получить инфу обо всех юнитах
GET /units
[
{type: "scv", hp: [100, 100], id: 0x11},
{type: "scv", hp: [100, 100], id: 0x12},
{type: "scv", hp: [100, 100], id: 0x13},
{type: "marine", hp: [300, 300], id: 0x14},
]
- Отдать приказ юниту
POST /units/0x11/build/refinery
201 OK
POST /units/0x41/move-attack/0x312
200 OK
Здания имеют хп, могут производить юниты, изучать улучшения и давать прочие бонусы.
POST /buildings/0x21/train/marine?count=2
Улучшить здание
POST /buildings/0x21/upgrade/tier2
Изучить улучшение
POST /buildings/0x21/upgrade/liquid-shit
Бой происходит в каждом раунде на каждом узле, где встретились юниты игроков.
Юниты без дела, при появлении врага автоматически начинают атаку, если им не был отдан приказ hold.
По умолчанию юниты выбирают случайную цель. Микроконтроль позволяет вести сфокусированный огонь, но нужно помнить об ограниченном количестве запросов на ход.
Проигрывает соперник, который потерял все здания.