Greetings.
I never really post any dev news because I work quite chaotically, I have more than a dozen things going at any given time and I switch between them based on personal conditions. But I've just been "interviewed" about it by Max98 on Discord and with his permission, I'm reposting the chat here because the info may interest others as well.
Max98 — 02/18/2022
I’ve lost track of ror’s dev, what’s the priority? What is being worked on?
only_a_ptr — 02/18/2022
Zentro+tritonas00 are hard at work with https://github.com/RigsOfRods/rigs-of-rods/pull/2850, I'm just slumping
Max98 — 02/18/2022
Interesting
That’s quite a thing tbh
only_a_ptr — 02/18/2022
Sure is, and they did it almost without me
theyre CURL experts by now
my priority, uhh.... fixing Unicode on Windows. I fixed almost everything but somebody always complains
Max98 — 02/18/2022
Yeah, you can’t make everyone happy lol
I’ll dive back into the source code after nodesnap 2
Oh and by the way, it uses rust
only_a_ptr — 02/18/2022
that doesnt bother me, but theres something Unicode-wrong lurking somewhere, possibly in the deps. OGRE is already fine but PagedGeometry, Hydrax, Caelum are still suspect
Max98 — 02/18/2022
I have something else to ask
Don’t you think it’s wise to make a new ror?
‘Make’ as clean up the current source, remove anything irrelevant
Make sure everything is good
And new start
only_a_ptr — Yesterday at 11:38 AM
I'm glad you ask that, it comes to mind of every programmer.
The answer would be: absolutely not. Not because RoR would already be up to some standard, but because such efforts are known to be more harm than good.
First, many devs in history gave in to the urge to "rewrite from scratch". It always ends either poorly or not better than the original. Very good read on that: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Second, there's my personal experience with the approach of "I'll just write a new parser + spawner, the old stuff is mixed and messy". I failed miserably at that and the git history documents that clearly... in 2013 I piled a lot of crap and then spent years iteratively removing it, and the WIP https://github.com/RigsOfRods/rigs-of-rods/pull/2829 concludes that.
I'm already doing a cleaning up as you describe - I remove anything that isn't actively being executed, even if it's just a GetValue() type function.
I'm firmly convinced that in software, only one thing matters - user satisfaction. Even hacky and buggy code can make users a lot happier than clean stable code. It's not my original idea - I learned it working here. Nobody ever appreciated my sweaty big internal refactors and hailed Ulteq's simple hacks providing new gameplay feat. I grumbled over it until I realized the problem is entirely in my head - the computer doesn't give a damn, and code isn't really any less stable or harder to work with - it just feels that way. Feelings are misleading.
only_a_ptr — Yesterday at 12:14 PM
(ad 'New Start')Already hapenned, actually. We have new domain, new website, main menu, settings/controls UIs, MP lobby and overall consistent and clean UI (no offense
). Now the guys did the Repo UI and they won't stop there. After years of decline when I did nothing but to fight my own parser mistakes, we're on a slow but steady rise.
only_a_ptr — Yesterday at 12:31 PM
Oh right and after suggestion by AnotherFoxGuy we changed the version scheme. That's pretty much a moment when we cut the ribbon to open a new era.
Max98 — Yesterday at 8:35 PM
Alrighty
I'm just waiting for the anglescript scripting per truck and the 'slot' system
that will open a hell of a lot of doors to modding
By the way, about the GUI
Don't you think it's wise to remove everything associated with ogre mygui, and just use cef and imgui?
cef for the main stuff and imgui for the rest
That will make it much easier to design the UI, also opens a lot of ideas to be made
It may seem like i'm saying stuff that are done in beamng, but it's just the way to do it
90% of games now just use cef
2/ What about OIS
That was a problem when compiling in MacOS
Since it is not supported anymore and no versions recent enough works with macos
3/ Graphics
Any news about that?
I don't think we need 'wow' ish graphics but something more modern and eye candy will do
Is there anyone on the team that's good with shaders and stuff?
(ofc, using ogre)
only_a_ptr — Today at 11:13 AM
"angelscripting per truck" - that can be coded in 10 minutes, just extend https://github.com/RigsOfRods/rigs-of-rods/pull/2840 a little - put new field 'TRUCK' to https://github.com/RigsOfRods/rigs-of-rods/blob/master/source/main/scripting/ScriptEngine.h#L43-L48 and add some hook to truck file format which will call loadScript() - but with current API, there wouldn't be much to do with that. What feature specifically are you looking for?
only_a_ptr — Today at 11:16 AM
"GUI" - I'm on that, MyGUI is only around for the new truck HUD and I'm remaking that: https://github.com/RigsOfRods/rigs-of-rods/pull/2764
only_a_ptr — Today at 11:24 AM
"CEF" - I hate the idea, I have no technical arguments but it feels lame and tasteless to apply such a complex solution on a trivial problem such is a game UI. Especially with DearIMGUI around and it's bindings to AngelScript - you can draw GUI as well as diagnostic overlays with it. Feel free to debate this on the forum, but until there is actuall demand and vision from the modding community, I'm against CEF
"OIS" - yes that's a showstopper for Mac* support, and I intend to replace it with SDL2 which has exellent Mac* support afaik. But it's not a pressing issue
only_a_ptr — Today at 11:42 AM
"shaders and stuff" - THAT is the question
I dunno but if there is, they make good job of hiding. Honestly at this point I'm just waiting for the community to stop being lazy and actually research what OGRE can do, because we're not even using 50% of it's capabilities. Sure, I haven't done much to improve this situation but I'm still just one guy without modding background. All questions that ever come up are irritatingly shallow like "why not 10% cooler" - I can't work with that. I'm being serious - the only thing holding our graphics down are assets
I never really post any dev news because I work quite chaotically, I have more than a dozen things going at any given time and I switch between them based on personal conditions. But I've just been "interviewed" about it by Max98 on Discord and with his permission, I'm reposting the chat here because the info may interest others as well.
Max98 — 02/18/2022
I’ve lost track of ror’s dev, what’s the priority? What is being worked on?
only_a_ptr — 02/18/2022
Zentro+tritonas00 are hard at work with https://github.com/RigsOfRods/rigs-of-rods/pull/2850, I'm just slumping
Max98 — 02/18/2022
Interesting
That’s quite a thing tbh
only_a_ptr — 02/18/2022
Sure is, and they did it almost without me
theyre CURL experts by now
my priority, uhh.... fixing Unicode on Windows. I fixed almost everything but somebody always complains
Max98 — 02/18/2022
Yeah, you can’t make everyone happy lol
I’ll dive back into the source code after nodesnap 2
Oh and by the way, it uses rust
only_a_ptr — 02/18/2022
that doesnt bother me, but theres something Unicode-wrong lurking somewhere, possibly in the deps. OGRE is already fine but PagedGeometry, Hydrax, Caelum are still suspect
Max98 — 02/18/2022
I have something else to ask
Don’t you think it’s wise to make a new ror?
‘Make’ as clean up the current source, remove anything irrelevant
Make sure everything is good
And new start
only_a_ptr — Yesterday at 11:38 AM
I'm glad you ask that, it comes to mind of every programmer.
The answer would be: absolutely not. Not because RoR would already be up to some standard, but because such efforts are known to be more harm than good.
First, many devs in history gave in to the urge to "rewrite from scratch". It always ends either poorly or not better than the original. Very good read on that: https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
Second, there's my personal experience with the approach of "I'll just write a new parser + spawner, the old stuff is mixed and messy". I failed miserably at that and the git history documents that clearly... in 2013 I piled a lot of crap and then spent years iteratively removing it, and the WIP https://github.com/RigsOfRods/rigs-of-rods/pull/2829 concludes that.
I'm already doing a cleaning up as you describe - I remove anything that isn't actively being executed, even if it's just a GetValue() type function.
I'm firmly convinced that in software, only one thing matters - user satisfaction. Even hacky and buggy code can make users a lot happier than clean stable code. It's not my original idea - I learned it working here. Nobody ever appreciated my sweaty big internal refactors and hailed Ulteq's simple hacks providing new gameplay feat. I grumbled over it until I realized the problem is entirely in my head - the computer doesn't give a damn, and code isn't really any less stable or harder to work with - it just feels that way. Feelings are misleading.
only_a_ptr — Yesterday at 12:14 PM
(ad 'New Start')Already hapenned, actually. We have new domain, new website, main menu, settings/controls UIs, MP lobby and overall consistent and clean UI (no offense

only_a_ptr — Yesterday at 12:31 PM
Oh right and after suggestion by AnotherFoxGuy we changed the version scheme. That's pretty much a moment when we cut the ribbon to open a new era.
Max98 — Yesterday at 8:35 PM
Alrighty
I'm just waiting for the anglescript scripting per truck and the 'slot' system
that will open a hell of a lot of doors to modding
By the way, about the GUI
Don't you think it's wise to remove everything associated with ogre mygui, and just use cef and imgui?
cef for the main stuff and imgui for the rest
That will make it much easier to design the UI, also opens a lot of ideas to be made
It may seem like i'm saying stuff that are done in beamng, but it's just the way to do it
90% of games now just use cef
2/ What about OIS
That was a problem when compiling in MacOS
Since it is not supported anymore and no versions recent enough works with macos
3/ Graphics
Any news about that?
I don't think we need 'wow' ish graphics but something more modern and eye candy will do
Is there anyone on the team that's good with shaders and stuff?
(ofc, using ogre)
only_a_ptr — Today at 11:13 AM
"angelscripting per truck" - that can be coded in 10 minutes, just extend https://github.com/RigsOfRods/rigs-of-rods/pull/2840 a little - put new field 'TRUCK' to https://github.com/RigsOfRods/rigs-of-rods/blob/master/source/main/scripting/ScriptEngine.h#L43-L48 and add some hook to truck file format which will call loadScript() - but with current API, there wouldn't be much to do with that. What feature specifically are you looking for?
only_a_ptr — Today at 11:16 AM
"GUI" - I'm on that, MyGUI is only around for the new truck HUD and I'm remaking that: https://github.com/RigsOfRods/rigs-of-rods/pull/2764
only_a_ptr — Today at 11:24 AM
"CEF" - I hate the idea, I have no technical arguments but it feels lame and tasteless to apply such a complex solution on a trivial problem such is a game UI. Especially with DearIMGUI around and it's bindings to AngelScript - you can draw GUI as well as diagnostic overlays with it. Feel free to debate this on the forum, but until there is actuall demand and vision from the modding community, I'm against CEF
"OIS" - yes that's a showstopper for Mac* support, and I intend to replace it with SDL2 which has exellent Mac* support afaik. But it's not a pressing issue
only_a_ptr — Today at 11:42 AM
"shaders and stuff" - THAT is the question



Last edited: