Jump to content

What is keeping you from starting your KSP2 Mod?


LuxStice

Recommended Posts

37 minutes ago, schlosrat said:

In the video you linked we see Nate Simpson talking about modding (and representing Star Theory, not yet IG).

He's still the Game Designer, no?

 

37 minutes ago, schlosrat said:

You might want to give that a gander before suggesting that piracy is a foot, my friend.

I'm not, Forum is. I got moderated in the past for posting something pretty near what you just posted!

Edited by Lisias
Better phrasing
Link to comment
Share on other sites

1 minute ago, Lisias said:

He's still the Game Designer, no?

Yes, he's the IG Creative Director - so I think the devs work for him and he's the architect. I might be wrong on the details of their inner organization, but he's clearly a leader involved in this. That said, he was speaking for Star Theory at the time, and IG is not necessarily bound by anything Star Theory did or said. Macht nichts. He's still the person in the chair and at least from a moral (if not legal) perspective I agree it's still something IG should deliver on. Then again, I happen to think they have delivered.

6 minutes ago, Lisias said:

I'm not, Forum is. I got moderated for posting something pretty near what you posted in the past!

I'm quite confident that the documentation site is not made from decompiled source code. In fact, anyone can examine (or replicate) the process I followed to clearly see that there's no source code published on that site.

Link to comment
Share on other sites

Just now, schlosrat said:

I'm quite confident that the documentation site is not made from decompiled source code. In fact, anyone can examine (or replicate) the process I followed to clearly see that there's no source code published on that site.

If the IP owner didn't published it themselves, you had to somehow extract the information from an artefact that was given to you with the information embedded. Extracting such information from such artefacts can be considered Piracy on this Forum.

That said, I will not touch this issue again. I already had enough about this subject and I can't further comment about the subject without breaking yet another Forum rule, subjecting myself to be moderated again.

Link to comment
Share on other sites

1 hour ago, Lisias said:

And that's the problem, please check the Forum's Publishing Guidelines. And no, the KSP¹ Documentation is lacking, and it's not a model to be followed.

Let's talk about your other point about the KSP1 documentation being lacking. I happen to agree with you there and see both the existing KSP1 docs and what we've got going for KSP2 as a necessary but not sufficient thing. Can you elaborate on what you'd really like to see in addition to the existing KSP1 documentation? I'm asking because our KSP2 docs are themselves highly extensible via articles and your feedback here would be valuable in helping us move the ball forward! What kinds of articles do you think we should add to a site like that so we can better meet the needs of the modding community?

Link to comment
Share on other sites

1 hour ago, schlosrat said:

Let's talk about your other point about the KSP1 documentation being lacking. I happen to agree with you there and see both the existing KSP1 docs and what we've got going for KSP2 as a necessary but not sufficient thing. Can you elaborate on what you'd really like to see in addition to the existing KSP1 documentation? I'm asking because our KSP2 docs are themselves highly extensible via articles and your feedback here would be valuable in helping us move the ball forward! What kinds of articles do you think we should add to a site like that so we can better meet the needs of the modding community?

I didn't gone trough the current KSP2 documentation yet both by practical reasons (I can't even run KSP2 yet) as legal (on my Country's Legislation, the Fruit of the Poisoned Tree Doctrine applies to IP and, so, if by any reason such material would be considered non legit, I could not be able to ever mod KSP2 without risking legal issues on my country - I want to emphasise it again, my country, not yours).

But I can openly criticise KSP¹'s API because it was willingly published by the IP owners. :) 

There're a huge amount of undocumented artefacts on it, and there're very few ones really explaining why and where such calls can be made.

By trial and error, I determined that a vessel's life cycle being destroyed can overlap with another one being created (i.e., some parts of the older are only destroyed after the new vessel's parts start to be created). This is by design or it's an accident? I'm calling the ShipConstruct's methods on the wrong place? Or in the right place but on the wrong time? This is very important because parts can change IDs under certain circunstances, and if such ID changing happens with the new vessel being created while I'm destroying an older version, I can't track the parts' life cycle and some very interesting features can' be safely implemented (and this potentially affects more than one add'on, by the way).

Right now the only way to check things is to publish the damned thing into the wild and hope it will not break anything on the user's machine - at least, without relying on… Hummm… you got it.

Another example happened with KJR/Next in the past. When Serenity was published, the new robotics parts utterly broke KJR/Next besides it using the (apparently) correct API calls to do the job. The older API calls were deprecated? If not, why new ones were created? It was a oversight from Squad, or that API used by KJR/Next was never meant to be used at first place?

Another thing in need to be documented is the Upgrade Pipeline. This thing gave me YEARS of headaches until I finally got a grasp on it. How to use it? How I can write my own Upgrade Pipeline for my addons so I can migrate versions without royally screwing the user's savegames? How to prevent it from screwing my Add'Ons with improper "upgrades"?

