Closed russwest44 closed 5 years ago
We are very interested in porting the older Stalker games (ShoC and Clear Sky), however this is not as easily done as simply loading the resources into the new engine.
A lot of the game is written in LUA scripts, but some (most?) of the gameplay code is integrated with the engine, so we need to ensure the 1.6 version of the engine can link to multiple versions of the game.
There is also the concern over the format of the resources, GSC iterated on these formats and 1.6 may not support the older formats used in the previous games. So backwards compatibility would need to be implemented.
There are probably things I've missed, but that should give you a general idea of the difficulty.
hmmmm, so basically xray would have to include parts of the old build and 1.6? Kinda like using the old engine to handle everything handled by the cpu and stuff, while 1.6 renders it? Forgive me if I'm way off.
No that would mean it's not running in the new engine, that would mean you just ported the render backends from 1.6 to the old engine.
What I mean is linking the xrGame module from the old engines, which should contain most of the gameplay code, in the latest version of the engine. And giving the engine the ability to load older versions of the resource formats.
Do note that I'm oversimplifying the process, nothing is easy in the XRay engine and trying to link older modules into newer versions of the engine will probably result in a lot of issues that need to be fixed. And there will probably be some gameplay code outside of the xrGame module, I don't know if that module covers all of the gameplay code we need to port.
That sounds like a much less complicated way of accomplishing what I was brainstorming there.
It's actually more complicated than just porting the render backends. But by porting the render backends all you're achieving is a bit of a visual upgrade. What we actually want is to have all the games running on the same version of the engine, that way they benefit from all the other extra features added in the newer versions.
This is also necessary to make sure that all previous chapters of Stalker benefit from the clean ups and improvements being made here instead of having the effort split between the different versions of the engine.
That's a great goal, I'm going to compile openxray and start playing around to hopefully learn a thing or two.
You might run into some trouble building it right now, it's a bit complicated and I'm working on improving the process. Use this guide as a starting point: https://github.com/OpenXRay/xray-16/blob/dev/doc/howto/build.txt
And follow these two comments from me: https://github.com/OpenXRay/xray-16/issues/153#issuecomment-273448204
awesome, thank you. Already following but those comments might help if I run in to trouble.
Let me know if you get stuck somewhere and don't feel discouraged if you can't get it working right away.
If you want to help improve the process, this is the PR I'm working on: https://github.com/OpenXRay/xray-16/pull/160
I am so lost still, tons of errors while compiling.
Can you provide your errors here? In a gist maybe.
@russwest44 A couple of projects will never compile right now, but those are not needed to build the xrEngine project.
Also make sure you are on the dev
branch and not on the master
branch.
@Armada651, you said that:
There is also the concern over the format of the resources, GSC iterated on these formats and 1.6 may not support the older formats used in the previous games. So backwards compatibility would need to be implemented.
But maybe it easier to upgrade/patch resources with old format to current using something like external converter?
@iillyyaa2033 If you've built a converter, then you can do the conversion on-the-fly in the engine, meaning you've actually implemented backwards compatibility. I don't see a real advantage to converting them beforehand unless the formats are so significantly different that it becomes a CPU-intensive operation.
Ok, I've understood.
I get like 3 errors in the "root" file of bugtracker. I can't fix the last syntax error and I can't proceed with compiling.
First off, when running xrbinprep, I get this cmd.txt
Syntax errors in BugTrap? Can you post the compiler log?
I will, I'm recreating the project right now and it's taking 10x longer than normal so maybe I did something different. I can only imagine how long it will take to compile.
Never mind, every single step is either an error or warning, sorry for so many comments
Watch for #382 and #392
I'm brand new to this. I have a small amount of C++ experience, mostly in small modifications. I just want to get a general idea of how difficult it would be to modify xray 1.6 to run specifically old engine builds like the one used for OLR. 1.6 is more stable, looks better and seems to perform better in general, so hopefully it is feasible for someone with limited experience.