Decades have passed since the war erupted between the United Space Federation and The Alliance of Free Worlds. A bloody conflict that seemed to have reached a stalemate is now about to change, when a thrid faction suddenly appears. Take control of a fleet commander returned from exile, rise through the ranks of the United Space Federation forces and join an epic war across the stars. Start with a small group of frigates, and climb your way to controlling battleships, carriers and planetary bases, in huge space battles and boarding actions. Build space stations and orbital facilities to fortify your position, build your fleet, extract minerals and research upgrades. Execute boarding actions using marine special forces, and bombard your enemies with orbital long range cannons.

Report RSS Level of detail & ship rendering

A brief explanation about the rendering of the ships on Gemini Wars.

Posted by on

Hello everyone,

I'm going to talk a bit about how we render the ships in Gemini Wars. Gemini Wars is real time strategy game in real time, and we want to achieve great visuals in the game so it looks really good. As such, each ship can have from 20k polys (battleships) to 3k polys (frigates). If we do some math, having 100 ships simultaneously at the screen will become quite prohibitive.

We want the game to be playable in a large range of hardware, and at the same time to look great, but how to do this if we need to render planetary bases, shields impacts, flares, ships, lasers, asteroids, and still do the entire math for physics (calculating weapons impacts, ships maneuvering) and still perform AI calculations?

The answer to this is LODS (Level of detail). Let's first take a look at this USF cruiser:

Tech 1

This ship is rendered in full detail at close range, using 3 textures (diffuse, normal and illumination map) in the shader, and also self-shadowing. If you look closely, the parts of the ship that are in the shadow still have illumination from the windows and little lights casting over the entire structure.

This is achieved by an illumination map; an illumination map is an alpha image that says NO to the shader when calculating the light impact on that area, leaving that pixel always on. As we scroll the mouse wheel, we can start zooming out, to see what's around the ship:

Tech 2

Over here we still see a lot of detail in the ship. But if we zoom out a bit more..

Tech 3

We can still see the ship structure perfectly, however it's already too far to notice any shadowing, and the texture detail can be lowered too.

Tech 4

Zooming out a bit more, there's no need any more to any fancy shaders, no illumination maps, no normal mapping, and now we have an icon over the ship, showing us where the ship is.

This icon is of extreme importance, as we zoom out we will stop seeing the ship. The zoom out in Gemini is quite huge, so this is really needed. Let's zoom out a bit more.

Tech 5

We can barely see the ship anymore, although it's still possible to select it clicking on the icon, or moving it anywhere we want.

Just the ship model rendering is in its lower LOD. We probably could get away with rendering a 50 poly ship here, but with today's graphics cards, there's not a reason to do so.

Tech 6

Right now, we don't even render the ship anymore, or render any shield impacts. The ships can still be selected and moved, or issued attack orders. Zooming out even more, we can see the entire Star System.

Tech 7

From this view, hyperspace travel between planetary bodies can be ordered. Going back to the Level of Detail on the ships, and taking a look at the Cruiser in high detail:

Tech 8

We can see the self-shadowing on the top cannons falling over the ship structure, the small windows, and even little cracks in the armor of the ship. If we rotate the view, looking at the engines we can see light flares:

Tech 13

All of this detail is gone in lower Lods. The next image shows 2 different Lods of the cruiser, side to side for comparison. You won't ever see this in the game :)

Tech 11

The cruiser closer to the camera has self-shadowing, no illumination maps, and the textures are low resolution. The farthest cruiser has all the bells and whistles on. The next shot shows 3 levels of the cruiser; the lower lod doesn't even have proper UV cords, there's actually no need for it, the player will never see them anyway:

Tech 12

And to finish this entry, one image of the Cruiser with motion blur enabled, in the battle camera view:

Tech 15

Post comment Comments
AdiJager
AdiJager - - 165 comments

nice

Reply Good karma Bad karma+3 votes
Paxton
Paxton - - 394 comments

Beautiful. This is going to be an awesome game.

Reply Good karma Bad karma+2 votes
Attila1945
Attila1945 - - 876 comments

Nice tutorial about the importance of the LODs. The LODs are the best way to optimize a game.

Reply Good karma Bad karma+3 votes
23-down
23-down - - 3,553 comments

Awesome this game looks very good... Sounds like a mix between Sins of a Solar Empire, Homeworld & Nexus - The Jupiter Incident.

I can't believe that this one will be free. I would probably even pay for it. Nicely done.

Reply Good karma Bad karma+1 vote
SIGILL
SIGILL - - 1,157 comments

What, is this game going to be free? o_0

Reply Good karma Bad karma+1 vote
DonJaket Author
DonJaket - - 55 comments

It's not going to be free, like I said in another post - we need to eat :) and there's a considerable effort money wise to bring this game to life.

Reply Good karma+2 votes
sgtteris
sgtteris - - 304 comments

I would pay even if it was free. Sounds and looks incredible so far.

How modifiable will it be?

Reply Good karma Bad karma+1 vote
23-down
23-down - - 3,553 comments

Ah ok my bad then.. Make sure to publish it in game stores or make it buyable via click&buy I don't give much for pay pal and other crap.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: