My Programming History

Programming, Developing, Coding, whatever you call it...

Since my first "hello World" program in Commodore Basic probably 25 years ago, I've had a real passion for computers and computer languages. Enjoying learning new languages and creating some fun games and applications along the way. Moving from Basic to 6502+ assembly, which open up a whole new world for me. A started designing demos and joined a number of C64 Demo Groups, including No-Name, DLE and my own Group Sceptic. Swapping disks via Snailmail was slow but an amazing way to receive the latest PD games and demos. Commodore Format was the periodical of choice for me, packed with programming tips it helped me learn more and more, until I wrote my first complete game...

De-Lite, C64, Assembly, 1995

I submitted this game to Commodore Format to include on thier CoverTape, however I got a nice letter in return informing me of Commodore Formats impending closure. And sure enough that month's magazine announced the exit of this fine mag. This game included 100 levels, a pumping soundtrack and even a 2 player competitive mode!

This game is available to download from here with another mirror here, You can play this on an emulator such as ccs64

After the collapse of Commodore Format, many people thought it would be the death of the C64, but the demo community grew in strength, and while commercial games dwindled, the PD scene exploded. The demo scene was of huge interest to me, I loved seeing what people could do with the limited hardware. This is when I wrote my first demo...

Demo Memo, C64, Assembly, 1995

This multi-part demo introduced me to the wonders of squeezing every ounce of power from the vic chip in the c64, unrolling loops an illegal op-codes! The first part was a windy Union Jack flag waving in both x and y directions. The second part contained a realtime rotating coke can, each half byte section was completely independent from the others and could be scaled and spun. Third up was a fullscreen zooming and squishing checkerboard, next up was one of my favorite part, an unlimted bob routine, although I didn't invent this technique, I did come to the idea all of my own, whilst playing around in Deluxe Paint on the Amiga 500. The 5th part was a realtime magnifying glass, not very impressive but I enjoyed the programming changel, and the demo ended with some credits.

This Demo is available to download from here with another mirror here, You can play this on an emulator such as ccs64

The C64 had a great run, but eventually it had to be replaced, I did this with a PC, My first "PC" was an incredibly old laptop that I reclaimed from skip (industrial bin) and although the monitor was broken, it was able to connect to an external VGA monitor. I started to program on it in Quick Bsaic, as it wasn;t really powerful enough to run Windows 3.1. I made some cool bits but nothing complete, and even ventured into x64 masm for a bit. Time when on and I upgraded my PC to a pretty decent one, and had found the joys of 3d studio max, to give me a way to share my love of the 3D package I decided to write my first website in HTML...

Reel3d, HTML, 2001

Written using Dreamweaver I think, this was my first ever website, I went way overboard with the "Title Case" but other than that it was a fun project. This site taught me a lot about about html and working with images to create layouts.

A mirror of the old site is available here

...Playing with 3D studio max was fun, but eventually I had other ideas, I soon fell in love with Karaoke, and decided to write some tools to convert "mp3+cdg" files into video formats.

CDG2AVI, Visual Basic 6.0, 2002

After finding no tool available to do what I needed, I set about with my brother to write this software, it was a simple concept, to take the CDG file format, and convert it to a usable windows video stream. Visual Basic offered the RAD required for us to spend more time reverse-engineering the CDG format and perfecting the conversion. After seeing lots of other people also looking for this type of software we decided to see if we could sell it. We launched a website in 2002 called untiedknot.co.uk. and began trading! things went slowly but well.

A screenshot of the old site is available here

...Over the next year I tinkered with various languages, Pascal and Max Script. But my passion was still very much VB, and a desire to improve upon our successful karaoke software...

CDG2CVD, Visual Basic 6.0, 2003

CDG2VCD was a leap forward from CDG2AVI, utilising the same core engine designed by my brother and I, I wrote a better interface that allowed converting to both mpeg-1 and mpeg2 streams, as well as muxing in the mp3 file too. This allowed for a complete single step conversion. CDG2AVI still had its uses as it could convert the video to a lossless format allowing for post production etc. This was far an away our best selling software. I went on to design a totally new website for this software called cdg2vcd.com , This was a PHP website with full paypal inergration, so I never had to lilft a finger, customers paid and my software would confirm the transaction and despatch registration codes. Due to the success of the software, piracy became quite an ongoing issue. Deep down though, i knew I wasn't going to make enough money to retire or anything, so I was just happy people were using it =)

A screenshot of the old site is available here

...Now that my site was up and running and doing all the hard work, it freed me up some time to experiment and play with various devices. My fvorite at the time was the xbox, a fantastic piece of hardware that was pretty easy to mod which opened it up for HOMEBREW!, this was a totally new thing for me to learn and play with. the results were...

SensitiveX, Visual C++/Direct X, 2003

Building on my love of all things 3D I decided to remake the classic C64 Public Domain game sensitive by Oliver Kirwa, I spent quite a few nights programming on my PC in my room and running in and out of the living room (where the xbox was) to test. the end result was a fabulous little game that I was super proud of. It was also very complete, unlike a lot of homebrew at the time, this had intro, outro, custom in game music, multiple camera modes etc.

If you are lucky enough to still own a modded original xbox you can download the game files here

...After finishing sensitivex I decided I wanted to get to grips with the popular web-platform "Shockwave Flash", this simple to pick up but hard to master tool had the wonderful action script language which allowed me to make...

SensitiveMX, Flash/Actionscript, 2004

