The Bear Essentials: Developing a Commodore 64 game – Part 4
Jun26

The Bear Essentials: Developing a Commodore 64 game – Part 4

Part 4: Studying SID It’s been over a year now since I started work on my platform game, and there is still plenty of work to do on it. I would never have imagined it would take me this long to make a Commodore 64 game, but I constantly find myself revisiting things that I thought previously completed to improve them.  I’m without a doubt past the 50% progress marker now anyway, which is definitely a positive. And on another positive note, Bear has found a really nice home with new Commodore 64 game developers Pond Software. Pond’s first release earlier this year, ‘Spaceman Splorf: Planet of Doom’ is a very polished score chasing game with excellent sound and graphics and can be downloaded for free from: http://pondsoft.uk You can also read about Pond’s upcoming releases, which include entries for the 2016 Reset 4kb Game Coding Competition, which I would encourage any C64 coders to take part in! Details of the competition can be found here: http://cloud.cbm8bit.com/resetc64/crapgamecompo2016v1.1.pdf The Sound Interface Device I’m sure at some point everybody has been impressed by a piece of music played by the Commodore 64’s SID chip.  Over the years there have been many names associated with squeezing excellent pieces of music from the three sound channels of the SID – Rob Hubbard, Ben Daglish, Jereon Tel, Steve Rowlands…  Look them up on YouTube if you still need convincing. Before I started writing my C64 platform game, I had a small amount of knowledge of how the SID chip worked having read about it in various books and magazines.  When it came to making use of it in my own programs however, I only really managed to get the most basic of sounds working. For some games this is absolutely fine (my Snake clone had small noises to indicate picking up, crashing and starting the game, and also a very simple tune when the game first loads), but for other more complicated games it really is deemed unacceptable for a C64 game to not have some cool music and sound effects. This was the case with RockMaze, my first attempt at creating a C64 game.  I can’t remember if I ran out of time, or if I failed at attempts to get sound effects working, but either way the game ended up being completely mute.  When I was asked recently if I would like to contribute to the Reset magazine cover disk, I thought this would be an ideal time to read up on the SID chip once again and try to add some music and sound effects to RockMaze. After a quick internet...

Read More
The Story of the Commodore 64 in Pixels by Chris Wilkins – review
May13

The Story of the Commodore 64 in Pixels by Chris Wilkins – review

Previous publications from Fusion Retro Book’s ‘in Pixels’ range may have been dedicated to our old stripy friend the ZX Spectrum but now it is time to turn our attention to it’s arch-rival (in the UK anyway) – the mighty Commodore 64, the highest selling single computer model of all time. The Story of the Commodore 64 in Pixels comes in soft and hardback form and at 268 pages is the largest ‘in Pixels’ book to date. However this will also be the only volume unlike the ZX Spectrum in Pixels books which numbered three in total. The book I have for review is the hardback version which has a beautiful ‘C64 screen’ matt blue cover, designed by Steven Day with the “C64” logo and “in pixels” text spot varnished. The spine mimicks the beige of the original C64 itself and is emblasoned with the Commodore 64 ‘stripes’ logo. The overall effect is one of a luxury book which looks and feels fantastic. The hardback version of the book pictured with Reset Issue 8.5, made specially for the Kickstarter 40K stretch goal. The hardback version of the book pictured with Reset Issue 8.5, made specially for the Kickstarter 40K stretch goal. Inside the book The Story of the Commodore 64 in Pixels follows the tried and trusted format of the previous ‘in Pixels’ range with a fascinating Foreword by Bil Herd, former Commodore engineer responsible for the C128 amongst others, giving it an opening with considerable pedigree. Following on from this grand opening piece we have an equally enthralling history of Commodore told by former Newsfield owner and Zzap! 64 editor Roger Kean and an article on Commodore games cartridges by Mat Allen. The one thing you will notice about this book compared to previous ‘in Pixels’ books is the extra input from people connected with the C64 in some way. All in all there are over 30 memoirs and articles by C64 dignatories, way more than in any previous single ‘in Pixels’ volume. This has caused the ‘games’ section – consisting of double page spreads with in-game graphics and a short synopsis – to be cut down to just 35. However, with a one-volume book on such a prolific machine, something had to give – and in retrospect think the book’s game to memoir ratio is balanced very well. Memoirs appear to include almost everyone who was anyone during the Commodore 64’s long lifetime with the likes of Matt Gray, Andrew Hewson, Ben Daglish, Jon Hare, Karen Davies and Archer Maclean (to mention but a few) all giving great insight into those heady days. Throughout the entire book...