[edit:another one]  Why the following logspam is happening:

[LOG 00:02:31.256] [PartSet]: Failed to add Resource 1566956177 to Simulation PartSet:60079 as corresponding Part Mk0 Liquid Fuel Fuselage-4274492751 SimulationResource was not found.

when I use this.part.Resources.Add(…), but things apparently work fine by using this.part.Resources.dict.Add(…) ? It's really safer to use the later? I'm obviously bypassing something!

Or even: what in hell is the MonkeyPatching? This thing royally screwed me last year, and the damned thing came and gone out of the blue - and now I'm unsure what and how I can publish anything new, because I don't know if I'm going to be bitten by this crap again.

And so it goes.

At last, but not at least: please understand that I'm not doubting your (you and the others) intentions, I would not be wasting my time here if I had any reason to doubt your intentions. But I ask from you the same consideration - I may be wrong sometimes, but I'm never malicious on my postings: I'm not trying to undo anyone or anything.

Edited by Lisias
Better phrasing. and I added another one (italics)
Link to comment
Share on other sites

@Lisias I do not doubt your intentions one bit! I'd already come to the same conclusion that you want to constructively offer criticism and your hard-earned perspective in the sincere hope that it will make for a better outcome. I can't imagine you'd bother to share your thoughts on these matters if you didn't want to be able to helpfully influence us.

Also, I want to be very sincerely and carefully considerate of your situation, which is apparently different than mine regarding the laws and legalities of things. I assume that in our wide and diverse modding community you're not alone in this either, and we need to be respectful of all such constraints. I think I get it now why you are in particular looking for an officially sanctioned/released set of documentation. Thanks for helping me to better understand this real limitation for you and others like you. I would never want to cause trouble for you.

I'm not sure how to address that particular concern in the short run. Perhaps if we engage with IG we might get them to publicly state that they're OK with the documentation site we've made. Even if they did, would that be enough to provide the legal cover you or others in your situation would need to safely access the KSP2 documentation we're developing? I really don't know.

That said, I think we can at least try to benefit from the lessons learned you've described. In fact, I've already attempted to do this in the corner of the docs dealing with adding maneuver nodes. There is more than one method that might appear to do the job (AddNode and AddNodeToVessel). Initially, I was calling AddNode and observing some odd behavior if I went past 4 or 5 nodes added. Digging into things, I eventually discovered that AddNodeToVessle in fact calls AddNode, and is also doing other things prior to that. It turned out that the knowledge I gained was that to get the job done you should be calling AddNodeToVessel and let it call AddNode for you.

What I did with this knowledge was to then add it to the XML documentation for those two functions so that if someone did visit the KSP2 docs site they would be able to see that the right entry point was in fact AddNodeToVessel. One nice thing about the documentation site is that those able to access it can fork it very easily and add their knowledge. They can do this in their fork of the repo and then submit that contribution via a PR to the main repo. Once their PR is merged, the site automatically folds that knowledge in for the benefit of all.

Of course, even better would be to get the actual XML docs from the devs. That said, if we should find the devs XML documentation lacking in some details (as the KSP1 docs are), the site naturally allows us to amend and embellish with our own notes.

Also, where hard-earned wisdom is not so simple as to be folded into the XML docs of various methods and classes, we can capture that in articles. It would be amazing if somehow we got things like that from the devs themselves, but I suspect that level of information is very unlikely to make it out of IG. Some of it may be Tribal Knowledge of the devs themselves, and some may be found in internal IG documentation that for any number of reasons they would prefer to not share. It may be that the best anyone can do here is to have an extensible system that encourages and facilitates contributions from the modding community.

Link to comment
Share on other sites

On 7/8/2023 at 3:10 AM, munix said:

What does that even mean? We know that modding is not officially supported yet, so why would it be documented already? 

(emphasis added)

That's exactly the problem. Documentation is a living thing. It's never 100% up to date, and always in flux. It's the nemesis of any organized tech company and the last thing to get attention. And that's a problem - it's always a problem, but more so when it doesn't start or isn't disseminated early on, because the more documentable content that gets added without documentation, the less likely it is to ever be documented.

In today's game modding climate, as soon as you have an accessible API, there should be documentation for it to support the modders. (and internal devs) Modding is expected nowadays, and it increases game sales and gives the game longevity and additional sales long past the point at which sales would normally stop. The earlier support exists, the larger and more robust the community for that game. It's a win-all-around situation.

Link to comment
Share on other sites

On 7/7/2023 at 6:03 PM, LuxStice said:

The game's files are under KSP2_x64_Data and you can't really reliably put your own files in that same folder... And pretty much all core assets now have to be in a addressables Bundle, sure there's ways to load them externally but that slows the game's loading times significantly

