Wednesday, January 19, 2011

Super BluKid renewed

Super BluKid by Fraser Ashworth from Bitwise Design now renewed! Extended Version v1.00.

I spend few days on this game in AMOS Basic (luckly it doesn't require deasembling tools and hexing to change the code). I was so into turning the cheats off that I even fixed few things and added a bit of extended functionality like m key.


Why did I do this?
My 7 years old sister were asking me to turn some game on my netbook connected to 42'' LED TV. I run Amiga emulator because games that were running on this computer were far better for kids this age in my opinion.


The Work:
I opened Super BluKid I downloaded from the net (please note that I owned such game on my R.I.P Amiga I had, not sure if it was original though). She started playing it but soon she discovered that SPACE KEY skips levels. What a shame... She could've played at least a bit fair (with hardcoded invinciblity).

The game was finished in no time and then I thought: "I'm going to find some hex editor and hex out that invinciblity mode, because there is too much cheating there...". I opened the disk with some binary viewer and then I started searching internet by the file tag at the beginning of binary data. I found out that it's AMOS and the file itself is sourcecode for it. Great!

After working for an hour I wiped the variable that was the culpit. The game now worked almost as original without modification. I didn't want to make it that way because it was the only version available on the internet, so I readded it by adding a title screen to switch it ON and OFF and that was it. The first version I wanted to release.

Then I started editing cracktro like intro to put message about how to re-enable disabled by default cheat mode. I couldn't get it to work though. I mean it worked but I wanted to leave original message inplace too. I wasted a day to find out that there are really 3 screens in the intro. One hidden behind that contains all text to display in scroll that is 2nd screen and 3rd is the "moving faces". So I was playing with the screen still with no full success. I could get other line of message to work but it still displayed only this one. Then I found out that coping function from 1st to 2nd screen contained X and Y pixels to copy. This was the key! By adding variable Z (btw. it was already there as Z=Rnd(100) but not used anywhere else there. I think cracktro autor wanted to use it for something but forgot to wipe it after failed attempt or something). This variable was added to Y telling it which line to fetch this time (after X - scroll - finishes scrolling turn). Bingo! This fixed everything and the cracktro was finished!

Editing game was actually quite easy. Full source reading was required thought to get familiar with it and know where every procedure lies and what it does. So then by adding additional key support, like "m" key to turn music on and off (essential!) was a piece of cake but wait... It didn't work the way I wanted it to... It worked only when pressing space and m or was very unresponsible to clicks. So then I found AMOS manual on the internet and found out that better way is to use it like this:

D$=Inkey$
While D$<>""
If D$="m" then .....
If D$=" " then ......
D$=""
Wend
This way it worked like a charm. It even fixed SPACE spam in BOSS LEVEL that could crash Your game when finishing 4th world! (I figured later - not 100% sure if that's the reason though ;P)

After that I sterted adding more options to title screen and playing with scroll to work the way I want. It was a lot easier than cracktro one because this one worked on a variable, not hidden screen. I split previous person idea from full invinciblity (energy+time+skip key) to energy only, time only, items only (YES! Now You can have unlimited baloons ;), ingame keys only (space, 1-6 keys) and even entering hidden time modifier and map maker! This is recent version. First worked on 3 keys only where first one enable invinciblity, 2nd space key and 3rd both - lame, wasn't it? ;D About hidden tools. Time modifier works, but it's a shame only one level can be modified at a time. Map Maker does work in a weird way. When run from title screen it doesn't display all textures and mouse. But if you run it before it, they show up properly. It's weird to use though and I don't have slightess idea how to save the friggin' map. Most likety it was some help tool for author, because all stages are really multicolor icons stored in the same file as resource banks. Oh well....

Ingame keys allow you to regenerate time, energy, lifes and tools by pressing a number from 1 to 6. Just look at your INFOBAR (energy, time etc), the number is the bar order, so 1 for time, 2 for energy and so on. Unfortunatelly adding lifes don't show up. It works but the graphic isn't there. I was trying to make it working but couldn't find proper Bob to paste there. Probably it's some bigger image and I don't have time to play with it all day long.

Last thing was to add ability to quit ending loop-screen. Well... We sometimes want to play the game again without resetting whole computer, don't we? xD
Then was the title screen scroll fixing to make it more beautiful and that's about it.

Few screens of code:





The full list of changes
  • Cheats turned off by default
  • Fully customizable cheating: unlimited energy, time, tools, ingame keys
  • Additional ingame keys: SPACE, M, 1, 2, 3, 4, 5, 6 (NO 1, 4-6 on BOSS LEVEL)
  • Fixed SPACE KEY breaking 4th WORLD boss (I think this was the bug)
  • Extended cracktro like intro scroll functionality
  • Added title screen scroll short stop without flash functionality ("-" character)
  • Ability to quit ENDING screen by pressing fire button
  • Few programs were removed like nuke, border etc
  • Few other fixes and various things I probably forgot


PLEASE NOTE: ALL THINGS DONE ARE ONLY FOR FUN. I DON'T INTEND TO MAKE ANY PROFIT FROM THIS DOING. THE GAME DOES NOT BELONG TO ME NOR DID THE IDEA AND THE CODE, FRASE ASHWORTH IS THE CREATOR. DOWNLOAD LINK IS PROVIDED FOR TESTING ONLY UNLESS YOU BOUGHT AND OWN/OWNED FULL GAME.


Download it here.