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 + SFML, Source included!
(windows version requires OpenAL installed: https://www.openal.org/downloads/ get the windows installer, not the SDK)
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
This game is written in C and is compiled using the excellent cc65 C compiler.
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! Instead, this uses SFML for sound. The title screen is a bit of a hack and not really worth talking about.