Jump to content

A suggestion to MOD makers


Daveroski

Recommended Posts

Just a suggestion that will probably fall on stony ground.

I suggest that mod makers MODULARISE their mods.

A core mod which does the very basics of what a mod was designed for
Then separate downloadable  modules which the user can decide if they want or not.

Keep it simple.

Mechjeb : should have just the three basics of repetitive use. Launch assist, Precision Landing and Interception.

Kerbal Alarm Clock : should have it's basics of Node alarm and transfer window alarm.

Kerbal Engineer: should have just the DV guide.

I chose these three as they are the most popular mods but the same applies to any mod which tends to go through a 'growth' process as these certainly have.

How many of use actually use all the functions and extras that they provide?

They have turned into monsters which are bigger, harder to maintain, harder to trace faults and harder to expand.
The more that there is to go wrong the more will go wrong.

While the temptation is great to speak from a personal viewpoint on what I want these mods to have as extras I will resist doing so and remain objective and so when I speak of 'some users' I am by no means referring to myself.

Some users only want a Mechjeb, Engineer or Alarm clock as I described above, others, including myself, would like some of but by no means all of the extras which have been bolted on.

Some things simply never get added because even though the mod maker likes the functions, they feel that not enough people would use the function to warrant it being added to the mod.

It would be excellent if the core of the mod never changed in function only upgraded to newer versions of KSP.
So I call on you mod makers! Get back to basics! Keep it simple!

Make the mods for your mods optional!

Link to comment
Share on other sites

I kinda see where you come from, but see:

  • MechJeb: the name says it all, it's a mechanical version of Jeb. It's supposed to do all kinds of stuff. I, myself, used it for some time just for launches. Some people use all of its features. I don't think any two players will agree what the 'core' of it is
  • KAC: everything about it is alarms! Again, I don't see how it should lose any functionality; and its UI isn't going to get much simpler by removing different types of alarms
  • KER: Apart from the DV guide, there's only the flight information windows, right? Do you think KER is bigger and harder to maintain because of them? Those are just reported straight from the game, AFAIK, or most of them anyway. Or is its UI bloated? You can turn the flight information windows off, so the only interaction you'll ever get with it is in the VAB.

I don't see how any of these mods could be simpler, while maintaining their purpose. Sure, a mod that only did DV calculations in the VAB has a niche, but one that also displays the same calculations mid-flight is more useful, at least to me. And the barest MJ ever is already stock, those autopilot buttons. Seriously, launch assist is a thing of the past.

Link to comment
Share on other sites

I see where the OP is coming from but MJ, KAC and KER are probably the worst examples possible. All three are already pretty small, there is little to no benefit in splitting them up to even smaller pieces.

Better examples of mods that have grown too big for their own good are Mk2 Expansion and B9 Aerospace. An overwhelming amount of parts with an even bigger memory footprint. An example how it could/should be done is Near Future Technologies. Again an amazing amount of parts to choose from but all bundled in themed packs designed to work together as well as apart. Simply choose the packs your interested in and ignore the rest.

Link to comment
Share on other sites

2 hours ago, Tex_NL said:

I see where the OP is coming from but MJ, KAC and KER are probably the worst examples possible. All three are already pretty small, there is little to no benefit in splitting them up to even smaller pieces.

Better examples of mods that have grown too big for their own good are Mk2 Expansion and B9 Aerospace. An overwhelming amount of parts with an even bigger memory footprint. An example how it could/should be done is Near Future Technologies. Again an amazing amount of parts to choose from but all bundled in themed packs designed to work together as well as apart. Simply choose the packs your interested in and ignore the rest.

Yes, this is exactly why I quit using B9 Aerospace. I almost feel the same way about Firespitter. I really hate a majority of the parts in that mod and delete them each time I update the mod (and forget that all I really need is to replace the DLL :huh:).

When I get a new computer in February, I intend to download the Near Future Technologies mods; right now I am running 55 mods and am not too sure if my computer can handle much more... I guess I can always put it to the test!

