Sunday, 20 May 2012

Engage Shield, Panic Stations

19th May 2012

Well, this is where the fun begins :). I worked on a 1 screen test level (To get the tiles working) and imported the test level library from the Multi Screen Construction Kit. Then I started working on some more programming aspects to the game engine.

There were two new tiles for the game. One which was a temporary shield, and the other which was the switch. I loaded up VICE and the game's graphics work files to work out which character indicated the shield, the switch (on) and also the switch (off). Then I added more to the sprite/background collision register routine. Some of the routines check for the value of the character. If it was the shield tile then to test this was working I added INC $D020 to increment the border colour (test). Then I did exactly the same thing for the panic switch, but DEC $D020 to decrement the border colour (test 2) instead. I also got the tiles to change. The shield tile turns into a standard tile (Shield disappears). The switch on tile turns into the switch off tile. I assembled and executed the new code and tested the test level. The increment/decrement of the border worked. Now it was time to add some more routines to make the code work how it should have.

Some more variables and timers were added for the shield routine. The idea was to create a timer that will give the player a temporary invincibility mode. I also created a table which should flash the player (silver/grey flash scheme). A routine to time the shield counter was also added. I also created a routine to check whether the timer equals 0, indicating that the shield has been disabled. Otherwise the sprite/sprite collision would be bypassed. After I assembled and tested the routine. I had the player flashing for some time (after collecting the shield) which was perfect. Especially for the harder stages of the game, where there will be tiles with panic buttons surrounding the pods.

Now the invincibility mode was sorted out. It was time to add some interesting features into the panic switch routine. I decided to make it look as if the alarms were going off - and the seekers speed up during a short period of time as well. This was to make game play more frustrating and fun. Like with the shield routine, I created a timer and also two colour tables for the background multicolour. Yes that's right, the background multi colours flash on panic mode. The effect turned out nicely, and also the background restores to its normal colours after the panic alarm's switched off (automatically).  :)

20th May 2012 More level designs ... and the master of disaster strikes ...

I have been doing some more levels using Multi Screen Construction Kit today, and have 25 working levels done so far, but the bad news is that after level 26 was stored to the MSCK library and I wanted to view all of the levels through MSCK, the program crashed (CPU JAM at $C107). It was very complicated to look at the code. So I'm not sure whether or not it will be possible for me to recover the level. If it is not recoverable, I will have to redesign the same levels using a different utility (I might try Delight by Color7 productions), but it will be a longer process in designing all of my levels (Using 2x2 tiles). Here's a snapshot of what Level 26 could have looked like (if I'm accurate enough).

It looks as if there will be no more work on Trance Sector until the end of this week because my week's holiday finished on Friday. Unfortunately now I'll have less free time to do what I enjoy doing the most (C64 activities), due to working 12pm-8pm shifts again. I can put my mind off this game for a few days or so, until Friday/Saturday morning. :)

Friday, 18 May 2012

Scroll it the hard way

18th May 2012

Something more interesting to be added to Trance Sector. A 4-directional scrolling field. Well, that's what I have spent most of today's Trance Sector session with. I wanted to get the scrolling movement to move according to the direction the player uses with the joystick. I created a new counter which can check which value will indicate the direction for scrolling background field. Then I stored values of 0 - 3 into the scroll counter. Where 0 = Up, 1 = Down, 2 = Left, 3 = Right, then I added a routine that could check for what value the counter is and added subroutines, which would scroll the characters that formed the background field, according to direction. This took quite a lot of programming to get implemented into the game, but I still have plenty of memory of additional code, since sacrificing the logo to build a new title screen. (The logo will be used for the intro instead). My next task (Possibly tomorrow) will be to activate the shield for the player, for any time it hits a shield tile. (On later levels), then hyperspace (Warping) to a different area on the same level screen.

Tuesday, 15 May 2012

Trance Sector - Continues

15th May 2012 

This week I decided to work more on the game graphics for Trance Sector I wasn't too sure what to draw the game levels with as I didn't want to experience another crash with MSCK. Funnily enough, I found that Charpad was unsuitable to build the levels, because putting the level objects (as single screens) was more difficult. Plus the type of tiles would have been too limited. So instead, I worked on MSCK V2.0 and hoping this time the program won't crash. I managed to rebuild the objects, opened my mind, and built 20 levels. That was Yesterday of course.I even did a new title screen, according to what was written on my little note pad, when I attended RetroVision 2012 Saturday, last week.

Today I worked on installing the new game graphics library into the game's source code, and updated the amount of pods for the player to collect. I even tested the whole game, hoping the library source wouldn't crash. Thankfully it didn't crash. After the 20 levels were fitted in to the code, nicely (Apart from some shield tiles which haven't been programmed yet) I tested through the whole game and found no problems. After I was happy with this, I worked on an ending tune using GoatTracker. Then I ported the music data to the game again. I tried to do some in game sound effects for Trance Sector using GoatTracker, but there were delays before a sound effect played. I think I should program my own sound effects instead, like I did with Sub Hunter and Sheepoid instead. It might be more helpful ;)

The last part of the day was programming the new title screen for the game. In which looks completely different to how I normally program a front end. I usually program a front end using a plain black screen with a logo on the top of the screen, with flashing text, and a scroll text at the bottom. That's nothing unusual. Instead, I decided to work on a more epic title screen, in which displays 1x1 char bricks forming the name Trance Sector on the screen, an upward scrolling ticker tape routine (Like Monty on the Run) inside the window, and also a sprite scrolling message at the bottom of the screen. I was unable to open the borders because for some reason, it kept flickering and delaying when the sprite was there ... So I left it out for the time being. The new title screen looks retro and hopefully the gamers will like it as well. :) 

More work on the game tomorrow or Wednesday. Well I have another 44 levels to build up, and probably add some brand new tiles as well, such as seeker switches. Also to get the shield working as well  ;)