Главная цель: Сделать сталкер более дружелюбным для моддинга. Чтобы разрабатывать моды было лишь чуток сложнее разработки игры на Unity .
X-Ray 1.7
Список запланированых фич:
- Полное портирование исходников движка на x64 (билд уже собирается и работает, ничего не вырезали, фиксим всплывшие баги)
- Старые и новые игровые фичи вырезаные в Call of Pripyat (стационарный пулемёт, диалог при переходе в зону, смена языка прямо в игре). Некоторые фичи можно будет включать или менять через новый конфиг который будет создан специально для этого.
- Редизайн Lua API сталкера: Тестовые и костыльные классы и функции уберем, всю систему перенесем на ООП, изменим то что давно пора изменить (например класс CGameobject), и ЗАДОКУМЕНТИРУЕМ КАЖДЫЙ КЛАСС И КАЖДУЮ ПЕРЕМЕННУЮ. Вся документация будет доступна через wiki. Есть также идеи насчет системы эвентов.
- Ошибка в скриптах Lua больше не будет приводить к падению. Если функции дали неверные данные - она об этом должна написать, а не потянуть движок в могилу.
- Открытые исходники после релиза
- Поддержка геймпада
- Мод менеджер. Теперь моды будут паковаться в архивы и их можно будет включать и выключать с помощью лаунчера. Старый трюк с перезаписью gamedata теперь будет работать только при специальном ключе запуска.
- Интегрировать OpenAL Soft и починить эффекты EAX (хотя точнее - подключить эффекты OpenAL EFX)
- Поддержка огромных локации
- Реалтаймовые отражения. Обновление некоторых материалов с поддержкой отражений.
Также есть фичи которые бы я очень хотел сделать, но скорее всего не смогу/не успею/не хватит сил:
- Переписать SDK под Visual Studio .NET. Именно так сделали сами разработчики движка X-Ray когда стал работать над проектом Metro. Если глянете слитый билд Metro 2033, то вы найдете новый Level Editor, и он сделан на C++/CLI. Но масштаб работ огромен. Ведь SDK это: Actor Editor, Shader Editor, Level Editor, Particle Editor. На каждое приложение надо потратить что то около ~ 2 - 5 месяца работы
- Сделать xrRender_R5 на основе DirectX 12 или Vulkan. Это сложнее чем портировать исходники с DirectX 10 до 11, ведь в 12 версии многое отдали на откуп разработчикам. Потребуется написать много синхронизирующего кода. Кроме того только процесс отладки может занять ГОД.
- Более гибкая система стриминга уровня. Необходима для создания единого мира, без всяких переходов, локации и прочего. Я конечно попробую, но я сомневаюсь что у меня получится реализовать
- Подключить PhysX. И не для красивых эффектов (хотя они не помешают). Дело в том, что PhysX - очень эффективно использует ресурсы процессора и видеокарты. Намного эффективнее чем ODE в сталкере.
- Придумать новые интересные мультиплеерные режимы. Была идейка добавить возможность создания кооперативных миссии. Жаль что возможно идеей и останется - ALife как то странно поддерживает сетевую архитектуру X-Ray.
- PBR рендер и материалы. Не ну а че? Исходники открыты, тема интересная... но и чертовски сложная.
По поводу SDK поговорю отдельно. Я бы хотел собрать несколько человек, который помогут мне воплотить в жизнь SDK 2.0. Все кто хочет присоединится к проекту - добавляйтесь в скайп: sergej_1965 .
Требования:
- Знание C#
- Знание С++
Внимание: работа с SDK будет идти отдельно от движка. Т.е. если вы решили присоединится к проекту чтобы получить дорелизную версию движка - все это бесполезно, для SDK я дам лишь некоторые компоненты и все . Не поимите неправильно: в сталкерской среде не слить билд - зря прожил жизнь.
Первая модификация, которая станет использовать новую платформу, будет "Тайна станции Дуга".
Небольшой ЧАВО
- Да ты же бросишь все через неделю! Времени не хватит, энтузиазм кончится через неделю. Проект мёртв!
Ну давайте посмотрим: Я работаю 5/2, выхожу из дома в 9 часов приезжаю только в 22, и тем не менее я нахожу время для разработки движка. Каждый день. Портрование на x64 и некоторые вырезаные фичи я делал уже с таким графиком. Кроме того, у меня очень много незаконченных проектов на Unity. Опыт брошенных проектов и сгоревшего энтузиазма - 3 года. Я кое чему научился, хех.
- Когда релиз?
Не скоро. Ориентировочно весной 2017. Может раньше, может позже. Скриншоты будем выкладывать,
- Ой а сделайте там %CoolFeatureName%
Честно сказать - меня уже закидали огромным количеством хотелок. Хотелок больше чем времени и сил. Поэтому сначала я реализовываю то что я уже написал, потом уже говорим о других фичах.
- А если все таки бросишь?
Выложу то что есть. С исходниками и инструкцией по сборке. Могу еще дать мои заметки и список закладок в Visual Studio.
Скриншоты: