Инди
Роман Ерфилов

SNAKE.BIN

Когда я только начинал свой путь в геймдев, старожилы форумов по Game Maker всегда советовали новичкам, принесшим в своем клювике супер идею по созданию Stalker 2D, Counter Strike 2D, RPG с генерацией мира с корованами и «рассыливающимися стенками», переключиться на что-то попроще. Все сводилось всегда к арканоиду, змейке или тетрису (хотя больше всего мне запомнились призывы начать делать арканоид). Естественно, их никто не слушал и бесчисленные новички продолжали создавать бесчисленные темы на форумах с своим личным Magnum Opus 2D. Разумеется, ни у кого ничего не вышло.

Часть наброска в фотошопе, который в итоге практически полностью перенесся в итоговый вариант визуала

Итак, с тех пор прошло уже больше 10 лет, форумы успели практически умереть, а Game Maker 8.0 до сих пор пользуется определенной популярностью (что уму непостижимо). Что касается меня, последнюю неделю я закрываю свой гештальт по созданию змейки на Game Maker Studio 2.

Казалось бы, нет ничего сложного в создании змейки, но проблемы возникают не там, где их ожидаешь. Управление. Заставить «классическую» змейку вменяемо управляться с помощью сенсорного экрана смартфона оказалась непростой задачей. В течение трех вечеров (игра совершенно «пет-проджектовская», поэтому делается по вечерам после работы), мои друзья и сестра были вынуждены тестировать различное управление змейкой, оставляя свои едкие, но очень полезные комментарии (потому что стороннему человеку какие-то вещи всегда виднее, чем разработчику, особенно UX).

Текущая итерация управления змейкой мне кажется уже довольно неплохой. Получается управлять адекватно даже на +/- высоких скоростях. Но достичь того же уровня контроля, что на моей Nokia 1100 не получится, т.к. в некоторых задачах кнопки > сенсор. Но я этого и не ждал — подобные особенности будут учитываться при проектировании уровней и геймдизайне фич игры.

В планах есть проверить еще один тип управления — движение в сторону тапов. Но в нем тоже есть подводные камни.

Nokia 1100, лежит в ящике шкафа и выступает референсом недостижимого управления змейкой. Также на нем до сих пор не побиты рекорды сестры десятилетней давности в этой самой змейке. Когда-нибудь у меня получится ее победить!

С программированием самой змейки проблем не возникло. Зато я смог в полную силу использовать новые фичи GML, такие как структуры, классы и методы (да-да, не нужно смеяться, товарищи-программисты с «взрослыми» языками. Мы мучались все эти годы, но теперь жить стало куда проще и веселее. Порадуйтесь и за нас)

В конце видео я переключаю дебажные режимы, показывая как игра выглядит без шейдеров свечения и дисторсии

Шейдеры написаны на GLSL ES, их два и они достаточно просты. Блум сделан размытием двухпроходным гауссовым блуром уменьшенного в 4 раза игрового экрана, потом режим наложения для яркости свечения. Плюс дополнительный слой того же свечения, но с изменяемой по синусоиде альфой — для небольшого мерцания. Второй шейдер — дисторсия и эффект развертки (scan lines). Выгибаем текстурные координаты, а потом с помощью тех же синусоид вычитаем линии из цвета изображения.

Как вы поняли, в визуале я попытался сымитировать старые терминалы с монохромным дисплеем, а-ля fallout. Результат мне нравится, на мобильнике выглядит интересно.

Пока писал заметку, подумал, что можно приложить и apk-шку с последней версией управления. Вдруг, что-то полезное можно будет из этого извлечь.

Лично у меня после скачивания apk не запускается, я не знаю в чем причина - через кабель и adb эта же apk устанавливается нормально. В андроидах не спец, поэтому сам не знаю в чем дело.

Разумеется, я не преследую никакой коммерческой выгоды с этим пет-проектом. Пытаться заработать на классической змейке? Ну такое. Для меня важно, что я получаю удовольствие в процессе, связь с социумом, посредством этой небольшой заметки, ну и гештальт из форумного прошлого будет частично закрыт.

Что будет дальше? Может быть арканоид?

{ "author_name": "Роман Ерфилов", "author_type": "self", "tags": ["gamemaker","gamedev"], "comments": 22, "likes": 62, "favorites": 23, "is_advertisement": false, "subsite_label": "indie", "id": 656101, "is_wide": false, "is_ugc": true, "date": "Sat, 27 Feb 2021 10:48:11 +0300", "is_special": false }
0
22 комментария
Популярные
По порядку
Написать комментарий...

Бессмысленный Даниль

20

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

Ответить
9

