Some time ago I came across an excellent analysis of Andrew Kensler’s minimal ray tracer (a.k.a the business card ray tracer) whose entire source code could fit on the backside of a business card. The output is shown below: Being stuck at home, sick with a … Continue reading Business Card Path Tracer
Really and truly, I never expected the video of Blaze I posted online a couple of weeks ago to generate so much interest. What surprised me most of all is the love Amiga users still have for the machine and how active the community is, to this day! Just the other day I was witness to an exchange between users (on the EAB) about the best (read: fastest) way to draw blitter objects in a multidirectional scrolling 2d-engine – it was both entertaining and enlightening.
Anyway, I digress. I never expected people to find Blaze interesting, but what do I know of people? To me it was a learning experience and an homage to a game I played to death. Moving on from Blaze, I made another attempt at programming a clone of two other all-time favourites of mine: Fatal Fury and Street Fighter II! The working title of the game was World Warrior. I know, I know, I could get an award for how unimaginative the name is. Le video below:
Although I can’t remember why I had stopped working on the game (probably it was school commitments or the like), I had been pretty happy with the character animation and compositing system I had crafted. Like Blaze, World Warrior was written entirely in assembly, although unlike the former, the code was much cleaner and modular. The game also had 50 Hz scrolling, although the actual character animation and sprite updates ran at 25 Hz. The version shown in the video is not the latest version developed, but an earlier copy I had copied to diskette (probably to show to my friends or something).
Unfortunately, the assets, source code and tools are lost forever – the bastard below broke – I lost tons of other stuff in the process. The problem seems to be a faulty controller. Sigh.
Well, this was my last *big* project on the Amiga before moving on to PC (some twenty years ago), so please take all my technical recollections with a pinch of salt!
Edit: More pictures of the faulty HDD, a Conner Peripherals CP 2064:
After a Saturday night of disk swapping and casual tinkering, I managed to find all the necessary source files for building Blaze. I set up a development environment in an FS-UAE A1200 virtual machine and tried my hand at rebuilding the binaries. I hadn’t expected the process to go so smoothly.
For those interested in building the game from source, you can download the complete code here. I’ve also recorded a short video about how to assemble the game using Devpac 3.18, followed by a playthrough of the demo level from the binaries just built. Please note that you still need the assets (graphics, maps, enemy layouts, etc) to run the game. Just in case, you can grab a copy here.
I also managed to salvage some tools and work-in-progress graphics that never made it in the demo. I will be making them available in a coming post.
In the meantime, enjoy!
Things have taken a turn for the better thanks to my pals at MNE. They fixed the problem, a faulty power brick, in no time. Thanks Jordan and Stefano!
Time hasn’t been very kind to the A1200’s internal HDD. The drive is kaput – most likely a problem with the controller. Source code and assets from later projects are now gone, including my last big project on the Amiga: a Street Fighter 2 clone. Fortunately, Blaze was pre-A1200, so I still have all the stuff on floppies. Patrick, our go to guy from IT Services, has kindly offered to replace the faulty HDD with a 2GB one he had salvaged from a dead laptop. The new HDD will save me tons of diskette swapping, so thanks Pat!
Since the last post, curiosity got the best of me so I dusted my old A1200 and fired it up. I managed to load some of my old stuff and even play Blaze on it (but only after disabling CPU caches).
This got me thinking: there’s a bazillion small things I wrote ages ago that are still on floppies… maybe it’s time I moved them to some sturdier media, just in case? Given somebody in the last post asked for the source code of Blaze, I thought I’d start with that. After finally managing to find a disk drive that could read 720K-formatted floppies, I transferred the bulk of the source to PC. Pastebin here: Blaze Source Code [Warning: it’s very badly written!]
Fifteen minutes later, my A1200 just died: assets (graphics and maps) and tools I used to design the maps with are still on the damn floppies 😦
Edit: Not to worry though, an enterprising user of the English Amiga Board has ripped both sprites and tile blocks from the game disk; get them here.
This morning I was reminiscing with some colleagues about the golden age of the Amiga, and casually brought up some anecdotes about stuff I had written for it. After some poking I dug up my only surviving artefact from that era: Blaze, a platform game inspired by Sonic the Hedgehog, which I had conveniently converted to ADF some years back. I recorded a video of myself playing the game and posted it to YouTube. Now, I realise that, being the programmer notwithstanding, I suck at playing the game…
One of the problems plaguing the distributed version of Illumina PRT is that of resource management. Precisely, when multiple task groups are running concurrently, switching resources from one task group to another can be a great time sink. A PE’s current data set (geometry, acceleration … Continue reading Particle file format