Мой первый опыт с Godot Engine, после анрила
Всем привет! Меня зовут Даниил, я делаю игры :D
Возможно вы уже читали мои предыдущие мини-статьи/девлоги, где я рассказывал о своих проектах. Разработкой игр я начал заниматься в 11 лет (в данный момент мне уже 20). Практически все это время я использовал Unreal Engine (как в личных проектах, так и на работе). Однако, последнее время мне не очень нравится вектор движения анрила, а именно, их активное движение в сторону реализма, кинематографа и прочего, что очень сильно утяжеляет движок и делает его все более и более неповоротливым и неудобным. Не спорю, Unreal Engine все еще отличный инструмент, но на мой взгляд, он все менее удобен для инди-разработчиков. Кроме этого, мне не нравится ограниченность кастомизации анриловского рендера из коробки, что сильно мешает лично мне, во многих аспектах.
Именно поэтому я довольно давно начал засматриваться в сторону Godot. В этом мини-девлоге(?) я расскажу о своем опыте взаимодействия с ним, о некоторых моих прототипах и экспериментах на нем, и как следствие, о выпуске маленькой нарративной игры, в которую уже можно поиграть, причем бесплатно :D
Поиграть можно тут
Ну а ознакомиться с моими остальными проектами можно тут
В этой статье я не буду рассказывать что такое Godot, его историю и все в этом духе. Здесь будет лишь мой личный опыт и личные ощущения после перехода на него и работы с ним. Заранее прошу прощения, если в каких-то моментах буду использовать неправильные названия терминов/концепций, так как во многих аспектах Godot я все еще смешарик (буду рад, если поправите меня в комментариях). Ну что-ж, к делу!
С чего все началось?
На текущий момент, я экспериментирую с Godot уже больше года (конечно, до этого я периодически пытался к нему притрагиваться, еще до выхода четвертой версии, но как-то не шло). Да, такого времени может быть мало, чтобы полностью изучить новый движок, но все же я считаю, что если у человека уже есть большой опыт с одним движком, то изучение нового дается ему гораздо проще и быстрее, ведь движок это всего лишь инструмент, использующие одинаковые, по сути своей, концепции, вопрос лишь в удобстве.
С выходом четвертой версии я стал возвращаться к Godot все чаще и чаще, пробуя экспериментировать, делать небольшие прототипы и как следствие, глубже погружаться в его изучение.
Эксперименты
Долгое время мне было сложно смириться с концепцией "сцен". В Godot все является сценой (даже игрок, и технически, можно вполне свободно запустить игрока как отдельную сцену, и это будет работать). Сцены, в свою очередь, строятся из нод (функциональные части). Сама сцена так же может быть частью другой сцены (соответственно, в данном случае она будет являться "нодой"). Со временем, постоянно что-то делая и работая с этими инструментами, ты начинаешь проникаться этой системой, и она уже не кажется тебе странной и нелогичной, напротив, все довольно очевидно.
А что по рендеру? Godot, начиная с четвертой версии, предоставляет три типа рендера - Forward+, Mobile и Compatibility. Любой тип рендера дает огромную свободу кастомизации и стилизации.
Первые прототипы
После долгих экспериментов и прототипирования, я создал небольшой fast-paced шутер.
Все системы в игре были полностью написаны мной. К сожалению, до полноценного релиза этот прототип так и не дожил, и от него осталось лишь одно изображение.
Далее я начал много экспериментировать с написанием кастомных контроллеров для игрока. Среди таких был контроллер от лица инвалидной коляски, с проработанным управлением и физикой, а так же контроллер "бота-доставщика".
К слову, прототип игры с ботом-доставщиком вполне мог стать полноценной игрой в зимнем сеттинге, но, к сожалению, не сложилось.
Несмотря на то, что эти проекты не доживали до релиза, они сильно помогли мне в моем изучении Godot и понимании принципов работы его систем. Из каждого такого проекта я выносил что-то новое и двигался дальше.
Дальше уже поинтереснее. проект port_0 должен был стать динамичным fast-paced хоррором, в духе Night Of Consumers.
Игрок должен был поддерживать стабильную работу серверов, которые в свою очередь поддерживали стабильную работу суперструктуры (симулятор сисадмина, если угодно). Этот проект был насыщен переплетающимися механиками, которые в сумме давали довольно динамичный и быстрый игровой процесс. Так же, в проекте я впервые полноценно использовал сочетание рисованной и 3Д графики, в комбинации с общим эффектом "пастеризации" (которая дополнительно придает некий индустриальный ретро-стиль)
До релиза проект так же, к сожалению, не дожил, но послужил отличной платформой для экспериментов, за что ему и спасибо.
И наконец, проект, который дожил до релиза, и который я упоминал в самом начале статьи - OVERHANG.
OVERHANG - это короткий клаустрофобный нарративный хоррор, в котором вы управляете башенным краном, установленным над таинственным разломом в земле. Ваша задача - извлекать неопознанные объекты из разлома и докладывать о них по рации.
Хотя эта игра и не насыщена настолько большим количеством механик как port_0, все же, я рад что этот проект стал своего рода отправной точкой и научил помог мне пройти полный цикл разработки и релиза игры на Godot.
А что по итогу?
Godot, несмотря на свой размер, дает все необходимое для разработки игр, являясь очень мощным и удобным инструментом. В частности, многие аспекты в нем мне показались гораздо удобнее, чем в анриле. Я продолжу экспериментировать с ним и изучать его глубже. Буду рад услышать о вашем опыте с этим движком, или почитать ваши советы.
Благодарю за внимание! Всем добра! :D