Jam It: White’s Men Can Jump

JamIt_C64_TitleAt our recent Commodore Club meet we had the pleasure of meeting Leigh White from Throwback Games and got to play a pre-release of his upcoming C64 basketball game, Jam It.

We were so blown away by the game, we couldn’t believe that one person was responsible in the creation of this amazing piece of software for the C64! Think NBA Jam TE on a vertical half court with heaps of features and stats to keep the most ardent of basketball fans interested. Add some tight gameplay mechanics with loads of intensity and 4 player support in the mix, and you have a game that is super addictive and fun. Sports games players will be salivating on their joysticks with this one! It truly doesn’t get any better than this on the C64!

We bailed up the creator of Jam It to ask him a few questions that we know all of you are busting to find out about. Let’s go and shoot some hoops with Leigh White!

AUSRETROGAMER [ARG]: Hey Leigh, let’s start by telling us a bit about yourself and how you got into making games?
Leigh White [LW]: I’m relatively new at making games. When I had a C64 as a kid I attempted some things in BASIC and did a lot of type-ins from books and magazines, however Jam It is the first game I’ve actually completed.

I started it in late 2010 just as a side hobby to take my mind off work. My day job involves maintaining IT systems and in whatever spare time I had I was practicing guitar and writing music as a distraction. For whatever reason during a lunch break, I did some research on XNA Game Studio and had the idea of attempting to make an overhead race car game. I thought I’d soon give up and return to guitar (who wants more hours of the day in front of a computer!?!?) however I stuck with it for a couple of weeks and got a very basic prototype going.

At the same time I was doing some experiments in assembly language on the C64 to see how difficult it would be to write a game. To explain better – as you don’t decide on a whim to do this! – when I was younger, I spent ridiculous amounts of time on the C64 and I still enjoy playing games today on emulators – equally as much as playing modern games. There’s also a couple of online outlets who sell C64 games made by current developers and I was getting into those.

Anyhow, with my C64 experiment I had reached the point where I had a basic prototype tennis game and started having ideas for a basketball game. So now I was at a cross-roads. I knew making a game was going to take a lot of time and would take away time from music. The choice was then to make a game for the C64 (where there is a very limited audience, and the chance of a huge financial reward is zero) or make a game for a modern platform (mobile, PC and console gaming was growing rapidly, and lots of money to be made if you get everything right) … so I chose the C64 …

A lot of it actually came down to determining the reality of what I could realistically complete. For modern games, the sky is the limit with what you can create, whereas on the C64 (or any retro platform) you have very restrictive limits with what you can do with graphics, sound and memory. Having those limits meant there would be a forced end point regardless of me having millions of other feature ideas. I also knew I’d enjoy doing the C64/basketball thing as they were a big part of my life growing up.

I had the basketball game clearly in my mind and thought maybe I could have it done in 12-18 months and if I enjoyed the experience, move on and attempt a modern game. Well here I am now 4 and a half years later, Jam It is being released on the 12th of July 2015 and I’ve got more C64 game ideas than before!

The man behind the brilliant Jam It C64 game, Leigh White

ARG: How did the idea of Jam It come about?
LW: The main inspiration was from a C64 game One on One – Dr J vs Larry Bird. It was one of the first games I had as a kid and considering it’s age, it is actually an excellent basketball game. It gets a lot of things right with the gameplay – how it’s all about out maneuvering your opponent to get a clear shot close to the ring, letting you post up, do fading shots, dunk and manage your energy.

The only issue I thought, it was a bit too slow – only until now, playing on an emulator in NTSC mode I realised why this is. I *think* the game was made in the US – or at least for that market – where NTSC systems/TVs have a faster refresh rate. We then got the same game with no changes to compensate for the slower PAL refresh rate, and hence, the sluggishness.

There was also another not well known game on the C64 called GBA Basketball. It was a 2-on-2 full court game with great graphics, some more tactical play elements and 2 players as team mates option but felt restrictive compared to ‘One on One’. For example, you couldn’t do fading jump shots and dunks were a fixed animation and didn’t have the action ‘wow’ factor you get in watching a pro game of basketball. Regardless, it was still fun but not in a way you’d initially expect.

