Avoision is a straightforward, yet captivating distillation of vintage arcade entertainment requiring strategy, precision, and perseverance with a singular objective: capture the red square while evading innumerable cruel, spiteful white squares.
Falling Block Game is a free, open source block stacking game available for Windows and Linux. The object of the game is to move and rotate pieces in order to fill in complete rows. The more rows you clear at once, the more points you score!
The Radius Engine is a free, open source 2D game engine that works on Windows and Linux. Note: You only need the Radius Engine source or binary package if you plan to compile the games above from source.
Avoision: Avoision v1.1 Released
Avoision v1.1 is now available for Windows and Linux!
- Avoision v1.1 Windows Installer
- Avoision v1.1 Windows Zip File
- Avoision v1.1 Debian/Ubuntu package (.deb)
- Avoision v1.1 Source Code (requires Radius Engine v1.1)
Development: Cretan Hubris (EGP 2012-02)
A couple of weeks ago, qubodup (of Free Gamer fame) pointed me to the Experimental Gameplay Project. The theme for February was "Infinite World" (a concept that has always intriguied me), so I crammed in enough development time in February to finish off:
You are the master architect Daedalus. You have just finished building the Labyrinth; a massive, elaborate maze on the Isle of Crete.
Unfortunately, boasts about your accomplishment have drawn the wrath of jealous gods. They have sent a burning energy wave rippling through your creation...
- Download Cretan Hubris for Windows (.zip)
- Download Cretan Hubris for Linux (.deb)
- Download Cretan Hubris source code
The gameplay and concept are fairly simple. You are in a procedurally-generated maze that extends infinitely to the right. The goal is to escape the maze by progressing to the right, but, of course, there is no end to the maze.
To make matters worse, a red wave of insta-killing wrath slowly marches in from the left. You try and escape the wave for as long as possible, but eventually the game will always end in a victory for the gods.
To Be Continued...
I'm going to follow this post up with a complete post-mortem (hopefully including a summary of feedback) once the contest is over.
Falling Block Game: FBG2 v0.4 Released
Falling Block Game 2 v0.4 is now available for Windows and Linux:
- Download FBG2 v0.4 for Windows (Installer)
- Download FBG2 v0.4 for Windows (Zip File)
- Download FBG2 v0.4 for Linux (.deb)
- Download FBG2 v0.4 for Linux (.rpm)
- Download FBG2 v0.4 Source Code
This release includes the following new features:
- Smoother special effects and graphical cleanup
- Improved sound effects
- Linux desktop entries and binary packages
As always, Falling Block Game includes high resolution graphics, background music, retro sound effects, customizable controls (defaulting to "z" and "x" for rotate and arrow keys for movement), joystick support, high scores lists, and two gameplay modes.
Falling Block Game's new buttery smooth special effects can be seen in the following gameplay video:
On a personal node, I'm proud to say that, after over 10 years of on-and-off development (mostly "off"...), Falling Block Game finally has all the features that were ever planned for it. Please give this release a shot and send along any bug reports. Once everything stabilizes, Falling Block Game will (finally) be declared complete!
Developing Falling Block Game from the ground up (twice) has been a great experience and I've learned a lot about writing/debugging cross-platform code, creating sound effects and 2D/3D graphics, promoting beta releases, and listening to feedback. Thanks for your support and I hope you enjoy playing Falling Block Game as much as I do!
If you'd like to keep up to date on my future work, check out the "Other Games" links on the left (namely Avoision). You can also head on over to the Radius Engine web site or follow @RadiusEngine. Most recently, I participated in last month's Ludum Dare 21 48-hour competition. Here are links to my entry and a post-mortem of the whole experience.
Development: The Grind (LD21)
Last weekend, I participated in Ludum Dare 21, a 48-hour game development competition. Here's what I came up with:
The Grind is a simple game about escaping from work at a reasonable hour by avoiding responsibility.
The goal is to acquire as little work (as few "to-do's") as possible throughout your 9-5 workday. Wander around the cubicles and hide from the men in suits--if they're coming your way, that means they want to give you work!
Use the arrow keys to move, space to start, and escape to exit.
Gameplay video: http://www.youtube.com/watch?v=rKPY5R4reJY
Download the game here:
This was my first experience with Ludum Dare (really, accelerated game development in general) and it was certainly a learning experience. I went in with a goal to finish something (anything), and I certainly achieved that goal, but in the process I ended up having to cut the vast majority of gameplay features, graphics, and all sound effects. Next time around, I'm going to need to start working with a much simpler/narrower scope to avoid having to cut features until there's virtually nothing left.
In the end, though, I had a blast and can't wait to play through the other entries. Thanks to the Ludum Dare community for arranging this event!
Most of the feedback I've received so far has been extremely helpful and actually more positive than I was expecting. The two most commonly-suggested improvements are 1) allow the player to "complete" their "to-do's" and 2) give the player a compelling reason to do more than just hide in a cubicle all day (while the current game is perhaps more realistic, staying in one spot is not very entertaining).
Interestingly, these were both concepts that were in my original design for The Grind but which were cut due to time constraints. My original vision was to have the player be able to complete tasks (to-do's) by running around between different areas or sitting in front of specific computers for some amount of time. Doing these tasks would allow you to get work done, but still put you at risk of being found by a supervisor and given even more work.
Additionally, my original plan was to allow the player to complete all of his/her tasks and then (sneakily) exit the office completely (for an early win).
If I have time, I'd like to implement both of these mechanics to see if I can bring together a genuinely fun game. If so, it would certainly be worth improving the graphics, adding more levels, etc. and releasing a more complete game.
Critique (originally posted here)
The Grind is a very shallow game, but it is entertaining to watch the player get hounded by many bosses at once. I enjoyed watching 3 different guys in suits all say "Have some work!" right as I turned a corner.
Obviously, the game could use more polish. There are no menus to speak of and the smart phone isn't really used very effectively (the original plan was to have various tasks show up on the phone--in the end, it's just your score). The graphics ended up being a strange mix of 2D overhead (for the walls) and 3/4 (for the characters); this was simply a function of running out of time to make the wall graphics look good from a 3/4 angle. Lastly, the lack of sound and music is regrettable, but these were last on my list of priorities by necessity.
- Planning: 1 hour
- Map design/editor: 6 hours
- General coding: 6 hours
- Graphics: 3 hours (including unused art)
- Testing and bug fixing: 3 hours
- Real life and sleep: 32 hours
A narrow scope leaves time for polishing. I came into the contest with a vague notion of how time-constrained I'd be, but I didn't truly appreciate the level of urgency until about 3/4 of the way through the contest. At the beginning, I tried to scope my project down to make it achievable, but honestly I brainstormed ideas I had no chance of implementing in time. This led to wasted time working on features that were later cut (e.g. smart phone text, nicer looking wall graphics).
Don't underestimate time needed to implement algorithms. I had a rough idea of how to implement simple collision detection/resolution and line of sight detection, but I really underestimated how much time it would take to implement something acceptable. My first few attempts at collision resolution could lead to the player getting "stuck" and it was so frustrating that I had to keep iterating until I found something that "just worked." On the plus side, I managed to come up with a simple line-of-sight algorithm late at night that works very well (set "debug = true" in the main script file to watch it in action).