March 12th, 2010

Physical Queries for the Math Challenged: Real-time Shadows

Recently I’ve been working on a new game whose gameplay is centered around shadows. This meant that I needed to implement a shadow system which could:

  1. Generate “realistic” shadows for objects
  2. Allow for shadows to be cast at different angles
  3. Be efficient

Of course, I wanted to avoid all the complex math which tends to creep in with real-time shadows. In order to do this I needed to accept some constraints:

  1. Work with shadows, not light sources
  2. Have little control over intensities
  3. Objects simply extend in 3rd dimension

After implementing the system in my game I thought it might be useful for others. This post is going to cover the steps necessary to add simple real-time shadows to your game.

Read more

Automate Everyday Tasks with Ant

Alright, so I’ve got to confess that I love to write makefiles and similar things. There’s something immediately rewarding about automating commonly performed tasks. That’s why I thought I would share some of the cool things you can do with ant.

Read more

Game Design and Iterative Development

I recently started developing my next game, Shade. The fundamental gameplay was outlined by Lost Garden but there are still a lot of unknowns. The truth is, for any game there are a lot of problems which will not be fully understood until further in the development process. For instance, in Shade the player moves around obstacles to collect mushrooms. The mushrooms only grow in shade cast by the obstacles. What should the obstacles look like? What makes collecting mushrooms fun? Where is the challenge? Sure, you can take a shot at answering these questions on paper, but it’s incredibly hard to say which answers will be fun and which will be boring. At times like this you should consider adopting an iterative development cycle.

Read more

How to Find and Use Artwork for Tile Based Games

Here’s another article for the uninitiated. I found that creating artwork which was ready for use in a game was very difficult. I easily spent hours on this or that tileset only to find that I had messed up somewhere along the way or didn’t know what to do with the end result. Now after spending the summer screwing up I feel like I’ve got the hang of it so I’m going to write it all down in case someone finds themselves in my position.

Read more