Forums » General

Procedural planets?

12»
Jan 20, 2013 TerranAmbassador link
One of the guys on the Infinity forums brought up that he was skeptical about Inc and company being able to make procedural planets for only $600k. And, frankly, I share a bit of that skepticism myself.

My question is; how? How you guys going to do the procedural planets? Are they going to be an extension of the current system of sectors, or are you guys going to rework the entire galaxy in such a way to allow seamless landing and travel, ala Elite or, well, Infinity?

If it's the former, then my skepticism's pretty much gone, but most of it comes from the possibility of the latter (and probably for the guy I mentioned as well).

If this is something you guys can share, I'd like to know so I can share it over there and hopefully make a convert or two. Or at least get rid of some of the skepticism.
Jan 20, 2013 tarenty link
They already planned to add new systems and junk with 2.0, if they reach all the way to half a million I don't doubt they could rework the entire galaxy. There have been several galaxy-redux type things before.
Jan 20, 2013 Phaserlight link
Short of going back and finding the posts relating to this myself, I will say this has been discussed for a long, long time. I don't think the present navigation system is intended to be the final iteration.

My guess is that landing on planets would mean a new travel system altogether.
Jan 20, 2013 incarnate link
tl;dr - Yes, we can do this, and concern over seamless landings is basically worrying over the wrong thing.

The biggest challenge in procedural planets has nothing to do with navigation. The big deal is rolling a terrain engine and then doing a lot of artistic tweaking of algorithms to produce the kinds of visuals we want. That, and a lot of server mechanics to divide up terrain and make everything scale and work properly in a persistent MMO environment. This kind of development works relatively well for our team size, as it lends itself to small, intensively technical groups putting in a lot of collaborative time.

We would approach it by basically separating our current planets into "classes" (earth-like, moon-like, fire/lava, etc), and then working on procedural layout and terrain generation to fit the respective classes. We've been looking at this ourselves since the 90s, and in more recent years there's been a tremendous amount of papers and research put into this exact kind of thing, so while it's certainly a challenge, it's not exactly a new one.

It is not really meaningful to ask "will it be an extension of the current system of sectors" vs "will it be visually seamless". Yes, everything will always be an extension of the sector system. And, yes it can also be seamless. I'm not sure why people looking from the outside consider that specific thing to be such a huge issue.

We've been looking at seamless sector changes for some years as well, and it's not that complicated to achieve. It will become particularly more important as we increase the density of content within sectors, or begin to have more complex assets. That's a side-benefit of some of the engine threading we've been pursuing: the concept of detecting who is headed in the general direction of a player (or where the player is headed), and then doing a low-priority background thread to prepare the assets in advance of visual usage. With quad-core phones and similar CPU ridiculousness, this is not a significant drain on the game client. The same approaches can be applied to generating or enhancing some procedural assets in the background.

The only reason why we aren't seamless in the current galaxy is because, relative to other developments of gameplay, it seemed less important (yes, I care about immersion, but given the choice between meaningful content vs a little immersion, I'll choose the former). And, in the case of landing on planets, I'm not sure it'll be critical there either, at least not in an initial implementation.

But, the thing is, once we get through all the actually hard parts of expanding terrain support, delineating distributed server-side control of procedurally-generated terrain, building and tweaking a ton of algorithms to make a planet look cool or have the right sky or lighting or dawn/dusk or atmospherics.. once we're past all of that stuff, the seamless-landing thing might end up being "free" for us ("free" in the development sense of something that is achieved without requiring specific time). It really depends on how we approach it (and while we have a lot of thinking along these lines already, the exact technical details of our choices would not begin to really "congeal" until right before implementation.. there's R&D and experimentation that leads any big addition like this).

I would certainly like to see a seamless re-entry process. And that is not out of reach even within the current Sector system. I mean, sectors limited in scale only by floating point accuracy. We can put a real planet in an actual sector if we want to. It's not like it's hard for us to increase the floating point precision of locations.

But, at the same time, what I would like, and what ends up being the best approach to yield the best game and make the best use of team resources.. those aren't always the same thing (clearly). We would probably focus on one planetary class and try and get the server-side mechanics and engine working as well as possible, and then look at expanding it out from there.

I can appreciate how someone might be skeptical of the dollar value we attach. It's certainly a lot smaller than the dollar value that Blizzard would attach. But, then again, we made this game. With four people. Purely technical challenges are not that worrisome to us, and things that are heavy on engine and algorithmic development play to our strengths rather than our weaknesses. I mean.. we were a demo group, that's kind of "our thing".

If someone asked us to reproduce all the unique art assets in WoW, that would be pretty impossible.. it would take us decades; that's a project that has to be scaled across a huge number of people. But this? We can do this.
Jan 20, 2013 TerranAmbassador link
Thanks for your answer Inc!
Jan 21, 2013 abortretryfail link
It's not like it's hard for us to increase the floating point precision of locations.
Would it be terribly hard to increase the precision of angles? Some weapons currently suffer really badly with how they're quantitized right now. (Rails, Avalons, etc.)
Jan 21, 2013 TheRedSpy link
It's fine with me as long as procedural planets aren't implemented like capships where it's blaringly obvious that they need something to be complete but it gets stuck at not being complete for so long and we end up awkwardly advertising to everybody that we have this feature but it's nowhere near what people expect it to be and so we have to twiddle our thumbs every time we talk about it.
Jan 21, 2013 Keller link
So then, the real question becomes...

When do we get to build OGREs? :D

Look guys, even if planets are a series of nodal state locations with walkarounds possible within each node, it's a whole sight better than you realize. In fact, such an approach would likely work better than trying to build fully renderized planets, as the terrain model can be simpler since you're only dealing with it a chunk at a time. That model can eventually become a fully renderized model, but only once you've realized each player has be managed using a typical table leaf model.
Jan 22, 2013 Alloh link
To be honest, I really don't care about landing on planets. There is nothing to do there.

IF someday they add "bases" or market centers, or factories, or some reason to dive into a gravity well of a planet, then it would be some reason to allow us landing on planets.

But my vote goes to opposite direction: Simply add a quick explanation, on last training mission, that our ships are space faring only, not suited for atmospheric flights, and unable to escape the gravity well from planets...

Later, after KS reach the US$3M and when we have Vendetta 2.0 - after 1.9 - and after we can walk inside new stations with adequate sizing for a city in space, we focus on landing on planets...

Serious, WHY land on an empty planet? Not even good for mining...
Jan 22, 2013 Whistler link
What's to say that they wouldn't add mining or market centers? It's a stretch goal, so dream a little.
Jan 22, 2013 Pizzasgood link
Why land on planets? TO SLAUGHTER THEIR POPULATIONS! Duh.
https://www.youtube.com/watch?feature=player_detailpage&v=fcbazH6aE2g#t=29s
Jan 22, 2013 tarenty link
There are all kinds of minerals on planets, and our ships are suited to atmospheric flight, look at how many have wings.

lol Rin
Jan 22, 2013 abortretryfail link
I'd love to see a Marauder break up on atmospheric entry. :P
Jan 22, 2013 Samwise9 link
Random thought I had: What if landing on planets alters flight physics? Similar to Harrier Jets maybe, in that you could hover and adjust altitude while stopped, but otherwise it would fly like a conventional jet. Could be handwaved by saying that the thrusters you'd normally use for maneuvering now have to be dedicated to fighting against gravity. It would provide variety and mix things up, but it'd also take up developer resources and make people have to develop a whole new skillset.

I dunno. I fully expect this idea to get thrashed, to be honest.
Jan 22, 2013 Pizzasgood link
Our drives are more than qualified to counteract the tiny little gravity of a planet. The revenant can accelerate at something like 10 G, if I remember right. Even Jupiter only has a gravitational acceleration of 2.528 G. So countering gravity would decrease our maximum velocity, even neglecting wind resistance, but it shouldn't require the entire drive be dedicated to the task.

It would be interesting if atmosphere impacted how the ships moved. It could probably be crudely and quickly approximated by taking the silhouettes of the ship from the three cardinal directions, saving the surface areas, and then using those to determine drag. That way a ship like the Vulture would have little drag flying directly forward along the X axis, but if you suddenly pitch up 45 degrees, you'd automatically get vertical lift as well as a reduction in velocity along X. If you did the same maneuver in an Atlas, the effect would be less.

That would be an extremely inaccurate modeling, and would result in things like the angled part of a Moth not providing any lift at all during forward movement, even at sufficiently massive speeds. But it would be a very simple and computationally cheap way to automatically have shapes of ships impact their performance in atmosphere in vaguely believable ways.
Jan 22, 2013 Samwise9 link
Yeah, it's a pretty flimsy explanation.... I just thought the physics changes would be a good excuse to actually implement it, so that there'd be something new and different to do.
Jan 22, 2013 TerranAmbassador link
Serious, WHY land on an empty planet? Not even good for mining...

But they probably won't be empty. Like Inc said, the majority of the challenge will be artistic.

The $600k will probably be used to hire an extra artist or two to handle the creation of buildings, flora and fauna, NPC vehicles, outposts, and other assorted objects related to planetary surfaces.

It would then be easy to populate planets with these objects. If buildings are made modular, the copy-paste effect can even be reduced.

EDIT: spelling
Jan 22, 2013 ryan reign link
... buildings, NPC vehicles, outsposts, and other assorted objects... which I had better be able to blow up.
Jan 22, 2013 TerranAmbassador link
+1 ryan!
Jan 23, 2013 incarnate link
I wouldn't add landable planets into the game without some purpose for going there. But, as people mention, there are a lot of potential purposes. Some of them easier to engineer quickly than others, but at least trading and mining would be pretty trivial. Other things, like random encounters with crash sites and stranded colonists, or marooned freighters or whatever, would not be much harder.

We would start work on the engine at an earlier stage, letting people walk on stations and adding "huge" asteroid support. Then we'd move on to the "simplest" planetary cases, ie moon-like planetoids (no atmosphere, lots of surface complexity but no vegetation, water, wildlife, or substantial population) and move up from there through various classes until we got to doing complex homeworlds like Itan, Terra II and Divinia (atmospherics, weather, seas, vegetation, cities/towns/villages, etc). By the time we reached the homeworld-level there would need to be a lot of gameplay depth available from landings.

The goal would be for every planet in our universe to be landable, even if the galaxy were infinitely expanded (homeworlds would be more hand-tuned, of course), and to factor them into player conquest/construction and other scenarios.