Topic: Modding limitations?  (Read 7508 times)


Sloomingbla

« on: August 15, 2020, 05:56:33 PM »
Hey guys, newbie to modding here. I figured out about the mods for this game and jumped with excitement, before realizing the limitations.

I wanted to know, what is it that stops people from creating their own custom creatures, cultures, in game balance and the like? Is it entirely hidden to the users, and if so what could possibly make it so hidden? Encryption? Are there legal issues with trying to break past this barrier? Is it a request from Sami or Enormous elk?

If it has been explained in the past, please link me to the thread that explains it if you could. Because I love this game.. and as an amateur game dev, I would love to expand upon the modding community :).

Teellox

« Reply #1 on: August 16, 2020, 08:30:34 AM »
Hey Sloomingbla! Welcome to the forums!

In my experience with decompiling URW and modding in general, Sami has been super supportive and chill. When I did a deep-dive to find out how missile dynamics worked the other month, Sami was 100% cool with me posting my findings, which I'm very grateful for.

Quote
I wanted to know, what is it that stops people from creating their own custom creatures, cultures, in game balance and the like? Is it entirely hidden to the users, and if so what could possibly make it so hidden?

URW has a famously long development history, and is written in C/C++. The code has evolved over time, and you can see this in things like the item and recipe definitions, which can be easily modded. However many aspects of the game are still hard-coded in, with cultures and animals being part of this. Modifying those is hard, not because of any intentional efforts to make it hard, but just because that would normally be done in source code, rather than in configuration.

Being in C/C++ has an extra layer of challenge, as it doesn't decompile anywhere near as easy as, say, C#, which is what Unity games are written in. Modifying code for something like Rimworld of Kerbal Space Program is relatively straightforward, not only because the decompiler preserves most or all of the original names, but also because tools like Harmony exist to make the process easier.

Having said that, it doesn't mean that more advanced mods to URW can't be done, just that they're not going to be as straightforward as you might expect. NIght's Character Menu, for example, has identified a lot of values in the internal data structures, for example.

If you are looking at making binary edits or using code injection, do check in with Sami first. Not only is it polite, he's also genuinely lovely. :)

~ T

Sloomingbla

« Reply #2 on: August 21, 2020, 07:59:43 PM »
Thank you Teellox for such a detailed response!

Well, that does explain it then. I wasn't aware of the difficulty in decompiling c++ in of itself - I haven't experimented much with decompiling before however... not that I wasn't willing to learn!

I suppose the only reasonable way would be for Sami to either manually add in modding support to those other things, or to make the game open source, but I'm unsure of if I could feel good about asking, let alone expecting a developer to release the source code to a game he's spent so much of his life creating, lol.  :-X

Fun to dream of the possibilities though. I think I'll make a thread of the mods we would create if we could  ;D

Teellox

« Reply #3 on: August 22, 2020, 06:52:46 AM »
Quote
I suppose the only reasonable way would be...

There's is a delightfully long history of people going to unreasonably long lengths to mod games, though. Dwarf Fortress isn't open source, isn't compiled to an Intermediate Language that decompiles nicely, and only 'officially' has support for modifying data files, yet DFHack has managed to shim in an entire Ruby interpreter, and a huge number of extra features and bugfixes, so nothing is impossible. :)


Tinker

« Reply #4 on: August 22, 2020, 11:23:21 AM »
As you claim to be a game dev, then the easiest course to get the game you want is to create your own. With unity, godot or even unreal engine available for free you can make your own open or closed source game fairly quickly, one person could have a proof of concept game within a month and an alpha test version within a year.

If you are young enough to want to work in game dev then you would also have something to add to a CV. I am well past have to work but I am creating my own version of urw, with a different name, not in Finland and using nothing from the urw code or assets, just for the pleasure of doing it and playing it. I am not even sure if I will release it, maybe the source will be open on gitlab, but maybe it will never get finished as I have so many other projects on the go.

Sloomingbla

« Reply #5 on: August 22, 2020, 06:54:39 PM »
Ah, making games for the fun of it is surely the way to go.

I’d love to be the person to go to unreasonably long lengths to decompile the code, but surely the time it would take would be incredibly long for an amateur like myself.

I am in the process of creating a survival game of my own, but entirely different in concept and theory than this one.. and unfortunately it will have to stay that way for my targeted audience. Unreal world may be one incredible piece of art, and for what it’s intended to be it does well, but it is also quite niche.

Creating a modified copy of a game that currently exists also goes against my developmental agenda, though to each their own. I’d prefer to find my own niche, if anything :)