Добавить в корзинуПозвонить
Найти в Дзене

№1. Начало — Первые шаги.

Всем привет, кто в Gamedev, фанатам "Сталкера", а также тем, кто сам пользуется Godot Engine, и даже обычным читателям. Меня зовут Вячеслав, я являюсь любителем в геймдизайне, программировании и дизайне уровней, а также где-то ещё понемногу, но я не думаю, что это так важно. Данные статьи будут служить как дневник разработки о попытке портирования S.T.A.L.K.E.R.: Call of Pripyat - Enhanced Edition на игровой движок Godot (версии 4.6.2 Stable.Mono; со временем я буду переходить на более новые по мере необходимости). Также здесь я буду делиться советами по самому движку, общими механикам игр, как устроено то, что не видит игрок, и т.д. Внимание: статьи не являются уроком "Создать сталкер с нуля...". Если код и будет, то он будет максимально коротким как для шейдеров, так и для исходного кода. В дальнейшем я думаю отдельно выпустить репозиторий проекта на GitHub (в плане кода без ресурсов из самой игры, чтобы не нарушать права и лицензию), а также думаю выпустить скомпилированную игру на
Оглавление

Начало

Всем привет, кто в Gamedev, фанатам "Сталкера", а также тем, кто сам пользуется Godot Engine, и даже обычным читателям.

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

Данные статьи будут служить как дневник разработки о попытке портирования S.T.A.L.K.E.R.: Call of Pripyat - Enhanced Edition на игровой движок Godot (версии 4.6.2 Stable.Mono; со временем я буду переходить на более новые по мере необходимости).

Также здесь я буду делиться советами по самому движку, общими механикам игр, как устроено то, что не видит игрок, и т.д.

Внимание: статьи не являются уроком "Создать сталкер с нуля...". Если код и будет, то он будет максимально коротким как для шейдеров, так и для исходного кода. В дальнейшем я думаю отдельно выпустить репозиторий проекта на GitHub (в плане кода без ресурсов из самой игры, чтобы не нарушать права и лицензию), а также думаю выпустить скомпилированную игру на бесплатной основе, если интерес к этому будет.
Проект не является коммерческим продуктом, и действия в этом направлении являются изучением и исследованием.

Новый проект

В принципе, то, что показано выше, это базовый шаблон проекта.
Самое главное уже есть: название проекта и путь к нему.

  • Далее выбран основной "Отрисовщик" (он же тип рендера Forward+) для продвинутого 3D. Описание в шапке уже даёт понять о плюсах и минусах того или иного рендера.
  • Заранее добавлена оригинальная иконка из сталкера, вырвана из оригинального .exe файла и конвертирована в формат .ico (для Windows) и .svg (для редактора Godot).
  • Добавлены теги (они же метки) в сам проект для чисто визуального стиля.

Организация проекта

Здесь же у нас выставлена базовая структура проекта. Слизана, конечно же, из оригинальной трилогии самой игры.

  • Входной точкой проекта будет "Main" (как в C#, например), он же простой узел Node, в котором нет ничего лишнего. Сюда мы будем собирать/прикреплять основные узлы для проекта.
  • Структура папок: копирка gamedata — оригинальная папка с файлами игры, пока без ресурсов.
  • Четыре заранее подготовленных узла Node3D: level.scn, light.scn, scene_object.scn и static_object.scn для дальнейшей работы с моим первым уровнем — Затон.
Совет: заранее продумайте для своего проекта структуру файлов и папок, ведь от этого вам в дальнейшем придется отталкиваться и не устраивать мусор у себя же.

О проекте

Портирование само по себе — странная идея, так как есть другие движки, такие как Unity или даже Unreal. В данном случае я это делаю пока для себя, так как я всего полгода изучаю Godot.

Самое, наверное, лучшее решение — параллельно не делать своё что-то, а изучать дальше движок и портировать игру. Выбор пал на "Сталкер", так как у него огромное количество людей, модов и открытых уже ресурсов.

Сама игра будет построена на
C# — а именно ядро и механики; GDScript будет использоваться для скриптовых сцен, задач и, скорее всего, даже плагинов под сам Godot. Плюсом, порт будет использовать все преимущества самого движка, как, например, PBR-рендеринг, GPU-частицы, более продвинутую физику Jolt, NavMesh, анимационный движок и т.д.

Хотел бы технически и визуально подтянуть игру, так как разработчики даже облажались с обновлённой своей трилогией. Об этом я расскажу уже в следующих статьях.

В теории я уверен, что движок Godot сможет вытянуть порт, сам он обновляется очень часто, даже в плане 3D, но хватит ли меня самого на практике... :)

Далее парочка скриншотов от чужих проектов на движке Godot.

Спасибо за прочтение, увидимся уже в следующей статье.