Игра под Android на JavaScript или путь недоразвитого геймдева
Как-то раз, проснувшись тихим весенним утром, в мою буйную головушку ворвалась гениальная мысль, посещавшая тысячи людей до меня - а почему бы мне не написать игру?На тот момент я уже несколько месяцев работал программистом после годового самообучения, но программировать умел, конечно, гомнокод и только на PHP и JS. Посмотрев видео с ютуба, где автор на JS написал простенькую игрулю и запустил ее на телефоне с помощью AndroidStudio, я решил, что это знак свыше и главное – начать, а дальше звезды укажут мне путь. Сказано – сделано.
Суть игры
Из нескольких вариантов, самым удачным показалась такая идея: игра представляет собой раннер, где игрок выбирает Бога, за которого будет играть. Бог над движущейся справа налево землей, на которой появляются враги, которых, собственно, нужно нещадно карать. А враги, само собой, будут стрелять в игрока. Снаряды игрок может сбивать, если попадет. С повышением уровня игрок может выбрать одну из трех появившихся способностей. Выбираются три основных способности школы из шести, которые не противоречат друг другу (огонь нельзя выбрать вместе с водой и т.д). В зависимости от выбранных школ, при дальнейшем повышении уровня будут доступны разные дополнительные способности (если школа огня, то появятся огненные стрелы, взрыв и т.п.). В конце уровня ждет босс, за убийство которого игрок получает случайную награду и продолжает лететь уже на следующий уровень. Можно открыть разные бонусы, новых богов или шкурки для них.Начало.Преисполнившись мотивацией и благодатью, я приступил к действиям. Просмотрев доступные фреймворки, я остановился на Phaser 3. Отзывы были хорошими, документация, вроде, тоже, почему бы и нет?
Первые наработки выглядели зловеще, но, когда мой персонаж научился стрелять молнией, да еще и убивать при этом врагов, я пришел в восторг и во влажных фантазиях уже лежал в ванной, наполненной долларами, и ел омаров. Вы удивитесь, но прошло почти два года, а в моей ванной за это время были только 10 рублей, которые выпали из кармана штанов.
Первое время все шло более-менее хорошо. Я писал игру в свободное время, она становилась объемнее, придумывались и отвергались новые гениальные идеи, и все чаще я сталкивался с тем, что некоторые функции, которые должны работать в фазере, просто не работают потому, что потому. Некоторых возможностей тупо нет и приходилось писать функционал вручную.
Первые сомнения.
Начало доходить, что сама идея писать игру под андройд на языке, который предназначен для браузера, - была не столь хорошей…. Но я сильный, начало было положено и нет пути обратного. Посему я решил, что, если ничего и не выйдет, то я, как минимум, получу опыт, что тоже недурно.
Накопив какую-то сумму денежек, чтобы не помереть с голоду, я уволился и занялся игрой серьезно. Ну, серьезнее, чем до увольнения, во всяком случае. Не сразу, конечно, но вы поняли. Настал этап рисования.
Я уже имел навыки в Photoshop и Adobe Illustrator, но именно рисовать – не рисовал. Так что тут тоже пришлось учиться на ходу и процесс мне нравился. Я находил идеи персонажей в интернете, обрисовывал и изменял, соединял и творил. Короче, что-то, как мне кажется. Получилось довольно неплохо, как для новичка.
Процесс рисования занял все лето, которое как-то быстро пролетело. Под конец, я начал тестировать игру на разных телефонах (до этого тестировал в эмуляторе и на парочке андройдов) и пришла беда =( На некоторых телефонах игра лагала, на некоторых не запускалась. То она неадекватно вела при сворачивании приложения, то открывалась не на весь экран. Добавить ко всему этому хреновую архитектуру игры, которая убивала мое сознание при попытке отловить какой-то баг. Короче, с приходом осени я начал учить C# и Unity.
Конец.
Сейчас, после более 40 часов разных уроков и нескольких тестовых проектиков, я планирую перенести сие творение на Unity. Надеюсь, мне хватит сил и дошиков на это. Буду благодарен за ваше мнение и спасибо за внимание =)
Отличный комментарий!