Read More
SD2IEC and Epyx Fastload reloaded by thefuturewas8bit – review
Mar19

SD2IEC and Epyx Fastload reloaded by thefuturewas8bit – review

The SD2IECs themselves come in a variety of colours. Even recycled plastic from old Commodore computers themselves Closeup on the translucent SD2IEC The Epyx Fastload Reloaded, an 8-12x speed increase and a built-in reset button make this a handy addition to your setup Top down, full setup The case of this SD2IEC is made from a recycled C64C Connected to an original Commodore 64 Close up SD2IEC detail The SD2IEC can also be used on C16 and VIC-20 models SD2IEC explained Over the years I have grown to love the Commodore 64 almost as much as my main area of interest – the ZX Spectrum. Playground debates over which is the best machine have become nothing but fond memories for me as I explore the intricacies of each machine, their respective strengths and weaknesses often balancing out. In recent years though, I must admit to using my Spectrums a lot more, mainly due to the convenience of the SD card storage that has become available. Thanks to thefuturewas8bit.com and their range of Commodore based SD solutions, that has now changed. I was kindly sent a well packaged box of goodies containing 2 SD2IEC units and an Epyx Fastload Reloaded cartridge by Rod at TFW8B to review here on RGC. I have since been busying myself getting to know what these wonderful storage solutions can do and how they could change the way I use my Commodore machines forever. Produced in a range of colours to match or compliment your current setup, including units made of recycled plastic from old Commodore computers, the SD2IEC plugs into your IEC serial port and cassette edge connector and lets you access a correctly formatted SD card that is inserted into the device. The benefits of this are many, but simply put, by using SD storage you can potentially have thousands of .d64 and .prg files on tap – all accessible within a few keystrokes. The Epyx Fastload cart is a reproduction of the original Fastload cartridge produced back in 1984 but now available in lots of funky colours. The addition of the Epyx Fastload Reloaded cart speeds loading times up by 8-12x and includes a handy reset button. It also simplifies using the SD2IEC as I will explain below. Another bonus is that the SD2IEC is also a multi-computer solution and can also be used on C128, C16, C64DTV and VIC-20 computers, although the Fastload Reloaded cart is only useable on C64 and C128. Hands on with the SD2IEC and Fastload I wasn’t sure how I would get on with the SD2IEC to be honest, I had only ever used the C64 for...

Read More
The Bear Essentials: Developing a Commodore 64 game – Part 3
Dec28

The Bear Essentials: Developing a Commodore 64 game – Part 3

Part Three: The Joy of Plex Things have been progressing well with my Commodore 64 platform game since part two, and I have now put together a trailer showing the first two areas of the game. Before I begin retelling my joyous experiences of learning C64 sprite multiplexing, I’d like to show a couple of screenshots that show the origins of Bear, who actually started life in Unity 3D. I had numerous attempts at making a platform game in Unity, with the goal then to be able to publish it to numerous platforms (probably starting with iOS). However, I found it difficult to get the pixel perfect platforming I was aiming for, and I struggled to make graphics assets that would suit the game I had in mind. In the end, I gave up on the idea, and Bear sat untouched for a good long while. I’m really glad that I decided to get my C64 out of the loft and set it up.  This is what sparked the idea of making Bear into a C64 sprite, and attempting to make my platform game again.  I’m surprised that the restrictions of working with a C64 has helped to bring the game to life, and that I found it much easier to create graphics with a 16 colour limit and a low resolution.  Something to Bear in mind if I ever attempt to make the game in Unity again! Speaking of restrictions, one quite large restriction on the Commodore 64, is that it only has eight hardware sprites available to use, which looking on the bright side, is more than enough for some games.  In fact, the first two games I made for the C64 didn’t even use sprites in the main game, and were just used to show things like the game logo and score, and everything else was built from screen characters. Some games require many more than the eight available sprites though, and so a technique called sprite multiplexing is needed to allow this. This technique takes advantage of the register which tracks where the screen refresh is currently happening, and re-uses sprites that have already been displayed by moving them down the screen underneath the refresh so that they are drawn again, giving the impression that there are actually more than eight sprites. This is quite a commonly used technique on the C64, one famous example is of the massive ‘fist’ boss in Turrican. The fist is made up of rows of sprites that are reused again and again to make one very impressive giant enemy! There are very helpful sprite multiplexing code examples (along with...

Read More
The Bear Essentials: Developing a Commodore 64 game – Part 2
Oct03

The Bear Essentials: Developing a Commodore 64 game – Part 2

Part Two:  Pixel perfect platforming Since the last instalment, I made the decision to go completely back to basics and do some research before progressing any further with my platform game. Why?  It has been a dream of mine to make a C64 platform game for a long, long time, and I want to make the best job of it that I possibly can. And it’s always good to learn something new, right? Since I am (possibly quite badly) self taught in machine language and it has been many years since I used it last, there are a fair few gaps in my knowledge of how machine language and the C64 work, so I figured it would be a good idea to try to fill in some of these gaps to make progressing with coding as easy as possible. I already owned The Commodore 64 Programmers Reference Guide, which is very handy to refer to and learn the basics of machine language, but I needed something a little more advanced.  I sought out some recommendations from the Lemon64 forums, and one book that cropped up again and again was Jim Butterfield’s ‘Machine Language for the Commodore 64‘. I recommend the revised and expanded edition, which you can download along with lots of other great books from here: http://www.bombjack.org/commodore/books.htm Jim’s book is widely regarded as being the best way to get started and to advance with machine language.   Another great suggestion given to me was to study some source code from other C64 games. This was a very valuable step to take as it has taught me many programming tricks, ways to structure code and some great ways to conserve memory.  It can be a little daunting diving in to somebody else’s code, but with the right approach and some patience can be incredibly rewarding when you discover something new. Armed with all of this new information, I actually decided to start my game again from scratch, which although has cost me time and was somewhat painful, it will now ensure that my project is structured correctly and that all of my code is up to date with the new knowledge I have gained. Another piece of  ‘research’ I decided was needed was to play some platform games for inspiration.  One of these was the first game I remember playing on my Dad’s ZX Spectrum 48k, which had only three buttons to control the main character, the simplicity of which I adore: Left, Right, Jump. Simple. Too many games these days have you clumsily looking down at your hands trying to remember what does what. None of that here....

Read More
The Bear Essentials: Developing a Commodore 64 game
Aug19

The Bear Essentials: Developing a Commodore 64 game

Part One: Initialising and moving a sprite I find it absolutely incredible that the Commodore 64 development scene is alive and well.  Thanks to companies like Psytronik there is still a healthy stream of games arriving on the C64 25 years after I first got my machine in 1990. I was fairly late to the Commodore party, having had my first 8-Bit computer experiences on my Dad’s ZX Spectrum 48k.  I loved every minute I spent with the little rubber-keyed beauty, but eventually wanted to branch off into a territory of my own choosing…  I wanted a computer of my own. I chose the C64 after reading about a recent price drop and an influx of new cartridge releases which promised to give the 64 a new lease of life.  This didn’t turn out exactly as Commodore had planned though, and it wasn’t long after I first owned the machine that the 8-Bit computer scene gave way to the 16-Bit computers and consoles. I never once regretted my decision to follow the C64 route though. Like all 8-Bit computer owners, my first programming attempts were in the BASIC language, but I soon grew frustrated that I couldn’t make the type of games I wanted to make as BASIC just wasn’t fast enough.  And so, armed with an Action Replay cartridge and the Commodore 64 Programmer’s Reference Guide, I taught myself the basics of 6502 machine language. My first creation was a Boulderdash / Repton clone called RockMaze, written mainly in BASIC but using the speed of machine language for scrolling the screen and copying levels in and out of memory.  It was a fun little game to make (and play), and even had a level editor. After this, I was determined to write another game, but this time made in 100% machine language.  For this, I decided it would be better to use a very simple concept, and created a clone of the Snake game (which was later made very popular by a certain mobile phone company!) My bedroom programming time soon disappeared in favour of the usual teenage pastimes (pubs and girls if I remember correctly!), and the games I made were destined to be forgotten at the back of a dusty loft. Fast forward to 2015, and after joining the Lemon64 community, I was asked if I would like to give RockMaze and Worm! an official release. Wow!  Finally my games would actually get played by somebody other than myself! After some rummaging in the loft for the old tapes and converting the games to run on disk, they were uploaded to the Commodore 64 Scene Database...

Read More