Перейти к содержанию

Рекомендуемые сообщения

 

scale_1200.thumb.jpg.690bd40385dd0cdac7ade78770ebdf69.jpg

S.T.A.L.K.E.R.: Call of Pripyat - Enhanced Edition на Godot Engine

О проекте:

Это проект по переносу оригинальной игры «Зов Припяти» на современный open-source движок Godot Engine.

Это не просто модификация, а полноценная техническая реконструкция. Цель проекта — перенести логику оригинального движка X-Ray на Godot, обеспечив стабильность, современный рендер и новые возможности для разработчиков, сохраняя при этом ту самую атмосферу Зоны

Это осознанная адаптация: берем лучшее из X-Ray (механики, логику, дух игры) и переносим это на современные технологии Godot (C#, GDScript, Jolt Physics, Forward+).

Игровой движок: Godot Engine (4.6.2 Mono)

Разработчик: Vyacheslav Titov a.k.a. Demonfail

Старт разработки: 8 апреля 2026 года

Статус: В активной разработке

Статьи / Дневник: Яндекс.Дзен


Зачем это нужно?

Многие знают о проблемах и архитектурных ограничениях X-Ray. Перенос на Godot позволяет взглянуть на техническую составляющую «Сталкера» совершенно под другим углом.

В рамках Enhanced Edition ведется работа не только над графической частью, но и над глубокой, системной интеграцией оригинальных механик:

  • Создается новая архитектура базовых объектов (Object -> GameObject -> Entity -> Actor).
  • Скриптовая логика переводится с Lua на нативный GDScript.
  • Игровые системы и механики пишутся на C#.
  • Закладывается фундамент под работу с AI и ресурсами оригинальной игры (конфиги, анимации, коллизия).

Основные особенности и планы:

  • Современная архитектура и рендер: Использование возможностей Forward+ (Vulkan), отказ от старых "костылей" X-Ray.
  • Новая физика: Использование производительного движка Jolt Physics вместо устаревшего ODE. Кроссплатформенность: Потенциальная возможность нативного запуска «Зова Припяти» на Linux и других ОС.
  • Свой SDK внутри движка: Разработка собственных плагинов для Godot (Live Preview, Scene Editor), чтобы создать удобную среду для работы с ресурсами Сталкера.
  • Улучшенная стабильность: Избавление от «старых болезней» X-Ray, связанных с управлением памятью и потоками.

Дневник разработки:

Весь процесс создания, технические инсайты и разборы того, как устроены внутренности «Сталкера» под капотом, я публикую в формате статей. Если вам интересно, как именно X-Ray переносится на Godot строка за строкой — подписывайтесь.

👉 Читать дневник разработки на Яндекс.Дзен


Скриншоты / Видео:

Спойлер

 

1819309500_2026-04-06123101.thumb.jpg.b584859e208e10b468e949b646f512cc.jpg

123123.thumb.jpg.7dfa517bcb370080342c6b64d5580f60.jpg

1273267896_2026-04-06122835.thumb.jpg.0b135cef0b9abdb25c1fd33cd685e6b8.jpg

 

 

Изменено пользователем Demonfail
  • Лайк 3
  • Мастер! 2
  • Жму руку 1
  • Аплодисменты 1
  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

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

  • Лайк 1

 1540412914_ezgif.com-optimize(1).gif.ec7250e918399802d8fe85d6d4fd7081.gif

«Если долго мучиться, что-нибудь получится»
Охотник за артефактами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
54 минуты назад, Pavel2000 сказал:

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

Спасибо за поддержку!

"Недавно сам изучал Godot, но дальше простенькой 2D-стрелялки не продвинулся." Это, кстати, неплохое достижение.

Тут главное усердие.

В моём случае я просто трачу половину своего времени и нервов, на что, в принципе, не каждый готов.

Работы, буквально, много: от самих ресурсов, построения движка, изучения тонкостей Godot, изучения C++, перевода на C# (аналогично с Lua и GDScript) — тонна работы. Плюс стараться делать контент и показывать, что я двигаюсь. Я надеюсь, у меня кукуха не слетит, но я буду стараться делиться контентом и дополнять разные вещи.


Дополнено 23 минуты спустя

Но самое главное, что я понял для себя, — что я двигаюсь в правильном направлении и не всё зря. Главное, что работает.

Но я не думаю, что я прям частенько буду всё выкладывать по новостям, потому что приходится разрываться не только о чём ранее написал, но и на:

А) Документация своего же кода, в дальнейшем я собираюсь переписать весь X-Ray (сейчас идёт принцип 10% > 50% > 80%), чтобы ничего от него не осталось.

Спойлер

1443638266_2026-05-05213636.thumb.jpg.2876ce655bc58f83a410224b0f043f8b.jpg

