Привет! Добро пожаловать в мой небольшой уютный дневник инди-разработчика.
Тут я буду писать и рассказывать про работу над своими проектами и делиться опытом - какими инструментами пользуюсь, как организую процесс разработки и многое другое.
Пару слов о себе и почему появился этот канал.
До инди я больше десяти лет работал в игровой разработке, но на технических ролях: автоматизация, производительность, QA, организация процессов. Делать свои игры долгое время было лишь хобби по вечерам в виде прототипов или геймджемов. Постепенно шел к тому, чтобы пройти собственный путь от задумки до релиза. И вот я здесь.
Сейчас готовлю к релизу в Steam свой первый проект на Godot.
Тут я буду писать и рассказывать про работу над своими проектами и делиться опытом - какими инструментами пользуюсь, как организую процесс разработки и многое другое.
Пару слов о себе и почему появился этот канал.
До инди я больше десяти лет работал в игровой разработке, но на технических ролях: автоматизация, производительность, QA, организация процессов. Делать свои игры долгое время было лишь хобби по вечерам в виде прототипов или геймджемов. Постепенно шел к тому, чтобы пройти собственный путь от задумки до релиза. И вот я здесь.
Сейчас готовлю к релизу в Steam свой первый проект на Godot.
❤7🔥1🍾1
Voidtick devblog | дневник инди-разработчика pinned «Привет! Добро пожаловать в мой небольшой уютный дневник инди-разработчика. Тут я буду писать и рассказывать про работу над своими проектами и делиться опытом - какими инструментами пользуюсь, как организую процесс разработки и многое другое. Пару слов о…»
А вот и Steam-страничка текущего проекта Dicement - минималистичной sokoban-головоломки про толкание кубиков.
https://store.steampowered.com/app/4289710/Dicement
Какое-то время проект лежал просто как прототип, но решил по итогу довести до полноценного релиза, чтобы освоиться с Steam: подготовить материалы, интегрировать api и прочее.
Это не попытка сделать хит, а осознанный небольшой релиз, чтобы проверить некоторые гипотезы, пройти весь пайплайн публикации и выпустить игру, за которую самому не стыдно.
Жанр пазла был выбран из тех соображений, что можно довольно точечно реализовывать механики и делать конечное количество небольших, но интересных уровней. Да и просто кор-механика показалась рабочей и довольно простой в реализации.
Релиз запланирован на середину марта 2026, сейчас активно допиливается контент и доделывается финальный полишинг.
#dicement #steam
https://store.steampowered.com/app/4289710/Dicement
Какое-то время проект лежал просто как прототип, но решил по итогу довести до полноценного релиза, чтобы освоиться с Steam: подготовить материалы, интегрировать api и прочее.
Это не попытка сделать хит, а осознанный небольшой релиз, чтобы проверить некоторые гипотезы, пройти весь пайплайн публикации и выпустить игру, за которую самому не стыдно.
Жанр пазла был выбран из тех соображений, что можно довольно точечно реализовывать механики и делать конечное количество небольших, но интересных уровней. Да и просто кор-механика показалась рабочей и довольно простой в реализации.
Релиз запланирован на середину марта 2026, сейчас активно допиливается контент и доделывается финальный полишинг.
#dicement #steam
❤11
Какие инструменты я использую?
Было бы круто, если бы можно было просто скачать движок, и он все бы делал за тебя. Но, даже для создания и выпуска небольшой игры (которой и является Dicement), приходится задействовать еще кучу всего - от редакторов для рисования и создания музыки до управления процессом разработки.
Вот мой минимальный список инструментов, которые я использую практически на ежедневной основе.
🛠 Godot [бесплатно]
Собственно, сам движок. Почему выбрал его, а не, например, Unity - тема для отдельного поста.
🛠 VS Code [бесплатно]
Как давнему фанату продуктов Jetbrains, было непривычно переползать на эту IDE. Но из-за ньансов работы тоже Jetbrains Raider, пришлось освоиться. На удивление оказалось, что VSCode очень неплохо работает с GDScript (собственный язык Godot) через плагин godot-tools. Немного пошаманив с плагинами и настройками, добился очень комфортной работы.
🎨 Aseprite [20 $ единоразово]
Лучший по моему мнению редактор для рисования и анимации пиксельарта. Очень удобный, пользуюсь уже много лет. Вся графика для Dicement сделана в нем (минималистичная, но все же).
🎨 Procreate [13 $ единоразово, только Ipad]
Классная прога для рисования, очень приятна в использовании. Использую для накидывания концептов и скетчей или первоначальных артов для последующей полировки на ПК.
🎨 Affinity Studio [бесплатно]
Недавнее открытие для меня - по сути, all-in-one замена Photoshop / Illistrator. В одной программе собраны и векторный и растровый редактора, активно использую для подготовки ассетов для того же Стима.
Как человеку, который всегда был с рисованием не то что на "вы", а на "ваше высочество", этот редактор сэкономил кучу времени и денег.
🎹 FL Studio [99 $ или 179$ единоразово]
Или называемый в народе "фрутик" - отличный редактор для создания и редактирования звуков и музыки. Куча встроенных инструментов, приятный интерфейс. Так как музыку пишу сам - классный инструмент за свои деньги.
🎬 Davinci Resolve [бесплатно]
Видеоредактор, использую для монтирования трейлеров. Никогда не занимался монтажом до этого, но Давинчи оказался очень дружелюбным и удобным.
📝 Goodnotes [сейчас много вариантов по цене, брал давно за 35$]
Личный топ-1 в качестве цифрового блокнота. Использую постоянно для быстрой записи идей, набросков и всего остального, что хочу быстро переложить из головы на бумагу.
📚 Notion [бесплатный план]
База знаний - в нем веду различную документацию: брейштормы, gd-доки, планирование и т.д. Долго у меня с ним не складывалось из-за очень большого опыта с Confluence, но в итоге мы смогли подружиться.
🗓 Hackplan [бесплатный план]
Компактный сервис для управления проектами, созданным специально для разработчиков игр. Для соло-разработчиков или небольших команд - отличный выбор вместо Jira, которая будет слишком перегруженной.
Использую для заведения задач и раскидывания их по доскам после декомпозиции.
#разработка
Было бы круто, если бы можно было просто скачать движок, и он все бы делал за тебя. Но, даже для создания и выпуска небольшой игры (которой и является Dicement), приходится задействовать еще кучу всего - от редакторов для рисования и создания музыки до управления процессом разработки.
Вот мой минимальный список инструментов, которые я использую практически на ежедневной основе.
🛠 Godot [бесплатно]
Собственно, сам движок. Почему выбрал его, а не, например, Unity - тема для отдельного поста.
🛠 VS Code [бесплатно]
Как давнему фанату продуктов Jetbrains, было непривычно переползать на эту IDE. Но из-за ньансов работы тоже Jetbrains Raider, пришлось освоиться. На удивление оказалось, что VSCode очень неплохо работает с GDScript (собственный язык Godot) через плагин godot-tools. Немного пошаманив с плагинами и настройками, добился очень комфортной работы.
🎨 Aseprite [20 $ единоразово]
Лучший по моему мнению редактор для рисования и анимации пиксельарта. Очень удобный, пользуюсь уже много лет. Вся графика для Dicement сделана в нем (минималистичная, но все же).
🎨 Procreate [13 $ единоразово, только Ipad]
Классная прога для рисования, очень приятна в использовании. Использую для накидывания концептов и скетчей или первоначальных артов для последующей полировки на ПК.
🎨 Affinity Studio [бесплатно]
Недавнее открытие для меня - по сути, all-in-one замена Photoshop / Illistrator. В одной программе собраны и векторный и растровый редактора, активно использую для подготовки ассетов для того же Стима.
Как человеку, который всегда был с рисованием не то что на "вы", а на "ваше высочество", этот редактор сэкономил кучу времени и денег.
🎹 FL Studio [99 $ или 179$ единоразово]
Или называемый в народе "фрутик" - отличный редактор для создания и редактирования звуков и музыки. Куча встроенных инструментов, приятный интерфейс. Так как музыку пишу сам - классный инструмент за свои деньги.
🎬 Davinci Resolve [бесплатно]
Видеоредактор, использую для монтирования трейлеров. Никогда не занимался монтажом до этого, но Давинчи оказался очень дружелюбным и удобным.
📝 Goodnotes [сейчас много вариантов по цене, брал давно за 35$]
Личный топ-1 в качестве цифрового блокнота. Использую постоянно для быстрой записи идей, набросков и всего остального, что хочу быстро переложить из головы на бумагу.
📚 Notion [бесплатный план]
База знаний - в нем веду различную документацию: брейштормы, gd-доки, планирование и т.д. Долго у меня с ним не складывалось из-за очень большого опыта с Confluence, но в итоге мы смогли подружиться.
🗓 Hackplan [бесплатный план]
Компактный сервис для управления проектами, созданным специально для разработчиков игр. Для соло-разработчиков или небольших команд - отличный выбор вместо Jira, которая будет слишком перегруженной.
Использую для заведения задач и раскидывания их по доскам после декомпозиции.
#разработка
❤5🔥3✍1
Сделал поддержку Dicement на Steam Deck.
Так как управление с геймпада уже заложено и реализовано, то особо ничего дополнительно делать не пришлось. Запускается обычный windows-билд через Proton на деке.
Единственный момент - не забывать форсить запуск игры в borderless режиме окна и протестировать на разрешение 1280x800 (нативное для Стимдека).
Так как управление с геймпада уже заложено и реализовано, то особо ничего дополнительно делать не пришлось. Запускается обычный windows-билд через Proton на деке.
Единственный момент - не забывать форсить запуск игры в borderless режиме окна и протестировать на разрешение 1280x800 (нативное для Стимдека).
🔥10❤3
Как меняется игра со временем.
Интересно было оглянуться и посмотреть, как постепенно изменялся графический стиль Dicement. Даже у небольшой игры он может пройти через несколько итераций.
В начале разработки мне игра почему-то виделась в стимпанк-сеттинге. Но, после перебора нескольких вариантов, так и не удалось добиться нужной мне читаемости всех элементов.
Так как рисование вообще не мой конек, решил сделать пару шагов назад и, выбросив все наработки, за очень короткое время сделал максимальный минимализм (каков каламбур), который сразу же решил все проблемы с читаемостью и позволил двигаться дальше.
Интересно было оглянуться и посмотреть, как постепенно изменялся графический стиль Dicement. Даже у небольшой игры он может пройти через несколько итераций.
В начале разработки мне игра почему-то виделась в стимпанк-сеттинге. Но, после перебора нескольких вариантов, так и не удалось добиться нужной мне читаемости всех элементов.
Так как рисование вообще не мой конек, решил сделать пару шагов назад и, выбросив все наработки, за очень короткое время сделал максимальный минимализм (каков каламбур), который сразу же решил все проблемы с читаемостью и позволил двигаться дальше.
🔥12❤5
Как подружить Godot и VSCode.
Хорошо настроенная среда разработки - залог сохранения нервных клеток. Вот мой рецепт приготовления тандема Godot + VSCode.
🟢 Плагины для VSCode
• godot-tools - основной плагин для интеграции Godot с VSCode. Поддержка синтаксиса, автодополнение, переход к документации и многое другое. Must have.
• godot-vscode-theme - тема для редактора VSCode, повторяющая тему встроенного редактора Godot. Очень приятная цветовая схема.
• vscode-icons - классные иконки файлов в дереве explorer’а. Сразу повышает скорость навигации в проекте.
• IntelliJ IDEA Keybindings - если переходите с IDE от Jenbrains (как я), то этот плагин возвращает привычные шорткаты, забитые уже в мышечную память. После этого плагина мы с VSCode наконец подружились)
• Edit CSV и/или Rainbow CSV - плагины для удобной работы с .csv-файлами, например файлами локализации.
🟢 Настройка отображения файлов в VSCode
Чтобы убрать из explorer’а файлы сцен, ресурсов и прочие не относящиеся непосредственно к коду:
• Зайти в настройки File → Preferences → Settings
• Вбить в поиске files.exclude
• Добавить в exclude паттерны: **/*.tscn, **/*.uid, **/*.tres, **/*.import
🟢 Указание VSCode как внешнего редактора для Godot
В разделе настроек Editor Settings → Text Editor → External:
• ☑️ Use External Editor
• Exec Flags → {project} --goto {file}:{line}:{col}
• Exec Path → пусть к экзешнику VSCode.
🟢 Автоматическое подхватывание изменений в Godot
В Editor Settings → Text Editor → Behavior → Files:
• ☑️ Auto Reload Scripts on External Change
В Editor Settings → Interface → Editor:
• ☑️ Save on Focus Loss
• ☑️ Import Resources When Unfocused
Хорошо настроенная среда разработки - залог сохранения нервных клеток. Вот мой рецепт приготовления тандема Godot + VSCode.
🟢 Плагины для VSCode
• godot-tools - основной плагин для интеграции Godot с VSCode. Поддержка синтаксиса, автодополнение, переход к документации и многое другое. Must have.
• godot-vscode-theme - тема для редактора VSCode, повторяющая тему встроенного редактора Godot. Очень приятная цветовая схема.
• vscode-icons - классные иконки файлов в дереве explorer’а. Сразу повышает скорость навигации в проекте.
• IntelliJ IDEA Keybindings - если переходите с IDE от Jenbrains (как я), то этот плагин возвращает привычные шорткаты, забитые уже в мышечную память. После этого плагина мы с VSCode наконец подружились)
• Edit CSV и/или Rainbow CSV - плагины для удобной работы с .csv-файлами, например файлами локализации.
🟢 Настройка отображения файлов в VSCode
Чтобы убрать из explorer’а файлы сцен, ресурсов и прочие не относящиеся непосредственно к коду:
• Зайти в настройки File → Preferences → Settings
• Вбить в поиске files.exclude
• Добавить в exclude паттерны: **/*.tscn, **/*.uid, **/*.tres, **/*.import
🟢 Указание VSCode как внешнего редактора для Godot
В разделе настроек Editor Settings → Text Editor → External:
• ☑️ Use External Editor
• Exec Flags → {project} --goto {file}:{line}:{col}
• Exec Path → пусть к экзешнику VSCode.
🟢 Автоматическое подхватывание изменений в Godot
В Editor Settings → Text Editor → Behavior → Files:
• ☑️ Auto Reload Scripts on External Change
В Editor Settings → Interface → Editor:
• ☑️ Save on Focus Loss
• ☑️ Import Resources When Unfocused
👍5🔥3❤2✍1
itch.io
Dicement by voidtick
Minimalistic puzzle game about moving and placing dices. Play in your browser
Обновил страницу и демку на itch.
С момента ноябрьской демки в игру заехало много изменений и решил перед выпуском на Steam привести в порядок страничку и web-билд на итче - https://voidtick.itch.io/dicement.
Помимо большого количества полишинга и багфиксов, самое главное в обновлении - это 4 новых уровня с новыми механиками.
С момента ноябрьской демки в игру заехало много изменений и решил перед выпуском на Steam привести в порядок страничку и web-билд на итче - https://voidtick.itch.io/dicement.
Помимо большого количества полишинга и багфиксов, самое главное в обновлении - это 4 новых уровня с новыми механиками.
❤8👍2✍1
Как я выстраиваю прогрессию уровней для пазла.
Одна из самых сложных задач - выстроить правильный ритм и кривую обучения. Даже когда в игре всего 10-15 механик, уже становится тяжело удержать это все в голове и сделать путь игрока плавным, а не просто набором несвязанных между собой уровней.
Чтобы самому не запутаться и визуализировать игровую прогрессию, я решил описывать все уровни несколькими простыми параметрами ⬇️
🎯
Если не получается сформулировать простыми словами этот пункт, уровень не нужен или требует пересмотра. Тут же описывается, какие механики используются на уровне.
🥊
• Тривиальная (очевидное решение, используется для демонстрации новой механики)
• Простая
• Средняя
• Сложная
🧩
• Научить
• Закрепить
• Озадачить
💡
• Ввод новой механики
• Точный повтор шагов
• Математический
• Внезапный поворот (неочевидное использование механики)
• Забавная геометрия уровня
• Ограниченное пространство
• Усложненный повтор
Положив все это в табличку, стало намного легче замечать слабые места в прогрессии и проще миксовать типы и сложность уровней.
Одна из самых сложных задач - выстроить правильный ритм и кривую обучения. Даже когда в игре всего 10-15 механик, уже становится тяжело удержать это все в голове и сделать путь игрока плавным, а не просто набором несвязанных между собой уровней.
Чтобы самому не запутаться и визуализировать игровую прогрессию, я решил описывать все уровни несколькими простыми параметрами ⬇️
🎯
Цель - зачем этот уровень вообще в игре. Если не получается сформулировать простыми словами этот пункт, уровень не нужен или требует пересмотра. Тут же описывается, какие механики используются на уровне.
🥊
Сложность - сколько примерно времени и усилий должен потратить игрок на уровень.• Тривиальная (очевидное решение, используется для демонстрации новой механики)
• Простая
• Средняя
• Сложная
🧩
Назначение - что уровень дает игроку с точки зрения прогресса?• Научить
• Закрепить
• Озадачить
💡
Тип - на чем фокусируется идея уровня• Ввод новой механики
• Точный повтор шагов
• Математический
• Внезапный поворот (неочевидное использование механики)
• Забавная геометрия уровня
• Ограниченное пространство
• Усложненный повтор
Положив все это в табличку, стало намного легче замечать слабые места в прогрессии и проще миксовать типы и сложность уровней.
🔥8
Маленькая заметка о подготовке web-билда на Godot для Itch.
❗️Управление
Если планируется работа игры в полноэкранном режиме, то необходимо переназначить клавишу ESC для веб-билда на какую-нибудь другую. В противном случае, игра будет всегда сворачиваться в окно при, например, вызове меню. Жертвуем UX, но а че поделать, можно сделать отдельную подсказку в интерфейсе.
❗️Сборка
Стоит собирать веб-билд в single-thread режиме. Для этого нужно не ставить галочку
❗️Использование фиче-тегов
В Godot есть система строковых feature-тегов, по которым можно определять, в каком окружении работает игра.
С помощью них можно делать отдельные ветки в коде, чтобы сделать поддержку той или иной платформы: переназначить управление, показать/скрыть элементы UI и так далее.
Для это используется условие вида:
❗️Управление
Если планируется работа игры в полноэкранном режиме, то необходимо переназначить клавишу ESC для веб-билда на какую-нибудь другую. В противном случае, игра будет всегда сворачиваться в окно при, например, вызове меню. Жертвуем UX, но а че поделать, можно сделать отдельную подсказку в интерфейсе.
❗️Сборка
Стоит собирать веб-билд в single-thread режиме. Для этого нужно не ставить галочку
Thread support при экспорте. Иначе придется в самом itch для проекта врубать SharedArrayBuffer support, что, внезапно, ломает проигрывание любых видео на странице игры и не получится прикрепить трейлер с Youtube. Можно конечно обойтись только гифками, но полноценное видео как-то попривлекательнее.❗️Использование фиче-тегов
В Godot есть система строковых feature-тегов, по которым можно определять, в каком окружении работает игра.
С помощью них можно делать отдельные ветки в коде, чтобы сделать поддержку той или иной платформы: переназначить управление, показать/скрыть элементы UI и так далее.
Для это используется условие вида:
if OS.has_feature("web"):
# Переназначаем ESC на клавишу X🔥4✍2
Наконец-то закончил все уровни (50 штук) для Dicement и отправил билд на финальное ревью в Steam.
Хоть игра и была в практически финальном состоянии (все заявленные в описании фичи и контент) , Стим все же позволяет после окончания ревью вносить небольшие изменения.
В оставшееся время нужно будет еще дописать несколько недостающих музыкальных треков и поправить найденные баги и баланс. Но все же приятно видеть, как игра постепенно шаг за шагом приближается к своему релизу.
Хоть игра и была в практически финальном состоянии (все заявленные в описании фичи и контент) , Стим все же позволяет после окончания ревью вносить небольшие изменения.
В оставшееся время нужно будет еще дописать несколько недостающих музыкальных треков и поправить найденные баги и баланс. Но все же приятно видеть, как игра постепенно шаг за шагом приближается к своему релизу.
🔥8🎉6❤3👍2💋1
