Phil Hassey - game dev blog
Phil Hassey as Snidely Whiplash
"You can't buy awesomeness.
You're born that way."

Archive for the 'featured' Category

Water effects (part 2)

Saturday, 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.

-Phil

Water effects

Sunday, 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.

-Phil

More lights and shadows

Sunday, 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.

-Phil

Lighting engine

Saturday, 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.

-Phil

BREAK(re)WIND

Monday, 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.

-Phil

Time rewinding fire effect

Wednesday, 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:

fire_draw(GAME.t,0,100,100,12,234)
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 .
-Phil

Nifty time rewinding star field

Saturday, January 6th, 2018

I’ve been playing around with various prototypes over the past few months.  I decided I might as well start sharing what I’m doing.  Gifs are easy to make!

I made some simple time rewinding code the other day.  I’m pretty pleased with how it came out.  I updated it with fancier particles and a slightly different pattern and got a really neat effect:

Anyway, hope to make some more fun prototypes off this concept.  We’ll see!

-Phil

TANKOUT everyone in my crazy new game!

Tuesday, January 31st, 2017

Yo, I made a crazy multiplayer creative tank battle game! Please check it out and tell your friends!

 

Get it on Google Play