The Bear Essentials: Developing a Commodore 64 game – Part 5
Jun11

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

Creating Caverns I wrote about creating rooms back in part 3 of this series and how I began to store the room data in memory.  But of course, rooms in the game have to fit together to form a world in which the character will explore on their journey. With my game I thought it would be good to split this world into different areas where a number of rooms will be grouped together and have a common theme. I actually came up with this idea fairly early on, as I always find it easier to play through games when you exit one area and find yourself in a new area that looks completely different.  It keeps the game feeling fresh and encourages exploration. The first map I sketched for the game had 60 rooms.  I picked this number to aim for as I figured this would allow all rooms to be visited in around an hour, and also as this is the size of Miner Willy’s mansion in the first Jet Set Willy game, which is a joy to explore without feeling too overwhelming. I split the map into eight different areas:  Home, Forest, Cloudy, Rocky, Mining, Jungle, Tunnel and Secret.  However, I soon opted to cut this down to six areas (taking out Tunnel and Secret) when I realised how much work was going to be involved in creating a different look, and ideally, a piece of music for all areas.  With only 64kb to work with, memory was also a consideration here too! The map went through four revisions, until I settled on a final design. The Home area would be where the player starts and finishes the game.  This leads into the first ‘proper’ area of the game, which is Forest and serves as an introduction as to how the game is played and what the objectives are. From Forest, the player can opt to exit the area in two places which lead to ‘continue’ rooms, where the player is awarded an extra credit and a new point to start from when continuing after death.  These continue rooms also serve as a break from the game and a hub to which the other areas of the game are accessible. I decided to keep one special area of the game locked until all others have been cleared in the Mining area. This area works differently to the rest of the game, and forms the final part of the players journey back to the Home area.  It takes inspiration from Manic Miner and the very first idea I had for the game, which was to only allow...

Read More
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