AJMaker
Pacman за 5 минут :)
Салют, Пикабу!
Сегодня я расскажу о том, как создать игру на телефон за пять минут!!
=)
Одно время мне попадались на глаза видеоуроки про создание игр за сравнительно короткое время. Но как правило это были какие-то примеры применения базовых основ по созданию игр в тех или иных редакторах. По сути своей которые позволяли, овладев необходимыми навыками быренько набрасать пару спрайтов и заставить их как-то взаимодействовать. Зачастую эти видосы открывали целый курс обучения геймдизайна. Ну а иногда просто для одноразового ознакомительного просмотра.
Но при ближайшем рассмотрении разработка и портирование игры на смартфон скрывала за собой кучу сопутствующих проблем, разбираться с решением которых в то время не было времени. И видимо, не особо-то и желания.
Однако же мной была предпринята попытка сделать что-то простенькое, быстренькое, и чтобы сразу можно было в это поиграть без регистрации и смс.
За прототип я взял (к сожалению или счастью без спроса) игрушку пакмен на денди. Со всем уважением к издателям и разработчикам.
За движок - бесплатную версию констракта второго.
Музончик взял первый попавшийся, тоже к сожалению без спроса, но надеюсь проблем не возникнет. Если что - всегда можно удалить, или заменить. Или просто написать огромную благодарность музыкантам за создание такого чудного трека.
Скажу сразу - за пять минут создать нормальную играбельную вещь довольно проблематично. По опыту - большую часть работы занимает как раз визуальная составляющая и звук. Поэтому лучше к такому быть готовым заранее. Понятно конечно, что при желании я бы мог нарисовать на худой конец карандашом и отсканировать спрайтлист. Или по-простому накидать в пейнте и оставить монохромным. Но и на это времени тратить не хотелось. Важен был эксперимент. Поэтому пришлось вырезать спрайтики из снапшотов эмулятора денди.
Почему я выбрал именно констракт второй? Я уже довольно приличное время с ним тесно взаимодействую. У него есть достаточный потенциал для создания различного рода событий. Неплохой арсенал финального экспорта. Правда и имеются кое-какие ограничения. максимальное количество слоев - 4. Максимальное количество ивентов - 100
Так же для теста игры я воспользовался своим ресурсом. Хотя можно было быстренько поднять какой-нибудь xamp на компе. И тестить в домашней сети.
Начал я с того, что разметил будущий проект под пропорции оригинальной игры 1:2. Можно было конечно развернуться полномасштабно в фул эйч ди. Но любовь к пикселям не позволила допустить подобное пренебрежение.
На полученный 512х448 квадрат )) я разместил бэкграунд, в виде спрайта игрового поля со всеми стенками. Дополнительно придав им жёсткости спрайтом с поведением солид. Это означало что через области с этими спрайтами нельзя пройти. Можно только упереться.
Вторым делом я добавил спрайт пакмена. Вложив в него всю любовь к ретро-играм, всю душу, поведение 8-и направлений, и наверное силу земли. Выстроил ему ускорение, замедление. И добавив две анимации. Хавальник вака-вака и подобие самопоглащения с последующим исчезновением. 8-и стороннее управление ограничил 4-мя. Больше и не требовалось. Так же отключил возможность изменения угла, чтобы он не поворачивался, а только перемещался. Далее я добавил две переменые, назвав их условно инпут и направление. В событиях нажатий клавиш клавиатуры, а так же позднее добавил события геймпада и тача, указал, что при нажатии на васд - каждой кнопке соответствовало своё название стороны экрана.
Следующим шагом надо было заставить пакмена двигаться и поворачивать. Для более чёткого координированного движения (он же не поворачивает, он грубо вверх вниз влево вправо двигается) и чтобы не цеплялся за стенки, я в каждый перекрёсток поставил по спрайту, координируещему направление. в точке перечесечения координат ГГ и вейпоинта, выравнивались координаты спрайтов и применялся инпут.
Следующим шагом было создание врагов и оформление им АИ. Созданы они по образу и подобию пакмена, с той лишь разницей, что вместо импута в точках пересечения с вейпоинтами рандомно выбиралось направление. Что напроч лишило их каких-либо признаков интеллекта, зато добавило непредсказуемости в игре.
по событию столкновения одного из них с главным героем поставил замедление происходящего с анимацией самопожирания пакмена.
После, я добавил эти забавные точки, которые с таким удовольствием пожирает вака-вака при столкновении с ними последние не уничтожались а просто переходили в состояние инвиз. Для придания игре пикантности, враги обладают противоположным свойством, переключающим кучки при столкновении с ними в состояние визибл.
Для придания красоты, я немного подправил анимацию хавчика и добавил эффекты исчезновения стенкам.
Так же добавил два счётчика, текущий скор и топ скор. Пририсовал стрелочки для управления на тачскрине.
Кнопочку для "поделиться с друзьями в вк" - ну а куда без этого. Ну и добавил вишенку.
Далее я экспортировал в html5 совместимый формат. И залил на хостинг. При разработке констракт использует локалхост. но этого было не достаточно для телефона.
После загрузки веб версии, я перешёл по ссылке с телефона, игрушка загрузилась и вроде бы была играбельна. Далее маленький трюк, порадовавший меня в своей простоте и юзабельности. Просто раскрыл менюшку управления страницей и отправил ярлык на рабочий стол. На главный экран. После чего игрушка спокойно открылась в формате полноэкранного приложения. Всё. Конец.
пс. небольшой баг. музончик весит чуть больше всего остального. Поэтому ему требуется некоторое время на подкачку.
Обо всех остальных багах или возможных вариантах апгрейда с удовольствием почитаю в комметариях.
Кому нужен исходник - в лс.
п.п.с. демонстрирующую геймплей гифку и летсплей прикреплять не стал. игровой процесс понятен и прост. но желающим потрогать, как говорится, своими руками ссыль:
Ну и приятной ретромании ^__^ с ретрольгией ))
Пенсионная реформа глазами РПЦ
- Батюшка, я опять согрешил...
- Пойдёте на пенсию в 102 года
Power Blade 2 Remake Beta
Доброго времени суток, всем ценителям ретро-игр и хранителям тёплых воспоминаний эры денди.
Сегодня я хочу поделиться с вами одним, на мой взгляд интересным проектом.
Это уже практически полноценный ремейк одноименного боевика, хита прошлых лет, игры имеющей право на продолжение, и почитаемой до настоящего времени - Power Blade 2
В настоящий момент игра находится в стадии бета-тестирования, доступна для общего ознакомления, как в формате веб-версии, так и локальной портабл. (ссылки в конце текста будут).
Стартовал проект уже (страшно подумать) 4 года назад, когда совершенно случайно я узнал, что в современном мире игры не разрабатывает только тот, кто не знает, что такое игры вообще. Мой выбор пал на констракт второй, вполне подходящий как и для хорошего экшон-платформера, так и для получения первичных навыков в создании игр.
Почему же мне захотелось взяться именно за Power Blade 2 - наверное в первую очередь потому, что я в детстве очень любил эту игрушку. Наряду с такими хитами как боевые жабы или контра она конечно уступает, и в первую очередь по причине отсутствия мультиплеера. Но среди синглплеерных игр она уверенно держала марку.
Во-вторых, это потрясающая музыка в игре.
В-третьих с моей дилетантской точки зрения процесс разработки мне почему-то не казался сложным. Ну бегаешь, прыгаешь, пуляешь бумеранги или гонишь волну, будучи в костюмах, которых всего ничего - четыре на выбор. И вот тут я конечно же был неправ.
Освоение констракта и наполнение содержимым римейка сопровождалось не только трудностями языкового барьера и отсутствием опыта, но и иной раз весьма интересными событиями. То помогут спрайтами, то подскажут необычное решение, то отзывчивое комьюнити, на удивление среди которого тоже нашлись поклонники PB2, помогут с уроками по платформерам. Самым большим бонусом проекту оказался во истину шикарный подгон от проекта Gambit. Были предоставлены крутейшие каверы, к тому времени выходившие уже в альбом музыканта и доступны к скачиванию и прослушиванию отдельно. С прямого соизволения музыканта саундтрек в игре приобрёл просто драйвовый формат. В дальнейшем, если проект не загнётся, планируется добавить опционально оригинальный саундтрек и техно-обработку. На любой вкус.
Визуальная часть игры не сильно отличается от оригинальной. Хотя мной была предпринята попытка перерисовать спрайты и сделать их похожими на векторные. Но за неимением достаточного таланта спрайты получились скажем не уровня Дяди Блейд. А потраченное время помноженное на количество задействованных картинок в проекте, заставило отказаться от данной затеи. По этому картинка выглядит вполне узнаваемой, не пестрит GL эффектами и местами прям умиляет своими квадратегами. Из явных отличий - наличие паралакса, что несомненно добавляет псевдо-глубины бэкграундам на уровнях. Другими словами - выглядит приятно и современно.
В двух словах о механике, и только потому, что её необходимо пощупать самому, а не читать о ней в рецензиях. Её хотелось конечно же приблизить к оригиналу, подсластив какими-нибудь современными примочками. Так появился двойной прыжок, ускорение в полёте, лунная походка Майкла Джексона (шучу, это баг). Немного расширил в игре кач. Теперь при жадном коллекционировании итемок можно получить бонус к хп, батарейкам. Количество бумерангов не ограничено ни чем, кроме скорости анимации их выбрасывания. В середине разработки был интересный баг, позволяющий Нове пульнуть сразу тучу бумерангов ака спредган в контре. Но мне показалось это излишеством и данный баг был пофикшен. Собираемые звёзды теперь не ограничивались шкалой силы броска, при достижении лимита шкала просто растягивается увеличивая скорость бумеранга и его дамаг. Так же на дамаг влияет качество бумеранга. Теперь его не два, как было в оригинале, теперь бумерангов аж 5 стилей. Каждый так же увеличивает наносимый урон. На первой стадии тестирования можно было раскачаться таким образом, что особо толстые мобы, как драконы ии боссы падали с пары ударов. В настоящем это исправлено, с таким качеством, что бои с боссами стали немного интересней чем раньше. По секрету им необходимо нанести 100 точных ударов с максимальной силой. или же эквивалентное по дамагу количество ударов меньшей силы. Управление прикрутил вариативное. Доступно как WASD на клавиатуре, так и игра на контроллере от майкрософт. Хотя тестил на дуалшоке третьем. Управление вариабельно тем, что в любой момент можно переключиться с клавиатуры на джойстик и обратно - одно другому не мешает.
Из классической версии перенёс систему паролей. Пока что доступны только два. Это все костюмы и они же с завершёнными первыми четырьмя уровнями и доступным пятым. Планируется разбавить интересными модами и в проекте по завершении прохождения игры, открыть доступ к первой части, в рамках этого проекта (т.е. тот же интерфейс, механика, костюмы, но уровни и сюжетка из первой, в группе проекта есть скрины)
Что осталось незавершённым на этом этапе. Во-первых, это последний последний босс, в оригинале он мне кажется слишком простым, поэтому планируется закодить ну просто мегажаркую битву с интересным аи босса. Во-вторых, не хватает пары тройки уровневых мобов. На геймплей это не сильно влияет, раскачаться можно и без них. Мобы отсутствуют на последнем шестом уровне. В-третьих, отсутствует диалог с Жаклин, по той простой причине, что он никак не влияет на сюжет, и для меня до сих пор загадка наличия этого персонажа в игре. Так же в разработке находится финальная катсцена, с титрами и благодарностями всем тем людям, кто поддерживал меня всё время от старта проекта до его грядущего релиза.
В мечтах конечно же найти умельца дизайнера для перевода графики в HD формат. Сделать локализацию на русском, английском и японском языках. Ну и не хотелось бы словить запрет на публикацию от владельцев авторских прав. Авторские права это не круто >_< При всём моем уважении к конторам, релизнувшим оригинал.
И в заключение вышеизложенного: хоть проект для меня и стал первым, отнюдь он не уникален. Пробую свои силы в разных других разработках, таких как Ninja Gaiden, TMNT TF, Baloon Fight, в планах ещё одна совместная работа с Gambit.
Тем же кто таки заинтересовался - ссылки на игру
http://ajmaker.ru/powerblade2remake/ - веб-версия
https://yadi.sk/d/JjrFfPoA3TKxjt - портабле
о дальнейшей судьбе проекта и его последующих версиях можно периодически осведомляться в одноименном паблике в вк
спасибо за внимание. приятной игры ^_^