Мои простые игры на JS Canvas

Приветствую!

Цель поста:

  1. поведать об опыте публикации игр;

  2. получить отзывы по играм от пользователей;

  3. получить советы по коду от программистов;

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

Цель для себя была поставлена следующая: сделать что-то простое в реализации, что бы было красиво глазу и что бы сам мог залипать в это.


Пятнашки (релиз 13 июня 2024)

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

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Внешний вид пятнашек

В общем получилось вот это. Нет анимаций передвижения элементов и возможность передвигать несколько элементов за клик побуждают некий спортивный интерес. Интерес на количество шагов и времени потраченных на решение головоломки. Сейчас в топе 63 шага за 47 секунд.

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Дабы уменьшить вес игры, для быстрой загрузки, ибо на том же юнити или годот время загрузки да и сам файл с игрой были бы в разы больше, решил реализовывать на JS, отрисовывая всё в canvas. Хотя можно было сделать на div'ах, это быстрее и проще, но мне хотелось именно на canvas. Тем более что была в мыслях вторая игра. Иллюзий я никаких не питал, хотелось пройти весь путь от создания до публикации. К слову скрипт на 850 +\- строк.

Процесс модерации не составил особых проблем, не считая правила, при котором не должно быть одинаковых названий игр (Но как можно по-другому назвать Пятнашки? Они и в Африке пятнашки! Однако пришлось добавить "киберстайл". Тьфу!). По причине отсутствия опыта публикации были замечания которые устранялись за пару минут. Но был один косяк который заставил немного задуматься, а именно масштабирование игры под любую ориентацию экрана. Ещё было замечание по поводу малой площади игрового поля (на сколько помню оно должно занимать более 60%). В общем пришлось городить лютый пздц в коде для вычислений правильного отображения.

Опубликовался примерно с 4 раза (если память не подводит). Однако есть лазейка при первой публикации приложения. Если приложение новое (не обновление) тогда после первой не удачной модерации можно удалить приложение и создать новое, перенести туда все текста и картинки и отправлять в тот же день на модерацию, так как увеличение времени на модерацию привязано к ID приложения. Однако время модерации у меня занимало до суток.

По итогу, данная игра принесла 0 рублей с учётом потраченных средств на рекламу (реклама 1200 р.)

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Пятнашки - статистика вознаграждений


Очисти поле (релиз 9 июля 2024)

Следующим проектом была игра "Очисти поле", суть которой в том чтобы кликая на цепочку блоков одного типа уничтожать их и тем самым зачищать игровое поле. В игре несколько режимов. Есть возможно получения плюшек за просмотр рекламы (rewarded video).

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Очисти поле - главное меню

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Очисти поле - игровое поле

Модерация по данной игре прошла не совсем гладко. Загвоздка была в вызове Game Ready API (GRA). Пришлось добавить экран загрузки, который показывается пока загружается и отображается реклама, а после закрытия рекламы говорим игре и яндексу что можно начинать играть (отображать главное меню). А все эти махинации пришлось делать из-за того, что игра весит около 200КБ и даже с молниеносным инетом игра готова уже через пару секунд и можно было успеть нажать "Новая игра" и уже в процессе игры словить прилёт рекламы (а это нарушение правил), которая должна была отобразиться при загрузке(открытии) игры. Конечно, можно было бы анализировать данный момент и вовсе не отображать рекламу, тогда и выкладывать на данном портале не имело бы смысла из-за отсутствии рекламы и доходов с неё. Как то так.

Думаю обновить игру и добавить в ней подсветку цепочки блоков для наглядности и красоты. Есть тестовая версия с этой возможностью, ссылка будет в конце статьи. И да, скрипт на 2 000 +\- строк.

Вознаграждения по данной игре равны 600 рублей при затратах на рекламу 1 500 р. Причём пока действовала реклама (3 недели) игроки стабильно были и приносили хоть что-то, но как только реклама остановилась - остановился и поток игроков.

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Очисти поле - статистика вознаграждений

Думаю будет интересно упомянуть о статистике

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Основная статистика

Мои простые игры на JS Canvas HTML, Javascript, Холст, Разработка, Gamedev, Мат, Длиннопост

Подробная статистика

В общем пока была реклама, были игроки и они довольно долго играли. На данный момент мне кажется что остались только поклонники :) Спасибо им! Кстати отзовитесь кто постоянно играет с момента релиза, если таковые тут есть.


Если кому интересно покопаться в коде и жестко его отрефакторить, я только ЗА! Ссылка ниже. Было бы интересно глянуть как оно может выглядеть красиво и масштабируемо.

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

Цель поста:

4. прорекламировать своё "я сделяль!".


Всем спасибо, все свободны.