Jump to content

Merge the \NASAmission contents into \Squad, and a call for folder spring cleaning


Recommended Posts

So I'm extremily excited about the ARM pack being released and a lot of the stuff that comes with it looks fantastic...but as happy as I am, there's a niggling little thing about it that's connected by a thread to a very BIG thing that's peeved me and doubtless many others for quite a while now, and I think it's time to have a talk about it.

So KSP's ordering priorities are dependent on the folder structure of \GameData - nothing inherently wrong or unusual with that, and from a metadata viewpoint it's actually useful by allowing stuff to be clustered by developer or function, and depending on the naming particulars of a group of folders it can make for some nice organization. Unfortunetily, Squad hasn't exactly siezed upon this ability. So you have all these part folders with a mishmash of patterns and paradigms and the results are a bit chaotic, albeit in a managed fashion. You've got the starter engine hanging out right next to the (formerly) last conventional engine to be unlocked, you've got a bunch of midrange engines scattered here and there, you've got tanks that go from middle to small to GINORMOUS. And now with the release of the ARM you've got a similar thing with another Squad-developed parts pack, except that because it's all in \NASAmission\ it's gonna' be scrunched all the way at the very top and front of the list.

Parts don't give a darn at all what the name of the folder they reside in is called, whether it's liquidEngine1 or ENG-1250-LFO-0215 or thisEndFacingDown1. So let's exploit that and do some spring cleaning both players and devs can appreciate.

A) Integrate the \NASAmission stuff into the main \Squad\ folder and file structure. Yes, I know it's a big deal and everything, but having it separated like that only causes discord and especially so if you have mods between the two folders further mixing things up.

B) Change part folder names to better reflect and sort their contents with a system of the main prefixes, suffixes and values that define the part. Contents of \Engine, for example? You could go ENG-(size in cm)-(fuel type, eg LiquidFuelOxidizer or LiquidFuelAirIntake or ElectricCharge or ElectricChargeXenon)-(thrust). \FuelTank? Use FUE-(size in cm)-(fuel type)-(total volume). \Utility? You could get a bit more elaborate, like UTI-COM-1 for the basic antenna or UTI-DOC-1 for the Clamp-o-Tron JR or UTI-LEG-1 for the small landing leg. On and on throughout the folders until everything's nice and orderly in a fashion that people react to intuitively. You wouldn't even have to do changes to the internal part names in the .cfg files as most people aren't concerned with the internals, just the frontend. Between switching back and forth to get correct data and actually renaming the folders, the process could be done in about two hours, possibly even during a lunch break. And given part folders are self-contained and Squad part .cfgs never do cross-\Parts referencing there's very little risk of anything actually being broken.

Just to see how well it works, I went and rigged \Engine and \FuelTank with such a scheme, and from a fileside standpoint it's a major improvement:

R5pv7UW.jpg]

Ryd6Ur4.jpg]

Look at how informative and orderly those are! Well, except for the MK2-3 adapters, forgot those were actually fuel tanks. But from this I can tell exactly which part is which instead of remembering abstract folder name associations and it's all in a nice progressive order that's both functional and visually-pleasing. Though maybe it'd be worth changing \Engine to \Propulsion\ so they appear AFTER fuel tanks, which is even more logical.

4u3fSeU.jpg]

twrYsF6.jpg]

Look at it! Look at it! Look at it! Look at how orderly and intuitive it is! I've got the small stuff early on and the heavy hitters later! I've got things sorted by fuel type and whether they're in-line or radial! I now have a much better idea in my head as to where stuff is and can zip right to it instead of scanning through and picking it out amongst an unorderly crowd! And it works! It didn't break a dang thing from what I've seen!

Human beings have a need for order in their lives, their media and entertainment included. So please, usher in some much-needed order in the \Parts\ folder by spritzing up the sub-folder names. Not only will such have a nice cleaning and sorting effect in the base game, it'll make mod development from stock derivation easier and might inspire other modders to apply a similar system to their work, making those much easier to navigate as well.

Link to comment
Share on other sites

I've actually done this before myself--manually went through and renamed everything. But I gave up because I had to do a bunch of manual changes with each update and added mod and it was just a pain. Personally, I think this is the wrong solution to the right problem.

A better solution, imho, would be to give each part several tags in their config file. For example, the Mainsail would get the 2.5m, LFO, and gimbal tags (perhaps others but those are just the ones off the top of my head). The idea being that you could add filters to your part window in the VAB. This would also make it much easier to integrate with mods--all the mod author would have to do is add a line to each config file listing all the tags. At least, that's my own personal vision for the future.

Link to comment
Share on other sites

The sort order is a bit of a mess, indeed. But IMHO like Varses says the way Squad should solve this is not by filename kludges but by having sort and filter logic in the VAB.

Of course, for the time being a file renaming script could be maintained as a tool.

Link to comment
Share on other sites

Though crude, the folder name scheme would nevertheless be effective and, more importantly, be a relatively simple process to impliment. Adding sorting tags to .cfgs would require not only the editing of the specific .cfgs in a fashion that goes beyond "F2, PREFIX-SIZE-SUFFIX-VALUE, Return" but the development of a system inside KSP to read those tags and shuffle them around according to user inputs, the testing of said system, bugfixing of said system and fine-tuning of said system. It's also, again, useful both in and outside KSP whereas .cfg tagging affects only in-game usage.

Link to comment
Share on other sites

I'd +1 a different suggestion -- simply add a text-driven "sort" field to the part.cfg.

The advantage to this is that then we can intersperse stock and mod parts, as well as kick out sort orders of different types via ModuleManager.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...