Tuesday, 18 August 2009

Up in the Air - Relocate, relocate. Ooer!

17th August 2009

Today, Andrew passed me another .D64 with the Up in the Air prohject graphics. This time yet more great sprites, and a new version of level 6, which I could implement into the game's code later on this week. Anyway, I loaded up the sprites. So many of them, in fact too many of those. It did not put me off though. I decided to relocate the graphics data and use BANK 2 instead of BANK 1, as that way it would make things much easier for me, as the sprites overlapped if loaded at $2000. So now the game source has changed its memory. Here's what we have so far:

$0800-$1000 - Spare memory (That could possibly be used for extra variables, or maybe additional code for the title screen.
$1000-$2400 - The music (Although if the music is larger, as some music editors players like DMC, I could expand it more, otherwise, I could add the exomizer decrunch code in this place)

$2400-$2800 - Decrunched screen data
$2800-$2c00 - Decrunched screen colour data

$2C00 - $4000 - Spare memory, maybe for crunched screen data and exomizer decruncher

$4000 - $7300 - Game sprites data (Bank #$02). Wayne filled a lot of memory with various sprites. Perhaps he got carried away here. Heheheh. Still not to worry, that's where I have placed them.

$7400-$7800 - That will be for the actual screen used!

$7800-$8000 - Game charset

$8000-$C000 - Game code. I am not too sure how big the game code will be, but I have switched the Kernal off by setting #$35 at $01. Which hopefully means I can add further code here. Good eh?

$C800-$CC00 - Title screen logo colour RAM data
$CC00-$D000 - Title screen logo video RAM data
$E000- $FF70 - Title screen bitmap data.

Sadly I did not get round to doing the randomizing of data, scoring, etc but I can continue with that later on this week. So stay tuned. :o) Okay. Now for a can of Foster's lager and a spot of C64 gaming! :o) Oooh, nice!

Tuesday, 4 August 2009

The darkness arises. Baphomet has risen.

Tuesday 4th July 2009
Don't panic. Darkness has not arisen. Friday last week, I had received another C64 game by Anthony Burns (Created using the Sideways SEUCK) called "Baphomet". The game was deeply inspired by some art by H.R.Giger and also the book "At the Mountains of Madness", by novelist H.P.Lovercraft. Anthony made a few H.P.Lovercraft games in the past, two of which were The Call of Cthulhu and also The Dunwich Horror. I was very happy to add music on to this game as well. But I wont be talking about my activities on this game, just some general information about how this game was made.

Anthony has been working really hard on this game. I am not too sure how long it has taken him to make a game like this, but I was well impressed with the in game graphics. The game starts with the usual SEUCK style title screen (or front end or intro as we all like to call it) with some instructions on what to do to play the game (I done a note file on the disk as well) and the game starts of where you should stand by and not do anything. If you move your player, you will end up crashing into the background which is deadly and die. I did something silly once by starting the game with a joystick in port 1, where the player just could not move - how silly was that eh?.

The game is split into 2 parts. The first part is where you are on foot, fighting against enemy guards and also having to smash some of the cannons (except for the flame throwers). The player could collect the spinning star emblems to boost up their score. The major drawback to this mission is that when the player touches any part of the background, they will die. The background is very deadly, which can be tough for the gamer, but it is a good idea anyhow. When the player goes on to the top part of the screen. It wont be able to move any further than about an eighth of the screen at the top (If I have calculated this correctly that is) . The player has to face two different boss enemies. The first of which are some heads shooting bolts. Later on, an evil skull-type of demon. Once past that stage it is then time to switch the joystick port over to port 1 (as prompted by the message).

Joystick port 1 controls the flying character, who has to fight against various enemies. Instead of this part being a push scroll, it is a continuous scrolling game so there is no need to try and push yourself across the screen. There are enemies that will self-destruct if you can't kill them in time. This is a very clever and probably new idea, which Anthony came up with in SEUCK. At the end of this level, you have to face a big demon, Baphomet and shoot hell out of it :o)

The graphics in this game is well drawn, very nicely detailed. Although it uses the black, white and grey mood. But that does not really matter. The only drawback to this scheme was that the walking player had a *red* score, while the flyer has a *white* score instead. I guess the red score did spoil the theme a bit, but I noticed that with SEUCK or sideways SEUCK, the player's score sprites have always been red if the changable sprite multicolour of the player's object was black. Back to the graphics ... The theme was well detailed and the mood of the game was dark. The theme was based in darkness, and the graphics really suited the theme. What a masterpiece Anthony :o)

This game would have been nicer in SEUCK Redux source, but I did not use it this time, due to the bugs left in the source, which unfortunately crashed the game (I did test the redux version with infinite lives, and not all was working. Player 1 score was black instead of red, the sprite/background collision animation was bugged and also the game crashed somewhere in part 2), but I will release this game on to the friends and contributors page of my web site, as soon as the original, but clean and compressed version is uploaded on to The SEUCK Vault.

Below you can see a video footage preview of Baphomet for the C64. This only features the start of the game. Well, I don't want to give too much away do I?

Monday, 3 August 2009

Up in the Air - Come Fly With Me

Sunday 2nd August 2009

Well it has been yet another busy afternoon, and still a lot of work is to be done before I can get a fully working level. Last week I was working on preparing the labels for the enemy parameters. Well, today I have done some programming, using parameters and it took a long time to prepare and program, but it was worth the Sunday afternoon for 3 or 4 hours or so.

First of all, I created the data tables (!byte tables) to represent the behaviour of enemy's movement. The movement tables will later on be put inside a timed loop, so that we can vary the enemy's directional movements. Each table will consist with only '0' and '1'. '0' represents the selected direction the enemy moves is switched off, and the '1' represents the selected direction the enemy moves is switched on. For example if I wanted one enemy to move to the left, directions UP, DOWN and RIGHT will be switched off and LEFT will be switched on. Or if I wanted an enemy sprite to move upwards and left, UP and LEFT will be switched on and DOWN and RIGHT will be switched off.

However, I wanted to get this routine working in a correct possible manner, and it took lines of code to program. I had to make an enemy direction store value, so that the directional table that is switched on will make the active enemy sprite move a specified direction. I had to create a LOT of routines to get this to work properly. Mainly comparing the value of the stored direction. If the stored direction label equals 1, the enemy can move that direction. Otherwise the enemy cannot move the specified direction. To make sure the enemy could or could not move, I tested each enemy by setting the first value of the 60 bytes for each table (according to the direction I wanted the enemies to move) and then I assembled and test the movement. Fantastic, it worked. Okay, so it is not ready yet, but it was a good start for enemy movements. My next task will be to vary the movements of the enemies, and then get the floating balloons animated.