Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Osaris Games Devlog : Exterminate!

A topic by Osaris Games created Jan 02, 2016 Views: 8,351 Replies: 12
Viewing posts 1 to 9
Submitted (2 edits)

Hi!

Yesterday I started working on my libGDXJam project, whose name will be: Exterminate!

Synopsis:

Find Life.
Kill Life.
Exterminate! EXTERMINATE!

So, in this game, you play as a robot, in a spaceship, and you simply want to destroy life everywhere.

The action is set around a 3D procedurally generated planet somewhere in space.

I guess this game should be fun to make and fun to play :p

Right now I'm tweaking some voice recording (yeah I'm an actor too) to make my voice sound like a Robot, with REAPER : the result so far

I'll try to post screenshots later this evening !
Submitted (2 edits)

Ok here's the first screenshot! Took me a little longer than expected to get the infinite world to work. For this game I coded a quite simple generator based mostly on a noise texture because the generation needs to be extra-fast to let the player fly at a satisfying speed in his spaceship.

I re-used some shaders I made for my main project to have good looking water, godray, and sun. All of this in a deferred shading pipeline which is a bit of an overkill for a simple game like that, but anyway that'll make an opensource example of deferred shading in libGDX ;)

Now I need to add some life in this planet!

Submitted (1 edit) (+1)

Adding some life:

Maybe that's a bit too many sharks :p

I found these free animated models on TurboSquid.com, I recommend going there when you are looking for a 3D model!

Submitted

Nice graphics!

Submitted (1 edit)

I just implemented physics and collision.

For this little game, I wanted to keep things very simple so I don't use Bullet, I wrote this basic collision handling system which approximates every objects into Spheres of radius 5, that's all I need for this project:


Submitted (3 edits)

Adding some missiles!

Submitted (2 edits) (+2)

So, how does my render pipeline work?

Let's see how to achieve this:

Warning, this will be a long post!

We start by populated the G-Buffer, which is a framebuffer with 4 buffers attached, used for deferred shading. So it all starts with just the texture colors being drawn to one buffer:


And the normals into another buffer:


The attributes (diffuse and specular infos) into a third:


And the depth into yet another buffer:


Ok. We have the basics. Now we can start the actual rendering, first we draw the skybox:


And then we combine the 4 buffers previously filled, adding a unlimited numbers of pointlights at no cost and calculating the shadows only once per pixel, dependless of the complexity of the scene!


Ok. now, let's add a sun and some post-processing effects:


Now let's draw the godrays. We use the depth-buffer from the the G-Buffer to know where the light comes from:


And the we make it expand directionally from the sun position:


Let's add the godray to the scene:


Nice! Now the water. First, we prepare the reflection on the water by redrawing the scene top-down and cutting down anything above the see level:


Ok, let's add the water to the scene! To do that we again make use of the G-Buffer to include some refraction based on the depth.


Just add the UI and we are done!


Submitted (1 edit)

First gameplay video!

Very nice. Not clear when will you die though :)

Submitted

Do you have a repo already? I'd like to take a look to learn about the renderer, it looks awesome!

Submitted

Not yet, I'll do that next week on github.

I simply hope you won't faint from some quickly wrote code and a lot of public static :p

Submitted (1 edit)

Looks nice! This its an interesting article. Maybe you should change the missile sound :)

Submitted (1 edit)

Just released the game & source code!

http://itch.io/jam/libgdxjam/rate/50859