Now, if anyone wants a challenge, why not create a mod that scans the other mods and gives us a complete parts list within that mod. Select the parts you want to keep, the mod either deletes the rest or moves them to a folder that KSP does not use.  That would be pretty cool, if you ask me.

Link to comment
Share on other sites

3 minutes ago, adsii1970 said:

Now, if anyone wants a challenge, why not create a mod that scans the other mods and gives us a complete parts list within that mod. Select the parts you want to keep, the mod either deletes the rest or moves them to a folder that KSP does not use.  That would be pretty cool, if you ask me.

That would indeed be pretty nice to have.

Link to comment
Share on other sites

Would this not depend on the OP mentioned 'Core Mod' requiring all mods to be in one format (albeit, a simple or loose format) to allow a bug free parse?  Could this not set up a "Microsoft" type gatekeeper for mods? 

Link to comment
Share on other sites

31 minutes ago, adsii1970 said:

Now, if anyone wants a challenge, why not create a mod that scans the other mods and gives us a complete parts list within that mod. Select the parts you want to keep, the mod either deletes the rest or moves them to a folder that KSP does not use.  That would be pretty cool, if you ask me.

 

24 minutes ago, stibbons said:

 

I think what he wants is more like a cross between that and this:

 

Link to comment
Share on other sites

49 minutes ago, adsii1970 said:

Yes, this is exactly why I quit using B9 Aerospace. I almost feel the same way about Firespitter. I really hate a majority of the parts in that mod and delete them each time I update the mod (and forget that all I really need is to replace the DLL :huh:).

At least you know how to delete the parts you don't want. Many do not.
There is an ever increasing number of players (apologies in advance to those that feel offended) that are too dumb to even install a mod without somebody holding their hand. Let alone dive into the installation folders and manually remove parts.

P.S.
I chose Mk2 Expansion and B9 Aerospace in my example for no other reason than that I stopped using those mods for this exact same reason. Their RAM footprint started to outgrow their usefulness. 

Edited by Tex_NL
Link to comment
Share on other sites

4 hours ago, Daveroski said:

Keep it simple.

Actually this is the reason why many mods are not modular. Imagine building a car in a way that part of it is also usable as a motorcycle. Both the process and the end product will certainly be more complex and expensive than a regular car.

Link to comment
Share on other sites

13 minutes ago, pellinor said:

Imagine building a car in a way that ...

Imagine building a car and give the customer the option to choose what engine he wants. And what gearbox, fuel type, body type, tire size, accessories, colour, etc. Now the customer will end up with exactly the car he wants and not an expensive garage full of parts he will never use

Oh wait. Car manufactures are already doing this.

Link to comment
Share on other sites

6 minutes ago, Tex_NL said:

Imagine building a car and give the customer the option to choose what engine he wants. And what gearbox, fuel type, body type, tire size, accessories, colour, etc. Now the customer will end up with exactly the car he wants and not an expensive garage full of parts he will never use

Oh wait. Car manufactures are already doing this.

I for one, love the idea of having to package multiple versions of every single thing I release. Wait, no.

