The Witcher 1 Aurora Engine Open Source Project

+
The Witcher 1 Aurora Engine Open Source Project

Hi ! i discovered a new community project to create an open source version of the Aurora Engine based on the ressources of these games :

Neverwinter Nights
Neverwinter Nights 2
Knights of the Old Republic
Knights of the Old Republic II: The Sith Lords
Jade Empire
Sonic Chronicles: The Dark Brotherhood
The Witcher
Dragon Age: Origins
Dragon Age II


it's a very interesting project , specialy for people who really like the render of the aurora engine , the project is Xoreos.

There is the Git repo : https://github.com/xoreos/xoreos
and the official website : https://xoreos.org/

if you are a programer and an aurora engine fan you can help the people who are working on it with some code.
cordially
 
KOTOR 1/2 were running on Odyssey which is based on a heavily modified ID Tech 3 (Quake 3) engine, so does Jade Empire.
All of those games pretty much use different engines and more importantly completely different tool set which means that even their base assets are incompatible, they are using completely different scripting engines etc.

A valiant effort but it will never be anything more than a model viewer and a poor one at that, it can extract basic graphic assets and display them actual game play, not with a single engine, unless he wants to write 10 different game engines all using the same render.

But GL to him.
 
KOTOR 1/2 were running on Odyssey which is based on a heavily modified ID Tech 3 (Quake 3) engine, so does Jade Empire.

Nope, you're thinking of the Jedi Knight games. Those used a modified Quake 3 engine. KotOR/KotOR2 and Jade Empire use a modified Aurora engine. :)

All of those games pretty much use different engines and more importantly completely different tool set which means that even their base assets are incompatible

I can happily say that the base assets are very compatible. Have a look at the screenshots page on our homepage (*). These are not just plain models, but ingame areas, stitched together from several models, with in-game interactive objects added on top.

(*) Which I can't link to here right now, having under 10 posts.

The underpinnings are all very similar. GFF and 2DA providing much of the game data, glued together with NWScript. But yes, there is of course also a lot of changes in-between. I am very aware that it's a lot of work regardless.

You're free to look at the xoreos source if you don't believe me.

they are using completely different scripting engines etc.

Nope, it's all NWScript. I already have NWScript hooked up to NWN1, NWN2, KotOR, KotOR2 and The Witcher, and it's all working swimmingly (of course, a lot of the engine functions, about 700-1000 for each game, but with many duplicates, are still not implemented). Jade Empire also has a partially working script system hooked up a currently unmerged branch.

The Witcher, however, also adds Lua scripts. From what I see, the main spawn point seems to be from an NWScript function, RunClientLua(). If I'm lucky, that's the only Lua entry point; that would make it quite a bit easier to handle. That's still on the TODO list, though, because The Witcher only comes with compiled Lua bytecode that's pinned to one CPU architecture. Needs some messing about to untangle.

In either case, we are of course always looking for new devs to join the fun. There's a rambly TODO page on our wiki, linked on the left-side navigation bar on the homepage. :)
 
I wonder... can it be used to extract entire maps from Witcher 1? If it can, we can use it to recreate Witcher 1 on RedEngine! :D

If I remember correctly, developers stated they wouldn't remake Witcher 1 themselves, but if modders want to do it, they are OK with it.
 
Last edited:
@thewarsend: RedEngine itself is not open source and not even currently cross platform, so benefit of such implementation would be moot. Community developers have no control over it.
 
@Gilrond-i-Virdan : What do you mean exactly? It doesn't need to be cross platform (99% of all mods are made for PC anyway) and since RedKit was released it can be done. It can be a mod for Witcher 2 or maybe for Witcher 3.
 
I wonder... can it be used to extract entire maps from Witcher 1?

Yes and no. And depends on what you mean by "map". An area? The geometry within the area?

xoreos itself doesn't have any "export this area" functionality. But, the sources contain information how many of the features of an area are stored, and so you could write an "area exporter" of sorts with this information. And the xoreos-tools package has a few tools to manually extract basic files.

However, most of this information has been known already by the modding community. And most of the area description is within GFFs (that can be made human-readable) and text files anyway, so that was easy to figure out.

As for the geometry, the models...there's also already a 3DS Max importer for the model format, that could be used. It's missing some features, but xoreos doesn't handle these yet either, because they depend on shaders. So, again, it's not a quick-and-easy "export this!".

Also, remaking The Witcher 1 would also mean rewriting all the scripts. Which are written in both NWScript, and Lua. Both mostly only in compiled bytecode, so you can't easily figure out what they do. This is a lot of work.

(I am, currently, writing a decompiler of sorts of NWScript. It can already disassembly them, create a control graph (also plottable into a picture using graphviz), and analyze the stack to figure out types and subroutine parameters. Anybody interested in helping me create a more functional decompiler ontop of that, please contact me! Variable names are lost in the compilation process, though, so while this would make figuring out what the scripts do easier, it'd still be no walk in the park. And my personal focus is not about rewriting the scripts at all.)

Also also, what Gilrond-i-Virdan said. Me, I don't care about RedEngine at all.

It doesn't need to be cross platform

Yeah, screw nonportability. I'm all about portability and free software zealottery. :)
Also, I'm one of those people who don't like it when people say "PC" when they mean "Windows". And I'm also one of those people who say "GNU/Linux". :p

EDIT: Also, I'm cleary one of those people who can't properly use this forums. :)
 
@DrMcCoy : Well, you don't need to rewrite all of the scripts, most scripts are already there. (most of the features/game mechanics you need for a Witcher game are already there, they are even better than their Witcher 1 counterpart, monsters, alchemy, signs etc..) You would just need to rewrite quests and cutscenes, don't get me wrong, it is no easy task, but at least it can be done if the maps are already there. Also, monster models, weapon models and character models (at least faces) are already there. (rest you can recreate with a texture job. It wouldn't be perfect, but at least close enough.) If we could port maps from Witcher 1 to RedKit, rest could be done little by little. Better and improved. (heck, if someone managed to do it, I am sure even CDPRed would lend support. it is their creation after all.)

Also, it is not about RedEngine per se, but seeing an updated version of Witcher 1. Aurora engine is a bit limited, just imagine the possibilities.

NOTE: By the way, it is not your fault, forums acting a bit strange today. Also, when I say PC, I mean PC.
 
Last edited:
@Gilrond-i-Virdan : What do you mean exactly? It doesn't need to be cross platform.

One of the benefits of an open source engine that it can to be made cross platform. I don't care about mods which I can't access (as a Linux user). On the other hand, projects like Xoreos (or let's say OpenMW) could allow accessing those games on Linux natively.
 
One of the benefits of an open source engine that it can to be made cross platform. I don't care about mods which I can't access (as a Linux user). On the other hand, projects like Xoreos (or let's say OpenMW) could allow accessing those games on Linux natively.

Witcher 2 and 3 work with Linux, does it not? Mods that are made for them can be made to work as well.

Also, even if that wasn't the case, just because you don't "care" about it, it mean we shouldn't be able to have it? It doesn't even effect you either way.
 
Witcher 2 and 3 work with Linux, does it not? Mods that are made for them can be made to work as well.

Also, even if that wasn't the case, just because you don't "care" about it, it mean we shouldn't be able to have it? It doesn't even effect you either way.

Witcher 2 which uses REDengine 2 was never ported to Linux properly, i.e. it's either playable in Wine or eON wrapper that VirtualProgramming created for it. And REDkit wasn't even ported by them, so REDkit doesn't work with the Linux version of TW2 (I never tried in Wine though). Situation with REDengine 3 is even worse - it was never ported to Linux. Supposedly they were planning to do it (or were working on it), but nothing came out so far.

My point was about what's worthy of community effort and time. Making open cross platform engine is a good task. Redoing something in unportable one - I'd say not. But of course you are free to do whatever you want with it.
 
Last edited:
Witcher 2 which uses REDengine 2 was never ported to Linux properly, i.e. it's either playable in Wine or eON wrapper that VirtualProgramming created for it. And REDkit wasn't even ported by them, so REDkit doesn't work with the Linux version of TW2 (I never tried in Wine though). Situation with REDengine 3 is even worse - it was never ported to Linux. Supposedly they were planning to do it (or were working on it), but nothing came out so far.

My point was about what's worthy of community effort and time. Making open cross platform engine is a good task. Redoing something in unportable one - I'd say not. But of course you are free to do whatever you want with it.

So... it shouldn't happen because YOU can't play it on Linux without using additional software.. Well, you can't play TW2 or TW3 either, so they shouldn't have made those games in the first place then... What logic..

I am all for Linux support, I hope someday they will get around to implement that, but Linux users are a tiny minority, seriously, making decisions about something like this based on if there is Linux support or not is just plain ridiculous.. Like I have said, it doesn't effect you either way. Oh, by the way, I don't think you would require RedKit for playing a mod.. (unless you are going to do the mod yourself, it would be pointless to install it.) Just install the mod and use whatever software you are using to run the game. That's it.
 
it shouldn't happen because YOU can't play it

I said I don't consider it worthy of community effort. But if someone thinks it's worthy - they can as well do it.

but Linux users are a tiny minority, seriously, making decisions about something like this based on if there is Linux support or not is just plain ridiculous..

No, it's not ridiculous, because it excludes part of the community. And exclusivity isn't a good thing.

I don't think you would require RedKit for playing a mod.. (unless you are going to do the mod yourself, it would be pointless to install it.) Just install the mod and use whatever software you are using to run the game. That's it.

To run mods created with RedKit one requires additional / modified binaries. They don't work with stock TW2 game. And such ones were never enabled for Linux as VirtualProgramming and CDPR confirmed.

Of course CDPR can help the community and for example open source REDengine 2 and RedKit. That would be truly useful and would allow community to port them. Quite a number of companies did such thing in the past (i.e. opened their old engines).
 
Last edited:
Yea, Linux is a pretty tiny minority. Simple fact is, tiny minorities rarely see as much option as any majority. That's how it works.

Witcher 1 doesn't work on Linux, but it does on PC. Either way, people with consoles can't play it and even if people with consoles could play it, people with mobile devices couldn't. Even if mobile could, Atari 2600 couldn't. Or whatever.

There is always a line where a developer doesn't see a market. CDPR doesn't see open source as really part of their plan, obviously.

If you insist on confining yourself to a small part of the market, you're not going to get what you want very often. Kind of a condition of the choice.

Sort of like when my Mum refuses to even try video games. Sure, she can watch TV or play Scrabble, but Witcher 3 just isn't coming to her media anytime soon.
 
Simple fact is, tiny minorities rarely see as much option as any majority. That's how it works.

To put it back in context - @thewarsend above proposed a project for community to reimplement Witcher 1 using REDengine 2 (or even 3?). And I answered to that, that such a humongous effort that won't produce a cross platform result would be a bad application of community resources, and it's better to apply them to developing cross platform solutions, like Xoreos above.

CDPR doesn't see open source as really part of their plan, obviously.

That's the catch - I'm not sure if it's obvious. REDengine 2 is already old iteration, and it's not used anymore in their current games. So what exactly would be the problem for them to open it? id Software did that for a number of their past engines just fine.

Just to be clear, I'm not talking about the case of opening their current engine, which by the way could be also OK, unless they want to make money on the engine like Unity or Unreal do. But I'm talking about the older one.
 
Last edited:
If we could port maps from Witcher 1 to RedKit, rest could be done little by little.

Frankly, I personally would rather see a FLOSS reimplementation of the Aurora engine. Which is why I'm doing xoreos, after all. But I also don't really care that much for the Witcher games to begin wiith. YMMV. You are, of course, free to use any of the xoreos-tools, or any of the xoreos sources for your goal, as long as you mind the GPLv3 license (*). :)

(*) Basically, if you modify xoreos or the xoreos-tools, or create what could be called a "derivative work", the result needs to stay GPL'd, and full corresponding sources need to be made available, so that the community as a whole can benefit.

Also, me being one of those GNU/Linux using people as well, I obviously can't help you with this effort, nor do I really care to.
 
Top Bottom