Saturday, 14 July 2012

Reach the top score

13th + 14th July 2012

Now that the main game engine, has been finished. I have been busy working on enhancing the front end last week. This week I have been working on the high score name entry routine. First the player's score had to be checked after game was over. Then I had to compare values to the final score. If the score was higher than any of the top 10 scores. The player could enter their name for the high score table. If however no high score has been detected the routine jumped straight to the front end. The easiest part was programming and testing the name entry routine. Obviously most games tend to use a simple joystick option in which up/down increments / decrements a character. Pressing fire takes the player to the next column, unless a certain character has been detected. I did exactly that for this game as well if an arrow pointing left was detected, it would rub a character from the name entry. If an up arrow was detected, I used it to represent 'finished' name entry.

The hardest part was to get 10 high scores checked, and moving the names to the CORRECT ranks. I used probably one of the most easiest, but longest approaches of them all, which was repeating each routine checking the player's score per high score. Then jump to a subroutine to allow the player to enter his/her name for the high score table. I found a green high score name entry to be pretty boring, so I jazzed things up and flashed the character sets of the well done message (and the character being used to enter the player's name). Then moved the names and scores down a row so that the player's name and score is in the correct position.

The front end required a lot of tweaking, so I fixed the sprites that were covering the last row of characters of upward scroll, so that the upwards scroll masked correctly. I also worked on a new help screen. Captured the screen in MSCK then I imported it directly into the project source code, and did a little more programming. So that the front end will flip to the next page and then after a short period of time, it switches back to the main page again.

The front end's virtually finished now. I think an end sequence will be the next on my list - then redesign all of the game levels.

Sunday, 8 July 2012

Onward and upwards.

8th July 2012
It took me a few hours just for me to try and figure out how I could get the upward scrolling correct for the front end. I came up with a few experiments, which sadly didn't work. Then I tried changing the AND value to #$06. The upscroll moved upwards smoothly. I created a fake multiplexor for the sprite scroll and also to mask the top part of the upward scrolling message - which thankfully did the trick nicely. A couple of things I need to add to the front end, are routines to change interrupts and display the help screen for a short period of time. Then back to the up scroll interrupts again. There's also the high score name entry to work on (carefully) as well.


Saturday, 7 July 2012

Push it up

7th July 2012
Now the main game engine seems to be out of the way (I hope). It was time for me to do some more work on the front end. Well for a start off, I could do with recreating the raster interrupts by making some more. Now I updated the rough delayed up scroll to move upwards in a smooth scroll. For some strange reason, the up scroll seems to jitter a lot. I tried many times today to try and get that blighter working, but it seems as if the upwards scroll still won't work properly. Troubleshooting time :)

Friday, 6 July 2012

It's time to grab that ball.

6th July 2012
I have been doing more work on the bonus ball today. Nothing too big. It has been suggested that I should allow the player to collect the bonus ball while it is bouncing around the screen. So I changed the routine to allow the player to collect it. I also noticed that the smart bomb feature (last item in the ball cycle) wasn't available. So I altered the code so that it can cycle to the last object before de-spawning again.

There were some issues with the E-X-T-R-A highlighting routine. It seems I had missed out some important operators to allow the player to highlight ONE of the above. Where before when the player collected the 'T' on its own. The bug displayed T-R-A in white, when it shouldn't have. I fixed this issue by updating the code slightly. I also made the E-X-T-R-A (after highlighting) reward the player an extra life.

While playing the game in cheat mode, I also discovered a silly tile bug, where a tile appeared in the incorrect place after the player moves on to it. This was only taking effect on the Panic Switches. I should have made the switch tiles turn to standard tiles - before any other operations/subroutines were called, otherwise some strange effect happened. After moving the subroutines, the panic switch worked 100%. I was pleased with the result so far.

I think literally the main game code's finished, my next task (possibly tomorrow) will be to do a high score/name entry routine. Then update the title screen slightly, followed by ending, followed by redesigning all 64 levels using Delight by Color7.

Here's a test video I made to ensure everything was working how I hoped it would, after the modifications to parts of the game code :)