Skip to content

Kachankapusta/GemTD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Техническое задание: Gem Tower Defense

1. Режимы игры

1.1. Solo (PVE на очки)

  • 1 игрок.
  • Игра идёт до окончания всех волн или до потери всех жизней.
  • В конце считается количество:
    • пройденных волн;
    • оставшихся жизней;
    • набранного золота / убитых крипов (формула подсчёта очков определяется отдельно).

1.2. Party (кооператив на очки)

  • До 4 игроков в одной игре.
  • У каждого игрока своё поле, волны синхронизированы по времени.
  • Игроки играют командой:
    • общий или командный счёт (суммарные жизни / суммарные очки / среднее значение — определить отдельно);
    • проигрыш возможен либо при смерти всех, либо по индивидуальным жизням (решить при финальном дизайне).
  • Цель — набрать максимальное количество очков командой.

1.3. Versus (PVP до 8 игроков)

  • До 8 игроков.
  • Каждый игрок имеет своё поле.
  • Дополнительно к базовым механикам:
    • возможность отправлять дополнительных юнитов на поля противников;
    • возможность применять эффекты против соперников:
      • замедление крипов на их поле;
      • ускорение крипов на их поле;
      • другие негативные эффекты (определяются отдельным списком).
  • Необходимо определить:
    • за что покупаются эффекты (золото / отдельный ресурс / временные кулдауны);
    • ограничения по частоте и силе использования.

2. Ресурсы игрока

2.1. Золото (Gold)

Назначение:

  • апгрейд уже построенных башен;
  • возможные активные способности башен (как отдельная идея).

Источники золота:

  • убийство крипов (bounty);
  • возможные бонусы за «идеальную волну» (ни один крип не прошёл — опционально).

Важно:

  • Строительство башен не тратит золото, используется только дерево.

2.2. Дерево (Lumber)

Назначение: ресурс исключительно для строительства новых башен в текущем раунде.

Правила:

  1. В начале каждого раунда:
    • игрок получает ровно 5 единиц дерева.
  2. Дерево не переносится между раундами:
    • остаток в конце раунда сгорает.
  3. Стоимость строительства:
    • постройка одной башни (draft-гема) = 1 дерево.
  4. В каждом раунде игрок обязан построить ровно 5 башен:
    • меньше 5 — волна не стартует;
    • больше 5 — невозможно (нет дерева и/или введён жёсткий лимит 5 на раунд).

Условие старта волны:

  • Следующая волна не может начаться, пока игрок не построил все 5 башен за текущий раунд.
  • Если количество построенных за раунд башен < 5:
    • кнопка старта волны заблокирована / триггер не срабатывает.

Идея на будущее: возможно увеличение прироста дерева (например, после определённых волн или через особые эффекты), но базовое правило — «5 башен за волну».


2.3. Жизни (Lives)

  • Игрок имеет фиксированное начальное количество жизней (например, 50).
  • Каждый крип, достигший точки выхода:
    • уменьшает жизни игрока на 1 (или на заданное значение для конкретного типа крипа/волны).
  • При достижении 0 жизней:
    • игрок считается проигравшим (выбывает или его поле замораживается — уточнить в финальном дизайне).

3. Волны и структура раунда

3.1. Волны (Rounds/Waves)

  • Игра поделена на последовательные волны (например, 50 волн, включая боссов).
  • Каждая следующая волна сильнее предыдущей (растут HP, броня, скорость, появляются дополнительные способности крипов).

3.2. Общая структура раунда

Для каждого раунда:

  1. Выдача дерева (5 Lumber).
  2. Постройка 5 башен.
  3. Опциональные апгрейды за золото и комбинирование башен.
  4. Запуск волны крипов.

4. Подробный цикл раунда

4.1. Фаза строительства (дерево → башни)

  1. В начале раунда:
    • игрок получает 5 дерева;
    • счётчик построек текущего раунда = 0.
  2. Игрок может строить башни (draft-гемы) только за дерево:
    • каждая постройка = 1 дерево;
    • башня ставится только на свободную клетку.
  3. При постройке на свободную клетку:
    • создаётся «слот драфта», который сразу генерирует случайный гем (тип + качество).
  4. Игрок обязан построить ровно 5 башен:
    • после каждой постройки счётчик увеличивается на 1;
    • когда счётчик достигает 5:
      • дерево = 0;
      • дальнейшее строительство в этом раунде запрещено.
  5. Волна не может стартовать, если:
    • количество построенных в этом раунде башен < 5.

Пример:

  • Раунд N начинается → игрок получает 5 дерева.
  • Игрок ставит 5 башен по 1 дереву → дерево = 0, счётчик = 5.
  • Теперь можно запускать волну N (ручной запуск или автозапуск после паузы).

4.2. Механика драфта гемов

