Angry Golem

For Commodore 64

& for Windows using libTCOD

& for everything else if you compile it yourself!

2016-12-24

Angry Golem is a simple tactics game for Commodore 64 (and other platforms).

Download

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!)

Keys

Move your golem (@) with ASDW
Use potion (!) with 1

How to play

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.


Running the Game on a Commodore 64

You will need a Commodore 64 emulator such as VICE, or a real C64.

Using emulator

Mount the d64 image

LOAD "*",8
RUN

Using real C64

Copy the image to a disk and LOAD "*",8:RUN

About development

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).

How to compile source code for Commodore 64

cl65.exe -t c64 game.c

How to convert the compiled binary into a d64 image

I use the cc1541 utility http://csdb.dk/release/?id=69964

cc1541.exe -i 11 -w game game.d64

About the title screen

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.

About programming in C for Commodore 64

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.

About the LibTCOD port (added Jan 5, 2017)

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

Comments, Enquiries, Feedback

Other Games

Back to index