So really Jam It is a mash-up of these two games from my younger game playing days with some extras added along the way. My aim from the start was to make players feel the excitement you get from a real game. To achieve this, the direction I ended up taking was to make it more an intense arcade sports action game. There is a lot of strategy involved but it’s all about making quick decisions in the moment, much like the real game.

As an overall package, it really is an attempt to fit as much into 64KB that is what you get in pro-basketball – the dunks, extreme shots, exciting plays, nail-biting finishes, action replays, stats and cheerleaders!

Thrilling 3 pointers!

ARG: How long did the entire project take – from the ideas phase to completion?
LW: The best conservative estimate I have is around 750-800 hours … I’d actually say it’s more. My routine is generally to get up very early in the morning and work on it for anywhere between 30 minutes to a couple of hours before work. After most sessions I’ll make a backup, but sometimes I’ll be working for hours on just one bug. I’m up to backup version 439. Some of those might only have been about 30 minutes work, whereas others might have 5+ hours.

Mind you, this is all spread over 4 and a half years which I actually feel that has benefited the development. This is in the sense that I’ll have an idea but I won’t be able to try it at least for a day or two. By the time I get around to coding, the idea might have morphed into something better or been scrapped entirely. Similarly, for ideas that I have put in the game – I play them for a bit, get a break and return to play them in another session and have time to decide if they really add to it or not. There’s plenty of features that have been ripped out entirely to make way for new ones.

Let’s see that alley-oop on instant replay!

ARG: What was the hardest part of making Jam It?
LW: Apart from spending hours trying to detect bugs caused by the game randomly overwriting its own code, I’d have to say dealing with the memory and CPU constraints. The limitations are a positive and negative in the sense that you really have to identify and prioritise early on what the important things you want to happen are, and build those in. It becomes very problematic if you later think of another great feature but to put it in means sacrificing an existing feature because you’ve run out of memory or CPU cycles.

What I mean by ‘CPU cycles’ is that the C64 on a PAL (Australian) TV refreshes 50 times per second. Within that 1/50 of a second you have 19565 CPU cycles to work with in executing game code, so you need to be efficient with what you write, especially when some instructions can take 6 cycles just to store a value in a memory location!

The other difficult thing was not knowing if I would ever complete it. I hit a few big bugs which made me question if I’d be able to get through them, and even in the early stages, just programming the code to get the ball to make its way to the ring from any position on court was problematic. There’s actually a clever algorithm for achieving this called ‘Bresenham’s line algorithm‘ and was devised way back in 1962! It’s great having the algorithm but I then had to translate it into assembly language suitable for my purposes. In a modern language you could knock it out in under 20 lines of code, but in my case it was 80+ lines of instructions.

It really wasn’t until I was about 3/4 of the way through making the game that I was confident I could complete it. I had left sound and music fairly late in the process and it was yet another challenge, but it would be pointless releasing the game without that. There’s a great tool on PC called GoatTracker for writing C64 music. The thing is, you really need to understand how the C64 sound chip works while getting a good work out in the hexidecimal numbering system.

Comprehensive stats for the statistician in you!

ARG: There are lots of great features in Jam It (we love the slo-mo shot and instant replay among many others) – what is your best feature in the game?
LW: I really like the slo-mo (highlight) shots too. That came out of an accident while searching for a graphical bug. I had to make the play slow down dramatically as soon as the player jumped with the ball to spot the issue. As soon as it happened, I thought this was a great way to get more extreme looking dunks into the game. The way it works now is you get 3 ‘highlight shots’ per game, and can activate one whenever you have the ball. The next shot you take will be in slow motion, giving you the opportunity to do Jordan-esque dunks or take a crazy long distance shot. If you time it correctly, you’ll get a guaranteed score, so they’re handy when you’re a long way behind or as a buzzer beater.

The action replays I’m also really happy with – the idea was borrowed (stolen!) from ‘One on One’ and makes a huge difference in multi-player games where you can show off the amazing shot you just did. It actually takes up a fair bit of memory but it’s worth the sacrifice. Every second screen refresh, the game writes all of the sprite objects’ position, animation frame and colours to memory which can then be triggered for playback after a goal is scored.

The commentary can be entertaining too. After a goal is scored there’ll be a random phrase generated. Some of these are pre-written but many of them are a random arrangement of basketball jargon and obscure adjectives.

