Tuesday, July 01, 2008

Blood Money Lives Again!!

I've been playing with trying to get my old Blood Money source to recompile off and on for a while now, and its finally rebuilding and running! Well, more or less. It still has some issues to be sure; character sprites appear to be killing it stone dead, and if I switch them off, I get a little further than then the game dies.

It's good to see it actually building and running though. One thing thats always bugged my was the crappy starfield I had on level 1 and I'd love to take some time and tune it up a bit. I'd also love to make a proper MMC64 version, one that loads directly from an MMC card - which would be cool.

Theres lots of things I did wrong back then. Shops weren't part of the background but drawn, as were turrets. Pretty stupid really as the only follow the screen - something the background map does pretty well without any extra CPU time. I'd also take away the 2 player mode and give that extra sprite over to the multiplexor. (Although.... a 2 player internet version would be interesting!) Theres a few areas where things glitch, and it would be nice to smooth that out. Talking of multiplexors, I would love to replace the one there and put my new one in as the IRQ is about twice the speed (I think).

I've also sped up the Character sprites a bit, and mu multiply routine (used for all the circle paths) is also about twice the speed. I suspect I could get it under 2 frames easily enough. Yes, believe it or not Blood money ran in 3 frames, with the main player ship running in the vertical blank.

So yes... theres lots of things I'd like to take a crack at fixing, although its gonna be tough as memory is down to a few bytes left! I've no idea how many sprites I used, but while I was aiming to get them all in, I think a redux-version could lose a bit to save memory. They were stored compressed then blitted down when needed. I might be able to speed that up or remove it completely.

Oh.... and get rid of that stupid front end screen....its pathetic... Not to mention the flickery raster on the game.

And don't worry.... I'm not setting aside XeO3 to do this, it's a project I'm doing in the background as I always wanted a console version of Blood Money, with nice dual playfields etc. and this is the first step.

Monday, June 30, 2008

My CV....

I've been busy making an about me page which I've been meaning to do for years. The idea being that it'll eventually turn into some kind of life history I guess. Anyway, you can find the first version of it HERE, and although its just a list of things I've done, its a good start.

Sunday, June 29, 2008

TG16 Shadow of the Beast - ROM!!

I've managed to convert the old devkit Beast.BX file into a real BEAST.PCE file! The only reason I was able to do this easily was because years ago when I was doing SotB(Shadow of the Beast) I hated the offical debugger so much, I wrote my own! If you want to see what I was dealing with, drop down into a command prompt and type DEBUG. This is what the offical devkit was like - terrible! So I spent a couple of months after work hacking the debugger and working out how it talked to the ICE unit, then I wrote my own. The first thing I did of course was to upload the assembled .BX files, and to do that I had to reverse engineer the format of that as well as the symbol file.

Of course back then I was having so much fun doing this I stayed at the office and worked late into the night. It took a couple of weeks to get to a usable point, and around 3 months to actually get to a finished state, but it was a vast improvement. I remember being pissed off at Dave though as he refused to try and sell it back to NEC, even though they would have been sure to take it. It was party because I wanted something out of it, and becasue it was going to be more compilcated than just sell and forget, he couldn't be bothered.

However, it was good fun and taught me a lot, particually the expression evaluation stuff that Brian Watson wrote for me. I had a really simple one it, and it wasn't recursive. So he knocked a proper one up for me, and I've been using that method ever since.Its also funny to see the cheat mode is still in there, but unlike the final game, this one displays the Lemming's logo! No idea why that was removed, I was probably told to - but its pretty funny seeing it pop up. For those that don't know, on the title page of SotB, you can press Fire1,Fire2,Fire2,Fire1 and the number of lives go to 99. And your into cheat mode. Easy as that!

This demo is only the top level, and the first multi-directional level, theres no castle yet and all the graphics are Amiga ones with the exception of the trees (which do look a little pants). After seeing this Psygnosis weren't happy with the look of it at all and so drafted in Martyn Chudley (who went on to own Bizzar Creations) who drew all the cool backgrounds and sprites. He was actually busy on his own game at Psygnosis at the time Wiz 'n Liz on the Megadrive, which I almost ported to the SNES funnily enough.

I have to say this is interesting...but dull really. It's an interesting snapshot of development, but the game still sucks and its only a partial game with just 2 levels. But its funny seeing it never the less.

TG16 stuff...