Ok, I'll try to explain with a little less salt. Packaging a release takes an appreciable amount of time - making sure that everything that has to be in there is, well, there; making sure that they're all uploaded everywhere; documenting changes unless you're a bad dev like me; making posts etc. Time that, for the average modder, is very limited, and could be spent elsewhere. So asking for modders to essentially make special releases to fit the exact preferences of every single user... no bueno. Not to mention the massively increased overhead for support requests. I know a fair few modders that basically avoid the forums anymore since the only posts they get from users are bug reports / complaints (not saying those two things are the same, mind. Bug reports are helpful when they're well written), or requests for MORE new things (unrelated to this thread, but if a modder hasn't put anything new out for some time, don't start asking for more things to be added to their to-do list. They're already struggling to find time to finish their current projects.

And all that, when most mods have significant options to enable/disable features with a great degree of granularity. Other mods, like part mods, can easily be pruned after sitting down for a couple minutes. If that's 'too much time'/'too difficult', then I think we're at a stalemate then. Both people think their time is valuable - of course it is, no doubt. But one person plays games - and the other already spends their time making things for them to play with.

Link to comment
Share on other sites

@CobaltWolf
Nobody is asking you to make a version for every possible configuration. What @Daveroski and I mean is slightly different.
Look at KSP as the core to which you add the mods you want. A mod should follow a similar structure, a core to which multiple packs can be added. And you don't even need multiple uploads. All packs can be uploaded in the same .zip file. The only additional piece should be some additional installation instructions. Let the user decide what parts to install.

There are already a lot of mods that offer support for other mods. And many of those only show the support parts when the other mod is actually installed. But those invisible parts are still there. The game does not show or use them but they still take up memory. Of course 'ghost parts' can be pruned but often it is not even clear they are there. I don't need/want dozens of 'ghost parts' offering support for mods I don't use. Let ME decide what to install.

Link to comment
Share on other sites

3 hours ago, adsii1970 said:

Now, if anyone wants a challenge, why not create a mod that scans the other mods and gives us a complete parts list within that mod. Select the parts you want to keep, the mod either deletes the rest or moves them to a folder that KSP does not use.  That would be pretty cool, if you ask me.

Actually, you can use KSP ModAdmin for this. It hasnt been updated in awhile, and it still has some functional bits that dont work or buggy.
But basic functionality still works.

I create a .zip archive of the Squad folder, then delete the folder itself... Then i use KSP Mod Admin to "re-install" the Squad folder, just as if it was a mod... that way you can use KSP ModAdmin to prune and "edit" the Squad folder just as if it was mod.

Link to comment
Share on other sites

1 hour ago, Tex_NL said:

Imagine building a car and give the customer the option to choose what engine he wants. And what gearbox, fuel type, body type, tire size, accessories, colour, etc. Now the customer will end up with exactly the car he wants and not an expensive garage full of parts he will never use

Oh wait. Car manufactures are already doing this.

Good point ;-)

Still my argument is that modularity has a cost in complexity and effort, so it only happens if someone is willing to pay this cost. And if there is nothing more interesting/profitable to do with the available effort.

Modders usually only make what they want for themselves (which is a healthy attitude for not burning out), but many are open to contributions. So if you want something, be willing to do it yourself and the ground will be much less stony for your suggestions.

Link to comment
Share on other sites

It all comes down to tidy programming.
The top three are good examples even though most of you can't see it.

The larger a project is, the harder it is to manage.
I know it would be too much of a pain for the authors of these mods to modularise them.

However, had they started out that way, updating and chasing down bugs would certainly have been a lot easier.

In Mechjeb for example, many people don't use the docking feature and prefer to use a docking alignment mod instead.
Some don't use the node editing facility and instead use precise node or go even native.
Many who build space planes don't use the space plane features

Had it started out in a modular fashion, most of us who have it installed would not have a complete install of Mechjeb.

Adding features to the core mod could mean that the developer doesn't have to work on the whole thing, just a module. Bugs could be easier traced back to their module.

I know most of you won't get it. I know some of you just like to be contrary. But some of you know that this is the direction mods should be moving in.


 

Link to comment
Share on other sites

9 minutes ago, Daveroski said:

It all comes down to tidy programming.
The top three are good examples even though most of you can't see it.

The larger a project is, the harder it is to manage.
I know it would be too much of a pain for the authors of these mods to modularise them.

However, had they started out that way, updating and chasing down bugs would certainly have been a lot easier.

In Mechjeb for example, many people don't use the docking feature and prefer to use a docking alignment mod instead.
Some don't use the node editing facility and instead use precise node or go even native.
Many who build space planes don't use the space plane features

Had it started out in a modular fashion, most of us who have it installed would not have a complete install of Mechjeb.

Adding features to the core mod could mean that the developer doesn't have to work on the whole thing, just a module. Bugs could be easier traced back to their module.

