Archive for October, 2011

Weapon Swinging + Explosions

Need to change the weapon from being a kinematic body that collides with enemies to being a combination of a ghost body that collides with enemies and a kinematic body that collides with particles… The current approach isn’t going to work when enemies take more than 1 hit to kill, though batting them across the level is fun. Even more fun? At the beginning of a swing, the weapon might come into existence inside the enemy’s body – resolving this collision results in a wealth of hijinks.

Note: The DX11 renderer changes the DepthStencilState and CullMode (and potentially other things) so you’ll need to clean up after it, assuming you’re calling CEGUI::System::getSingleton().renderGUI() right before pSwapChain->Present( 0, 0 ). It is entirely possible there is another way to structure things, of which I am unaware, which will better minimize state changes. If you know something I don’t, let me know!


Defining the rigid bodies in the voxel editor now – enjoy the debug lines!

Axe Play

Just got horizontal weapon swings looking correct – not quite ready for a movie, but I hope you enjoy the screenshot! Need to add weapon hitboxes and fix up the animation, but that will need to wait until tomorrow. Goodnight!

Unfortunately, a combination of the common cold and midterms prevented me from getting much development done in recent weeks. In related news, std::pair<dev,dev> is no more – in an effort to re-establish project momentum I have taken sole custody of the game. I wish Luis Santos the best of luck on future endeavors.

In brighter news, development of the game will now continue in earnest and, barring any unforeseen complications, I expect a week of exciting progress!


So I got Deferred Shading up and running (with point lights) and sped up the Graphics System a little in the process (on my ATI card, at least) by decreasing the render target sizes.  Here’s how it went:

  • My first attempt was using the billboarding shader I wrote for the particle system – this was wrong because the sphere that is a point light gets projected to an ellipse – ack!
  • I read Deferred Shading Optimizations and, hey, that’s the problem I was having!
  • Nick Thibieroz was nice enough to point me to this, which explains how to get the quad I was looking for.
  • But I’m not quite smart enough to understand what they’re doing there, so I bounded the sphere with a cube (in the geometry shader). Take that, projection! Viva El Cubo! This had the bonus of letting me write the cubic particle shader… oh, here is something awesome if you like cubes.

My quads are wrong, so wrong, these point lights are projecting to ellipses!

4 Cool Things

Thing 1: Got approval to do a DirectCompute particle system for my CS570 grad project, so our particle system should be awesome.
Thing 2: Luis got the explosion effect partially done, witness the video below!
Thing 3: Ben Ellinger made some really good suggestions for game mechanics revolving around making our map more dynamic, so I hope to implement all of that in the near future!
Thing 4: Malte Skarupke taught me what Isometric means! That guy is a genius, I hope he goes indie.

Even numbered cool things are in the video below. Odd cool things will be in a video in the future – they’re weird like that.

Basic Slime AI

Doing a distance check, then a Y velocity check, then casting a ray to the ground and, finally, the player. If everything checks out, jump!

If you’re reading this, you should instead check out Voxel Chronicles, my current game. That blog is also updated much more often, though all the posts are about the game instead of me – fancy that!


Paulo Surricchio referred me to A Simple and Practical Approach to SSAO, which I’ve implemented (mostly) by the book. I’m not doing the business with the random textures (yet) and I’m already reasonably happy with the result. But you don’t have to take my word for it. Might need to do something about the sampling artifacts, I’ll need to see how things look once I’ve got some lights/glow.

1. Basic AI
2. Audio
3. Lighting
4. Basic Player Attack
5. Basic Enemy Death

Expect videos!

SSAO Test 1

Feeling Perfectly Normal