Now open for submissions
We’re inviting all C64 and VIC20 developers to compete in our first Winter Game Development Competition. First prize is a new THEC64 with an additional boxed THEC64 Microswitch Joystick, and the runner up will receive a THEC64 Mini with an additional boxed THEC64 Microswitch Joystick.
The competition is open to all, but we’re keen to encourage under-18s to enter. Should we receive a sufficient number of entries from under-18s then we will open two categories: 14-17 years and 13 and under which will be judged separately. Remember that Matthew Smith developed Manic Miner when he was 16, and our very own Chris Smith (no relation) developed Cybex when he was just 15! So if you have children, get them involved and encourage them to create their own 8-bit masterpiece.
You may begin to submit your entries from Friday 6th November 2020. All entries must be received by Friday 11th December 2020 before 23:59 GMT. To enter, notify us by email using firstname.lastname@example.org with the subject line Entry: (name) where (name) is the name of your game. You may share your work with us using storage solutions such as Google Drive, or other file sharing tools like WeTransfer. If you have a question or would like further clarification, please email with the subject line Support request.
Please note that whilst the competition is not intended to be a commercial venture, we would like to include the winning entry (or entries should we have multiple age groups) and the 2nd place entry on a future firmware update. By entering, you agree and consent to your game being considered for a future firmware update, which we provide at no additional charge to owners of THEC64, THEC64 Mini and THEVIC20. The prizes offered are not meant as a financial inducement, but to show our appreciation to the winning entrants. All copyright and intellectual properties will be retained by the entrants.
Rules and criteria document
Tutorials and resources
There is a wealth of information available online regarding Commodore C64 and VIC20 programming and games development. For our competition, you may use Commodore BASIC, use 6502 assembly language, or use a high-level language which will compile to C64 or VIC20 executables, such as Turbo Rascal.
How to display a score with 6502 assembly
For those interested in 6502 assembly, we think that the YouTube channel 8-Bit Show and Tell has some excellent tutorial examples; the channel covers BASIC programming as well.
Have a look for yourself as channel host Robin Harbron explains how to create a visual scoring routine in 6502 assembly using the assembler Turbo Macro Pro:
Other useful online resources include CodeBase 64 for C64 programming, or the TechTinkering blog has a quick overview to beginning 6502 assembly for the VIC20, written by Lawrence Woodman available here.
Planning your game
When it comes to making a game, or pretty much anything that you want to develop for a computer system, it’s always a good idea to get some ideas onto paper of what you want to achieve before you start the process of developing it, and that’s a useful starting point whether you intend to use low-level languages such as assembly, or high level language such Tubro Rascal or BASIC. Sketching out your ideas will give you a clearer idea of how the game mechanics will work, such as what objects will be in your final production and how the player interacts with them and the game world that you have created. But beyond this, when you get to the nitty gritty of coding, here are some top tips that for you:
- Break your development down into small and manageable segments that you can easily test to prove that each chunk is working.
- Make sure those chunks are fit for purpose, and when you’re happy, move onto the next segment of work.
- Use version control so you may both track the changes to your production, and also roll back to the last working iteration should that be necessary.
- Try to stick to what you what to achieve only, so that you don’t spend time developing unnecessary features.
- Take a break if you are struggling with a bug. Make a hot drink or take a 15 minute walk or something else to get away from the screen.
- Don’t be afraid to ask for help via the various C64 and VIC20 groups online, or discuss any bugs that you’re struggling to solve. Often talking about bugs helps you to fix them easier.
Our first entry is in
Steveboy has entered an ambitious game which works in C64 mode and is written entirely in BASIC. As you may expect, Ghost Busters BASIC pays homage to the classic Ghostbusters game released in 1984.
Ghost Busters BASIC is a somewhat cut-down variant on Activision’s classic movie tie-in but with some additional gameplay elements. It requires well-timed reactions to beat it. Like the original, you are tasked with responding to Slimer attacks at various locations to make money for your creditors. During play the City PKE is increasing and once this is above a certain limit you must sneak two of your crew past the Stay Puft Marshmallow Man to then close the gates to Zuul and save the City from impending doom.
Please note that this, along with all other entries, will be available to download from us after the competition has closed and before the winners are announced.
VIC Snake released
VIC Snake is an example VIC20 game which requires +8K or more of additional RAM. It’s a conversion from a C64 game called PET Snake which was developed in 2019 using THEC64 Mini and CBM PRG Studio for Microsoft Windows.
Whilst VIC Snake is unlikely to set the gaming world on fire, it shows that in a short time you can create perfectly playable BASIC games (note that it is not an entry into the competition). The version here is unprotected, and so you may use RUN/STOP and RESTORE to break into the program and list it. It is mostly optimised and may give you some ideas of how to save memory and/or create fast games using only the BASIC interpreter.
If you would like the source code for VIC Snake, please email us and we will provide it for you.