I know most of you won't get it. I know some of you just like to be contrary. But some of you know that this is the direction mods should be moving in.

Lol. Heaven forbid that you have to move your mouse over an extra checkbox or two. Literally unplayable...

Trying to get bug information from users is like pulling teeth as is. Having to figure which of the 30 Mechjeb modules they do or do not have installed, whether or not they're all up to date, etc WON'T make it easier to diagnose bugs.

Not to mention the adding complexity of installing it - something that is already too hard for a lot of people. Many more chances to mess it up, more things to keep up to date... and, correct me if I'm wrong (I absolutely might be here) but I don't think that CKAN supports installation options for a mod. Which means that you'd have to maintain separate downloads for everything. Or only support manual downloads. And besides, most people would probably elect for a single click download ANYWAYS, making this even more of a niche request.

And the 'people who don't agree with me just don't understand the truth' attitude is probably the most adorable thing I've seen all day. I love it.

There's a reason that many modders don't like dealing with people here on the forums.

tl;dr,

ktf.gif

Link to comment
Share on other sites

51 minutes ago, Daveroski said:

Had it started out in a modular fashion, most of us who have it installed would not have a complete install of Mechjeb.

Actually I'm pretty sure MechJeb is quite modular at the inside, and Sarbian has good reasons to not make the distribution that modular (see @CobaltWolf 's post for some of them). And it even is modular from a user's perspective because you can disable parts of it with MM patches.

I have to agree that you make an impression of someone who likes to tell others what to do, but is not willing to do any work himself (even though you seem to consider yourself code-savy). "Community" does not work that way.

Link to comment
Share on other sites

13 hours ago, Daveroski said:

Mechjeb : should have just the three basics of repetitive use. Launch assist, Precision Landing and Interception.

While it sounds simple, splitting something like MJ into stand-alone modules will add considerable complexity, particularly if you have many interdependent modules and/or common code.
For example, the landing guidance is going to need the orbital info, needs to know TWR & DV, relies on the maneuver autopilot to do it's burns, SmartASS to hold orientation, etc. etc.
So how do you ensure the user has all those installed? Or do you duplicate all that code in every module? Much easier to bundle the whole thing and allow the user to hide things at the UI level... Which MJ already does.

5 hours ago, Daveroski said:

It all comes down to tidy programming.

Most of the mods in question are open licensed, so feel free to set an example rather than just back-seat coding. :P Show us some of this "tidy programming". (then try maintaining it & dealing with users not installing all the parts).

Modularisation has hidden costs, both in code complexity and maintenance overhead. There's a reason the architecturally beautiful, highly modular GNU Hurd microkernel is still not ready for prime-time, while messy, monolithic Linux is everywhere...

5 hours ago, Daveroski said:

I know most of you won't get it. I know some of you just like to be contrary. But some of you know that this is the direction mods should be moving in.

So you roll up with a "grand idea" for what others should be doing, no code to show how it's done, and pre-emptively squash any argument with "If you don't agree with me, you just don't get it". Right. :rolleyes:

Link to comment
Share on other sites

well I wouldn't call myself a modder, but in the patches I throw together, I try to make them super modular (based on theme, but also with optional extras galore) that people can pick apart and choose what they want. But those are MM configs, which are easy to write and I don't have a day job so I literally have nothing better to do (and my stuff is small potatoes). Most people seem to like and appreciate my approach, but there are those who will complain about "too many configs" or "configs patching configs." You know what they say, "If you try to please everyone..."

I see where you're coming from, but unless you've actually taken at least a half hearted attempt at providing support for people, even on a second hand "unofficial" basis, I think you'll quickly find your approach will lead to endless frustration for you, especially as thing scale in numbers.

Link to comment
Share on other sites

I would say that this applies to MOLE by @Angel-125. The original concept of expanding the mk1 pod was neat, to make it a two seat. Working into a skylab a-like was fun too. But adding in a new tank and engine size, not even just a couple new parts, but a whole new size? I always felt that was out of scope of the original intent.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...