Я еще в первом универе понял, что не обязательно заканчивать мехмат, чтобы стать программистом. Жизнь заметно стала проще после того, как я отчислился)

Ответить
0

Я еще в первом универе понял, что не обязательно заканчивать мехмат, чтобы стать программистом.

А потом пошёл во второй, чтобы убедиться окончательно?)

Ответить
3

Пошел во второй на инженера электросвязи, а программированием занялся в свободном порядке)

Ответить

Бессмысленный Даниль

Бессмысленный
2

 Может быть арканоид?

Если только такой

Ответить
2

Признаю только 18+ xonix ;]

Ответить
1

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

Ответить
4

Считаю экранные кнопки костылем. Игра должна управляться максимально нативно на разных устройствах.
Да и уродливо это будет)

Ответить
0

Да и уродливо это будет)

На гамаке - чистейшая правда
( ಠ ͜ʖಠ)

Ответить
1

 (¬‿¬ )

Ответить
1

Game maker

Ооо, привет комрад :)
Проще всего тестировать такие игры на HTML 5. Они спокойно запускаются на мобилках и не нужно 1000 раз перепаковывать апкшку чтобы отправить на тест. А у меня к сожалению апкашка не открывается на телефоне, так что обосрать то, что получилось - не могу, сорян :(
 
Хотя по видео без лишних эффектов выглядит ГОРАЗДО лучше. Но это имхо. Ненавижу эффект "рыбьего глаза".
 
Может быть арканоид?

Meh. Арканоиды на гамаке сделает даже человек с 0 знаниями при помощи 3 готовых кнопок. Они не интересны)

Ответить
1

У меня нет модуля под экспорт в html5, только под пк и мобильные платформы. А почему не открывается? Ошибка какая-то или система огорожена от сторонних апкшок?

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

Ответить
0

У меня нет модуля под экспорт в html5, только под пк и мобильные платформы.

Оу, вы сторонник лицензий. Понимаю. Могу сказать из своей практики, я в гугл стор выкладывал пару игр с пиратского гамака и вроде ничего, живой ещё аккаунт)
 
А почему не открывается? Ошибка какая-то или система огорожена от сторонних апкшок?

Да вот сам не пойму. Просто пишет "не удалось открыть файл", хотя сторонние апкшки (с 4pda или собственноручно скомпилированные на гамаке) мой redmi ест хорошо. Загадка...
 
Так и змейку на гамаке (да и где угодно) сделать тоже очень просто.

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

Ответить
2

Оу, вы сторонник лицензий. Понимаю. Могу сказать из своей практики, я в гугл стор выкладывал пару игр с пиратского гамака и вроде ничего, живой ещё аккаунт)

Мне лень заморачиваться с пиратками. Даже не уверен, что она под мак существует. Лицензию я приобрел уже много лет назад, а html5 тогда было не нужно.

Да вот сам не пойму. Просто пишет "не удалось открыть файл", хотя сторонние апкшки (с 4pda или собственноручно скомпилированные на гамаке) мой redmi ест хорошо. Загадка...

Проверил, у меня тоже не запускается))) А через adb нормально работает, да и друзьям через телеграмм я тоже успешно перекидывал.

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

У меня для змейки тоже есть различные идеи. То, что сейчас на видео - это просто 5 вечеров разработки с тестированием управления. Фичи я буду уже позже пилить, когда утрясутся размеры спрайтов, само управление и т.д.

Ответить
1

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

Ответить
0

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

Возможно есть уже такое)

Ответить
1

Может и есть, кто знает) Главное, чтобы делать было в кайфы. А с такими друзьями плохого точно не получится, даже если без инноваций)

Ответить
1

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

А у арканоида потенциала к сожалению не особо много)

Ответить
1

Растягивание игрового поля на всю высоту экрана плохая идея — какое управление ни сделай всегда нужно отдельно думать о том, чтобы палец змейку не перекрыл. Отдельный "тачпад" для жестов внизу думаю будет и удобнее, и понятнее.

Ответить
1

Маленькая игровая зона тоже накладывает свои ограничения - либо маленькие спрайты, что значит более высокие требования к точности управления и все вытекающие из этого проблемы. Либо маленькая игровая карта, что тоже нужно как-то обыгрывать. 
Сейчас я сделал управление таким образом, что пальцем можно вазюкать в любой части экрана и даже несколькими пальцами одновременно. Иногда неудобно, но это тоже, своего рода, компромисс.

Ответить
1

Honor 10, скачал и запустил без проблем, вылетов и ошибок не было. Свайпами легко управлять, но что будет при сложном уровне и большой скорости змейки?

Ответить
0

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

Ответить

Комментарии

null