But I think it would be possible to use a folder similar to GameData, and let the computer cache it in directly machine-readable files. This is how for excample Kopernicus and Scatterer configs work, and if Kopernicus and a Kopernicus config is installed, those connfigs are the files that have the shortest loading time per file at game startup.

Link to comment
Share on other sites

2 hours ago, qwery123 said:

But I think it would be possible to use a folder similar to GameData

We already have that, its the BepInEx folder, it holds configs, modded game files, Dlls and everything else...
Also config files will not need to be put into addressables, but these configs are not the same as the KSP1's, KSP1 part configs dont exist anymore. Parts are described via Jsons and you still need the prefab for a part to work.
So again, the way that KSP1 created new parts no longer exists. You can't just copy a model, a texture and write a cfg and put it inside a GameData anymore, you need to put them into addressables.

Link to comment
Share on other sites

  • 2 weeks later...
On 7/14/2023 at 4:42 PM, LuxStice said:

We already have that, its the BepInEx folder, it holds configs, modded game files, Dlls and everything else...
Also config files will not need to be put into addressables, but these configs are not the same as the KSP1's, KSP1 part configs dont exist anymore. Parts are described via Jsons and you still need the prefab for a part to work.
So again, the way that KSP1 created new parts no longer exists. You can't just copy a model, a texture and write a cfg and put it inside a GameData anymore, you need to put them into addressables.

But is there a tool for that?

Link to comment
Share on other sites

I'm primarily interrested in modding in gameplay features.
There is no point starting anything on that front until the core stock gameplay features like progression, science, resource chains and colonies are implemented. You can't mod what doesn't exists.

I absolutely don't care about the availability of additional official modding tools/API.
We already have everything we could possibly need to mod KSP 2, and I very much doubt we will ever be given anything really useful from official channels anyway.

Link to comment
Share on other sites

On 7/8/2023 at 12:09 PM, Beale said:

Waiting for official modding tools.

When I did game programing and design, one of the big things i would make is a tool for making maps, items etc (so Planets, RocketParts) for internal development as it made making things faster and ensuring all the "rules" were followed. So I'm hoping KSP2Dev also do this, especially with Interstellar as I can see planet modding being a BIG deal!

For more "programming" mods my thoughts are below...

On 7/8/2023 at 12:54 PM, Kavaeric said:
  • As an artist, the development pipeline feels much less intrusive for KSP1
  • I am turned off by the competing standards of the modding tools of KSP2. 
  • I don't actually know what I'd want to, or should, mod for KSP2.

Excellent points,espeically the thrid one... without a more detailed "Here is what we are 90% sure we are making" list of parts, planets, systems etc from KSP2 team I'm holding off on KSP2 because I don't see a point in developing a mod that the game developer has on it's list. A great example of that are grid fins, someone modded them into the game, the developer has already said they are making them as well... so what are players going to do? (This by the way leads to part bloat in the editor really quickly).

I'm really wanting to see:
- Resource List (so we know which resources are in the game... and not have every modder make up their own set of resources).
- Part List ( if they want to hold off on colony stuff for now, fine. But at least rockets/Rovers)
- Science List and How science is handled (Like Stock KSP or Kerbalism, etc).
- A basic understanding of what the ISRU pipeline is going to look like.
With the understanding that its not "100% sure thing" but that gives us an idea where to direct our attention.

PROGRAMMING: As for the competing standards, someone needs to do a vote and pick one (or have KSP Dev pick one... someone needs to pick one) because having a fractured set of mods is only going to cause issues down the line. One set of tools, one set of tutorials, and everyone knows what's what and can help new modders and KSP1 modders make the transition and PORTS to KSP2 (when possible).

Now to go back to learning Modding KSP1...

Link to comment
Share on other sites

11 minutes ago, PicoSpace said:

someone modded them into the game

