Jump to content

Understanding KSP Under The Hood


PCanas

Recommended Posts

Hi!

I just read the "recruiting" thread for KSP testers and, out of curiosity, checked the form to apply. I imeddiatly noticed I don't know how to track most bugs and problems.

So, my question is, what does it take understand the "core" of this game? I mean, what language(s) do I have to know, what concepts, what tools, etc... I understand you can change a lot by edit config files, but I guess that's not how you solve (or creat :P )bigger problems...

Edited by PCanas
Link to comment
Share on other sites

Try to make a mod, even if you fail entirely or it's ridiculously simple you will get a pretty good sense for how the game works under the hood.

That's the thing: I have no idea what it takes to make a mod, for example.

Link to comment
Share on other sites

Well since you won't be reading the game's source, it doesn't matter what if any programming languages you know. But you would want to have an idea of some of the concepts and aspects in how the game works. Making a plugin will be one way to really get to grips with that.

Link to comment
Share on other sites

Hi!

I just read the "recruiting" thread for KSP testers and, out of curiosity, checked the form to apply. I imeddiatly noticed I don't know how to track most bugs and problems.

So, my question is, what does it take understand the "core" of this game? I mean, what language(s) do I have to know, what concepts, what tools, etc... I understand you can change a lot by edit config files, but I guess that's not how you solve (or creat :P )bigger problems...

English is a good beginning :D

But to be more serious:

KSP is made with Unity (AFAIK at the moment version 4, migrating to 5).

So I guess, a little understanding of the unity engine (and its limitations) wouldn´t be a bad thing, as well as knowledge of C++

Link to comment
Share on other sites

Good testers don't necessarily need to know what is going on under the hood (though it is helpful). They mostly need to be able to document bugs properly, i.e. able to find and post logs, identify and clearly write duplication steps, test scientifically to find the minimal case in which the bug appears, etc.

Link to comment
Share on other sites

Well since you won't be reading the game's source, it doesn't matter what if any programming languages you know. But you would want to have an idea of some of the concepts and aspects in how the game works. Making a plugin will be one way to really get to grips with that.

Yeah, when I say "under the hood" I don't mean that low lol

So, what do I need to make a plugin/mod? A compiler? What language? How do I know what I have to program to interact with the game? How do I integrate it with the game, i.e., how do I make the game to "see" what I did?

- - - Updated - - -

English is a good beginning :D

But to be more serious:

KSP is made with Unity (AFAIK at the moment version 4, migrating to 5).

So I guess, a little understanding of the unity engine (and its limitations) wouldn´t be a bad thing, as well as knowledge of C++

And how do I program in/to (?) Unity and C++?

Link to comment
Share on other sites

Yeah, when I say "under the hood" I don't mean that low lol

So, what do I need to make a plugin/mod? A compiler? What language? How do I know what I have to program to interact with the game? How do I integrate it with the game, i.e., how do I make the game to "see" what I did?

- - - Updated - - -

And how do I program in/to (?) Unity and C++?

For one, you need C# not C++ to do unity stuff in KSP

If you're looking to get started into modding I would read some of the wiki's tutorials and if you need more help, look on the development help and support forum, it's the best resource you will find anywhere for KSP modding. In terms of software all you should need is monodevelop (linux / mac) or visual studio (windows) to mod.

Link to comment
Share on other sites

...

And how do I program in/to (?) Unity and C++?

Well, the unity engine can be downloaded for free here:

https://unity3d.com/

There are also Tutorials with regards to realizing your own projects in Unity.

As for programming in C++ ... if you don´t already have experience in OOP (object oriented programming) that is definitely not something you can learn within a few days ...

ideally it is learned by first realizing some simple programs and then trying to program much complexer things.

And then you would probably still haven´t reached the level of the programmers of Squad (which, for example, use some nifty tricks in order to circumvent the limitations set by the unity engine).

(addendum: same goes for C#)

But I have to agree with Red Iron Crown ... if you "just" want to be a tester, it makes probably more sense to develope a good methodology with regards to testing procedures (so that you exactly know which preconditions and actions of your side caused a specific bug) and reporting

Link to comment
Share on other sites

Hi!

I just read the "recruiting" thread for KSP testers and, out of curiosity, checked the form to apply. I imeddiatly noticed I don't know how to track most bugs and problems.

So, my question is, what does it take understand the "core" of this game? I mean, what language(s) do I have to know, what concepts, what tools, etc... I understand you can change a lot by edit config files, but I guess that's not how you solve (or creat :P )bigger problems...

I think what that refers to is not necessarily knowing how KSP works at the code level, but rather understanding the more advanced level of the simulation, such as exactly whats going on with heating, or aero effects rather than just a general idea.

Example bug report:

symptoms: Part X rapidly overheats and explodes the entire ship.

Example bug report 2:

symptoms: Part X experiences a massive spike in convective flux, causing rapid overheating and destruction. If 'Ignore Max Temp' is enabled, the part will not explode before transferring heat to other components of the vessel.

In the above examples, knowing the more advanced details of the thermal sim lets you provide a more detailed explanation of whats going on. From what I gather, this is what you should be trying to learn. There's plenty of player documentation and testing out there as well as people who will happily teach you.

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