Эта небольшая заметка, чтобы описать и сохранить для себя, как я вообще делал эту “экспериментальную” игрушку
Предыстория
Начну с того, зачем я начал очередную игру. Ведь у меня, как я думаю и у всех большинства, миллионы прототипов, которые “ну можно довести до конца”.
Я думаю, этот год запомнился нам вообще многими вещами, но для меня запоминающейся была самоизоляция из-за-сами-знаете-чего. Очевидно, от скуки хотелось что-то делать. Но совсем не игру.
Так как это было время пробовать что-то новое или что давно хотел, у меня это была разработка игр в живую на стримах. Очень серьезный и сложный формат! Хотелось непременно попробовать.
Итак, идея посидела в голове около месяца и я получилось выше.
Я люблю паззлы. Простые, бесконечные, в которые можно спокойно поводить пальцем, порешать какие-то задачи с видом, что ты решаешь что-то сложное. Хорошо, после некоторых раздумий - захотелось сделать клон Favo!. Это простая игра, где нужно составлять гексы. Сделать клон казалось идеальной идеей, т.к. не нужно было тратить время на геймдизайн и все прочее. Все уже протестировано!
Как же я ошибался, ведь все мы люди, верно? ;)
Арт
Так как цель всего этого у меня была - создание игры иах youtube, я начал свою игру с графики. Решительно решил рисовать все сам. Чтож… Более менее у меня получался пиксель арт, так что я решил попробовать себя в векторе. Веселый опыт более чем полезный, как оказался.
Я думаю около месяца ушло чтобы нарисовать что-то, что я соглашусь использовать в игре. Вы только посмотрите какой прогресс! На самом деле не так плохо, как могло быть.
Первый день и неделя после в векторе
Let programmer’s art great again
Twitter source
Вектор для меня оказался самым подходящим способом рисования на этот момент. Очень сложно рисовать чистые формы и цвета (для меня). А вектор эти проблемы решает, супер. Еще и одной кнопкой можно экспортировать всю графику, божественно!
В итоге, потратив несколько десятков часов на все это, думаю пора приступать к самой разработке!
Cоздание и проработка арта тоже разработка. Пусть художники не обижаются. Просто я как разработчик для себя основным этапом считаю само набирание кода
Гейм-дизайн
Острова
С геймдизайном вообще вышло все как обычно, без сюрпризов. Так как главным источником был Favo!, то и вопросов не должно быть? Как же не так.
Пришел синдром творца и давай “может это добавим?”, “А ЭТО ТОЧНО НУЖНО СДЕЛАТЬ ТАК”
Вкратце: решил добавить острова. Это такие места, где ты собираешь ресурсы, чтобы открыть
остров дальше за ресурсы, чтобы добывать другие ресурсы. И так по цепочке.
Первый макет игры. Смотрите сколько элементов!
Один из первых макетов меню
Не буду все расписывать, но идея показалась интересной, проработал немного, но в итоге (через еще полмесяца размышлений) отказался.
Остров тамагочи
Острова - очень много контента и баланса, нужно что-то проще. Решил, что будет одна бесконечная игра с уровнями, на которых игрок прокачивает себя и получает различные награды. В наградах есть гексы, которые игрок может выставлять на своем острове.
Собственно, у игрока есть остров, который он постепенно, с прогрессом игры, строит с нуля. Боже! Идея вообще бомба же! Добавил лутбоксы, кучу вариантов какие предметы выдавать. Чувство прогресса каждый раз, когда игрок выставляет новый гекс на своем острове. Сказка, одним словом.
Да, достижения конечно же тоже были!
Ну собственно, такая версия и пошла в разработку, когда я начал делать лайв стримы по игре.
Текущая версия
И как любой проект, который имеет шансы дойти до релиза — не произошло без вырезки функционала. Собственно, от той версии которую я начинал делать вначале, уже через 5 стримов (месяц разработки по раз в неделю всего!) был урезан следующий функционал:
- Нет больше острова игрока
- Нет больше лутбоксов
- Нет больше наград для игрока
- Нет больше внутриигровой почты
- Нет больше ежедневных заданий
- Нет больше спец. предложений
- Нет больше магазина
Даже такое было!
Довольно серьезно, правда? Но зато релиз оказался видимым и вместимым в то время, которое я трачу на стримы в youtube.
Ладно, я должен написать, что добавилось взамен:
- Окно испытаний на каждый день
- Окно трофеев полученных за испытания
- Появилась механика корзины для сброса фигур
- Появилась механика слоев на гексах для усложнения
Собственно, это все. Игра стала очень похожа на BlockuDoku (там точно такие-же испытания и такая-же монетизация по итогу)
Куда же без залипательных гифок?!
Разработка
Инструменты
Помимо того, что я хотел попробовать разрабатывать игры на лайв стримах на youtube. Я очень хотел попробовать свои инструменты в своей игре, дошедшей до релиза. Если собрать все свои инструменты, их довольно много. Я поделюсь ими с вами, мои дорогие :)
Это мой личный фреймворк, написанный для Defold. Вместо запланированных пару модулей, которые нужны были мне, я получил уже 52 модуля! Боже, это огромное число.
По итогу, это сейчас является огромной базой для любого моего проекта (4 проекта сейчас живет на defold-eva, насколько я знаю)
У Евы нет инструкции (пока что), но вы можете посмотреть некоторые модули как пример реализации, как делаю я
Универсальный сборщик для Defold.
Для меня, наверное, это самый главный инструмент для экономии времени. Собираю им все проекты и не могу нарадоваться. Использую его даже в CI, чтобы запускать тесты на Defold.
Я позиционирую Druid как самый мощный на текущий момент UI framework для Defold. Я думаю вы уже слышали или использовали его. Но лично я его использую во всех своих проекта. В связке с Monarch закрывает все вопросы по GUI и окнам вообще!
Это мой способ управлять всеми данными игры с помощью Google Sheets.
С помощью этого экспортера вы можете заводить все данные в любом формате в Google Sheets и одной кнопкой подтягивать их всех в свою игру.
Быстро, удобно, эффективно. Не обязательно использовать с Defold, но в lua он тоже может экспортировать (возможно, с ограничениями. Я использую JSON формат)
Defold-template
Просто хотел поделиться своим шаблоном для Defold проектов. Тут основное - это структура папок, наверное.
Стримы на youtube
У меня тоже есть зум вечеринки!
Я думаю, спустя два месяца после зарождения идеи, пора начинать делать то, ради чего это все и затевалось.
Проводить стримы было решено раз в неделю в четверг вечером. По итогу - я получил 10 стримов по 3-4 часа каждый. И да, я очень благодарен каждому, кто был на нем! Больше спасибо ребята за поддержку и ваши сообщения, они помогали мне продолжать. :)
Интересно, как менялись планы в процессе того, как я проводил стримы. Изначально даже были планы делать “разговорные” стримы, приглашать своих коллег с работы, болтать-отвечать на вопросы и все такое. Это даже не моя идея, а моих коллег, т.е. в целом это могло случиться.
Но стримы стали отъедать так много времени и сил, что пришлось сократить все лишние усилия, которые планировались вне основной деятельности.
То, что игра сильно урезалась и стала более органичной и целой (на мой взгляд), тоже произошло на стримах. Между стримами игра почти не разрабатывалась.
По итогу вы можете посмотреть мой ~40 часовой прогресс по ссылкам на игру в конце каждого стрима.
Ссылка на плейлист: https://www.youtube.com/playlist?list=PL3xiD1uD8ZxkwjpUMS9GLvQk0w6LTtwy8
А вот и ссылки на все версии приложения в конце каждого стрима:
- https://d.insality.com/hex-puzzle-0/
- https://d.insality.com/hex-puzzle-1/
- https://d.insality.com/hex-puzzle-2/
- https://d.insality.com/hex-puzzle-3/
- https://d.insality.com/hex-puzzle-4/
- https://d.insality.com/hex-puzzle-5/
- https://d.insality.com/hex-puzzle-6/
- https://d.insality.com/hex-puzzle-7/
- https://d.insality.com/hex-puzzle-7.5/ (возможно тут баг-фиксы)
- https://d.insality.com/hex-puzzle-8/
- https://d.insality.com/hex-puzzle-9/
Разработка после стримов
В связи с некоторыми событиями и общей моей усталостью, разработка на некоторое время прекратилась и проект, как остальные, могли уйти в статус “заморожено”. Но, все же нашелся интерес и силы довести его до более менее какого-то осмысленного конца.
В основном, время уходило на такой полировку игры, которую сразу и не приметишь. Но на самом деле много поменялось.
Основной проблемой было то, что играть скучно. Игра с самого начала была у меня на телефоне, но в свободное время даже не хотелось ее запускать - она была ужасно скучной и не интересной!
Интерес, на мой взгляд, добавил такой баланс игры, чтобы тебе каждый ход приходилось продумывать следующие несколько ходов (раньше ты просто выставляешь фигуры и убираешь их постепенно, не сильно опасаясь того, что доступные ходы закончатся).
Еще одна залипательная :)
Появились механики слоев на гексах, игра стала сложнее. Но так же игра стала знать, какие фигуры выдает! (Да, она может подкручивать фигуры, чтобы игроку было сложнее-проще). В итоге большая часть времени ушло на эту полировку. Хоть она и не идеальная, мне она сейчас стала нравится намного больше, чем на момент конца разработки игры на стримах.
Остальная часть времени ушла на полировку удобства, создания маркетинговых материалов, иконок и конечно, уровней для испытаний. Вообще для запуска я думаю достаточно будет 30-60 уровней и пусть они повторяются. Это нормально ;)
Раз игра начала много знать о поле, она начала и сама в себя играть
И вот настал момент, когда я решил поделиться прогрессом разработки с Вами. Надеюсь это было интересно :)
Пишите свои комментарии, мне очень интересно!
Выпуск
А этого вот еще не случилось. Посмотрим позже как пойдет ;)
Что дальше
Ну, с этим проектом все понятно - немного доделать и оставить как есть. Есть много идей и интересных экспериментов, которые я хочу поделать.
Надеюсь, я буду о них писать Вам, если об этом интересно читать. Вообще я очень люблю ритм-игры и я так-же пишу музыку. Думаю, скоро появится что-то на этом стыке. Если будет что-то интересное - обязательно напишу!
Послесловие
Подписывайтесь на мой Twitter. Хоть иногда, но новости по своим играм я пишу там!
Хорошего всем времени суток, спасибо!