Б) Тестирование внутренние - пример, воспроизведение логики оригинального bind_stalker.script (тот же код биндера сталкера для главного героя переписан, под годо)

Спойлер

521304968_2026-05-05214510.thumb.jpg.e58eb5aa6c450f5015564f22f502c09e.jpg66631835_2026-05-05214011.thumb.jpg.6a92292efe0d4745cb40da2b4be7b06e.jpg

 

 

Изменено пользователем Demonfail
  • Лайк 1
  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Сомнительно, но окей
Да и... Это вроде нарушает Авторское право гск, что нельзя на другие движки переносить их, не?
Хоть и ру-региону на данный момент пофиг на авторские права, но на будущее

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, Supremeee сказал:

Сомнительно, но окей
Да и... Это вроде нарушает Авторское право гск, что нельзя на другие движки переносить их, не?
Хоть и ру-региону на данный момент пофиг на авторские права, но на будущее

Отвечу как можно короче, но спасибо за вопрос.

1) Есть проект — STALKER on UE, хоть и заброшен, но это перенос C++ кода с минимальными изменениями исходного кода, короче говоря, обёртка под движок Unreal. За это можно притянуть.

2) Лицензия на основной исходный код: некоммерческое использование (неофициальное разрешение). Иначе бы "разрабы" пустили по кругу модмейкеров движков типа OpenXRay, IX-Ray и т.д. Они буквально нарушают лицензию, меняя исходный код и редактируя не от лица разработчиков. Потому что движок сам по себе проприетарный.

3) То есть по факту, если душить меня, значит душить и сообщество модмейкеров.

4) Использование движка X-Ray в коммерческих целях без лицензии "разрабов" является незаконным, поэтому я его и не использую в коммерческих целях.


5) Мой код изначально закладывается так, что я пишу его с нуля, в дальнейшем планируя переписать его полностью. Так и C# сам по себе не похож на C++, нельзя даже на 50% скопировать код буквально "весь" - визуально! Только логически.

То, что исходный код будет логически и по смыслу выполнять то же самое, не равно тому, что это будет копия/клон X-Ray. (Привет: Survarium - Vostok Engine / Metro - 4A Engine) Это надо "разрабам" как минимум получить патент в разных странах (Европа, США и Россия), например, на "контролёр персонажа" (Character Controller) в игре и его поведение. Как, например, делают разработчики Покемонов и душат всех пиратов или других разработчиков.

6) "Сомнительно, но окей". Про сомнительно — да, но в первую очередь я повышаю себе навыки и делаю это для себя, ну и портфолио, конечно же — в движок Godot, Blender, C# и т.д.

7) Для коммерции, если смотреть в будущее, имея свои ресурсы, я могу переписать весь исходный код, доработать его по максимуму и просто уйти в свою игру, так как у меня уже понемногу закладываются дизайн-документы. А Godot Engine сам по себе бесплатный.

Изменено пользователем Demonfail
  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
20 часов назад, Demonfail сказал:

Потому что движок сам по себе проприетарный.

X-Ray движок из серой зоны. Он вроде бы проприетарный, а вроде и АП на него нет никакого 


Дополнено 1 минуту спустя
20 часов назад, Demonfail сказал:

1) Есть проект — STALKER on UE, хоть и заброшен, но это перенос C++ кода с минимальными изменениями исходного кода, короче говоря, обёртка под движок Unreal. За это можно притянуть.

Пытались. Хлопнули репо, 9 месяцев они весело под нарушением, но GSC не подали документов о судебных разбирательствах и GitHub вернул репо в свободный доступ 

  • Лайк 1

Мастер по созданию багов в ваших проектах. Обращайтесь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 часов назад, ForserX сказал:

X-Ray движок из серой зоны. Он вроде бы проприетарный, а вроде и АП на него нет никакого 


Дополнено 1 минуту спустя

Пытались. Хлопнули репо, 9 месяцев они весело под нарушением, но GSC не подали документов о судебных разбирательствах и GitHub вернул репо в свободный доступ 

Ну, это понятное дело, докопаться можно.

Я пока ещё не решил, как будут дела обстоять с кодом.

Вариант только после переписывания его в нулину, но пока до этого далековато.

В принципе, у меня не много схвачено — друг юрист международного уровня есть у меня (так что он поможет мне, если что, но я не думаю, что я буду как-то сам подвержен риску, бывает всё равно он мне подсказывает).

В данном случае я мыслю не как «переписать X-Ray на C#», а как собрать STALKER-смысл поверх архитектуры Godot. И это как раз то, что даст живой проект, а не музей C++-паттернов внутри Godot.

