| « Assembly books suck lately.. | OMGWTF BBQ » |
Ozone Riders. The upcoming hit from TeamAwesome!™, expected to be released some time this summer, in Paris. ;)
The game has the player orbiting around the Earth fixing the ozone holes, and battling nasty corporate waste disposal drones. Naturally, from a graphics perspective this places a TON of emphasis on the Earth. For an object that will always be in frame, there cannot be any obvious (or slightly obvious) faults with the model, its texturing, or it's lighting. If there are, the player will have to stare at those faults, the entire game.
So, what makes a cool looking Earth? How do we render it in such a way that players will enjoy looking at it? I only have one answer to these questions, and it is, I have no clue. I do however, have some guesses. :)
There are a couple things that when I think of the planet's view from space make me giddy from a visual perspective. One of those things is the atmosphere. That nice blue halo around the planet just screams cool. A visual of the earth from space, without that halo is a fake, I don't care who's stamp of approval is on it. Even an obvious photoshop is better than no halo at all.
The other thing that makes me happy, is detail. From almost every NASA photo I've seen of the planet, you can make out some pretty crazy detail despite the insane distance. I'm talking NASA photos, not NSA photos. So, I don't mean like license plate details, I mean being able to see mountains and terrain detail.
Then, once we add in the fact that our players will be orbiting the Earth, we have to take into account another aspect of the planet and it's relationship to the rest of the solar system. The sun, can only reach one side of the planet at a time. So, as a player, I wouldn't expect for it to be noon in Paris, and Houston. Major point deductions for that.
So (the point of this post), I've been working on the shaders for our planet model for our game. With these things in mind, I thought I'd share the evolution of our planet. :) So without further ado,
Here we have the Earth, fully textured, with a single point light for the "sun". As the sun's light fades a texture is blended in to supply emissive light to mimick the earth's night time look.
Here you can see the night effect a little better.
Here we have the earth, with specular lighting on the oceans and clouds. The clouds slowly rotate over time to create a fairly nice animation. I think this is another important aspect of something like this that will be a major focal point to the game. If an object that is constantly in the center of view doesn't change in some way, it's boring. No matter how beautifully rendered it is, it will get stagnant quick. Something as subtle as clouds moving will give the player minor "oh hey! look at that!" moments. Which add to the cool factor for objects like this.
Finally, this is where I'm at now with the shaders. Here we have the added atmosphere, and normal mapping on the ocean. The effect here is another slow animation that makes the oceans look alive. As you're flying around the planet, the specular light coming off of this adds a whole new level of realism.
I'll probably put up a couple posts next week detailing how the shaders work, along with my new found love for FX Composer 2. :)
On a side note, I've decided what I'm going to do with my "Two week topics". My original plan was to start from the beginning, introduce shaders, and then work up to advanced uses of them. Unfortunately, since this is the first time I've really tried to do a series of articles, I had a huge problem ordering my thoughts enough to work out a game plan for it all. So, while I put that all together (in the background) I'm going to start putting up articles on "middle ground" things like post processing, or like this Earth. Once I get my act together for my original plan, I'll start posting it. :)
Another side note, Go TeamAwesome!! :D
A developer's journal.
| Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|---|---|---|---|---|---|
| << < | > >> | |||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | ||||