In the year 32333 AD two robot cities on the planet Nikarade were arming themselves against each other. Both set up large complexes in which powerful photon disruptors were stored. After many years of increasing tension on of the cities elected another leader who attempted to make peace with the enemy. The cities finally agreed to an entente in 32407 and to recycle some of the created weapons
The problem was that no robot wanted to go down into the dungeons and accomplish this dangerous task. Finally, one robot named GJID came forward to take up the job. He was a simple robot and little to lose. Besides, there was a reward offered for the job.
In this game you play GJID, whose task is to move each crate into recycling bins. At times complex mazes and one-way doors can make this quite difficult. GJID is not very powerful and can only move one crate at a time. Also, he can only push the crates, not pull.
When you have recycled all the crates on the level you should use the exit door to move on to the next. This weapons complex has 14 levels for you to clear.
This is a clone of the eponymous DOS shareware game written in 92 by John Remyn. I spoke with John in 95, when the first version of this clone was made. He admired the 8-bit graphics (original game was done in 4-color CGA) and did not object to its existence. His email address has since expired and the few contact attempts I've made recently hit dead ends. The DOS game was $10 shareware and I include the original registration form here , in case you want to track John down and give him money for the excellent level design that make this game what it is.
Aside from being an entertaining puzzle, I also release this game as an example of using the XCB library for making X applications. XCB is the new lightweight replacement for Xlib that suffers from lack of documentation. This game demonstrates how to create small applications with it and also how to use RENDER for drawing text, tile sprites, and for hardware scaling of the 320x240 backbuffer.
This version of GJID has no external dependencies, so: