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

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

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

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

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

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

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

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

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

6868
23 комментария

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

20
Ответить

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

9
Ответить

 Может быть арканоид?Если только такой

3
Ответить

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

1
Ответить

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

4
Ответить

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

1
Ответить

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

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

1
Ответить