Research tree modding, and some other modding questions

I was trying to make some mods involving the research tree, adding some new research projects or splitting some of them.

However, I’m not sure what’s the reason behind it, but I couldn’t manage to do so. I think it’s because the game needs the graphics for these new research projects, which obviously are not included in the game files, so, i was wondering a few questions.

1.- Is it possible to add new content to the game? Graphics, 3D models, and all that kind of stuff. By now, all mods I’ve seen reuse already existing graphics or doesn’t need any graphics.

2.- Is it possible to add new machines? I tried to “clone” a machine with improved stats but at a higher cost, but it didn’t show up in the building menu. Not sure about if I did something wrong.

3.- Would it be possible some kind of “intelligent patching”? For example, if I want to overwrite some strings and add some new ones to the strings_en.data file, in my mod folder i’ll create a strings_en.data file and create on it the new strings and the ones I want to overwrite, instead of a copy of the original file with the strings i want to add. I don’t think it would be that difficult to implement, the game should load all the original files, and then, incorporate or overwrite to the loaded data the info on the mod folder. This could make mods compatible with any future update of the game, because mods won’t need to be updated in order to incorporate new data from game updates.

All sensible stuff. Maybe a modding forum would be an idea if they want to encourage that. Cliff?

Isn’t that how “strings_en.data” works in a MOD? Pretty sure Tim’s VLOG on MODs pointed out that" strings_en.data" is different from how other files are treated in a MOD (other files completely overwrite their counterpart in default directory - or cause it to be ignored, I guess is better way to put it).

See some of the MODs Tim posted (like “Free Belts”) - you should see that only the few lines in the strings_en.data" file were added, but the remaining from the default game directory are still used.

As far Research Tree, I’ve had no luck w/ adding machines anywhere in game, Research Tree or elsewhere. In fact the only thing I’ve learned to add is Cures and Cure Trees (I didn’t do it , but watched Tim’s vid and used Jackeea’s Mod).
I can modify a machine, of course, but have tgo use existing name (internally in the code) and an existing image.
I’ve moved stuff in Research Tree graphics and changed the Unlock order . maybe will post a MOD as an example later.

I checked out that mod adding more cures and cure trees, and it uses the whole strings_en.data.
However, like you said, official mods only have the strings needed or replaced. I’ll try to add some cures on a mod not using the original files involved.

Seems like anything requiring some kind of new graphic won’t work by now, but that thing about “cloning” machines and not showing up in the building menu, probably it’s because the building menu structure is fixed.

I tried to do the inverse, to delete a machine, and the game couldn’t load the mod. Same happened when I deleted a research project from the research.data file, and when I deleted a whole cures tree, and even when I deleted one single cure. It seems like there is some kind of checklist to chek if there’s something missing.

You may know this, but in the scenarios.data file … under a Scenario Line, the entry “gameSettings”:{ “disabledResearch”:[ “research_XXX” ] }
will hide XXX from the Research Tab and the Production Menu for all Challenges in that Scenario line.
In a sense, “deleting” it for those Challenges.

(‘XXX’ matching a real research item, e.g. for Dissolver “research_dissolver”, of course)

Just out of curiosity - does that mean it’s not possible to disable research on a per-challenge basis? Only a per-scenario (5 challenges) basis?

Yes, that’s the basis for the non-patents mod.

About enzymus question, it does not seem like that… Settings are grouped with the scenario data, not with the challenge data. I’ll try to do that, but I’m not sure about the result.

Tried putting “disabledResearch” down into each Challenge. MOD was discarded and “basic” game loaded. Doesn’t mean I didn’t make an error in
the file, but I think those changes are only on a per-Scenario basis. There are other things (like “Map Size” and “Starting Cash” ) that show in
Scenario menu (not the Challenge description), so they probably can only be changed in Scenarios.

The “5 challenges in each scenario set up” appears to just be chosen for the basic(non-MOD game). Looking at the “PlayTheSplashScreen” MOD,
for example, can show less that 5 Challenges in a single Scenario line.

I think everything that has been said here is correct. I can definitely confirm that strings-en.data is cleverer than the other files. You need only include the strings that are new or overwritten. All of the vanilla strings are included by default.

Yes, unfortunately all the graphics are fixed. If I was starting the game’s architecture again, I would certainly design things to be easier to mod. Something to look forward to in the next game eh?

It’s definitely possible to add research as I’ve done a successful test at my end. If it’s an unrecognised project then the graphic defaults to a question mark.

I would say the main moddable elements are:

  • Cures
  • Machine process costs, times and concentration changes
  • Scenarios
  • AI
  • Research

I know this is not everything but hopefully it still gives you good scope for sculpting your own version of the game. :slight_smile:

A definite goal for version 2. :wink:

Definitely; the machines are the most important part of the game and unfortunately modability without them is going to be severely curtailed.

And Paint Cost!! We now can have Zero Cost paint!!! :slight_smile:

aside - the 5x speed option and the auto-save in the new release are GREAT additions!

Well, I’ve shown you can use existing graphics on a “modified” machine.

Has anyone tried creating an entirely “new” machine and re-use existing graphics? Tim said above " definitely possible to add research". Maybe try adding a Research Item in “research.data”, add it to the “equipment.data” file (re-using existing sprite/animation files), tie it up w/ entries in “strings-en.data”?
Not sure (if that even works) if the menus, in Production tab, would pick it up - how does it determine what is “Basic, Advanced, Auxiliary, or Maker”?

That’s the big point. On the “moddable files”, there’s no way to specify that, so trying to “clonate” a machine will result on a failure, because even if there exists a research to unlock that machine, there will be no place at the building menu where to find it, because it seems to be fixed somewhere not in the “moddable files”.

PS: setting up entries at “strings_en.data” is not necessary for things to work. It’ll show text placeholders, so if you’re going to make some tests, you can save some time not creating the strings file.

Yes you are right, you cannot change the in-game menus. I could possibly expose this if there is high demand. It would have to have some strict limits on numbers to stop it messing up the entire GUI.

I think you shouldn’t really impose limits at all, after all mods are meant to break the game and make it do things the developer did not think of. By imposing limits on what can be done and can’t be done it reduces the moddability of the game. The more free modders are, the more whack things you will see done (just look at Skyrim)

Generally agreed. Ideally what the game would have would be an API that a simple scripting language (LUA is typically populate, but there are others), could then be used to modify the game.

As it stands the game has extremely limited modibility, we can only set values in JSON files, we can’t create any new logic.

Interesting. What about ingredients? Are they fixed? What if one would mod more cure trees then there are ingredients? Does the game just create additional ingredients with the new effects, using old art? To which extend are effects and ingredients randomized?

Btw I’ve added a new moddable file called gui.data in one of the updates. You can now added additional machines to the menus. Of course you still can’t update the graphics but you could have, say, an Agglomerator 2.0 which changes the concentration by 5 instead of 3.

Here’s what it looks like:

{
	"basic":["dissolver","evaporator","ioniser","agglomerator","autoclave","cooler"],
	"advanced":["chromatograph","uv_curer","sequencer","hadron"],
	"auxiliary":["fixed_belt","incinerator","multimixer","shaker","packer","centrifuge"],
	"makers":["pill_maker","cream_maker","sachet_maker","syringe_maker"]
}

All you need to do is add a new machine to equipment.data and then include that name in one of these lists. Of course to be able to research it you’ll need to add a new project to research.data etc.