Ничего глобально крупного я не добавил на этот раз, но и мелких изменений хватает!
Еще немного доработал темп игры, как многие отметили на плейтестах.
Добавил легкую тряску камеры при получении урона. В пылу битвы игрок может не заметить, как его здоровье стремится к нулю, решил напоминать ему об этом.
Теперь игра не только ставится на паузу при нажатии на ESC, но и снимается с нее. Для этого я немного переработал саму по себе паузу. До этого использовалось одно из встроенных решений, и как оказалось не самое удачное.
Добавлена иконка! Да, решил использовать уже имеющуюся мордочку капибары, как по мне вполне подошло. Только почему-то в версии для Windows лично у меня иконка сопротивляется показать себя, уже что только не пробовал.
Добавлены тени снарядам, воспринимаются они теперь чуть лучше и понятнее.
Ну и немного невидимой внутрянки - рефакторинг кода. Там было совсем мало, минут на 15, но тем не менее работа была проведена. Не хочется повторять историю Team Fortress 2 с их легендарным кокосом.
Еще я сделал билды, все желающие можете написать мне для получения файла. Тут уже и пеньки добавлены и все что в этом девлоге описал тоже есть.
Исправление багов и добавление в игру нового противника.
Много времени прошло после предыдущего девлога. Просто мне тяжело дается рисование, много над ним размышляю, плюс не заставляю себя рисовать, если не хочется. Вот и получается, что вдохновение может не приходить долго, но зато когда придет, все делается быстро и сразу. Хотя даже так у меня были перебои после каждого мини этапа, нарисовал спрайт, и сразу затуп над анимацией, нарисовал анимацию передвижения, и сразу затуп над анимацией смерти и т.д.
По багам. Выявлены они были в ходе плейтестов, пока что только 3 штуки. Всех ликвидировал. Заняло это целых 10 минут 😎. Даже табличку с багами начал заполнять, так как это первые баги выявленные не мной, и я не мог исправить их вот прям сразу.
Билд новый будет уже, наверное, к следующему дневнику разработки. Надо по вашим же просьбам поработать над темпом игры, балансом, а это займет некоторое время. Ну и снова наступает скучный и странный этап отрисовки нового персонажа.
Мой канал, там гораздо больше размышлений, и более подробно расписан каждый шаг разработки:
В главное меню добавлена музыка, а на поле битвы добавлены монетки!
Признаюсь, я не осилил создание музыки, все таки я больше по коду/движку/геймдизайну. Именно поэтому я обратился к музыканту и заказал у него тему для главного меню. Лично мне все понравилось, поэтому будем работать дальше. Буду постепенно заказывать темы по ходу создания новых уровней, ну и думаю саунд-дизайн в целом тоже переложить уже в руки того, кто это умеет делать.
Рекомендую взять у меня билд и прочувствовать лично на вашем же ПК.
А вот про монетки щас распишу. После убийства противника с него падает монета. Пока что она падает со всех противников со 100% вероятностью, позже это скорее всего будет изменено, но это не точно. Монеты в будущем можно будет выменивать у торговца на разные предметы. Но это все еще будет, а пока что вот так вот.
Да, дело идет медленно, но пока что я просто так чувствую. Последнее время я не так активно занимаюсь игрой, и не заставляю себя делать это через силу, не хочу чтобы желание пропало, и очень не хочу, что бы оно пропало вообще, на все будущие игры.
Если просто банально посчитать, я потратил час на первую версию монетки, час на вторую, которую вы видите, еще полтора часа на кодинг и добавление в игру, и еще час на адаптацию под windows. Итого 4,5 часа на фичу. При чем код пишу масштабируемый, в будущем не будет проблем с новыми фичами. И вот это все сделано по сути за один день почти. Еще два дня я занимался другими делами. Я стараюсь не винить себя за это, но будто в глубине души я понимаю, что этот девлог должен был выйти два дня назад, и щас уже в игре должен был быть новый противник или торговец.
Короче, таков путь, не вините себя, если что-то не сделали, или наоборот сделали. Как заплачено, так и нахуячено, а мне никто не платит, соответственно да.
Ну и билды я обновил, пишите кому надо, скину, есть для windows и macOS.
Поведение противников, переработка слоев и меню паузы.
Когда я начал добавлять противников в игру, возникло сразу несколько проблем. Точнее парочка возникла, а остальные я не замечал. Все они связаны со слоями. Игра 2д, но я пытался создать иллюзию того что игрок может быть перед деревом, а может быть и за ним. Так было с каждым элементом ландшафта. Это работало так: есть условное дерево-родитель от которого наследуются все остальные деревья, у родителя есть скрипт, который проверяет, если игрок выше, то выходим на передний план, то есть прибавляем +1 к слою, в ином случае уходим на задний план, то есть -1 к слою.
Так это работало до определенного момента, как раз пока я не начал добавлять противников. Ведь противники тоже должны иметь возможность заходить за дерево или ходить перед ним. Я учел этот момент. Но потом обнаружил, что за деревом может быть игрок, а перед ним противник. А потом я столкнулся с ситуацией когда множество деревьев в одной точке работают некорректно. Таким образом один несчастный скрипт дерева был на абсурдные 120 строк кода.
В один момент я психанул и начал думать как это исправить (На самом деле я напиздел, я просто психанул и ушел пить кофе, идея пришла сама по себе). В общем вместо всех этих проверок элементы ландшафта просто при запуске сцены получают свою координату Y и делают ее слоем. Всё. Вот так просто получается целая куча слоев. Карты не бесконечные, не большие, поэтому в производительности это не упадет. А вот игрок обновляет свой слой постоянно. 120 строк магическим образом превратились в просто 2 строки.
Чуть позже я столкнулся с новой проблемой касаемо слоев, но решил все еще одной строкой. Что в любом случае лучше, чем первое решение, которое к тому же не работало как надо.
Потом я приступил к поведению противников, что бы они преследовали игрока, атаковали, наносили и получали урон. Спустя где-то пол часа, когда были настроены все сцены, написан код, я запустил игру и получил вот такой забавный "душ" из снарядов для слайма.
Потом уже начал все полировать, убирать лишнюю физику и т.д. Добавил меню паузы, а то как это, игра без паузы не игра. В общем результат ниже.
Да, работы еще вагон и маленькая тележка, но процесс мне пока что только в радость, так что со временем все станет выглядеть лучше.
Дальше планирую набросать баланс-табличку, что бы понимать, что именно я хочу что бы игрок ощутил от процесса, и полировать что уже есть. Например, когда противники умирают, у них еще какое-то время остаются тени, хотя сам спрайт уже начал исчезать, таких мелочей еще много можно найти.
Уже давно в голове копились идеи, которые хотелось бы воплотить в жизнь, и в мае 2025 года появилось желание окунуться в мир разработки игр и пройти этот тернистый путь.
Все началось с чтения документации и погружения в изучение игрового движка Godot 4.3.
Поскольку хотелось начать с простого, чтобы не растерять энтузиазм и не разочароваться раньше времени, за основу для первой игры был взят пример "Ваша первая 2d игра". "Увернись от Крипов!" - где игрок должен продержаться как можно дольше не сталкиваясь с мобами. В результате появилась идея создать проект почти по "образу и подобию", но где нужно поедать что-то и уворачиваться. Так получилась аркада "Ешь сыр!", на разработку которой ушло около двух месяцев с учетом обдумывания дизайна и изучения документации Яндекса (но не очень внимательно).
"Ешь сыр!"
Мышка должна успеть съесть весь сыр избегая опасностей: бомбы, кошачьи лапы, ловушки. В игре ограниченное количество очков и уровней, и можно начинать заново сколько угодно. На высокую популярность и заработок надежд конечно же не было.
Почему Яндекс Игры? Загрузил плагин, вписал вызовы sdk куда нужно, сохранил zip, заполнил черновик и отправил на модерацию. Далее работа с замечаниями...
При сворачивании страницы с игрой, звук/музыка в игре продолжает воспроизводиться - это не соответствует пункту 1.3 требований платформы.
После перехода на другую вкладку, звук/музыка в игре продолжает воспроизводиться - это не соответствует пункту 1.3 требований платформы.
Не работает автоопределение языка. На старте язык должен определяться автоматически.
После долгих мучений куда написать код sdk, чтобы он работал на яндексе, пришла мысль просто создать отдельный глобальный скрипт в автозагрузку и вуаля, все сработало.
Согласно п. 5.1.3 требований платформы, название игры должно быть идентичным в самой игре и во всех материалах черновика с точностью до знаков препинания, в том числе в текстовых полях и на всех промо-материалах. Просим привести все названия к единообразию внутри каждого черновика.
Очень многие игры в каталоге имеют обложки без названий, наверное авторы тем самым упрощают себе жизнь...
Возрастной тег игры не соответствует ее содержанию. Нарушает п. 2.7 Требований платформы. 12+ эпизодические изображения или описание жестокости и (или) насилия (за исключением сексуального насилия) без натуралистического показа процесса лишения жизни.
При столкновении с бомбой появляется взрыв, но все-таки хотелось его оставить.
Прогресс в игре не сохраняется/сохраняется некорректно после обновления страницы, это не соответствует п. 1.9 Требований. Не сохраняется достигнутый уровень.
Но здесь модераторы не поняли мою идею - игра должна быть пройдена за один раз. Замечание сняли когда было заполнено поле «комментарий разработчика».
Игра была опубликована 06/06/2025, а монетизация за период 6.06 – 26.06 составила 92,92 ₽ (порог не достигнут). Реклама была только интерстишел (при открытии игры) и баннерная.
Далее хотелось создать пазл или лучше викторину, но чтобы это было не просто "есть вопрос и есть ответы", а что-то более интересное и уникальное. Спойлер - уникальность это не совсем то, что принесет вам заработок на яндексе, к сожалению.
Проектами за июль стали:
"Найтрейн Викторина"
"Летние курочки: слайд-пазл"
"Ван Пис: слайд-пазл"
Хмм может создать викторину по какой нибудь известной игровой вселенной?
Найтрейн Викторина - была нацелена на знатоков игры Elden Ring Nightreign. Создание игры заняло полтора месяца, но больше всего, наверное, времени ушло на дизайн персонажей в Adobe Illustrator, даже как-то увлек этот процесс.
"Найтрейн Викторина"
Суть игры: выбираешь персонажа и отвечаешь на вопросы которые появляются при столкновении с врагом. Игрок имеет 3 жизни и ограничен 30 минутами. Здесь уже "появилось виденье" как интегрировать рекламу за вознаграждение - возвращать потерянную жизнь.
Замечания:
Согласно п. 4.5.2 требований платформы, недопустима обязательность просмотра RV рекламы для прохождения игры/выполнения основных пользовательских задач при использовании приложения. Без просмотра рекламы нельзя начать заново. Даже если это просто предупреждение о том, что будет показана межстраничная реклама, сейчас это выглядит как RV. О показе фуллскрин рекламы после неигрового действия предупреждать не нужно, это может вводить пользователя в заблуждение.
При показе полноэкранной рекламы (интерстишел/rewarded video) звук в игре не ставится на паузу, это не соответствует п. 4.7 требований. Периодически под рекламой может продолжать звучать музыка. Нестабильно.
Здесь помогло создание сигнала в функции _ready(), в главном скрипте, проверяющего открыта ли реклама (статус "opened").
Согласно п. 8.3.3 Требований платформы медиаматериалы должны быть без скругленных углов или рамок.
Изначально казалось, что само изображение не должно иметь округленных углов, а у меня ведь рамка внутри как элемент дизайна. Но в итоге пришлось убрать все линии.
Игра максимально набрала всего 33 игрока, игроки отвечали на 2-7 вопросов и покидали этот процесс.
Летние курочки: слайд-пазл – хотелось создать что-то летнее и солнечное, уютное, с милыми животными. Игра была сделана за 2 дня. Тут действия связанные с рекламой за вознаграждение это:
открыть дополнительный пазл
перемешать пазл
"Летние курочки: слайд-пазл"
Здесь обошлось без ошибок и модерация одобрила игру буквально в течении 5 часов с момента отправки.
71 игрок - ситуация уже более позитивная по сравнению с прошлой игрой, куда было вложено гораздо больше сил.
Ван Пис: слайд-пазл.
Суть игры - как в курочках, но решаешь пазл и открываешь персонажей из команды Луффи.
Была сделана за 3 дня.
"Ван Пис: слайд-пазл"
Замечания модераторов:
Возрастной тег игры не соответствует ее содержанию. Нарушает п. 2.7 Требований платформы. Графическая нагота, 12+
Прогресс в игре не сохраняется/сохраняется некорректно после обновления страницы, это не соответствует п. 1.9 Требований.
Для решения этой проблемы в глобальном скрипте были созданы словарь для сохранения решенных и открытых пазлов, и персонажей, а так же функции сохранения (с вызовом YandexSDK.save_stats(dic)) и загрузки (с вызовом YandexSDK.load_stats(dic.keys())).
Итого за июль160,50 ₽ и порог не достигнут....
Табличка со всеми результатами:
В начале августа выпущен последний на данный момент проект "Барби: клик пазл", на который обратило внимание пока что 103 игрока. Да, опять пазл.... Но другого типа, с перетаскиванием кусочков.
"Барби: клик пазл"
Эта игра как "объект" личной ностальгии по хорошим мультфильмам с Барби. Бывало ли у вас ощущение, когда очень дорожишь старыми мультфильмами, играми и т.д., что хочется позаботиться чтобы о них не забыли и они не канули в лету?
Парочка замечаний которая была к релизу:
Реклама сейчас показывается с задержкой. Это нарушает п. 4.4 Требований платформы.
При выходе на экран пазлов реклама интерстишел иногда показывается, а иногда нет. В коде зацепок не нашлось, есть предположение что это из-за тяжести игры (почти 80 Мб).
Возрастной тег игры не соответствует ее содержанию. Нарушает п. 2.7 Требований платформы. Графическое оголение - 12+
Тут модераторы заставили посмеяться конечно.
В итоге выбрана другая картинка для пазла, и даже лучше этой.
Если кого-то заинтересовали проекты указанные в данной статье:
Приветы всем! Вот и прошли (пролетели - пронеслись) почти два месяца а момента публикации игры в Google Play.
Собственно, как я писал ранее - я (в соло, да) создал игру и выложил её в Гугл Плей. Как и всегда, я не вкладываюсь в маркетинг а провожу его своими силами в телеграме, на разных игровых сайтах, там где сайты плохого качество - втупую реклама, где сайты с живой аудиторией - с креативом.
Немного статистики.
За два месяца игру установило где-то 13к игроков, результат хороший, при условии, что на ютубе игра пошла в саморекламу. Игроки начали записывать прохождения, пошло радио.
До больших блогеров не дошло, да и наверное не дойдёт, мало кто играет в мобильные игры, однако - я писал на почту (ту что на ютубе) разным людям, но никто внимания не обратил, во всяком случае пока.
Зато я очень хотел бы поблагодарить множество маленьких каналов, которые так или иначе подхватили процесс. Часть из них я даже внёс в титры игры.
Особое (и странное) внимание к игре пришло со стороны большого количества индусов и филиппинцев. Игру там буквально закидали какашками за отсутствие нативного языка носителей, однако трафика от них идёт знатно, пачками пилятся прохождения на ютубе.
Российские игроки же жалуются в основном на некоторые баги и сложности с загадками. В частности, молодые игроки не понимают как взаимодействовать с текстовой консолью... вот уж чего не ожидал) Одна из головоломок подразумевает работу в DOS-like интерфейсом.
Денег за эти два месяца игра принесла не так много, порядка 25 тысяч в рублях, всё с РСЯ.
В целом, думаю, старт хороший, стоит развивать!
Такие дела. Всем удачи!
PS: Сама игра вот. Можете оценить и соотнести качество игры с представленной статистикой, может это кого-то за мотивирует. Движок - Godot Модели - Blender 4.4 Рисование - GIMP
Создал сцены врагов: Слайм и Темный Маг. Добавил их анимации. Настраивать скорость воспроизведения, положение и прочее буду уже по ходу дела и необходимости. Но даже так приятно видеть как это все потихоньку переносится в настоящую игру.
Добавил две иконки на "поле битвы", пока что просто как заглушки, было интересно посмотреть как это будет выглядеть. Ну и врагов поставил, что б оценить размеры, проверить коллизии и т.д.
Повозился однако с билдом, потому что в нем не работал фон в главном меню, он просто отказывался загружаться, при этом игнорируя все исключения и вывод ошибок в консоль, делал все тихо и молча. Скорее всего дело в том, что я не там пытался отловить ошибку, но в любом случае все уже исправлено другим способом, и самое главное работает.
Дальше буду работать с поведением противников и потихоньку реализовывать бой.
Вообще забавно, что сначала я плевался на всякие таблички, правильное ведение проекта, учет задач, времени, и при этом горел желанием заниматься визуалом игры. Но на деле все оказалось в точности да наоборот, больше всего мне нравится заниматься геймдизайном, расписывать таблицы микро и макро дизайна, просчитывать баланс и т.д. А вот рисование меня душит просто невероятно, и нарисовать там надо еще много... Как раз из-за последнего я подумываю сократить размеры игры, иначе рискую попасть в неприятную ситуацию.