Sunday, 29 April 2012

Trance Sector Preview :)

29th April 2012
Well finally I have a playable preview of Trance Sector for the Commodore 64. Last Friday evening and Saturday morning, I updated several routines so that the player's background collision was more accurate. I didn't even need a char row/column table for the new sprite/background collision routine. Also got the player to be trapped in a prison for a short period of time. The prison turns into a normal tile after the player steps on it, which was intended. I also got the player to move along the magnetic conveyor belts. Finally I added (for the first time ever with my game projects) a keyboard option. This is so that if a player hasn't got a joystick to plug into port 2, they can use Q (Up), A (Down), O (Left), P (Right), Spacebar (Fire).

I sent a build of the preview to a few of my C64 fans/friends and they were pretty much impressed with the work that was done so far. Alas, I had bugs reported which were silly ones. One of which I forgot to restart the game on the very first level after the game was over, and also the playable demo crashed after completing it. Also the player moved automatically after being released by the prison tiles.

Today I worked on making some vast improvements and amendments to the game. First of all I fixed the major bugs/issues which were spotty last night. I also made some graphical updates to the game sprites. I could not resist programming a little objects display routine, so the gamers know what the objects are - before moving on to the front end. I also added a pause/unpause and quit game function. Then sent the final build (I hope it is the final build of the preview) of the game to my C64 friends/fans to test the preview. So far it seems to be working great. I am really looking forward to showing this preview at RetroVision 2012's retrogaming, beer drinking meeting. :)

Friday, 13 April 2012

Unlucky for some

13th April 2012

13 is an unlucky number. Not really :) Trance Sector's progressing pretty well, as I have had spent time working on it during my 2 hour spare time in the morning. I got the collision with the blockers to work correctly, and also got the score in action. The only problem I seem to get is where the player hits the conveyor belt chars. If the player hits the belt, the belt routine pushes the player the direction it moves ... Good ... BUT, the full sprite is not moving on the actual belt chars ... BAD. The new sprite/background collision routine's even LESS complex compared to the one I used to keep using.

While I am still trying to find a solution to this problem, I got all background animated, and also I built 8 levels for a playable preview of the game, which seems to be working okay - except for the game is really difficult. Oh well, tweaking this weekend I guess :)

Monday, 9 April 2012


9th April 2012

Quite a lucky day today. I had a little trick up my sleeve, which worked a treat. On Saturday I was struggling to get the whole set of lights go out in TranceSector, where the player could switch off the lights, but when moving across the screen. The lights are all switched on (Oh dear). . However, I came up with a clever little trick to solve this problem. I had 3 sprites spare, so I decided to use one as a ghost sprite (Trivia: A ghost sprite is a sprite which is being used, but is not visible in the game.).The ghost sprite was set at exactly the same position of the player's ship, but the Y-axis of the ghost sprite was positioned 8 sprites above the player's sprite. This was used to make it look as if the player is extinguishing all of the lights wherever it gets positions. Next. I copied and pasted the sprite/background collision routine to get the ghost sprite correcting the mistakes that were left to the player. Tested everything. It seems to working pretty good now.

Well, I got all of the lights to eliminate, but there is something missing. The concept of this game is simply to eliminate all of the lights in each level, without getting hit by the rockets that zoom towards you when you're spotted. There seems to be no detection of all lights being eliminated. So I added a routine that will check the whole game screen for any lights visible. At first it didn't work, but I found out why :). I made a silly mistake. After correcting it, I got the routine to work. Here's a little video of the game WIP 2 :)

I will be making some changes for the additional objects. :)

Blockers - They can destroy the player if the player crashes into those.
Compactors - These shall be converted into temporary forcefield prison cells. If the player touches the cell. It will be stuck there for a short period of time until it has been released again
Conveyor belt's ... Erm, well, they will be moving the player, although the player will be able to move over those.

Sunday, 8 April 2012

Lights out please

7th April 2012

Back to TranceSector. Well then what has been happening this time round? Well I worked much harder on the game. In fact I spent most of my afternoon getting the game get some more action. Last week you may have remembered that I got those rockets moving left and right. Well, this time I programmed some AI routines in which will give rockets more of a bad behaviour. I added a routine where a rocket is in direct of the player, the rocket will sweep up/down or across the screen towards its target. This will cause the player to want to move out the way. As soon as I was happy with this, I added an extra routine in which makes the rockets explode after they hit the wall in AI mode :)

Although I worked on the rockets behaviour patterns, and explosion animation (Which still requires tweaking). I started working on the Sprite/Background collision. I programmed the routine like how I usually did, but I come across a slight snag (As this pic below shows). Instead

of the player switching off the lights as it moves on to them. The player going up/down switches all of the lights off, where as moving across switches half of the lights off. This isn't really suppose to happen, so I'm going to need to think of a solution to solving this problem. If nobody gets back to me, then I'll have to have think of an extra trick up my sleeve. :)