Sunday, 20 November 2011

Woolly Jumper 16K - Finished :)

19th-20th November 2011

19th November 2011

As predicted Woolly Jumper needed a bit of tidying up and fixing. It wasn't a major problem, but a minor issue. It was related to the front end / get ready, etc. flipping to the next screen, showed visible mess. The mess was mainly to do with sprite positions not being zeroed before all sprites were correctly positioned. So I added a routine in which cleaned this issue up (Like with Sheepoid). As soon as that was fixed, I had one more little thing to fixup, and that was just the screen flipping showing mess for less than a second before starting the game. Well, I found a perfect way to solve that problem. That was to switch off the screen, using $D011 and then allow the IRQ interrupts to switch it back on again, so that you could see no mess during the process. The good thing about it ... It worked.

20th November 2011

Last night, before I went to bed, Shaun replied back to say that my updated version of the game code worked perfectly, but there was just one more thing that he suggested that should be changed. The Vaccinator sprite didn't really suit the game, so he decided that I should replace the Vaccinator with the Cattle Prod, a sprite which he originally removed. As the Cattle Prod was originally used as a deadly object. Now the yellow Cattle prod will give the sheep better fire power (bigger bullets) and the light blue drencher will remove the power ups which the sheep has.

Finally, the 16K version of the game is finished (I hope) and if it is, then the .CRT build file is ready to be sent to HeavyStylus and I can work on enhancing the game even more for the 64K version. I came up with ideas in which is to remix the existing levels, making them slightly longer, so instead of 8 levels we have 16 levels and also extended according to the levels in the game.

There will be NO blog updates for the 64K version, as I am going to work on it as a big surprise. But there are some plans for the enhancements in the game, which are top secret. We will not tell you what they are, but one thing for certain, it will feature a neat loading picture by STE'86, which he specially drawn for the production. :)

Saturday, 19 November 2011

Those darn bugs

13th - 19th November 2011

Well, WJ didn't seem to be quite finished yet, as Shaun spotted a few bugs in the game, in which had to be resolved. After I moved the status panel at the bottom of the screen to somewhere else I ended with the player getting an extra life, instead of the level counter going up. This kept on happening during the level complete phase. So after updating this problem, another problem came, regarding the same status panel. The score didn't work properly. A simple mistake was made, and that was corrected.

The next bug was a major bug, Music. After the end of the level (The rocket) there was a droaning noise, which Shaun could hear, but I couldn't. So I found a way to resolve this problem, simply by creating a new instrument which silences the note and imported the music back into the compiled source. It worked a treat :)

The next bug was a minor one. On level 6, the sheep was walking on top of the snow on the barrel. This looked very odd indeed. I loaded up Arkitec and browsed through the utility to take a look at the value of the characters of the snow on top of the barrel. Then I removed those collision values, so

Shaun came across a major bug, in which the sheep died for no apparent reason, while it was jumping in thin air. The problem occured when the enemy sprites were all offset and still moving when not visible. So I had to program a little routine which compared to the position in which the player was. If the player's Y position was lower than the upper border, no sprite to sprite collision occurs. Otherwise, the poor sheep gets hit by the bad enemies. :)

The next issue was a graphic bug, in which level 2 kept looking quite odd. Well, the start screen. Some parts of the background was missing. Lawks. Not good :(. So I loaded up Arkitek to try and solve this silly problem, thus yesterday (Friday 18th November) I had an email back that the background still needed sorting out. So that I dealt with this small glitch today. I just hope that it is correct.

The final things were a couple of things which Shaun suggested to me to improve the game a bit. First of all, the falling power up / add. score objects could be seen leaving the screen below the status. This was originally intentional to me. Instead to make things better for the project I added a splash animation, for every time the collectable reaches the water. This makes a much better effect in the game. The other thing missing was the Game Over message, which has now been added. :)

I sent the new version on .D64 to Shaun to try out. If he's happy, then the 16KB build is finally finished :)

Monday, 14 November 2011

Could the 16K version be finished now?

14th November 2011

Well, I got up early today about 8am (As I am working an 12pm-8pm). Checked my email and found that Woolly Jumper needed a small minor fix, which was mainly to do with the rocket animation. The flames on the rocket looked pretty odd, as both used the same frame. So I called the second sprite frame table (for the flames) so that the rocket flame looks more accurate. The good thing is that it worked out quite nicely :)

I have also been told by Shaun some good pointers about the game. The shooting reminded him of playing Space Invaders. Where the game gets difficult if you miss an enemy. The falling whistle reminded him of Ghosts and Goblins, and finally level 6 looked really arctic, especially with the penguin aliens on the loose.

Hopefully now the 16K version of the game is finished, and I can then work on the 64K version (Which will be the same game, but with extra features) which I hope to release in time for Christmas 2011. To be honest I won't really take all that long to add the extra features. Probably a few days to be precise. After that's finished, I can finally take a well earned rest from this game project. :)

Sunday, 13 November 2011

Fixing phase! ARGH!

13th November 2011
Okay then, most of today I have been working on trying to get the game to be finished. First of all some adjustments needed to be made to the game code. First of all, the front end logo needed to be updated as Shaun sent a much nicer looking version of the same logo, which I originally resized. That really made a huge difference. How on earth did I forget about Shaun's logo?

Most of today was a frustrating session. I kept getting more problems (or probably causing those in the game code). I adjusted the player's shield so that the player didn't flash, when it was wearing a workers helmet. I also updated the get ready text and positions of the rocket. The end of levels 2 and 3 looked very odd. I also had to fix the start screens for levels 2, 3 and 8. After fixing those, Shaun gave me an idea where scoring points (after shooting the enemies) should be based on the size of the bullets. So I added a routine that can work out how many points the player can score according to the following:

Weak bullet = 100 points
Medium bullet = 200 points
Mega Bullet = 500 points

Shaun didn't like the idea of having the cattle prod in the game, which caused the player to lose a life, so I removed it and replaced those with the other 3 collectables that are used in the game.

To finish things off, I added a routine in which drops a whistle to the central of the end platform. After the player picks up the whistle, a rocket will appear on screen, with yellow flames and pick the player up. I also had to find a way on how to get those enemy bugs moving in a different sinus wave to the other enemies. Well, the solution was finally found. I used Elwix/Style's WixBouncer tool, in which allows you to chose the sinus mode you want. Then you manually type in the start / end and length of the sinus. I then imported the sinus data into the source code. It made the pink bugs' move quite more different and interesting. Much better now.

Hopefully now I have sent a new .D64 to Shaun, we could say that this game is finished. If it is, then all will be revealed on this blog. The game will be sent to RGCD for submitting to the 16KB cart. Then I and work on expanding this game in time for a Christmas 2011 release.

Tried it on my C64C. It works great on a real C64 with joystick in port 2 :)

Saturday, 12 November 2011

I've got the power

12th November 2011

Today's been quite a long session (Drinking lager, oops, no. Wrong!) working on finishing off Woolly Jumper, 16K version. I have been working on making some tweaks and improvements and also added some power ups to the game, which will enhance game play for the player. Especially when he collects power ups. I also added a random table so that we have different power ups appearing on screen. The powerups are as follows:

- Vaccinator (Power up fire power)
- Sheep Shearer (Award 500 points to the player)
- Drencher (Restore fire power to the weakest bullet)
- Cattle Prod (Avoid at all times, it will cost a sheep's life)

The firepower is something as follows:

- Tiny ball of fluff (Small bullet, slow)
- Medium ball of fluff (Medium bullet, moderate speed)
- Mega ball of fluff (Huge bullet, ultra fast)

I have also been working on upgrading the collision to see whether or not the player can respond to the stopping chars. Sadly this feature didn't work properly for level 8 (The great white rock) and it ended up pushing the player all over the place. This caused an unknown bug, which I don't really know what has been causing it. The level design for just the final stage needs a rethink.

Well, we are nearly there. Hopefully the game will be ready a week before the deadline.

Sunday, 6 November 2011

We are on whistle blower alert

6th November 2011

It's just a short one today, because I have been working a very early 6am-2pm shift at my local distribution centre. And right now, I feel very tired, especially after going out last night. 5 and 3 quarters hour sleep (Although there was a party next door full of youngsters partying with fireworks). Anyway here's what has happened today.

I received an email from Shaun about an object which the player can collect, so it can move on to the next stage. Brilliant, that's helped me a lot. I imported Shaun's whistle (And painted it cyan) into the game source code. Then I programmed a simple box collision, where the player picks up the whistle. If the collision occurs, the rocket will appear on screen and pick the player up.

The second and final thing I did today, due to tiredness was added a little routine, to stop the player from holding the fire button, making the player constantly shoot, also to avoid the title screen skipping sensitivity.

Well, it looks as if the game is nearly finished for the 16KB cartridge compo. I just need to tidy a few things up, which I should hopefully get round to doing this week. One of which is to create random power ups through a timer, and also fix an additional sprite/background detection in which (during parts of the game) the sheep cannot walk through the rocks of level 3 and 8. If the game turns out to be larger than 16K then I'll have to compose some music for just the 16K version of this game, using the John Player. Toodloo, until Friday!

Saturday, 5 November 2011

It's getting there ... :)

5th November 2011

Things are getting on pretty well with Woolly Jumper and I feel that I could be nearly finished with the 16KB CRT version of this fun game project. Well, estimated time for finishing the 16KB cartridge is probably between next week and 20th November 2011. I am dedicating myself to at least one hour to this project during my spare time all this week, as we are coming closer and closer to the deadline.

So then what has been happening today? Well, basically I have been concentrating on some minor bug fixing and also getting the enemies to roam across the screen with their new attack patterns. So how did I go around to working on those? It started with some experiments with sprites. Before I could build the sinus patterns, I had to work out the starting and ending position for where to put the enemy sinuses. To be able to do this, I did a little poke that would display a square sprite. Did a little maths to work out the: start and stop position of the sprite sinues for the top, middle, and bottom portions of the screen. These mainly took effect on the penguin ships, green alien saucers and chickens. The meanest enemy of them all were the pink bugs. The bugs have a different kind of behaviour compared to the three aliens (penguin, green saucer and space chickens) . The bugs shall also be appearing less frequently, compared to the other aliens.

After programming and storing the new sinus movements for each enemy, I restored the sprite/sprite collision and discovered a silly bug. For every second enemy shot, you could see an explosion appear again after the death animation had finished. That was one heck of a daft mistake I discovered today. To to fix that problem, I added a routine that switched off the enemy dead mode, so that the enemy is offset. I also made it so that the enemies don't appear on the screen, or move in a Y-axis if they are supposed to be offset - and it worked.

The last thing I did today was added a little ending to the game, for after the final level was complete. It was something too basic, but because of size restrictions, I was unable to do a very good ending - but the full game will of course have a better ending than what I did for this version.

The hobby project continues through to December after the .CRT version's finished!

Friday, 4 November 2011

Sheep enters a high risk site

4th November 2011
First of all, it was quite an embarrassing bug fixing session, due to the fact that I tried so much to try and fix a problem with the platform jumping issue, which Shaun pointed out. It turned out that I didn't need update the code by retyping the sprite/background collision detection. It turned out that I had forgotten to reset the timer which controlled the player's jump. How dumb was that huh?

Anyway, I imported the new graphics update of Shaun's into the game code. It looked much better. Shaun also did some very nice in game sprites as well. The sheep now wears a builders/warehouse high risk helmet when in Shield/Invinicibility mode, and the rocket now shows the sheep inside. Once the shield wears out, the loses helmet and is no longer invincible.

Hopefully either tomorrow or Sunday, I will concentrate on updating the enemy attack patterns, according to Shaun's diagram illustrations. Re-enable the sprite/sprite collision and then work on an ending for when the player completes the game. Just under 4 weeks until the deadline. ARGH! Hope I can make it :o(