Jump to content

Developer Insights #9 – Orbit Tessellation


Intercept Games

Recommended Posts

On 4/15/2021 at 3:49 PM, Anth12 said:

@Johannes Incredible Post. I would love to see more of these types of dev posts.

Me too. The way @Johannes explains this is very interesting.  A non coder like me understood this!!! Keep up the good coding work!

Edited by Dr. Kerbal
Link to comment
Share on other sites

Thanks @Johannes

This was great, very interesting, both from 'What can we expect to see?'  and 'How do they do it? ' perspectives.'

It's also good to be able to see and appreciate how much thought and effort goes into things we see and just take for granted, unless they don't look perfect. 

Link to comment
Share on other sites

On 4/15/2021 at 3:00 AM, Intercept Games said:

Hello all, I’m Johannes Peter – A programmer on Kerbal Space Program 2 – and I love solving interesting problems!

The problems we face in game development rarely have a single “correct” answer. The more specialized your game is, the more specialized your problems are, and the more creative your solutions need to be. As a rocketry simulator on an interplanetary scale, Kerbal Space Program has already tackled a wealth of unique programming challenges.

Today I want to share a solution I’ve worked on for a problem that is fairly unique to KSP: How to draw accurate orbits that look stellar regardless of where they’re viewed from?

I’ll briefly cover a standard approach for drawing orbits, touch on some of the issues with that approach, and then look at the solution that KSP2 is using now: screen space orbit tessellation.

This dev diary will get a bit into the technical side of KSP2’s development, with diagrams to help illustrate some of the core concepts. We will mainly focus on this test scene of Kerbin orbiting Kerbol:

image-20210316-111746-1024x576.png

 

just as long as this works with multiplayer positioning then whatevs. You guys did consider multiplayer positioning when thinking about this correct?

Link to comment
Share on other sites

17 hours ago, Redneck said:

just as long as this works with multiplayer positioning then whatevs. You guys did consider multiplayer positioning when thinking about this correct?

It has to do with what the camera displays when looking at the map view. It doesn't have anything to do with multiplayer, at all.

Link to comment
Share on other sites

something as simple as drawing a curved line in 3D space = complex math + code

 

6 minutes ago, Johannes said:

Wait, this game has multiplayer?

(yes that was a joke)

You got me XD

Link to comment
Share on other sites

5 hours ago, Johannes said:

Wait, this game has multiplayer?

(yes that was a joke)

im surprised like "WHAT?! THE DEVELOPER DONT KNOW IF THE GAME WILL HAVE MULTIPLAYER!?" until i see a smol letter below XD

Link to comment
Share on other sites

On 4/20/2021 at 4:26 PM, Johannes said:

Joking aside though: As far as the orbit tessellation system is concerned, multiplayer orbit trajectories are no different from local ones :) 

just curious because the positioning system in KSP1 caused ALOT of issues for the multiplayer mod. Jitter,orbits and trajectories off, etc. Thanks for replying 

Link to comment
Share on other sites

12 hours ago, Redneck said:

just curious because the positioning system in KSP1 caused ALOT of issues for the multiplayer mod. Jitter,orbits and trajectories off, etc. Thanks for replying 

Keyphrase here is “multiplayer mod”. Of course it’s going to be glitchy as high heaven. That has nothing to do with how KSP was built and everything to do with what the mod makers had to work with instead. 

Link to comment
Share on other sites

6 hours ago, MechBFP said:

Keyphrase here is “multiplayer mod”. Of course it’s going to be glitchy as high heaven. That has nothing to do with how KSP was built and everything to do with what the mod makers had to work with instead. 

oh it has EVERYTHING to do with how KSP1 was built. The code is/was a nightmare!

Link to comment
Share on other sites

3 hours ago, Redneck said:

oh it has EVERYTHING to do with how KSP1 was built. The code is/was a nightmare!

No, it doesn’t. Not having access to the source code means you need to hook into things not intended to be used for multiplayer purpose. KSP code has nothing to do with that. 

Link to comment
Share on other sites

Is this done on the CPU or GPU? If the latter, what's the implications for AMD GPU which generally struggle with tessellation in games? 

Also, does this also mean that it might be possible to use a "tiled" approach to rendering KSP2 in the far future? 

Between this and the way your team is handling extrasolar systems with their own floating origins, there's a lot of potential for very interesting things to increase performance.  

Amazing writeup though, this is the stuff that I want to see!

Link to comment
Share on other sites

1 hour ago, Incarnation of Chaos said:

Is this done on the CPU or GPU? If the latter, what's the implications for AMD GPU which generally struggle with tessellation in games?

This kind of tessellation an integrated GPU could eat through without breaking a sweat. Its not a graphically intense thing to tessellate a single circle.

Link to comment
Share on other sites

1 hour ago, MechBFP said:

This kind of tessellation an integrated GPU could eat through without breaking a sweat. Its not a graphically intense thing to tessellate a single circle.

I'm aware, but it's still something I'd like to know. With multiple systems, and the conics tessellated in multiple places it would potentially add up fairly quickly.

 

 

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