Galcon Games
Phil Hassey - game dev blog
Phil Hassey as Wolverine
"What kind of
arrogant jerk
has a website like this?"

Particle explosions and sprites

March 17th, 2018

I worked on a particle system this week, and put together this explosion. I’m quite happy with how I got the water to reflect it! I also tried out a subtle 3D effect, and decided that it actually did work nicely, so I’m going to try that for a while.

The next day I did a bit more with improving the explosion, and I also added in sprites for the character.

I’m happy with how it’s all coming along!

Light reflections, water refractions

March 10th, 2018

I did some more work on the look over the last few weeks. First I added light reflections to the waves.

This week I worked on getting refraction working. This really helped the look a ton!

Lastly I played with some perspective / 3D rendering. While it looks good from a distance, all the details that go into making 3D really work would get bogged down under the light and water effects. So I’m pretty sure I’ll be keeping this game 2D overhead.


Water and light

February 24th, 2018

This weekend I got a lot of items done! The core engine is somewhat working, and the most fun bit has been trying to work out the interactions between water and light.


Barely an editor

February 10th, 2018

I spent most of my time working on improving the water flow algorithm. As it turns out, I couldn’t find any real improvements, so it’s not visually any different than last week. Code-wise, it’s maybe a bit better.

To say I got something done, I added in basic auto-tiling and a barely functioning editor.

Nothing too fancy, but hopefully I can add gameplay sometime soon. Will probably build up the editor more first.


Water effects (part 2)

February 3rd, 2018

After a while I found re-working the water algorithm in C++ was taking too long. I recoded it in Lua with a much lower resolution and numbers over the water so I could see exactly what was happening.

I first reproduced the classic demo-scene effect. The problem with this effect is that it does not maintain volume at all, it is a rapid simulation of the waves only.

I found an algorithm that would preserve volume, however it was very slow and did not have a very wavy / water feel to it. I’m not even sure if I implemented it right.

I did a lot of experimenting with different ideas until I made one that did work! This effect is wavy and maintains volumes. It also settles down over time. Quite a few of my experiments would never result in a calm pool.

I then re-coded it into C++. Initially I was disappointed to see it not work at all, but I found by adjusting the parameters I was able to get the effect I want. With a larger area for the waves to wave in, they behaved much differently than in a small area.

I did a bit of optimization work on the algorithm and the rendering and it now works at a decent speed even for large bodies of water.


Water effects

January 28th, 2018

I tried playing around with water effects. This first one is a pretty standard cellular water effect.

I was messing around with the settings and got this really fun effect.

The tough bit is getting the water to distribute in a way that no water is lost or gained. Haven’t quite figured out how to do that yet. The basic effect really gives “infinite” water and just models the waves.


More lights and shadows

January 21st, 2018

I spent a bit more time fooling around with my light / shadow engine. Got it running nice and fast with a ton! Changed the colors to make it look better.

This shot has about 200 moving light sources.


Lighting engine

January 20th, 2018

I put together a lighting engine this week.  It took a lot of coding before I could really test anything.

My first test effort I just rendered things as boxes to ensure that I even had the correct data.

Next I did some ray casting so I could see if I got that working.

Lastly I rendered those rays using a triangle fan.

I found that the CPU was being maxed out pretty bad, it turns out my first step (showing the boxes) was using the most. So I turned those off and things ran at a nice clip.



January 15th, 2018

So I spent some time adding time rewind to a simple breakout style game.  Once you miss a ball, it rewinds a few seconds.

The rewind worked, but I didn’t feel it really added much to the breakout experience.  It would do just as well to just give the player more balls.  While creating this prototype, I named the folder “breakwind” and only an hour or so later did I realize the double meaning.  I’m not sure if that makes it the best or worst game name idea I’ve ever had.


Time rewinding fire effect

January 10th, 2018

Part of the trick of time rewinding is to have as little state as possible.  This fire effect is generated from just this:

To get this to work, I’ve pre-calculated how the flames will move.  Since the state is so small, fast-forward and rewind only depends on changing the GAME.t .