Shattered Colony is a hybrid between real-time strategy and tower defense. The player leads a band of survivors as they hold off zombie hordes and scavenge supplies from abandoned buildings. The goal of each map is to clear the city of zombies and detonate the bridges that are allowing more zombies to enter.
The game starts with a short campaign which also acts as a tutorial. At that point the player can play one of the tens of thousands of maps made by other users, try out a randomly generated map, or use the map editor to make new maps themselves.
In Tile Factory, the player must design a factory for creating colorful mosaics. They can add conveyers to move tiles around, and then apply stencils, paint, and glue to create a mosaic matching the goal. To control all of these pieces, they can wire up sensors and logical building blocks.
This is a true sandbox puzzle game. Each level, the player is given the freedom to solve the puzzle any way they want. Every time you solve the puzzle, you are creating your own unique machine that may look nothing like what the level designer intended.
I helped make "If I Knew Then..." for the Global Gamejam 2012 in 48 hours. It is a platformer built with Unity. You play a warrior in the afterlife, fighting through a trap-filled level to get to your reward: a well-deserved rest at Palm Beach, Florida. The twist in this game is that when you die, the world doesn't reset. You are teleported back to the beginning, but any enemies you defeated are still gone, traps are still sprung, and the your dead body still remains where you were slain the last time. Expect to die a lot as you run through the one level we had time to create.
Sun Scream was my team's entry for the Global Gamejam 2011 which we made in 48 hours. You and several friends all connect to the server and each one of you controls a ship navigating through space. Each player will have a different goal: one faction attempts to tow asteroids near planets to smash them apart, a second faction collects asteroids together to combine them into new planets, and the third faction tries to rescue the survivors from destroyed planets and tow them to safety. The universe conserves all matter, and there is no end condition. Instead, each player can score points by achieving their goals.
Patter is a chat client which uses app.net as a backbone. Users can make public rooms and then invite others to join by sharing the URL for the room. Chats are not shown on the main timeline by default, but are persistent and public.
One advantage of Patter over other chat clients is that since every chat is an app.net post, all chat sessions are persistent. Those just entering a room can see what has already been said.
Combining a patter-style chat room with the Youtube API, Vidcast lets users host online parties. You can create a Vidcast event and act as DJ, accepting video requests from participants and then queuing them up for play. All attendees will see the videos simultaneously and can chat about them while it happens.
Since any Youtube video may be played with this API, an organizer can choose to run a dance party, a movie night, an educational roundtable, share Internet memes, or have people submit videos of their pets.
There is no native RSS feed for your 'My Stream'. This app solves this problem by providing you with a URL that generates an RSS feed based on your 'My Stream'.
A simple application that lets you create a personal access token for the app.net API. You can then use this access token to interact with the API itself. Useful for advanced users who want to craft custom queries or nascent app.net developers who want to get their feet wet before upgrading to a full developer account.
While playing around with some Roguelike ideas that eventually becamse Shattered Colony, I helped pioneer a new approach to determining visibility (which squares can see which other squares) for Roguelike games which I called Permissive Field of View. In Shattered Colony, I used Permissive Field of View to determine which parts of a map a sniper could fire at.
I developed an algorithm for precisely determining it and implemented it as a C/C++ Library which implemented that algorithm. You can download the library as either a tarball or zip file. You can download a demo for Windows.
While stuck on a long plane ride, I invented an esoteric programming language called Rail. While not particularly useful, it is somewhat interesting to program with. Rail is a two-dimensional language which works something like a railroad. The cursor is a train which moves along fixed tracks performing, operations as it moves. To implement a loop, you must actually curve the track upon itself. Conditionals are train switches. The set of possible operations combine some aspects of LISP and Forth.