What would make the game easier to mod?

Started by Tynan, June 10, 2016, 04:01:27 PM

Previous topic - Next topic

kaptain_kavern


GiantSpaceHamster

I just started modding but a couple things I noticed offhand that threw me off in the C# code:
1) There are basically two namespaces and then just a flat list of a ton of classes. Some sort of package organization would help a lot when looking for certain classes and business logic.
2) Certain types of information are split in how they are accessed. For example, some pawn properties are accessible directly on the pawn but some are accessed through controllers where you send a pawn in as a parameter and it returns the value for it. Bringing these things in line and having a single way to access such properties would be less confusing.

Master Bucketsmith

#122
It would be fantastic if we also could add more than one weapon to the same turret, more than one projectile to the same gun, more than one effect to the same projectile, etc.
Example; I have a spotlight mod and the vanilla turret, but I can't make an upgraded turret that also has a spotlight built onto it.

EDIT: I just realised that might be a limitation to that buildings and pawns can only wield a single 'weapon' in their 'hands'. Would be fantastic if that could be altered!

RemingtonRyder

I have a request, actually.

Could we possibly be able to choose a different image for Steam thumbnail than Preview.png?

I kind of like having a small-ish preview.png for the mod selection screen, but it doesn't do so well when it gets to Workshop so I've been using a workaround to get it to pick up a custom thumbnail for Workshop instead.

Master Bucketsmith

What about an external utility to upload mods to the workshop?
So that we don't have to boot the game every time to do it.

Heck, why not a command-line mod checker that returns errors like the devmode console would do? Just have it run the game without all the graphics, or something. So that we can quickly and cleanly get back errors. Again, so that we don't have to boot the game every time we want to test a change that doesn't require loading an actual game. (Though if that were also possible, that'd be even more amazing. It loads all the graphics for testing purposes but doesn't actually render them?)

drakemasta

i would like to see the ability to add more biomes to the game

deliveryservice

#126
I prefer a guide than a change. A proper guide not in order to add more assemblies, but to efficiently use functions already made inside. e.g any possible comps, and what they do, Worker Class, etc. A draft would be nice.

Orion

It's been mentioned many times before, but here goes again:

Proper hooks to insert mods: After loading a game, before saving a game, before, after and during map generation, on ticks. You may say: Use MapComponents, but as they are right now, they are broken and can't just be added for mods, unless using tricks or CCL. This is stuff mods need out of the box!

Tynan

Quote from: Orion on August 26, 2016, 10:22:32 AM
You may say: Use MapComponents, but as they are right now, they are broken and can't just be added for mods, unless using tricks or CCL.

Can you elaborate? In what way are MapComponents broken? What functionality do they have that isn't working, specifically?
Tynan Sylvester - @TynanSylvester - Tynan's Blog

1000101

They aren't broken per-say, but new ones need injection into an existing save.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

Latta

Overrideable translations for sake of total overhaul mods.

1000101

I haven't tested it yet, but it looks like the game will automatically inject MapComponents into save games now.
(2*b)||!(2*b) - That is the question.
There are 10 kinds of people in this world - those that understand binary and those that don't.

Powered By

Orion

Quote from: Tynan on August 28, 2016, 07:40:27 PM
Can you elaborate? In what way are MapComponents broken? What functionality do they have that isn't working, specifically?
I'm not checking daily if it suddenly works, but the problem indeed used to be that a new map had to be created so a mod could have its MapComponent. Unlike a developer, a player usually does not want to start over his 150 hour colony and rather does not use the mod. Which makes modding kinda pointless.

Quote from: 1000101 on August 28, 2016, 11:18:17 PM
I haven't tested it yet, but it looks like the game will automatically inject MapComponents into save games now.
If this is the case I take back my complaint about MapComponents.

Tynan

I actually don't think that's the case.

See this is interesting to me, since you're saying that a feature to add mods to existing savegames is important, which is something I wouldn't have thought of.

This is why we're here :D
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Orion

Myself I don't play with mods either that can't be added to an existing savegame.

But I'd say 90% of the current mods add fine into existing savegames (many thanks to CCL). But to stay independent of CCL you have to do some major workarounds. I'm creating a new GameObject in the menu with Object.DontDestroyOnLoad(gameObject); that keeps checking if the game is finally loaded to then run some special code. It's a rather icky solution and completely not obvious to new modders.

What's quite a shame is that you can't add new Jobs to existing savegames without breaking the assignments of the existing jobs, unless you add the job at the very end, where another mod might already have a job. It's one of the few things (apart from MapComponents) that don't play well with adding to existing savegames.