Запилил классический Tower Defense или подход к снаряду номер 2

Запилил классический Tower Defense или подход к снаряду номер 2

Путь в разработку игр

Свой путь в разработку игр мотиваторы и первые идеи пробовал описывать год назад в материале на хабре (https://habr.com/ru/post/485464/). Моя первая игра – золотое королевство (https://dtf.ru/indie/134198-moya-pervaya-igra-brauzernaya-ekonomicheskaya-strategiya-zolotoe-korolevstvo).

Развитие первого проекта и поиск идей

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

На первых этапах все также пытался искать бесплатные попытки продвижения “Золотого королевства” (дальше буду писать просто королевство). Тут опробовал несколько идей в Алисе с кросс-промо в основную игру, но сами механики оказались скорее провальными в Алисе:

Пикси монета

Шуточная крипта в Алисе, которую можно тратить в королевстве.

навык в Алисе Яндекса
навык в Алисе Яндекса

Шут из Золотого королевства

Попытка вынести часть функционала в отдельный навык. Содержит мини-игры: игра в вопросы, пословицы, камень-ножницы-бумага, наперстки и функционал отправки монет любому игроку в королевстве.

навык в Алисе Яндекса
навык в Алисе Яндекса

Домашний квест

Тут некий конструктор квестов (вопрос-ответ), с помощью которого можно развлечь детишек. Основная идея разложить подсказки по дому/квартире и дать ребенку их поискать отвечая на различные вопросы в Алисе. В королевстве сделал нового персонажа, который выдавал квесты-викторины по игре. Конструктор доступен тут - dom520.ru (есть скринкаст-инструкция).

навык в Алисе Яндекса
навык в Алисе Яндекса

Игра словесный бой

Идея мультиплеера. Алиса в качестве гейм-пада, игроки через алису слаживают слова из букв, кидают всякого рода козни на игровое поле или покупают подсказки. Заработанные монеты можно тратить на покупки и в королевстве. Дополнительно был добавлен декоративный кубок. Игровое поле доступно тут - slovo24.ru (скринкаст, магазин, рейтинг, авторизации нет).

навык в Алисе Яндекса
навык в Алисе Яндекса

Мысли для новых браузерных игр.

Все новые идеи в Алисе оказались в большей степени провальными. И вероятно навыки заслуживают смерти и удаления с каталога, дабы не захломлять его. Но пока это сложные решения для меня.

На данном этапе желания делать крупные проекты уже нет. Сделал несколько новых игр на платформу Яндекс игры с целью заработка на рекламе. Сами идеи опирались на уже существующий у меня контент, который можно было использовать повторно. Игровое поле проектировал на максимальные возможности встраивания рекламы. На ПК это порой выглядело ужасно, но на мобильных устройствах более чем играбельно. Большого негатива от игроков не прилетело, некоторые игры закрепились на Яндекс Играх и приносят постоянный доход от рекламы.

В целом функциональную часть данных игр описывать не буду, просто несколько скриншотов. Остановлюсь только на попытке сделать что-то гиперказуальное.

Викторина: да или нет, скрин 1
Викторина: да или нет, скрин 1
Викторина: да или нет, скрин 2
Викторина: да или нет, скрин 2
Викторина: Угадай флаг, скрин 1
Викторина: Угадай флаг, скрин 1
Викторина: Угадай флаг, скрин 2
Викторина: Угадай флаг, скрин 2
Шахматные задачи, скрин 1
Шахматные задачи, скрин 1
Шахматные задачи, скрин 2
Шахматные задачи, скрин 2

Магнитные блоки (“Гиперказуальное”).

Суть идеи: есть игровое поле с блоками и одним главным блоком, который уничтожает при движении соседние, есть магниты по краям игрового поля. Цель игры собрать предложенную фигуру двигая блок, активируя магнит (вниз, влево, вправо). Понятия не имею насколько идея оригинальная, но ничего похожего найти не удалось. На данной ловушке даже попытался сделать билд для google play и app store и купить рекламы на 200$. Какие-то метрики по возвратам были, но явно выжать с игры ничего не получилось бы и никаких подборок или видимости в поиске светить не могло. Ссылка на гугл плей - https://play.google.com/store/apps/details?id=mlife.mgblock

Магнитные блоки, скрин 1
Магнитные блоки, скрин 1

Tower Defense. Откуда и почему.

А теперь ко второму проекту, который можно назвать игрой. Сама механика отложилась в голове после открытия игры танки на яндекс играх. Суть игры: игровое поле по центру гловарь-босс и вокруг него ездят танки и стреляют. Все что можно делать это апать танки и ставить их на игровое поле. Залип на минут 10. Как не любителю поиграть простота и степень залипательности удивила.

Дальше, как постоянный участник и любитель почитать телеграмм каналы случайно нарвался на игровой магазин envanto (продажа гейм-паков и даже готовых игр). Да, только после 1.5-2 года в геймдеве или как это можно называть в моем случае я узнал о существовании подобных сервисов.

... Удивительно, но за 20$ можно купить графику и даже с готовыми анимациями.

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

Итак, на руках.

что-то что пригодится явно для рисования карт
что-то что пригодится явно для рисования карт
непонятные штуки, потом придумаем
непонятные штуки, потом придумаем
непонятные штуки номер 2, потом придумаем
непонятные штуки номер 2, потом придумаем
Башни, точно будут стрелять
Башни, точно будут стрелять
А теперь уже есть и в кого пострелять
А теперь уже есть и в кого пострелять

Голова, руки и доступные навыки

Стек: pixi.js, js, webpack, php для серверной части если будет, неумение рисовать, без программирования мышкой (не умею игровые движки пока, но и нет удовольствия от процесса), никогда не делал интерактивные игры (только статика, которая видимо не отличима от разработки обычного сайта).

Начало разработки

Сейчас в голове только летающие идеи как использовать купленную графику. Примерные мысли: будет карта в изометрии, на ней стоять башни, мы будем заходить в деревни что-нибудь воровать и монстры будут нам за это мстить, а мы отбиваться, сделаем чтобы менялись локации и варианты расстановки башен. Возможно влияние игры: Зомби против растений.

Итак, собираем портянку html, подключаем pixi.js (говорят на нем можно игры делать и он шустро работает). А дальше недели 2 гугления и попытки состряпать хотя бы карту.

Сложностей возникало много: полное непонимание архитектуры приложения, попытки создать карту в лоб в коде. В итоге переписав базу раз 10 на руках была готовая карта, самопальный редактор в котором ее можно спаять. Скриншоты процесса и примерно затраченное время сейчас уже сложно поднять, сам процесс не пытался сохранять. Но это однозначно самый длительный этап что-то делать без представления итога.

пока статика и способность рисовать на холсте картинки
пока статика и способность рисовать на холсте картинки

Анимации

Сложности возникли даже при реализации анимаций, пришлось искать инструмент более-менее автоматизирующий процесс их создания. В купленном паке по сути были только кадры. Выбор упал на TexturePacker, стоимость ~30$ в год (точно не вспомню).

Дальше первые попытки создать движение врагов и накидать примерную логику со здоровьем.

Запилил классический Tower Defense или подход к снаряду номер 2

Расстановка башен, враги, герой

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

В итоге логически все поля для строительства башен решил делать в верхнем углу экрана, а самих монстров оставил с возможностью движения во все стороны. Принцесса - он же будущий герой при прикосновении монстра к ней/нему - поражение. Почему принцесса? У нее есть прикольная анимация, где она скалится. По центру карты зарезервировал клетки для строительства смотровых башен, которые дают радиус для видимости врагов другим стрелковым башням.

Школьная математика

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

Запилил классический Tower Defense или подход к снаряду номер 2

Сложности пройдены, есть базовые механики

Враги бегают, башни на карте есть, визуально похоже на игру. Всех тонкостей и сколько раз определенную часть функционала после пришлось переделывать уже описывать не стану.

Тезисно как все пошло дальше развиваться:

  • стремление в пользу отказа от сложных систем и логик (которые были переделаны и полностью выпилены)
  • отказ от дорогих по времени плюшек (с надеждой, что вернемся и сделаем как мечтали)
  • упрощение разработки и мечты приблизиться к релизу
Запилил классический Tower Defense или подход к снаряду номер 2

Рутина, мысли, сны о релизе

На данном этапе я уже создал телеграмм канал и постил скрины игры. 9 октября 2020 года. Примерно через месяц взял отпуск и полностью ушел в попытку доработать игру до финала.

Всего задуманного так и не реализовал. Решил релизиться, чтобы не повязнуть, т.к. уже возникали мысли все переделать. Далее просто опишу итоговые финальные механики получившегося урезка.

Общие затраты по времени: 4 месяца (1 из них направлено с фанатизмом).

Посмотреть процесс можно в телеге (хотя визуально сложно видеть изменения)

Осторожно 1 подписчик :)