Продавать я игру не собираюсь, выкладывать планирую, и первые билды тоже.

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

Изменено пользователем Demonfail

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 06.05.2026 в 08:10, Supremeee сказал:

Сомнительно, но окей
Да и... Это вроде нарушает Авторское право гск, что нельзя на другие движки переносить их, не?
Хоть и ру-региону на данный момент пофиг на авторские права, но на будущее

Я сейчас пилю модификацию на игру, у которой нет прямых правообладателей, кроме одного испанца, который выкупил каким то образом права у THQ, которые были у этого у Jowood, которые до этого были  у BURUT, а точнее его подразделения WorldForge... Тем более нынешнего правообладателя движка знаю лично, а вот по поводу доступности ресурсов игры ГСК, вот тут реально серая зона.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Отчёт по работе (09.05.2026):

Всем привет.


1) Написана следующая статья на "Дзене": №5. Окружение.


2) В течение пары дней будет продолжение, как доработаю всё. К сожалению, это не так быстро... Но также чуть доработаю и оптимизирую прошлые статьи. Будет также доработана здесь тема, со временем будет больше информации, скриншотов/видео.


3) Полностью завершен "планировщик" и его полный тестер реализации (включая не только проверки ошибок, но и проверку предупреждений). Планировщик — это фундамент в оригинальном X-Ray Engine, на котором строятся игровые объекты, поэтому и было решено начать полную его реализацию.

В оригинале "IScheduled" выполняет похожую задачу, как и у меня. Объекты регистрировались в "scheduler" и получали "schedule_Update(dt)" по интервалу, а не каждый кадр. Это позволяло X-Ray держать сотни динамических объектов на слабом железе 2007 года.

У меня же это не буквальный перенос синтаксиса X-Ray, а правильный перенос ответственности и поведения.

Особенности:

1. Написан с нуля и адаптирован под сталкер.

2. Исправлены недочеты / улучшения: безопасная (не/)регистрация объектов, защита от зависаний (фризов), контр-возможности для дальнейшего тестирования (можно подключить или контролировать через внутренний отладчик / написать полноценный плагин).

3. Была попытка реализации многопоточности / jobs. Понял, что лучше вынести это всё в один поток, так как это должно оставаться в главном цикле игры, но не более. Многопоточность будет вынесена в дальнейшем для AI, спавна и т.д., с которым будет работать планировщик отдельно.

Спойлер

1.thumb.jpg.f3b669b42db82310e0acf933e73b40dc.jpg

2.thumb.jpg.8cce5a3b711674d2f6f9ea57155dac12.jpg

 


4) Реализация модульности персонажей и оружия: Изначально в оригинале всё разбито на группы и кости. В дальнейшем X-Ray скрывает/показывает - кости/группы и закреплённую к ним геометрию. Мне показалось это неудобным, и я заранее решил разбить их на части.

1. Тело как основной источник объекта — к нему будут крепиться рюкзаки, кислородные баллоны и т.д.

(Была идея, но пока отложена: дополнительные кости для крепления разных модулей и динамических предметов, как в серии игр Metro, где у персонажей висели пушки/боеприпасы. Или можно реализовать динамический капюшон, который NPC могут надевать или снимать, например, в плохую погоду.)

2. Голова как отдельный модуль; нет смысла иметь много моделей одних и тех же костюмов, где отличается только голова.

3. Руки — ну тут и так понятное дело, уйдут на вид от первого лица, ведь комбинезон, например, будет носить и сам игрок. Мы отсекаем руки / голову и отдаём от них только тень. Сам же игрок будет видеть отдельные руки и тело/ноги персонажа.

В принципе, модульность решает много проблем и создает уникальность тем или иным вещам.

Спойлер

1.thumb.jpg.d1ec59f292ddf93b4ec2d8d338bf6061.jpg

2.thumb.jpg.e751654ad07fce4157fab1a865f9e4ea.jpg


5) И дальше по мелочи...

1. Реоптимизация статических LoD'ов (после динамики, уже на самых дальних дистанциях).

2. Реоптимизация уровней и создание дополнительных моментов, чтобы всё отсекалось правильно (окклюдер, кстати, не до конца готов).

P.S.: Под словом "реоптимизация" подразумевается то, что уже было мной оптимизировано и улучшено, но я решил ещё и заморочиться.

Спойлер

3.thumb.jpg.92b3b8cab9a4feb896be8fb10c7c3b79.jpg

5.thumb.jpg.921da0046267ed36a0b86ce8ed32a52c.jpg

4.thumb.jpg.dc7e702dab27a2aad6ecbc10f97a3a35.jpg

 

Изменено пользователем Demonfail
  • Мастер! 1
  • Аплодисменты 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Жаль я них*я не понимаю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования