seedhartha

reone - KotOR engine recreation

Recommended Posts

deadlystream.jpg

Greetings,

I'd like to share with you the project I've been working on since summer 2020. Some of you may already have heard of it, as the development was public from the beginning.

reone is an open source reimplementation of the KotOR engine, similar to xoreos and KotOR.js, but with a number of key differences. It is developed with extensibility in mind, meaning that modding capabilities it aims to provide are on a whole other level compared to the vanilla engine. For example, the graphics have already been significantly improved with the addition of physically based rendering.

Current state of the project is such that the most fundamental engine subsystems are either complete or at least partially implemented, i.e. resource management, rendering, audio, GUI, scripting, conversations, combat and more. Given the current pace of development, I intend to finish the project by the end of 2021. My short term goal is to make the first Endar Spire module fully completable - a milestone, that will hoperfully bring more attention to the engine.

Technologically, reone is a custom engine based on SDL 2 and OpenGL 3.3, written in C++14. This alone makes it highly portable - reone is believed to be working on Windows, Linux and Mac OS.

Some background on myself: I'm a professional software developer from Russia and a prior contibutor to the xoreos project, responsible for most of its recent progress on KotOR.

Links:

GitHub Page

Project Roadmap

YouTube Channel

 

Edited by seedhartha
  • Like 6

Share this post


Link to post
Share on other sites
3 hours ago, seedhartha said:

...the graphics have already been significantly improved with the addition of physically based rendering.

Most impressive! I'll take the initiative for a screenshot taken from the footage giving backing to a better look at it --

Spoiler

reone_PBRHDR_YTSS.thumb.jpg.9ab675cf90c7a50b4de63721659d2ae5.jpg

Don't have any questions regarding the project for now, only to give you my support on this. 🍻 Never thought I'd seen the day that KotOR can finally have dynamic lighting and stuffs -- so cool!

Oh! Actually there's one question -- graphics-wise, will/can you probably add something like post-processing effects with it? I know there's already an external program for that, though maybe you want to add yours that integrated with the engine. 😁

Share this post


Link to post
Share on other sites
Quote

 Oh! Actually there's one question -- graphics-wise, will/can you probably add something like post-processing effects with it? I know there's already an external program for that, though maybe you want to add yours that integrated with the engine. 😁

Since reone already uses multi-pass rendering, there's nothing stopping you from writing a post-processing shader. That's how self-illumination currently works, for example.

  • Like 2

Share this post


Link to post
Share on other sites

@seedhartha Wow this is unbelievable! 

Especially the PBR/HDR effects are truly impressive - those lights reflecting on the ground are giving tons of SW vibes: 

Reone PBR +HDR

Im not familiar how this  works exactly, but is  it  possible to play the game entirely in this engine (later)? And what about advanced texturing mods, which change the nomenclature to create more instances (e.g. TEL_wl01 -> JEL_wl01 etc. ) will  they work with this as well? 

 

Share this post


Link to post
Share on other sites
Quote

Im not familiar how this  works exactly, but is  it  possible to play the game entirely in this engine (later)?

Being able to play the entire game on a modern engine is kind of the whole point 🙂 Since this is essentially a one man project, I cannot promise to make an exact replica in terms of functionality, but it should be reasonably close.

Quote

And what about advanced texturing mods, which change the nomenclature to create more instances (e.g. TEL_wl01 -> JEL_wl01 etc. ) will  they work with this as well? 

Mod support is going to be hit-and-miss, but as a rule of thumb, most of them should work out of the box, as long as they add or modify vanilla assets, and do not fiddle with stuff on a lower level.

Edited by seedhartha

Share this post


Link to post
Share on other sites
20 minutes ago, seedhartha said:

Being able to play the entire game on a modern engine is kind of the whole point 🙂 Since this is essentially a one man project, I cannot promise to make an exact replica in terms of functionality, but it should be resonably close.

Mod support is going to be hit-and-miss, but as a rule of thumb, most of them should work out of the box, as long as they add or modify vanilla assets, and do not fiddle with stuff on a lower level.

That sounds great 😀

What about performance? When i added a lot of cubemap effects & animated textures to my Project its a real hussle even with MDL tweaks to get reasonable fluid FPS..

So out of curiosity, how will the game perform in the new engine? Are there tweaks e.g to increase VRAM  usage etc.?

Also, when giving e.g. Dantooine a facelift, the vanilla grass distance is horribly low. Is it possible now to  increase that distance?

Anyway, keep up the fantastic work!

 

Share this post


Link to post
Share on other sites
1 minute ago, Jorak Uln said:

What about performance? When i added a lot of cubemap effects & animated textures to my Project its a real hussle even with MDL tweaks to get reasonable fluid FPS..

So out of curiosity, how will the game perform in the new engine? Are there tweaks e.g to increase VRAM  usage etc.?

I keep a tab on performance and try to use modern OpenGL functions and optimization techniques whenever it makes sense. As it stands now, reone pushes hundreds of FPS in a typical module on my machine, noticeably more than I have using the vanilla engine. And yet, there are still ample optimization opportunities I can think of. You can expect reone to outperform vanilla, if only due to advancements in OpenGL.

Quote

Also, when giving e.g. Dantooine a facelift, the vanilla grass distance is horribly low. Is it possible now to  increase that distance?

Grass is currently not implemented at all, but I see no reason, why you wouldn't be able to increase the grass distance or crank any other graphical setting up.

  • Thanks 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.