Asteroid(s)

A quieter space for design discussion of long-term projects
DraQ
Posts: 149
Joined: Sun Mar 23, 2014 10:02 pm

Re: Asteroid(s)

Post by DraQ »

No offense but that asteroid is kind of crap (really, vast majority of your stuff is breathtaking but this isn't).
This kind of protrusions are neither realistic, convincing looking, nor cool. It looks more like a bit of plasticine someone squeezed hard, digging their fingers in.

Generally an asteroid doesn't have anything that could lift parts of its terrain high above its surface. It's an ellipsoid battered out of shape with massive chunks blown out of it and covered with a thick layer of dust and rubble.

I once managed to achieve not too awful effect when I was trying to learn Blender (it did not go all that well) by using voronoi as displacement map twice (at two different scales) to simulate chunks taken out by impact then clouds procedural texture as third displacement map to help smooth it over and make it less regular.
I guess my final result would have been improved markedly by adding final layer of craters, grooves and rubble but it looked like a surprisingly decent start, so maybe it could be adapted to Pioneer?

Also, a lot of asteroids seem to be bilobate contact binaries - including 216 Kleopatra which is spectacular, over 200km long bone-shaped object with two moonlets (also relatively common among asteroids) each around few km large. Objects like these would make nice to have in Pioneer - they would be interesting to fly around, could sport bases and with moonlets close by could create a fairly complex and cluttered environments.

Could we make a generic contact binary generator that would elongate, pinch and merge surfaces of closely coorbiting objects of similar mass and size, be they stars, asteroids or even planets?
impaktor
Posts: 1009
Joined: Fri Dec 20, 2013 9:54 am
Location: Tellus
Contact:

Re: Asteroid(s)

Post by impaktor »

No offense but that asteroid is kind of crap
I vehementtly dissagree. I think it looks awesome, and I think it looks ready to go into master (just slap on a spherical collision box for now, and we'll see if anyone files a bug report on it being wrong).

@DraQ If you want to improve something you think needs improving, I'd guess submitting a pull request to flyffyfreak's asteroid branch is the best way to go, (provided it is up to date).
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Asteroid(s)

Post by FluffyFreak »

Meh it has it's charms but since then we've had a good look at real asteroids up close and I have to agree that it's not what I was aiming for.
Admittedly that's partly because I've exaggerated the scaling of the deformation quite a lot so that I could see the effect of it and checked for interpenetration of the terrain but it doesn't really feel like an asteroid.

The last update was 6 months ago but the branch is in a working condition if you want to take a look at it?
DraQ
Posts: 149
Joined: Sun Mar 23, 2014 10:02 pm

Re: Asteroid(s)

Post by DraQ »

impaktor wrote:@DraQ If you want to improve something you think needs improving, I'd guess submitting a pull request to flyffyfreak's asteroid branch is the best way to go, (provided it is up to date).
I'd love contributing much more than I have up to this point, but RL has kept me busy as of late and my current job involves me fixing the crappiest code I've ever seen* which leaves me a bit drained.

In any case:
  • I first intend to offload some, I believe worthwhile, ideas and suggestions here and only then dive into the code (mostly because unwritten ideas accumulate while unwritten code does not)
  • FluffyFreak is at this point highly familiar with asteroid generation so he should find it easiest modify the code to generate good looking asteroids.
*) The kind that, when you look at it, makes you think that your own old code was actually quite good.
FluffyFreak wrote:Meh it has it's charms but since then we've had a good look at real asteroids up close and I have to agree that it's not what I was aiming for.
Admittedly that's partly because I've exaggerated the scaling of the deformation quite a lot so that I could see the effect of it and checked for interpenetration of the terrain but it doesn't really feel like an asteroid.
Could you make some shots with subtler deformation scaling? It might make a huge difference.
The last update was 6 months ago but the branch is in a working condition if you want to take a look at it?
I have already pulled it and will happily take a look when time permits.
DraQ
Posts: 149
Joined: Sun Mar 23, 2014 10:02 pm

Re: Asteroid(s)

Post by DraQ »

Ok, two quick questions:

1. Which subprojects do the new files go into? I'm building with C::B, so not using VS solution.
2. What's the fastest way to see the effects of tweaking the asteroids?

As for the placement I think treating them like all the other bodies should be good (with exception of ring debris), although it might be a good idea to be able to discriminate between bodies based on their significance and have a sort of adjustable detail level in system maps and system infos.

Realistically the only major concentrations of asteroid-like objects are rings, other than that the best you can hope are multiples - coorbiting, sometimes even merged asteroids (Kleopatra) and asteroids with tiny moonlets.

Of course there is also possibility of artificial objects on and around asteroids.

Both that and rings has a lot of potential in terms of gameplay >200km long "dog bone" plus two tiny (but still several km in diameter) moonlets orbiting relatively close could make for some tight gameplay environment, especially with artificial constructions and NPCs sprinkled around:
Image
Image
while rings are around some more massive objects and often have small moonlets embedded within the gaps:
Image
Image

Of course there are also asteroid-like small moons that naturally have a bit more interesting neighborhood around them.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Asteroid(s)

Post by FluffyFreak »

There's a new "TextureCompiler" project for that tool/idea.
Graphics got the "TriplanarMaterial.cpp/h".
Pioneer got the "Asteroid.cpp/h" and "AsteroidBody.cpp/h" files.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Asteroid(s)

Post by FluffyFreak »

Open Pioneer in the Modelviewer mode since that's the only place to see/test the asteroid so far.
pioneer -mv malabar
Then press the "a" key to generate an asteroid, which will hide the ship at the same time.

As the code is checked in right now it will always generate exactly the same asteroid because that was most useful for what I was doing last.
To fix that you need change line 533 of modelviewer.cpp to read

Code: Select all

#if 0
Which will give you a different asteroid each time you press "a" again.
DraQ
Posts: 149
Joined: Sun Mar 23, 2014 10:02 pm

Re: Asteroid(s)

Post by DraQ »

FluffyFreak wrote:There's a new "TextureCompiler" project for that tool/idea.
Graphics got the "TriplanarMaterial.cpp/h".
Pioneer got the "Asteroid.cpp/h" and "AsteroidBody.cpp/h" files.
Getting "Asteroid.h|52|error: 'SceneGraph' was not declared in this scope".
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Asteroid(s)

Post by FluffyFreak »

DraQ if you've got a C::B setup for Pioneer would you mind adding it to the repository? Or updating the existing win32/codeblocks folder with how to get it running?
DraQ
Posts: 149
Joined: Sun Mar 23, 2014 10:02 pm

Re: Asteroid(s)

Post by DraQ »

FluffyFreak wrote:DraQ if you've got a C::B setup for Pioneer would you mind adding it to the repository? Or updating the existing win32/codeblocks folder with how to get it running?
Just give me a moment to remember how I set it up.

I think I altered the original premake script, but I'm not sure if it yields full project - I think it excludes model compiler and possibly some additional stuff not necessary to get the game itself running.
Will push and PR shortly - at worst it will make a good starting point for further changes.

Edit:
Done.
Post Reply