Pipanic

Hi everyone!

I just released my second Cerberus X written game into the wild:

Pipanic

It's my entry for the Code A Game Competition Jan 30th - Apr 10th on www.syntaxbomb.com

The game is related to the film Titanic but with a slightly different story. Or is it exactly copying the film? I'd say you have to play it to find out! ;)

Here's a screenshot to tease you:


And here's the download to please you:

Pipanic.zip for Windows

Next planned steps are:
- Make Android version
 

Comments

Thanks! I can't tell yet how my chances are - didn't even find the time to play the other games. But being "in the ranks" would definitely be cool!
 
Played the Android version. Love the art work. But so far the iceberg takes always more damage than the ships. And so dies before it sinks.
 
Make sure you ram ships only from the side and try to avoid ships with a higher level (once you master the controls, ships up to two levels above yours aren't a problem. But then, always have healings and big healings ready, because aggressive ships can occur really quick and want to play with you ;-)
 
Cool game, love the water effects. And I like the pixellated style. I might start doing that if only because I'm rubbish at pixel art (and all my old gfx are low res!) so less pixels is good!
 
Thanks! There's actually quite a lot of technical stuff going on behind the scenes for the water. For the ships too - but there it's pre-rendered by a tool, while the water effects are done on the fly.

The water first draws two quads with a grey-scale texture of low frequency waves blended on top of each other.
Then, the "trace" of the ships are drawn: this is done by drawing a lot of half circles. When the emitting object doesn't move, the circles are created with an opening angle of 180° so a full circle appears. If it moves, the angle is more and more closed depending on the movement speed. The waves itself are then scaled up to a certain size before they're deleted*. At creation, they're assigned a "depth" (which only defines if it is drawn brighter or darker). A bit of wave physics is behind that to keep everything synchronised and looking good even at low amounts of waves (waves are emitted either all 1/2 period of the wave or every half 1/2 wavelength when moving - whatever appears first).
Then, a third quad is overlaid with a high frequency wave texture.
All this in grey-scale onto an image. This image is then drawn with a fragment shader that turns the different grey values into shades of blue, that actually come from another texture holding the four blue shades and is not filtered, so no in-between colours appear.

* Actually, they're not created and deleted all the time. Every wave emitter can only emit a certain amount of waves due to the restrictions in movement speed and the physics of the waves. All these waves are then created at app initialisation and are then either active and visible after "respawning" them or not. This boosted the performance on my old Android device quite a bit.
 
Isn't that where we all started? =)

Looking at the implementation of the graphics there's not much more that I do: using textured quads for the screen filling water textures is all that's (from that point of view) more that rotating and blending. The real magic lies within the maths behind it. I can't stop to repeat how powerful mathematics are. And I benefit from three things:
1. I like maths
2. I had a lot of maths classes in university
3. throughout my career I mostly used maths in physical problems (and courses and exercises and so on), where it has a real life application.

It helps a lot when things get less abstract. In physics, you can literally get in touch with the equations that make up a phenomenon. Best example is how I learned in school how force accelerates mass and how I went home that evening and did a little implementation of that in BB. Tiny steps over many years. And that's the emotional part of the story behind the nice waves in my game :)
 
Thing is, I started programming in 1984 and not improved that much! ;-)

But I enjoy it and every now and again I get something out. I'm still using Blitz on Amiga mind you.
 
Top Bottom