суббота, 29 января 2022 г.

Super Cyborg на консолях?

    
    В 2019 году мне поступило предложение от одного из издателей инди-игр портировать Super Cyborg'а на консоли. Однако для этого потребовалось бы переделать всю игру с нуля на движке Unity. Напомню, что изначально игра делалась на движке Blitz3D, а затем переделывалась на Monkey X для релиза в Steam. Идея перенести игру на консоли мне показалась перспективной. А так как у меня уже был опыт работы с Unity и некоторые наработки, я решил взяться за дело. В ходе работы возникали определенные трудности, связанные с особенностями Unity: подходу к анимации и работе со спрайтами. Весь процесс переноса игры занял около года. В процессе портирования игра претерпела определенные изменения, о которых расскажу далее...

    Самое глобальное изменение консольной версии - это разрешение экрана и соотношение сторон. Если в оригинале исходное разрешение было 320х240 (соотношение сторон 4:3), то в новой версии необходимо было адаптировать игру к широкоформатным разрешениям (без черных полос по краям). Наиболее подходящим вариантом стало разрешение 384х216, соответствующее соотношению сторон 16:9, которое поддерживается большинством мониторов и телевизоров. Получается игра стала шире по горизонтали, но уже по вертикали. Вот для сравнения скрины:


    Изменение разрешения повлекло за собой определенные глобальные изменения. Во-первых, пришлось переносить некоторых врагов и их точки респауна. А во-вторых, необходимо было добавить дополнительную графику практически на всех уровнях, так как теперь можно видеть участки, которые ранее были скрыты. Вот, например, на 2 уровне видно пустоты по краям:

    Наиболее масштабным изменениям подвергся 6-ой уровень. Так как он практически весь вертикальный, необходимо было как-то заполнить пустое пространство по краям. Поэтому было добавлено немало новых объектов.


    На 7-ом уровне также появились новые объекты окружения по краям:


    Помимо новых спрайтов окружения на некоторых уровнях появились дополнительные эффекты. Например, в 1-ом уровне на воде появилась рябь и листва на деревьях вдалеке колышется на ветру:

    Важным нововведением консольной версии является корректировка направления стрельбы на наклонных поверхностях. Теперь пули летят параллельно поверхности, а не под углом 45°. Для этого пришлось рисовать дополнительные спрайты персонажей и выстрелов. Такая стрельба намного упрощает прохождение некоторых секций.


    Были изменены или доработаны атаки некоторых боссов: например, количество щупалец финального босса теперь зависит от сложности (на легкой их 9, на нормальной 10, на трудной 11). В оригинале их всегда 11 независимо от сложности.

    Также были доработаны спрайты некоторых врагов. Вот, к примеру, у спавнера добавился дополнительный кадр анимации:

Steam

Console


    






    


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

    Сетевой игры в консольной версии, к сожалению, не будет, так как в Steam она реализована с помощью библиотеки steam_api. А вот локальный кооп по-прежнему присутствует.

    О дате релиза консольной версии пока ничего не известно, так что следите за обновлениями!


воскресенье, 9 января 2022 г.

2022 - Новое начало

 


    Всем привет! Поздравляю всех с наступившим 2022 годом!

    Давно ничего не писал, да особо и поводов не было.

    Что со мной происходило все это время? Постараюсь вкратце восстановить хронологию событий.

    В конце 2016 года я в составе команды из 4 человек принял участие в разработке 2D шутера на Unity. Проект делался на чистом энтузиазме, но с перспективами дальнейшего финансирования. Поначалу работа шла очень уверенно, но со временем пыл команды поугас и энтузиазм поутих. Разработка стала тормозить, появлялось все больше длительных простоев. В принципе это было ожидаемо.

    Но несмотря на все трудности, после примерно 2-х лет разработки была сделана полноценная альфа-версия, состоящая из 5 уровней (довольно продолжительных). Также в ней было 4 босса. По ходу разработки все постоянно переделывалось и дорабатывалось: спрайты, уровни, эффекты, код. Но как позже выяснилось, проект требовал некоторых глобальных изменений геймплея и прочих доработок. А на это никого уже не было ни сил, ни времени. В итоге проект был заморожен и его дальнейшие перспективы пока что очень туманны.

    В 2018 году я устроился на постоянную работу в одну из местных контор Unity-разработчиком (работа к сожалению не связана с геймдевом). И с тех пор я погряз в повседневной рутине. Работа отнимала время и силы, поэтому заниматься своими проектами было крайне тяжело.

    В 2019 году мне поступило предложение от одного из издателей инди-игр портировать Super Cyborg'а на консоли. Однако для этого потребовалось бы переделать всю игру с нуля на движке Unity. Напомню, что изначально игра делалась на движке Blitz3D, а затем переделывалась на Monkey X для релиза в Steam. Идея перенести игру на консоли мне показалась перспективной. А так как у меня уже был опыт работы с Unity и некоторые наработки, я решил взяться за дело. Главная сложность была в том, что я продолжал работать на основной работе, поэтому проект пилить приходилось в свободное время, чаще всего ночью.

    Работа по портированию Super Cyborg'а на Unity заняла около года. В процессе переноса игра претерпела определенные изменения, о которых я расскажу позже в отдельном посте. Дата релиза на консолях пока неизвестна.

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