Category Archives: Uncategorized

Two Interviews

I’ve spoken with a few people lately, and two of the interviews have gone live. First, there’s my talk with the Armchair Gamer Podcast. We chatted about games each of us is playing, and then the hosts asked me an array of questions. I even talk more about some upcoming projects than I believe I have before. You can listen to the episode on its page.

I also spoke with Games For Change about my recent title “Passing the Ball.” They asked some interesting questions about mood and interactive storytelling. You can read the interview on their blog. I understand they’ll be posting a part 2 soon with an interview with some of the GDC Online folks who commissioned the game!

Exploit Antiblocker Update

Based on a request by Kongregate user Enthernalcz, I added a new type of block to my 2009 game Exploit. His original message read:

Gregory, could you please add buffer nodes that make the blocker node active instead of deactivating it in Exploit? It would then be Turing complete, allowing us to do complete gates.

I think he was actually requesting functionality that would let blocker nodes act as a rudimentary 1-bit memory unit that could be turned on and off at will. However, that’s a bit complex to do with how Exploit handles its blocks, so I went for a simpler interpretation of the request. I’ve added the “Antiblocker” block type, which always allows packets through unless it’s sent a signal from a Buffer node. I haven’t actually done the thinking to figure out if this allows Turing completeness, but it’s probably a step in the right direction. I let this request sit for almost a month, but it only ended up taking me an hour or so to code.

Note that there’s odd timing discrepancies between the life of a Blocker and an Antiblocker. Exploit, to my shame, keeps track of block lifespans using Flash’s built-in alpha variable, which doesn’t always behave as you’d expect. They should each take the same amount of time to recover, but for some reason Antiblockers are recovering quicker for me. Oh, well. If you want a demonstration of the new unit, check out the sample level I made.

I do have plans for an Exploit 2, by the way, although they’re strictly on paper. These plans include social engineering, puzzles with obscured contents, and a virtual gray marketplace where you can purchase (fake ingame) DDOSes and other bonuses with money earned through optional objectives. Perhaps the best features I’ve got written down are scripts and tools. I’d like players to be able to record and replay click sequences, as well as set ports to auto-fire as soon as they recharge. This should eliminate some of the frustration that players experienced with the game’s sometimes overdemanding timing.

Let me repeat that any plans for a sequel are just that: plans. Not one character of code has been written for such a game, and the due date isn’t a question of “when it’s done,” but rather a question of “if I start in the first place.”

2D vs 3D: Diagram vs Architecture


The ’90s was a decade of tremendous change for video games. 1992 birthed Ultima Underworld and Wolfenstein 3D, heralds of an oncoming wave that crashed ashore with 1993’s Doom. This wave brought the supremacy of 3D. During the ’80s, 3D was mostly the domain of roleplaying games, but by the end of the ’90s virtually all new mainstream video games were rendered in polygonal 3D.

This was more than just a graphical innovation. It was a revolution of perspective. The transition from two dimensions to three also marked a transition in the role of the player from observer to inhabitant. More important than 2D or 3D graphics is the 2D or 3D perspective. A 2D perspective places the player, the narrator, in a role of watching the game world from outside. A 3D perspective places the player inside the game world.
Continue reading 2D vs 3D: Diagram vs Architecture

Exploit on Platogo

For those of you who have played my game Exploit and wanted a better way to create and share levels, you’re in luck! The flash game site Platogo has just launched, and Exploit is one of its initial games! Platogo’s got a neat developer API that allows, among other things, level creation and sharing. You can make levels, rate them for quality and difficulty, comment on them, and generally do all sorts of social stuff. There’s even a leaderboard for each user level ranking how fast you complete it, and a global leaderboard for how many user levels you’ve finished.

Play Exploit on Platogo to check out these new features.

(My August game is delayed. I’m still working on it.)

Torn Paper GIMP Filter


In the process of working on my next game, I found myself in need of a particular photo editing effect: torn paper, as if an image has been ripped out of a magazine and glued in place. I found an excellent method for the image editor I use, the GIMP, but it requires several steps. The solution? Script-fu! I haven’t coded in Scheme in forever, but it was relatively straightforward to put together a new filter.

Download the filter here.

Save it to your GIMP scripts directory, which will be ~/.gimp-2.6/scripts/ (or something like C:\Users\Gregory\.gimp-2.6\scripts for Windows users). The filter will be added to the end of your Filters menu. To use, just make a selection of any shape, make sure the layer you want to tear out is active, and go to Filters->Torn Paper. The filter will make a new layer with the torn out piece on it.

This filter allows you to make images like the one above. Cool, huh?