При постройке башни система случайно выбирает:

  • тип гема (цвет):
    Amethyst, Aquamarine, Diamond, Emerald, Opal, Ruby, Sapphire, Topaz и т.д.;
  • качество:
    Chipped, Flawed, Normal, Flawless, Perfect (точный список и названия можно уточнить отдельно).

Таблица вероятностей:

  • для каждого качества задаётся шанс выпадения;
  • вероятность может зависеть от:
    • номера волны (чем дальше, тем выше шанс более качественных гемов),
    • уровня героя / прокачки игрока (если герой будет реализован).

4.3. Фаза апгрейдов (золото → усиление башен)

После строительства 5 башен в текущем раунде, но до запуска волны:

  • игрок может тратить золото на апгрейды уже существующих башен.

Варианты апгрейдов (концепция):

  • повышение параметров башни:
    • урон;
    • скорость атаки;
    • радиус атаки;
    • сила и длительность эффектов (slow, poison и т.п.);
  • открытие дополнительных способностей (ауры, особый тип урона и т.д.).

Стоимость апгрейда:

  • задаётся формулой или таблицей вида:
    (текущий уровень/качество → следующий уровень/качество → цена в золоте);
  • возможно использование нелинейного роста цены (каждый следующий уровень дороже предыдущего).

Ограничения:

  • башни продавать нельзя (по текущему дизайну);
  • ошибка в выборе апгрейда не откатывается и является элементом сложности.

4.4. Комбинирование башен (Special Gems)

Комбинирование происходит из башен, построенных в рамках одной волны (из текущих 5 башен).

4.4.1. Количественные комбинации (по типу и качеству)

Если в раунде среди 5 построенных башен присутствуют несколько полностью одинаковых гемов (один и тот же тип и качество), доступны следующие комбинации:

  • 2 одинаковых гема → 1 башня следующего качества;
  • 4 одинаковых гема → 1 башня, качество на 2 уровня выше исходного;
  • 5 одинаковых гема → 1 башня, качество на 3 уровня выше исходного.

Точные значения (2/4/5 и +1/+2/+3 к качеству) могут быть скорректированы при балансировке, но базовая логика именно такая.

4.4.2. Шаблонные (уникальные) комбинации

Если за одну волну (из 5 построенных башен) выполнены определённые условия по типам и качеству гемов, можно создать уникальную башню.

Пример концепции:

  • Если за волну построены:
    • Chipped Amethyst,
    • Flawed Aquamarine,
    • Chipped Diamond,
  • и они расположены в нужной форме, то из них собирается особая башня, например, Malachite.

Общие правила:

  • количество участвующих башен может быть 3, 4 или 5;
  • для каждой уникальной комбинации задаётся:
    • список входящих типов/качеств;
    • требования к расположению (рядом, квадрат, линия и т.п.);
    • итоговая уникальная башня и её параметры.

4.4.3. Результат комбинации

При выполнении условий комбинации:

  1. Исходные башни удаляются.
  2. На их местах появляются простые «каменные блоки»:
    • не наносят урон;
    • считаются стенками и формируют маршрут;
    • могут быть убраны в будущей фазе строительства (механика удаления/замены описывается отдельно).
  3. На выбранной позиции (обычно центр комбинации или одна из клеток) создаётся новая комбинационная башня с уникальными параметрами.

4.5. Фаза атаки (запуск волны)

Условия перехода к атаке:

  • построено ровно 5 башен в текущем раунде;
  • игрок завершил все желаемые апгрейды и комбинации.

Запуск волны:

  1. Крипы начинают спауниться на входе.
  2. Крипы движутся к выходу:
    • по кратчайшему пути;
    • через контрольные точки (если используются);
    • обходя башни и камни (стенки) как непроходимые препятствия.

Результаты волны:

  • за каждого убитого крипа игрок получает золото;
  • за каждого прошедшего крипа игрок теряет жизни;
  • дерево на данной фазе не выдаётся — новые 5 единиц дерева будут выданы только в начале следующего раунда.

5. Башни (гемы)

5.1. Типы и качество

Типы (цвета) гемов:

  • Amethyst, Aquamarine, Diamond, Emerald, Opal, Ruby, Sapphire, Topaz и другие (перечень можно расширять).

Качество (примерная линейка):

  • Chipped → Flawed → Normal → Flawless → Perfect.

Чем выше качество:

  • тем выше урон за удар;
  • тем больше радиус атаки;
  • тем выше шанс и/или сила дополнительных эффектов (если они есть).

Особые башни (Special Gems):

  • создаются через механики комбинирования;
  • имеют уникальные свойства:
    • сильный slow;
    • большая область поражения;
    • ауры (бафы/дебафы);
    • повышенный урон по определённым типам крипов и т.д.

5.2. Параметры башни

Для каждой башни (тип + качество/уровень) задаются:

  • BaseDamage — базовый урон;
  • AttackCooldown — время между атаками;
  • Range — радиус атаки;
  • DamageType — тип урона (физический, магический, смешанный — внутренняя система);
  • ProjectileSpeed — скорость снаряда (если используется снаряд);
  • SpecialEffects — набор эффектов (slow, poison, splash, aura и др.);
  • UpgradeCosts — стоимость перехода на следующий уровень/качество в золоте.

Башни не продаются, поэтому SellValue на данном этапе можно не описывать.


6. Лабиринт (мейзинг)

  • Башни и камни (стенки) считаются непроходимыми для наземных крипов.
  • Игрок свободно размещает башни и формирует лабиринт, удлиняющий путь крипов.

Проверки пути:

  • После каждой новой постройки игра проверяет наличие пути от входа к выходу (с учётом всех контрольных точек).
  • Если игрок пытается полностью заблокировать путь:
    • постройка отменяется;
    • игрок получает предупреждение о невозможности блокировки маршрута.

Воздушные крипы:

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

7. Крипы и типы волн

Для каждой волны задаются параметры:

  • MaxHP;
  • Armor и тип брони;
  • MoveSpeed;
  • Bounty — золото за убийство;
  • LeakDamage — количество жизней, снимаемое одним прошедшим крипом.

Типы волн:

  1. Обычные волны.
  2. Воздушные волны.
  3. Summon-волны:
    • основной крип периодически призывает дополнительных юнитов.
  4. Волны с крипами, обладающими особыми абилками, например:
    • увеличенный урон по башням;
    • воровство золота у игрока;
    • повышенная физическая защита;
    • повышенная магическая защита.
  5. Боссы:
    • значительно повышенный запас HP;
    • могут быть частично или полностью иммунны к некоторым эффектам (например, к сильным замедлениям или яду).

8. Боевые механики

8.1. Расчёт урона

  • Урон за удар = BaseDamage × модификаторы:
    • тип урона;
    • тип брони цели;
    • активные ауры;
    • действующие дебаффы и другие эффекты.

8.2. Эффекты

Эффекты (slow, poison, splash, ауры и др.) имеют:

  • длительность;
  • силу эффекта;
  • правила стакинга:
    • эффекты могут складываться;
    • могут только обновлять таймер;
    • может работать только самый сильный эффект (выбирается лучший по силе).

Точные правила стакинга задаются отдельно для каждого типа эффекта.

8.3. Приоритет целей

  • По умолчанию башня атакует крипа, ближайшего к выходу, находящегося в её радиусе.
  • В дальнейшем можно добавить альтернативные режимы приоритета:
    • цель с наименьшим HP;
    • цель с наибольшим HP;
    • ближайшая к башне цель и т.п.

9. Победа и поражение

Поражение игрока:

  • если количество жизней игрока ≤ 0.

Победа:

  • успешное прохождение всех волн (включая финального босса) либо достижение последней доступной волны в соответствующем режиме.

В мультиплеере (идея):

  • дополнительное сравнение результатов:
    • по количеству оставшихся жизней;
    • по набранным очкам;
    • по номеру достигнутой волны.

10. Возможные расширения и открытые вопросы (ToDo)

  1. Герой / прокачка игрока

    • Добавить героя с аурами или активными способностями.
    • Связать уровень героя с шансами выпадения более качественных гемов.
    • Описать дерево талантов/скиллов героя.
  2. Система очков

    • Определить точную формулу подсчёта очков для Solo/Party/Versus.
    • Ввести множители за:
      • идеальные волны;
      • быструю зачистку;
      • минимальное количество утечек.
  3. Экономика PVP-режима

    • Описать стоимость отправки дополнительных крипов противнику.
    • Описать стоимость и механику негативных эффектов (замедление/ускорение волн у противника).
    • Ввести ограничения по времени (кулдауны), чтобы не превращать игру в спам эффектами.
  4. Подробный список Special Gems

    • Составить перечень всех шаблонных комбинаций:
      • рецепты (входящие типы/качества и их расположение);
      • итоговые башни;
      • их параметры и уникальные способности.
    • Сбалансировать силу специальный башен относительно обычных.
  5. Числовой баланс

    • Описать таблицу роста HP/брони/скорости крипов по волнам.
    • Описать базовые параметры башен по качеству и уровню.
    • Протестировать экономику золота: хватает ли дохода на апгрейды при текущей сложности.
  6. Интерфейс и UX

    • Описать, как именно показывать игроку:
      • шансы выпадения качеств гемов;
      • доступные рецепты комбинаций;
      • предупреждения о блокировке пути.
    • Продумать подсказки для новых игроков (tooltip’ы, help-панель).
  7. Логика удаления камней (стенок)

    • Детально определить, как и когда игрок может убирать лишние камни:
      • только в фазу строительства;
      • за золото / бесплатно;
      • влияет ли это на баланс мейзинга.

Файл готов как черновая спецификация. Дальше можно:

  • либо уточнять и заполнять конкретные числа,
  • либо выносить отдельные разделы (Special Gems, герои, PVP-экономика) в отдельные документы.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors