Back in the old days I wanted to program a game called Bloxinies. One of the requirements was to use the DOS-based smiley but besides that not much thought was put into the game. Sometime later the game Zeux popped up which used the smiley as main character.
Today, 2013, I fired up Turbo Pascal 7 and created a game using Borland's CGA.BGI file. It's pretty straightforward and uses only a few game-components. The maps are built using a 16x12 raster consisting of numbers from 0 to 9. This means there are not more than 10 types of objects. You can create own maps by editting LEVELS.DAT and using the following numbers:
0: Empty tile
1: Concrete wall
2: Big stone wall
3: Small brick wall
8: Static shooter
9: Exit door
The primary goal is to grab all the diamonds and exit through the door. Use boulders to block enemies and to block the static shooters. You can also use enemies to block shooters.
Download Bloxinies here (right click > save as in case it doesn't work). The ZIP-file includes the game with 16 levels and the source code.
It runs fine on my Toshiba T3100 (8MHz 286; CGA):