Thursday, 3 July 2014

404: Pun not found!

Sorry George, couldn't come up with one tonight. :(

What I have been able to do, however, is finish porting the guard AI logic to C. It's finished in the sense that I have no more lines to port - not in the sense that I have finished debugging. That said, it looks close and I certainly found it challenging enough to play in my 2-minute test. There's a chance I guess that the AI is actually spot-on - it's symmetric to a degree and it's much easier to see inconsistencies and certain other types of bugs in C.

In the process I actually found a (subtle) bug in the AI logic of the 6809 port. In a nutshell this bug means that the Coco 3 version is ever so slightly easier to play than the original when the player is on the very top row of the screen. I've fixed it but am yet to perform any testing on the Coco itself.

Speaking of bugs; I had to go out of my way to implement the AI bug that I documented in my blog some time back, but it's there now so the C version is still faithful to the original.

Once I've sorted any AI bugs that leaves the high score entry (trivial), the GAME OVER animation (also trivial but somewhat tedious) and the oft-maligned circular wipe effect. It turns out that I tackled the C port in pretty much the same order as the 6809 translation.

I've decided to tackle the Neo Geo port (in C) next, if only to verify my hardware abstraction and also my proposed sprite hardware extensions to the code. If all goes well, I should be able to knock this over (at least implement a playable game) in a week or so. I'm not so concerned about the bells and whistles on the Neo Geo at this point.

Depending on how that goes, I might then look at another quick C port - the Amiga!

Finally then I'll return to the Coco 3 for a full-featured release before putting Lode Runner to bed for a while and starting on another game altogether.


  1. I do love me some puns, but that's OK. I take it the TRS-80 Model 4 version is on hold for the foreseeable future?

  2. Hah, I forgot there were two Georges actively following my blog! ;) That means two-thirds of my entire audience are named George!!! This comment was actually aimed at a friend of mine who requested via FB that I keep with the pun theme. But glad someone else appreciates them!

    Yes, the Model 4 version is on hold for now. I'm getting a bit 'over' Lode Runner for the moment, and not looking forward to hand-translating Z80 code to be honest. I would definitely have continued in parallel if the MSX version hadn't been done - you've done a great job on it so it's not as if TRS-80 users are missing out on a good port! The existing (unofficial) Coco port was woeful...

  3. The only trouble is that the MSX port has some serious bugs. And they're mysterious enough that I'm considering changing the integration code completely rather than fix them. From that point of view, I'd rather just put the effort into 6502 -> Z-80 translation and work from the original. But I've got at least 4 projects in the queue ahead of that so nothing to worry about for now.

  4. Well I can't say the Model 4 port is dead forever... but if it does ever make its way to the top of your priority queue, let me know! Actually you may be better off translating the C version!?! Either way, I can give you a head start on it!