Not been doing a lot past few days, but I'm now off on holiday for a week so Im going to push on with my TG16 assembler first. I did get a little shock though as one of the manuals I have must have been a pretty early one since it doesn't document CSH or CSL which are used to switch the PC Engine into high and low speed modes. Now, I knew about these commands since I have some old source, but the manual I was using didn't document them at all, and its not like there were pages missing as the page numbers count up fine! They just weren't there! However, my other (slightly grubbier) manual does have them, so I can find out the opcode and add them in.

It's probably going to take me a few days to get all this stuff in which is a pain, but then I should be good to go!

I also found a VERY old bit of shadow of the beast. I think this is pre-CDROM! In fact, I have a sneaking suspicion that its the version that was in the Games-X mag back in 1991 where I just had the beast man running around on the 1st level - before all the pretty graphics went in! I'll need to try and work out the format of the ROM dump as its a special outpu for the offical kit, but if memory serves its pretty simple. I'd love to see this again and get a bit of video of it for my DMA page.

I also found my SuperSystem2 card, and on the back It's been labeled No. 2. I wonder if we did get the second one ever made... or if it was the 2nd one given to developers or something - who knows. I do know we were one od the 1st to develop on using the new SuperCDROM, so it might well be the second card ever made - which is cool.

Tuesday, June 24, 2008

Damn those NEC people!!

I've been updating my assembler to do the extra TG16 opcodes I need only to discover that NEC in their infinite wisdom have changed every opcode! Every single one! Damn them!! So I now need to create another opcode table for the PC Engine.... Bugger. It also means it's going to take me a little while before I can get to actually work on the blood thing.

I found another old PC Engine manual though, and its the good one! It has all the hardware and CPU stuff which means I can at least start to read about things - even if i can't plunge on and program anything!

While I do want to play with a dual-playfield thing, I suspect I'll end up porting XeO3 to it coz...well... why not. The TG16 was a shooters dream machine and had some amazing shooters on it, so it will be good to actually write one on it. Shadow of the Beast let me code this little machine and I do love it... but I hated almost every moment as the game was totally crap. Oh well....

Saturday, June 21, 2008

PCEngine!

I've been going through a whole load of old backup CD's I have, trying to have a little clear out, and I've finally found the old source to Ballistix! It looks pretty complete including editor and game code. However I'm not excited about that so much as the music player source I'd lost!

This was based on the HiredGuns octamed player (I think) and allows the full 6 channels to be used. It was attached to the timer IRQ which means I can probably plug it into virtually anything I do - particually since I also have the PC Engine music itself!

The music player was built ontop of my sound effects player which simulates the C64 ADSR stuff (since each channel had its own volume). There also appears to be a sample player (including a function called PlayAmigaSample) although I can't remember Ballistix playing samples at all... I'll need to hook it up again and have a listen...

It will also remind me how to arrange the ROM so that it'll actually load in an emultor - exciting stuff this!

XeO3: Update

With the final playtest demo done I can now look forward to other things, like a C64 version for a start! I would quite like to get the playtest demo running on that, although the lack of front end does make it a bit of a pain.

I've hooked up my C64 again and have the demo playing away on it, and it's looking pretty good I guess. We've gone for a gray level this time which makes the player ship stand out much better (as its still blue). It looks much smoother as the sprites and scrolling suddenly have an extra pixel to move with as it is no longer limited to MultiColoured pixels. This is where my pain of keeping hires coordinates comes ino its own, everything just works AND smooths out all on its own!

The panel raster split isn't quite right so I'll need to look at that, and I really want a better multiplexor sort. The one I have is okay, but I think a 1D-linked-list and an insertion sort would speed it up and make things a bit smoother.

I've also resurrected my character sprites on the Plus/4 which allows me to throw around huge blocks if I want, but I dont know if I have the memory to keep them in. I would like to keep the source active though so that even if I can't use them, when I release the source others can.

If I dont use character sprites then the redrawing of the whole screen becomes questionable, particually on the C64. I could spend a lot less time simply scrolling the screen over 8 frames then flipping to it. But this would require me to save+replace over a VBlank. Possibly, but tricky. (Or use more screens...).

With character sprite code back in I can also start thinking about putting it things like doors that open and closethat you have to go through adding another layer of complexity to the game which blood money had (although they were too quick I think).

I'm also going to be playing with some PCEngine stuff I just got so there's probably not going to be any immediate progression on the game; besides I want to let the demo get a good playing and get all the feedback in before we start on real levels so I have a little bit of time to play.

Thursday, June 19, 2008

XeO3: Demo V2.0