I modded them, i did it before there were any announcements of them in game, once the developers release theirs, i'll probably just fill the gap with mine (Ie: theirs are Medium, i'll remove my mediums and only add large and small) or leave it as is, theres no problem with that i think, the part bloating in editor can be solver easly with something like Community Category Kit (which i'm also working on)
 

11 minutes ago, PicoSpace said:

Resource List (so we know which resources are in the game... and not have every modder make up their own set of resources).

https://wiki.spacewarp.org/wiki/Resources made by me  its all the current resources in the game, even the ones not implemented
 

13 minutes ago, PicoSpace said:

As for the competing standards, someone needs to do a vote and pick one (or have KSP Dev pick one... someone needs to pick one) because having a fractured set of mods is only going to cause issues down the line. One set of tools, one set of tutorials, and everyone knows what's what and can help new modders and KSP1 modders make the transition and PORTS to KSP2 (when possible).

Parts can pretty be done w/o the "competing standard mods". Those mods, as of now, are pretty much just for player enjoyment and have no real use to modders.
As for tools, there's currently only 1 set, mostly developed by me, munix and Cheese.
and for tuturials, theres a few tutorials, but also only 1 set.

Link to comment
Share on other sites

3 hours ago, LuxStice said:

https://wiki.spacewarp.org/wiki/Resources made by me  its all the current resources in the game, even the ones not implemented

Cool, But I think they mentioned 18 resources, and these look to only be fuels (and abalator).  No idead what "test rocks" is... ore?

Overall the wiki does provide a lot of useful infomation, thanks for that!

Link to comment
Share on other sites

2 hours ago, Kerbin Launch Coalition said:

For me, genuinely speaking I wouldn't have the faintest idea where to start. I have those two videos Lux shared a while back to watch when I'm back home, so I might have a mess about at some point.

Depends on what type of mod you want to make, for parts modding, Lux's tutorials are great, and there's an in-depth written guide as well.

For code mods, there's my SpaceWarp.Template which gets you started quickly with a fully working C# mod project.

Either way, I definitely recommend joining the KSP 2 Modding Society Discord server! We have a lot of modding resources and everyone is really helpful, most of the modding done so far has been a very collaborative effort.

Link to comment
Share on other sites

23 hours ago, munix said:

Depends on what type of mod you want to make, for parts modding, Lux's tutorials are great, and there's an in-depth written guide as well.

For code mods, there's my SpaceWarp.Template which gets you started quickly with a fully working C# mod project.

Either way, I definitely recommend joining the KSP 2 Modding Society Discord server! We have a lot of modding resources and everyone is really helpful, most of the modding done so far has been a very collaborative effort.

Cheers, I will do just that.

Link to comment
Share on other sites

  • 2 weeks later...
On 7/29/2023 at 9:58 AM, Kerbin Launch Coalition said:

For me, genuinely speaking I wouldn't have the faintest idea where to start. I have those two videos Lux shared a while back to watch when I'm back home, so I might have a mess about at some point.

Yeah I'd second that, something I've toyed with the idea of doing but it's like 'Where do you start?'.

Link to comment
Share on other sites

1 hour ago, Infinite Aerospace said:

Yeah I'd second that, something I've toyed with the idea of doing but it's like 'Where do you start?'.

A lot of the active KSP2 modders began modding after KSP2 came out. You'll find that there are plenty of folks who started out with the very same question and will be willing to help you find your path. It may not be as hard as you imagine to get started. I'd never coded in C# or worked with Unity or anything like that when I started modding.

Link to comment
Share on other sites

9 hours ago, schlosrat said:

A lot of the active KSP2 modders began modding after KSP2 came out. You'll find that there are plenty of folks who started out with the very same question and will be willing to help you find your path. It may not be as hard as you imagine to get started. I'd never coded in C# or worked with Unity or anything like that when I started modding.

That's good to know buddy, I've got a fair few 'ideas' of things I'd love to do. Namely engines to be honest, I've done some modelling in Studio Max over the years (but never Blender) though there's a lot of tutorials for Blender on 'The Tube' so might have to watch some to get to grips with Blender.

Link to comment
Share on other sites

2 hours ago, Infinite Aerospace said:

That's good to know buddy, I've got a fair few 'ideas' of things I'd love to do. Namely engines to be honest, I've done some modelling in Studio Max over the years (but never Blender) though there's a lot of tutorials for Blender on 'The Tube' so might have to watch some to get to grips with Blender.

If you're more comfortable with 3DS Max or Maya, you can definitely just use those, Blender is not a requirement, pretty much anything that exports to .fbx should be usable 

Link to comment
Share on other sites

I'd love to port my SDHI Service Module System mod over to KSP 2, and maybe even revive the perpetually-in-alpha FusTek Station Parts project to take advantage of KSP 2's graphics/API.

But until official modding support and a ModuleManager equivalent comes to KSP 2, I'm holding off on doing anything. I don't particularly care for the existing third-party injectors, simply because they're unofficial and competing with each other, thus splitting the playerbase and modding community, not to mention potentially breaking changes when the base game updates.

Link to comment
Share on other sites

7 hours ago, sumghai said:

.... I don't particularly care for the existing third-party injectors, simply because they're unofficial and competing with each other, thus splitting the playerbase and modding community, not to mention potentially breaking changes when the base game updates.

It's an individual decision whether to start modding on not, of course, but just to reiterate, there are no competing standards for third-party injectors, there's really only one that all current mods are using. As for breaking changes, so far (6 months) there was only one big change that affected most mods and it was quickly addressed in a single afternoon with a patch on the common modding API SpaceWarp. So individual mods didn't need to adjust at all, only the common API.

Honestly, existing modders are having a blast modding the game. So many ideas, so little time :D

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...