PCF Shadow Mapping
An implementation of percentage closer filtered soft shadow mapping.

(ground shadow only)
Model by Brian Parnell
Alphabetica – Dev Journal #2
Posted by Paul in Alphabetica on August 30, 2009
After completing the basic grid/letter system on which the letter blocks could be placed and moved, I set to work on the different game modes that would be required. In puzzle mode, the player progresses through the game by solving jumbled word puzzles. Words would be selected based on a predefined word list.

In dictionary mode, players race against the blocks to make words and keep the grid clear. This would require the previously mentioned dictionary, which is created from a large word list. Words are stored in an array, and indexed using a search tree. Using a tree structure would allow the grid structure to be searched quickly for words that had been formed by the player. When searching the grid block by block, the letter representations are fed into the search tree, which moves from the root (the first letter of a word), through the nodes (subsequent letters) and finally to a leaf (the dictionary word).

I then created a simple menu system with more placeholder art to flesh out the basic structure of the application and allow easy testing of the different gameplay modes.

Slugs – 2d Random Terrain
I’ve been working on a random terrain generation algorithm for a indy worms clone: Slugs
Here are some shots demonstrating the basis function.






Alphabetica – Dev Journal #1
Posted by Paul in Alphabetica on August 18, 2009
Alphabetica is an iPhone word-puzzle game designed by Zen Davis. In these journals, I will be documenting the development of the application from my viewpoint as programmer. I’ll be covering everything from the creation of the initial prototype code base to putting together the completed project.
With any project, a good place to start from a programming standpoint is with the core systems. I would define a core system as a system which is absolutely required in order to meet the goals of the design document. The most obvious of these, for an iPhone game of this kind, is an OpenGL Graphics Engine.
Having already built up a solid graphics engine code base on the iPhone, I was in good shape before the project even began. With this out of the way, I would be free to work on the other core systems that would be needed to accommodate the desired gameplay elements.
In order of importance, I determined the largest of these were:
1) A grid based play area on which individual “letter blocks” can be placed to form words.
2) A dictionary containing a large word list, with a fast search speed.
3) A game world, from which the user selects different puzzles.
4) A simple menu system.
Always remember, get with your designer to determine the specifics. The last thing you want to do is spend time developing a system which you later find out is useless because you misunderstood something in the design document. Since we didn’t actually have a design document at this point (I was a little ahead of the game), I made sure to question Zen about what he wanted in relation to my list of core systems.
Another important consideration was the availability of game assets (art/sound/etc). Would I need any art to allow me to flesh out the basics? Of course I would. Enter the lovely world of programmer/placeholder art. I usually use a second machine, and create some extremely basic placeholders as I need them. It is always good from a testing perspective to have something to display. You can’t really get any feedback from the other team members on a blank screen.
A quick bit of programming later, and I had something to play with.