Aside from the usual basketball things like being able to shoot, you can do alley oop pass/dunks, defensive switches, steal from your team mate and block their shot. It’s even possible to give yourself an alley oop dunk – you won’t see that in NBA 2K games! This one wasn’t deliberately put in the game – it was an accidental discovery during testing – and not sure that it’s legal in the game but that doesn’t matter.

Enjoy the half-time show!

ARG: We enjoyed playing the pre-release at our recent Commodore Club meet, how has the feedback been so far?
LW: The feedback has been way better than I ever imagined. I first took it to AVCon 2014 in Adelaide, which is a huge gaming/cosplay expo. I didn’t even think I’d get accepted – since it is a game for an old system – but I did, and went with no expectations. To my surprise, kids, parents and gamers alike were very positive about it – they could pickup the controls easily even if they didn’t understand basketball and appreciated that for all the detailed touches to replicate the basketball experience (within the 8 bit world constraints), it doesn’t take itself too seriously with its gameplay firmly leaning to an arcade game feel. I even find myself struggling with new basketball games getting used to all the button combinations. On the C64 you’re limited to one button and surprisingly that’s enough to be able to do all the actions that you need.

The thing that has really helped is that it supports anywhere from 1 to 4 human players, making it a great social and competitive game. The solo player mode has enough challenge with bonus unlockables to give you incentive to play through too. Once you start adding extra human players, that’s when it really stands out – there’s nothing more competitive than seeing 4 players locked in a tied game with 10 seconds left on the clock!

I also had the opportunity to run a demo of it for a few hours at PAX Aus 2014 and the Freeplay Fete 2015 and the response was equally as positive. Many people who had C64s in the ’80s were shocked but happy to hear that there were new games being developed today. I’m hoping that this adds to the support for other developer’s games in the C64 community – it’s a hobby purely done for the enjoyment and nostalgia rather than any possible financial reward.

Jam It – it will be a slam dunk!

ARG: When will Jam It be officially released and where can we get our grubby mits on this awesome game?
LW: It will be available to purchase as a digital download on July 12 2015 at itch.io ($2.99USD) – with the digital download you can play it using an emulator (needs to be installed on your PC/Mac/console/handheld) or on your C64 if you have a suitable hardware add-on.

The download package will include a pre-configured copy of the VICE C64 emulator for Windows so you can get started straight away. Anyone who is still unsure about emulation can just drop me a message via the contact form on our site at Throwback Games and I’ll try my best to assist.

The great thing about VICE is that it can emulate the C64 Protovision 4 interface adapter so you can run 4 controllers. Instructions for how to do this are included with the game.

Keep an eye out on the following sites for a direct link to purchase the game when it becomes available: Throwback Games, Facebook and on Twitter.

There is also a Commodore 64 cartridge, disk and tape release in the works. These are almost ready and release dates will be announced very soon after the digital download. Keep an eye on the above sites and also: Psytronik (disk/tape) and RGCD (cartridge).

Whet your b-balling appetite!

ARG: Any future projects you could reveal to us here?
LW: If Jam It miraculously sold amazingly well (i.e. in the hundreds of copies), then I might consider making a conversion for modern systems just to make it more accessible to a wider audience. I also like the idea of writing a comprehensive ‘making of’ package including key versions of the game with features that never made the final cut.

I have a couple of C64 prototype games sitting there, one being a tennis game, which again, supports 1-4 players, so it would make a good follow up to Jam It (ARG: Oh man, yes please!). The other is a split screen motorbike racing game, similar to Excite Bike for the NES, but with the added bonus of 2 human players to race against each other (ARG: I think I am going to faint!). You can do flips to build up bonus turbo boosts and it has the working title of ‘Motorman’.

There’s a lot of ideas but the issue is having time more than anything else. I don’t think I could justify quitting my day job to make C64 games at the moment!

Leigh’s next BIG gaming projects for the C64?  – Tennis and Motorman!


As we shoot our last hoop with Leigh, we say our goodbyes and wish him all the best with the Jam It release. We reckon the game will be a slam-dunk success on the C64!

If you have a C64 or if you prefer to play via emulation, do yourself a favour and grab Jam It – it is jam packed with awesomeness! Seriously, for a game this damn good, you would expect to pay ten times the asking price of $2.99USD! Buy it now so Leigh can quit his day job and make more brilliant games!

JamIt_Leigh_HDRimage source: Throwback Games