To ease me into the language I decided to remake a game that I had made before, Sensitive, but I wanted to add a twist, so I made it as an isometric puzzle game instead. As a first time messing with the complexities of isometric displays and the sort order of depth to ensure the correct layering it was quite daunting but I was pleased to finish it within a few days. The graphics were pretty basic as they were all vector based as that was where flash really excelled.

If you still have flash player installed you can play the game here

...So now I was comfortable with action script, I decided to have some fun with it...

Sphincter Cell, Flash/Actionscript, 2004

The result of spending far too much time on b3ta.com, I decided to make a game and submit it to their Newsletter. I knew it had to be fin, and I knew it had to be rude. This was what I came up with =) Underneath the silly game was a really complicated 3D, Pilot Wings type engine, where by you control the protagonist through a series of tricky "hoops" as you plummet towards the ground, levels got harder and harder until they we're insanely fast. The "hoops" we're actually supposed to be "goatse" images, cartoony of course, but this was a popular meme on B3ta at the time. The game was accepted by b3ta.com and published in the newsletter, it got played over 50,000 times on the first day, I was needless to say quite chuffed, it was just a pity I didn't learn about monetisation until I was much older =)

If you still have flash player installed you can play the game here

...After tasting popular success with my previous game, I tried to recreate it with another silly, politically themed game...

Blair's Dog's Egg Revolution, Flash/Actionscript, 2004

This game was pure silly, and another attempt to gain some of the b3ta.com readers admiration!, the idea was based on Blair being such a puppet for Bush at the time, and so this daft creation came to be. Whilst programatically it was pretty straight forward, I made the highscore system quite complicated. it tracked your skills through the game and recorded these as "skidmarks" in the trousers of our illustrious leader. presenting you with an image of the damage at the end. which you could share with other b3ta readers. but it never made the cut for the newsletter =(

If you still have flash player installed you can play the game here although the highscores are no longer working.

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

SensitiveS60, J2ME, 2006

Yes once again, Sensitive remade, I love this game so much, it has become my go to game for developing whenever I get a new piece of hardware. I had just got my hands on a wonderful Nokia Ngage and decided to try to write a game for it. This was my first and last experience with Java, mainly because of how clunky I found it. but the game worked and worked quite well. I feel it's important to mention that each time I create this game it is never a "port" and always started from scratch. each device has a completely incompatible language and vastly different display capabilities, which requires all the gfx to be redesigned.

If you still have an S60 based mobile to hand, you can download the game here and a local mirror here, you could also try it using a J2ME emulator

...After being very much in love with the Nokia device I proceeded to upgrading to a Nokia 5800...

Rotary Dialer, Nokia 5800, 2006

Just for a change the first app I designed for this device wasn't Sensitive!, I wanted to create a fully working "rotary" dialer for it instead, no reason for it other than I thought it would be fun. and there was no app available for it at the time that did it. I think this was the culmination of a few days work, and it was fully functional too. you really could call using it =)

If you still have a nokia 5800 mobile to hand, you can download the game here, you can also play with the flash version here

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

Experimental "Multi Touch" Dance Game, Nokia 5800, 2006

When the 5800 came out, the biggest complaint was that it didn;t support Multi-touch, just for fun I thought I would try to make a game that allowed me to have a fully functional multi-touch controller. a game similar to Guitar Hero. This used a simply technique but required delicate button placement to work. The 5800 would report a multi-touch event as the location directly between the two points This worked perfectly with the design layout I made, the news of this app was very well recieved, and my youtube video has clocked up nearly half a million views.

If you still have a nokia 5800 mobile to hand, you can download the game here, you can also play with the flash version here

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

BoomShineS60, Nokia N97, 2006

I was playing a great game by Danner Miller and I decided it would make a great N97 game, So I contacted Danny and asked his permission to do it. I wrote the entire thing from scratch but kept the look and feel exactly the same as the original version. I added a leaderboard function so people could save their scores etc.

If you still have a nokia N97 mobile to hand, you can download the game here, you can also play with the flash version here

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

TouchComic, Nokia N97/Python, 2006

One thing I really wanted on all the S60 nokias I had owned was a comic book reader, I had a huge collection of classic Comic books, all scanned and stored in CBR/CBZ format. I used to read them on the PSP but now I have the 5800, with a much better screen I was really hoping to be able to do the same. So I set about creating one in this new language I had discovered, Python.

If you still have a nokia N97 mobile to hand, you can download the app here

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

SensitivePSP, C, 2006

Another device, of course the first thing I did with it was to mod it, so I could run homebrew. and then got to work re-writing Sensitive =)

If you have a modded PSP, you can download the game here and a local mirror here, you could also try it using a PSP emulator

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

BogglePSP, C, 2006

A totally new challenge for me this time, I was heavily into word based games on my PC and wanted one I could take portable with me. So I set my sights on Boggle. Starting from scratch I re-created this fantastic board game on the PSP. The really tricky part was being able to cross reference 90,000 strings (words) every time you clicked a button. Nowadays thats a simple sqlite query, but back then I had to design the word storage from scratch, and then develop a complex indexing system to allow it to processes the thousands of searches within less than a second.

If you have a modded PSP, you can download the game here and a local mirror here, you could also try it using a PSP emulator

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

DelightNDS, C, 2006

After Modding the NDS to run homebrew I set straight out on writing a game for it. Delite again, but this time for the touchscreen and with multi screen.

If you have a modded NDS, you can download the game here, you could also try it using a Nintendo DS emulator

...Things went quiet for a while, pretty much until the invention of the smartphone, that's when I got a new lease of life and created...

That's it, so far.