Башни против монстров: герой и магия

Базовая механика

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

Башни

Запилил классический Tower Defense или подход к снаряду номер 2
  • можно улучшать
  • можно получить как награду или купить 1ур. в магазине
  • улучшение до ур.6
  • улучшение за карточки башни уровня 1
  • любую башню можно разобрать на карты ур.1
  • улучшение башен за монеты, разбор бесплатно
  • у башен есть радиус обзора в котором она стреляет на 100% силы, дальше от расстояния урон меньше
  • сила атаки, время вылета снаряда

Локации

Запилил классический Tower Defense или подход к снаряду номер 2
  • планировалось 100, но сейчас около 25
  • разные названия, монстры, попытка сделать сценарий прохождения
  • бесконечные уровни (новый уровень локации - сильнее монстры)
  • возможность шпионить и узнать планы движения перед атакой

Навыки героя

Запилил классический Tower Defense или подход к снаряду номер 2
  • есть возможность прокачать героя для доп. бонусов
  • 3 навыка по типам магии
  • торговец (возможность сэкономить на покупках)
  • стрелок, смотровой, мастер атаки
  • уровень героя дает больше энергии для магии

Магия

Запилил классический Tower Defense или подход к снаряду номер 2
  • белая магия (баф своих построек)
  • черная магия (действия над постройками врага)
  • боевая магия (стрельба по противнику)

