Angry Golem is a simple tactics game for Commodore 64 (and other platforms).
Angry Golem, .d64 format for Commodore 64.
Angry Golem, for Windows, using libTCOD (and SDL for sound), Source included!
LINUX users: download the windows version, install SDL 1.2 & libTCOD 1.5, and build it with
gcc angry_golem_libtcod.c -I/usr/include/libtcod-1.5.1/ -I/usr/include/SDL/ -lSDL -ltcod
(you may need to adjust include directories - tested & working on Arch linux!)
Move your golem (@) with ASDW
Use potion (!) with 1
Pick up a boulder by walking onto it (you can only carry one!).
Crush an enemy (M) with your boulder by walking onto it.
Note that you walk 2x slower when carrying a boulder!
Escape level by walking onto >
The level is also complete when all the enemies have been destroyed. In this scenario you will be given the potion on the level if not already picked up.
You will need a Commodore 64 emulator such as VICE, or a real C64.
Mount the d64 image
LOAD "*",8
RUN
Copy the image to a disk and LOAD "*",8:RUN
This game is written in C and is compiled using the excellent cc65 C compiler.
Here is the source code for the C64 version, released under the MIT license.
Not much effort has been spent on optimisation or speeding up (not that necessary since it's turn based).
cl65.exe -t c64 game.c
I use the cc1541 utility http://csdb.dk/release/?id=69964
cc1541.exe -i 11 -w game game.d64
The title screen was made using Playscii and converted using a custom php script into a C header file (title.h). It turns out that Playscii is a bit tricky for creating images to be displayed on a real c64 since Playscii allows for different background colours for each character, while the c64 allows only a single background colour. One has to exercise some care while using Playscii to make an image for c64 to ensure all your background colours are consistant.
It's not amazingly fast or optimised, or small even, but it's really fun and infinitely more satisfying than writing in BASIC. It actually got me enthused about coding again for a while.
But if you want a great game in 4k then you'll need to write it in assembly.
The Windows version is a libTCOD port with minimal changes. Sound effects are simply wavs recorded from the c64 version! I did consider using ReSid but ... too hard! This uses SDL for sound: SDL comes with libTCOD. The title screen is a bit of a hack and not really worth talking about.
Compilation should be pretty straight forward: you will need libTCOD.
SDL sound was added in with much help from this tute: https://gist.github.com/armornick/3447121