Sunday, 27 February 2011

More enhancements and memory preservation

27th February 2011

Today I was sort of brainstorming on how to preserve some more memory for additional/final touches with the code. Well, I found a solution. Redesign the front end screen using the Multi Screen Construction Kit, and make a new library with the existing graphics. I redesigned the front end (using another VICE window to help) and then saved the new library. Then I reinstalled it into the game project source. I also moved some routines around and removed one of the screen files, as this was no longer required. I assembled the source and run Sheepoid. BRILLIANT! MORE MEMORY SPACE for the final touches. Excellent :)

Now before I can add the new exploding sheep death to the game's source code. I've got to redesign some of the sprites again. So I loaded up the Sprite Editor V1.3 by Faces and redesigned some of the sprites. As well as created some new sprites. I changed all Space Invader sprites into assorted animals, and my version of the Ancipital creature (Half man, half goat?). Then I renamed the level "They have escaped from their pens". I also recreated the Llamas, my own version of the Zzapstars, dogs, and I got rid of the beer to make it the "Horus and the Sands of time" level instead.

The next job I did was to implement the baby sheep explosion routine, in which will displays the sprite "NO, NOT ME!" and make the sheep squeal if it was shot (and lose 1000 points). Well, thankfully I fixed this routine. I come a cross a small bug in which was aliens dying using the Sheep's death. After a moment or two with the fixing phase, the problem was solved. Now I added the infinite lives cheat routine for testing the whole game. I then assembled, and ran the game in WinVice V2.3 (XS64 mode). I played through the whole game, and was pretty much happy with what has been done through this game. I think the game's pretty much finished now. All I have to do now is the disk / tape mastering system and maybe a possible tweak with the game's colours or something like that. Here's a BETA video of what could be the final version of the game in action!

Flash Bang, What a picture

26th February 2011

Earlier on last week I have been working on new sound effects to suit the game. I'm much happier with the sounds, but there are some effects missing. Many of the great Yak's psychedelic games used options to use strobe effects. So I decided to implement and program some strobe effects for when either the player dies or when an alien gets hit. Before I done this, the Game Over and level complete was lacking some colour over the text. I also wanted to change the Level Complete sequence a bit as well. So to make Level Complete much better. During the bonus countdown, the void scrolls downwards faster. Then I added a routine to remove the whole game playing background by filling the screen with the level's void. Then I added a colour wash routine on the WELL DONE text, followed by the GAME OVER text.

Once I was happy with the Well Done and Game Over text, I had a task which was to make the player lose 1000 points if a baby sheep was shot. So I programmed a little routine, which would deduct points off the player. If the very first digit was detected as a / when decrementing the value, I added a routine which makes all characters 000000 otherwise this would have been a bug in the game. Once that was done, I tried it out. Now the players will be LESS inclined to shoot the baby sheep, and will have to save them. Therefore the game is more challenging now.

One final routine to add was the in game strobe effects. I decided to only use $D021, because if I used $D020 as well, you could see the flicking spots at the bottom of the screen where the raster split lies. Plus using $D020 as well as $D021 could be too much for the gamer as well. I used two colour schemes for the player. I used the blue effect per baddie shot, and I used the orange/red effect for the player death. Something disappointed me though. I should really do an effect, which says NO for when a baby sheep dies, but I have unfortunately run out of memory for my code. There's just too much there for this little tweak. There might be a solution to the problem, perhaps I should reproduce the title screen using the Multi Screen Construction Kit. That will preserve $0400 spare bytes to expand my code a little for the sheep death effect. Which I shall do tomorrow. Then it is on to the improvements/tweaking of the game sprites and then the final phase bug fixing. Once all final phase fixing's finished. I'm ready to release this game to Psytronik Software. :)

Sunday, 20 February 2011

A fleecy high score and ending

20th February 2011

Well it's another fleecy furball adventure. Sheepoid seems to be progressing more nicer and today I've been doing yet more music composing and additional programming. This time round, I decided to write a dance style ending tune. So I loaded up Goat Tracker and loaded up the "Sheepoid" theme tune and started a new track number. I added some more instruments and after an hour or so the music was made and I was pretty much happy with it. Great!

Now it was time to add a high score name entry routine. I decided to make this part of the game very basic, because I would have had to muck about with interrupts. After I finished the high score entry routine. I added some improvements to the ending, which uses a psychedelic ending and a special scrolling message. I also tweaked the fire button routine so that the player can't shoot if he/she holds down the fire button. Therefore constant pushes of the fire button would be needed. I also made a routine in which checks if both lasers are off screen. If so, then they can be fired otherwise the process is ignored. One final improvement I have made was that the coloured raster bars can scroll upwards. The result's great so far. All I have to do now is some final tweaking/enhancements and bug fixing, for the game. Then hopefully it is ready.

Tuesday, 15 February 2011

Let's go Psychedelic ... Baaaaaah!

15th February 2011

The past 2 afternoons, I have been working on Sheepoid - again :). I think so far the game's coming out quite nicely. Yesterday afternoon, I was working on the end part for the game. To build the end, I captured the field at the bottom of the screen and turned it into a straight field, without the upwards field from level 1. Then I saved the colour and screen data of the modified field.

After that was done my next task was to program some imaginative ending in a style of Yak the Hairy. Well, I could not really think of much of an ending and opened my imagination. Caught in the world of psychedelia. I decided that I had no option but to do an ending where there's a washing machine, someone throws a brick into it while the wheels are spinning and then self-destruct. Nope. I could have done that I suppose. Nah! What I really done was based it where a space ship lands back on to the field. The sheep jumps out. The space ship takes off and then the rest of the ending - a big surprise. I shall not tell you, but it does involve some hairy beasties :)

Today I decided to redesign my front end and implement it into the code. The first thing I did was remove those horrible looking thick raster beams. Recreated the title screen logo. It looked too much like 1985 or something like that. There was also too much flashing, so I decided to do away with some of it. I added an extra raster split and programmed a routine for the top scroll text. I put the flashing text on to the PRESS FIRE TO PLAY message. The top scroll was made for a purpose. After playing Revenge of the Mutant Camels and Sheep In Space, I decided to base the high score table on typing silly phrases of 40 characters. Just the way how the great Yak did for those two games. I also added a scroll text which scrolled the high scores across the front end slowly.

The worst part had come for the front end. I wanted to get rid of those horrible colour bars and replace them with something that would look much nicer. Any guesses? Yes, that's absolutely correct, demo-style raster colour bars. Glerk! They're easy to program into the raster split, but the worst part of it for me was timing the darn things so that they are straight. So I spent about an hour or so fiddling around with the timing tables and come up with a nice looking front end.

The last part I did today was updated the music using Goat Tracker. I wanted to make a modern version of the title screen tune for Sheepoid, as just using one sawtooth instrument was so 1984. So I added a few leads and also some drums (Oh no, Master Bayliss is going to put some techno/trance style beats to the production - gibber!). Then I altered the notes to play a rock-style tune for the title screen. No techno/trance for a change. Then I imported the remixed version of the sawtooth tune into the title screen code. It turned out very well :)

Saturday, 12 February 2011

Bahtastic new look to Sheepoid

12th February 2011

Well Sheepoid seems to be turning out quite nicely, although I cannot say that this game's finished. There's still some more things to update to code. Today I have been programming my own in game sound effects, and tried to make it as sort of Minter style as possible. I created various sound effects for the Get Ready screen, player shoot, enemy hit, baby sheep pick up, player hit and game over tune. After assembling the code from Turbo Assembler. I saved the sound effects player and data, but I forgot to save the actual TASS code. Doh! Trusty me to do that.

After finishing the sound effects and importing it into the game source. I imported all of the level data into the game code and also altered a few routines, where I could animate all 8 different voids. I also set up the game to display the screen from the MSCK library, according to the level in which the player was currently on. Something promising here :). The game is 76% finished now, I think!

Friday, 11 February 2011

Gardens, sea, pyramids. Everything, Baaaaah!

11th February 2011

My main code for Sheepoid's finished (I think), apart from the ending (Which will be changed) as I felt that the ending for Sheepoid would not really be what people would have wanted. A better idea is planned for that, and I have plenty of time to get this project finished beforehand. Anyway, I decided to take a little break from programming today, and work on the main level schemes and graphics. So off the PC cross assembler, and straight on to my real Commodore 64 I go. ;o)

I loaded up the Multi Screen Construction Kit by Jon Wells and I loaded up my character set from the game project (Which I converted from my PC on to a C64 floppy disk). I created a few other character sets. The game uses a mix of hires and multicoloured graphics, so I created a few chars (from char $60+) to make those the scrolling voids. I also made some additional characters for the bottom and side panel, for where the player will be based. I didn't want to use the same panel as I did for the WIP version of the game. So I decided to draw some additional features, which were 1x1 chars to build flowers, trees, Egyptian, pyramids, water and hot desert (although it looks like custard :o).
After finishing the character sets, it was then time for me to create the objects, for putting on to 24 of the level screens. So I built the different scrolling voids (Alth
ough MSCK does not scroll those), and also different versions of the bottom and right panel which the player's always on. After this I found something to be not right. The panel on the right looks ugly without a curved character between the last 2 rows and columns. So I built a curved panel to put on to the background. It looked much nicer. After designing the 24 levels (Which in all, took me a couple of hours to do, as I was remixing some of the existing pane
ls and voids as well). Finally all 24 screens were built. I saved all the data on to the Sheepoid disk, built a final library (On the same disk). Then I ported everything back on to my PC (in the Sheepoid ACME project folder) using my XM1541 and CBMXfer application.

My next job will be to get all the level screens into the game source code. Then program some arcade/Jeff Minter style sound effects as the sounds I made using the Cult SFX editor wasn't really suitable for this type of g
ame, due to it's restrictions ;o).