Монстры

Запилил классический Tower Defense или подход к снаряду номер 2
  • здоровье
  • особенности защиты
  • уязвимости
  • примерно 20 видов
  • драконы - боссы

Другое

  • магазин (торговец)
  • достижения (задания)
  • рейтинг игроков
  • сохранения игры в облако
  • оффлайн режим игры даже в браузере (sw.js)
  • бонус для Золотого королевства :))))

Релиз, планы, промо

Первая версия игры уже доступна на Яндекс Играх с 3 декабря 2020 года.

- поиграть

Дальше планы по улучшению метрик, добавление уровней и магии, улучшение анимаций (особенно магии). И попытка релиза в мобильные сторы (примерно на февраль 2020 года).

- промо видео, кустарное

Еще год в разработке игр

Это в целом все что удалось вспомнить текущий год и финализировать год на очередном провале или стать ближе к чему-то играбельному и возможности заслуженно подписать к названию слово игра.

Из приятностей: получилось приумножить доход, но материальный мотиватор надеюсь еще не на первом плане. Не знаю что получится в сл. году (идей пока очень мало).

Но а в этом основной текущий игровой кормилец Яндекс Игры и Алиса Яндекса дала возможность отыскать возможность и апнуть наконец рабочее место. Теперь есть нормальный стул, 2 монитора, пару тестовых устройств на ios, и мак про самый базовый для сборки приложений в апп стор и возможность купить иногда софт, графику, музыку.

Зачем?!

Пока есть огонек и удовольствие от такой деятельности. Статья для поделиться, возможно посмеяться с себя в будущем.

... Комментарии, напутствия от профи или игроков, критика, советы приветствуются.

44
4 комментария

Привет. Уверен, что не в /indie хотел опубликовать? В блоге мало кто увидит. Если так и планировал, то ок, если нет, то:
1. Справа сверху в меню нажать "Распубликовать".
2. Потом "Редактировать".
3. В списке слева выбрать подсайт "Инди".
4. Опубликовать.
Рейтинг и комментарии при этом останутся.

Ответить

а все ок, инструкцию увидел. спасибо.

1
Ответить

да хотел. сейчас наверное придется копировать. часов 5 потратил :)

Ответить

сделаю кофе и по-новой видно копировать буду, а этот удалять

Ответить