I'm currently finishing off the update to the demo and Luca and I are both pretty pleased with it. We feel its way too easy for us, but I suspect that probably means it'll make a good level 1 standard for everyone else.

So whats new? Well heres the list. You'll immediatly notice a couple of things missing, but if you read through the comments to last weeks postings you'll see where those are going. I've still not discounted a midway restart, but I've yet to be convinced.


  • Coins now drift with the scroll.

  • Coins now arc up slightly higher.

  • Baddies are easier overall.

  • Several fadeing bugs fixed.

  • Alien bullets now get rendered after player bullets so they MASK properly and dont disappear when a player fires through them.

  • Paths now continue to move when your dead.

  • All bullets now continue to move when your dead.

  • panel bars now dont clear on death but simply recharge.

  • screen keeps scrolling on death.

  • You now get a shield draining sound.

  • Small coins are now worth 1/2 coin.

  • Large coins are now worth 7 coins!


So there you go... thats pretty much the list. As I've said Luca and I find this pretty easy so its proof really that practice does help!

Wednesday, June 18, 2008

TG16 stuff....

Now that my TG16 (PC Engine) flash card has arrive, I've been trying to think of something interesting to do with it to get back into it. I was looking at an old Video of Shadow of the Beast I did years back and realised it could have been much, much....MUCH better....

Now if you watch this through, you'll see that when it gets to the platform section theres no dual playfield mode - pretty much because the TG16 doesnt have one! But I've figured out a way to get a simple playfield going,which would make it look astounding!

Using an old technique from the C64 and by what I've been doing with the Super CPU, I think you could add a proper playfield without losing sprites etc. That would be a pretty cool demo to start with!

When I was doing TG16 stuff, I just didnt use the CPU power properly; sure I know more now and was pretty much wallowing in CPU time last time, but I think I can now fully utilise the space CPU time. 7Mhz is a LOT of time to burn...

Monday, June 16, 2008

XeO3: changes.....

I've been playing with the speed of the ship and its really is just too fast if I double it. It makes it more of a dash/avoid style game which isn't what I want. The real problem I guess is that I can't just speed it up a little since a multi colour sprite must rest on 2 pixel boundarys.

Luca has just finished playing the sped up version and while he enjoyed it, he thought it was way too easy - as did I. All the paths have been built for a slow moving ship, and speeding it up pretty much spoils everything.

What we could do is add a powerup that speeds your ship up for 30 seconds or so, which means you get the benifit of it, but doesn't ruin the game

I'm still really surprised that everyone finds it too hard, as all the games people go on about; I'm stinking at! I think its just practice everyones all needing. Thing is, if its too easy then everyone will just finish it too quidckly and get no long term enjoyment from it.

Thats the thing about trying to balance the game with the feedback I get, everyone playing it wants to finish it and in some respect wants it as easy as possible so they can do it pretty quickly. But theres no point in that. You need a game thats challenging and does make you scream, but that you'll come back for more too. In this respect I think it has to be harder than everyone's wanting, but not so hard that theres no chance in reaching the end.

Blood Money on the C64 was hard, way too hard. While I did manage to pass each wave individually, I couldn't do a whole level. I think the trick here is to make sure I can pass at least level 1 and 2 (since I really am crap at these games), then make the later ones harder; perhaops getting someone much better to actually playtest it and make sure its possible.

So on Friday I'll release a new version, but the ship won't speed up, that'll come when we add power ups again. I know this won't be particually well recieved, particually since I dont intend to add restart points either but hay ho...

As to restart points.... The scripting makes this hard since you have to fastforward through it (much like the debug system does) and its pretty nasty to say the least. I also think the amount of shield you have means you're actually pretty well protected! You can get hit a LOT before your thrown back to the start! Many games need the restart because if you get hit by a single bullet your dead! We don't. Also since we let you keep most of your weapons, you have the chance to actually build up even more next time around so when you get to the place you died, you should have more shields and weapons this time around!

Still... thats the theory, so for these 2 things I'm at least partially sticking to my guns. I will allow a temporary speed boost, but not permanent. I just find games where you fly around at great speed too hard and frantic, and thats not what I'm trying to make.


Edit: At the end of the day, it has to be a game I enjoy making and playing, and I don't agree with the restart points as I believe you would HAVE to lose all your weapons and coins and I hate that! Mid way through a level with a pea shooter is nuts! You might have 10 lives but they'll all go when you restart with a crap weapon. If you start from the begining, then I feel you can keep most of the goodies you have as you've been punished enough.