Сообщений: 165
Тем: 14
Зарегистрирован: Feb 2025
Репутация:
0
10-31-2022, 10:51 AM
(Сообщение последний раз редактировалось: 02-16-2025, 12:02 PM Gecko.)
Поторопился я хоронить Xtreme3D для GameMaker Studio! Мне стало так досадно, что движок теперь нельзя использовать в GMS, что я на днях поставил Delphi 10.4 со свежей GLScene и решил посмотреть, насколько реально обновить Xtreme3D. Обнаружил, что основную часть движка можно портировать без существенных переделок, так сказать, полуавтоматическим методом - заменяя отдельные служебные функции и изменившиеся части API. Я пока не уверен на 100%, что получится перенести все мои расширения и дополнительные классы, которых не было в оригинальной GLScene, но вероятнее всего их можно будет реализовать заново, либо как-то адаптировать. Во всяком случае, серьезных препятствий этому я теперь уже не вижу, и потому есть смысл попробовать.
Что это даст:
- Возможность перехода на 64 бита и, следовательно, совместимость с современными версиями GameMaker Studio. Я уже портировал некоторые функции и проверил в GMS2 работоспособность 64-битной версии - она работает.
- Доступ ко всем новым фичам GLScene 2.x (которые я пока детально не изучал - как только сделаю это, отпишусь)
- Возможность писать на современном Delphi и полноценно использовать в движке сторонние библиотеки - в перспективе это поможет реализовать, например, поиск пути, поддержку видео и т.д.
Не могу обещать, что эта задача будет выполнена быстро, и уж точно нет уверенности, что какие-то фичи в процессе не отвалятся, но похоже что все-таки перспективы дальнейшего развития движка теперь есть!
Обновление от 01.11.22: продолжение работы над Xtreme3D 4 пока под вопросом из-за вскрывшихся проблем в коде GLScene.
Обновление от 20.11.22: проблемы решены обновлением GLScene, разработка продолжается.
Обновление от 11.01.23: вышел Xtreme3D 4.0.0 alpha1.
Обновление от 01.08.24: вышел Xtreme3D 4.0.0 alpha2.
Обновление от 06.02.25: вышел Xtreme3D 4.0.0 beta1.
Обновление от 15.02.25: вышел Xtreme3D 4.0.0 beta2.
Сообщений: 165
Тем: 14
Зарегистрирован: Feb 2025
Репутация:
0
Порт будет писаться в два этапа. На первом я перенесу только базовые функции-врапперы, основанные на встроенных классах GLScene, и, видимо, выпущу первую альфа-версию Xtreme3D 4. На втором будут реализованы аналоги тех возможностей, для которых пришлось добавлять новые классы и менять методы встроенных. По итогам второго этапа будет выпущена вторая альфа, на основе которой затем будет подготовлен релиз Xtreme3D 4.0.0. Также на II этапе будет подготовлен биндинг для Python 3.
Если все пройдет успешно, затем выйдет версия 4.1, в которой будут добавлены врапперы некоторых новых классов GLScene 2.
План I этапа:
Engine - изменения в некоторых функциях
Pak - без изменений
Viewer - без изменений, некоторые функции будут добавлены на II этапе
Dummycube - без изменений
Camera - изменения в некоторых функциях
Light - без изменений, система LightFX будет добавлена на II этапе
Font & Text - без изменений, но возможность поддержки Freetype будет рассмотрена на II этапе
Sprite - без изменений
Primitives - без изменений
Actor - без изменений
Freeform - без изменений
Terrain - без изменений
Object - без изменений
Polygon - удаляется
Material - без изменений, кроме системы TextureEx
Shaders - без изменений, поддержка теней и FBO в GLSL-шейдерах будет добавлена на II этапе
ThorFX - без изменений
FireFX - без изменений
Lensflare - без изменений
Skydome - без изменений
Water - без изменений
Blur - без изменений
Skybox - без изменений
Lines - без изменений
Tree - без изменений
Trail - без изменений
Shadowplane - без изменений
Shadowvolume - без изменений
Navigator - без изменений
DCE - без изменений, некоторые функции будут добавлены на II этапе
ODE - без изменений
FPSManager - без изменений
Mirror - без изменений
Partition - без изменений
Proxy & MultiProxy - без изменений
Grid - без изменений
MemoryViewer - без изменений
Movement - без изменений
ObjectHash - без изменений
Window - без изменений
Input - без изменений
Color - без изменений
Pipe - без изменений
Verlet - без изменений
Сообщений: 122
Тем: 23
Зарегистрирован: Jun 2018
Репутация:
0
Отличная новость! Если будет время помогу 
Но сначала надо как то поставить GMS2
Сообщений: 165
Тем: 14
Зарегистрирован: Feb 2025
Репутация:
0
Ой, нет, рано я обрадовался - GLScene оказалась забагованная( Только сделал врапперы Freeform и Actor, как оказалось, что анимированные (и некоторые статичные) форматы при загрузке дают Access Violation. Видимо эти загрузчики никто толком не тестировал все эти годы, и там вкрались регрессионные ошибки. Придется пока отложить этот проект в долгий ящик. Жаль, конечно. Я думал, если вторую версию выпустили, то есть какая-никакая стабильность, а у них там конь не валялся)
Сообщений: 122
Тем: 23
Зарегистрирован: Jun 2018
Репутация:
0
Мдааа, если честно подозревал что будет какой-то подводный камень :/
Поэтому я начал писать с нуля свой
кстати, твой движок на D, больше графический движок, или прям игровой ?
Сообщений: 165
Тем: 14
Зарегистрирован: Feb 2025
Репутация:
0
Разобрался, в чем проблема - оказалось, дело в том, что загрузчики ошибочно вызывают не ту функцию StrToFloatDef для парсинга чисел, которая в русской локали по умолчанию использует запятую как разделитель вместо точки. Разрабы проблему уже заметили, вроде чинят. Так и знал, что причина какая-то простая, но не очевидная :/
Цитата:кстати, твой движок на D, больше графический движок, или прям игровой ?
Пока больше графический, в основном коде только рендер, а все остальное (физика, GUI) подключается в виде расширений.
Сообщений: 165
Тем: 14
Зарегистрирован: Feb 2025
Репутация:
0
Привет форумчанам, всех с наступившим Новым годом!
На праздниках было время заняться этим проектом - и вот, выпускаю, как и обещал, первую альфа-версию Xtreme3D v4 для 64-битного GameMaker Studio 2:
Релиз на GitHub
Реализована вся функциональность из v3, кроме следующей:
- Система TextureEx для материалов
- Система освещения LightFX
- Теневые карты ShadowMap
- Объекты HUDShape
- Объекты шрифтов TTFont
- Поддержка индивидуальной анимации для объектов ActorProxy
- Линейные волны для объектов Water
- Некоторые дополнительные функции Viewer
- Некоторые дополнительные функции спрайтов
- Некоторые дополнительные функции DCE и ODE
- Загрузчики форматов ASE, DXS, FBX, MTS, Х
- Физический движок Kraft.
Сообщений: 11
Тем: 5
Зарегистрирован: Jan 2023
Репутация:
0
Gecko Написал:Привет форумчанам, всех с наступившим Новым годом!
На праздниках было время заняться этим проектом - и вот, выпускаю, как и обещал, первую альфа-версию Xtreme3D v4 для 64-битного GameMaker Studio 2:
Релиз на GitHub
Реализована вся функциональность из v3, кроме следующей:
- Система TextureEx для материалов
- Система освещения LightFX
- Теневые карты ShadowMap
- Объекты HUDShape
- Объекты шрифтов TTFont
- Поддержка индивидуальной анимации для объектов ActorProxy
- Линейные волны для объектов Water
- Некоторые дополнительные функции Viewer
- Некоторые дополнительные функции спрайтов
- Некоторые дополнительные функции DCE и ODE
- Загрузчики форматов ASE, DXS, FBX, MTS, Х
- Физический движок Kraft.
Отличные новости!
Сообщений: 9
Тем: 2
Зарегистрирован: Jun 2018
Репутация:
0
А есть сподвижки с биндингом к С++?
Хочу свой движок перенести на рельсы Xtreme3D, а то курочить свой как-то уж слишком тяжко в плане графических возможностей.
Сообщений: 11
Тем: 5
Зарегистрирован: Jan 2023
Репутация:
0
Баг нашёл давно, но чёт решил ток щас написать. При включении демки, которая идёт с альфой, экран х3д на секунду появляется, а затем исчезает. Вот как это выглядит - https://www.youtube.com/watch?v=UXoBvNRYZQc. Возможно ли это исправить, и если да, то как?
|