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(

Saturday, 29 October 2011

Get ready for take off

29th October 2011

Arrrrgh! 1 month to go. Woolly Jumper's deadline is coming near, otherwise it won't make it to the compo on time. I have to be quick, but spare time has been cut even more due to my full time job. Actually to be honest, I will not be under pressure to get this game finished, as there isn't really much to be done.

Shaun has got back to me about how the game should be improved. For a start off, he thought that it would be miles better if I removed the colour washing routine over the status bar. So the first thing done earlier on this week was to remove that score. I made it yellow, but after yesterday's email. A yellow status bar looked very odd. So I changed the status bar to white. The second niggly thing was the way the sheep was dying. The speed of the sheep bouncing off the platform falling straight into the water looked very odd. So I slowed down the speed slightly, so that it looked less daft. :)

Shaun also mentioned to me about the enemy formations. Although I worked quite hard on making a variety of enemy formations, it turns out that those formations do not suit the game at all. Therefore it would have been better if I just let the enemies fly across the screen, but I will need Shaun's help to do a quick enemy formation for each group of enemies during the game. Oh ... hang on .... I just got an email from him to illustrate how the enemies should move. I guess I didn't need to use SEUCK again then :)

While I was waiting for Shaun's reponse, I decided to work on the level complete sequence in which the player enters the rocket, and then the rocket takes off with the sheep inside. Unfortunately I found it to be impossible to have the player's face appear in the rocket, as the player sprite overlaps the rocket's sprite. However to solve this problem, I just removed the player sheep's sprite after the rocket picks the sheep up. Then the rocket takes off again. I also added the animation at the bottom of the rocket where the flames are burning from underneath the rocket. The animation was pretty smooth and looked great on the rocket. It would have been great to have the sheep peeping through the rocket window, but the only solution which I can think of to this little problem would be to have two more sprites that build the left/right part of the rocket with the sheep inside. This will be up to Shaun.

Tomorrow after my 6am-2pm shift at a Distribution Centre I might rework on the enemy movement patterns as illustrated by Shaun's rough examples. Now I think I shall have a spot of gaming :)

Sunday, 23 October 2011

Here comes the bugs!

22nd October 2011

I have been working pretty hard on improving Woolly Jumper. I captured the logo supplied by Shaun and loaded it up into Amica Paint. The logo's based on the loading picture logo by Ste'86. I then loaded up the Charwandler to convert the full sized logo which I received. BUMMER, loads of chars missing. Therefore it was impossible to have a proper logo. I did however come up with an alternative solution to the problem. I resized the logo in Amica Paint, so that it would fit all characters after conversion. Then I converted the characters with the Charwandler and succeeded with the conversion. I also imported Shaun's charset into the source as well. Looks really nice and chunky :)

The next thing I did was programmed the new front end. Looked quite nice, but it seems that the colours of the text looked a bit odd in grey (According to Shaun). Perhaps I should update this so that the colours are white. I also added a flashing "Press fire to start".

As soon as the little front end was done. I worked on building the start maps using Arkitek. I captured every single start map I created, then I used the Exomizer to compress each and every start map separately. Then I imported the source (and Exomizer decruncher) into the code. I feel that for the official release of this game, Magnus Lind deserves the credit for the Exomizer source.

The next thing I did was added some new enemies. The flying propeller bugs. They look kind of funny and suit the backwards. Then I worked on the get ready and level start phase. Now what did I do? Well, I made it so that at the end of each level, the scroll routine stops, and the player can exit the level by moving to the right of the screen. However, I still need to polish the end of each level by adding a rocket for the player to enter. Then the rocket will take off once entered. The player will then go on to the next screen. I also named the levels suggested by Shaun. Looks slightly much better, but for some reason. It's getting late now, so I shall pass another preview of this game over to Shaun and Heavy Stylus and do more on it some other time this week. Possibly Monday!.

Saturday, 8 October 2011

Lucky Seven

8th October 2011

Today I have been importing the new level data into the game. While I was playing through the game, I noticed a slight glitch in the background. The last part of the platform looked garbled up. I originally thought to myself that it must have been a corrupt file during exporting from the .D64 to the assembly source. It turned out to be the case where I actually forgotten to complete the map data table, in which uses 255 blocks. So after filling up the block data table, all turned out well.

I also set up the colour pointers for level 7 and imported Shaun's awesome new explosion sprites. Then I inserted a customizable character set which I did myself in 2009. Well, I ripped it from Bomb Chase 2009 to be honest, but that's just a temporary thing.

Finally I have been working on trying to fix an annoying enemy explosion bug. For some strange reason when the second enemy gets shot, it first explodes then it appears at the top of the screen visibly exploding until the next batch of enemies come on screen. Really annoying stuff, but I shall one day get this glitch fixed up :)

Anyway a snapshot of level 7 for you :)

Tuesday, 4 October 2011

Bah, bah, blast sheep!

1st - 2nd October 2011

It's another Sheep episode. Well, I have been doing some more programming on this game project. Shaun sent me some new sprites for this game. I check those out and I was very impressed. So I imported the sprites which he made using SEUCK into SpritePad and then saved a raw set to import into the source code. I had to alter the sprite animation tables and also the colours. I also set certain sprites for certain animations, so that the sprites will work correctly in the assembled source. If I did not change those frames according to the data tables, things would have looked very odd :)

Secondly I received some new level data which used new character sets. Yet again, I had to update the collision pointers so that it makes an impact on the player's sheep. (Collision chars). This worked quite well, but some of the collision pointers make it look odd for the player's sheep. After correcting the pointers (so that the Sheep can walk in the snow for level 6), I worked on setting up the correct colours for the new sprites. Great. Looked much better new.

Wednesday, 28 September 2011

Sheepoid gets a good whacking

28th September 2011

Man I am still recovering from a hard working day and also yesterday's pub session. Well, no pub today. Although it has been lovely and warm for it. Well, we cannot exactly go to the pub everyday can we huh?. Anyway, enough pub talk. Let's just get on with this blog shall we?

Well, I was a bit late to get back on to Woolly Jumper. This week. Although I was off from work over the weekend, I have been busy with Trojahn for the Shoot Em Up Destruction set. Only one more program to go for the SEUDS 2 compilation - Which I will be working on this coming Saturday. But that final program will be a surprise :)

Anyway, today I downloaded Shauns latest graphics update, which he drew using Arkitec. I took a look at the map and was concerned about one of the levels which was in the slaughter world. It turned out to be that one of the platforms needed to be extended a little. So I expanded the platform by 2 blocks, so that the sheep can land on the platform. Otherwise it would have been mighty impossible to land on to that particular platform without losing a life. I also noticed that Shaun added some shaded chars, which were used as pointers for the platforms. So I updated the charset by removing the stuff. I took a look at level 5's background. It's definitely much better now. The sheep should be able to jump over the girders no problem. I'm pretty much happy with this.

After being happy with the map, I saved all the data from the Arkitec and then exported the files into the source code and tested the game with it. Feels much more comfortable now. The next thing for me to deal with is the attack waves. The aliens seem to appear on the screen too frequently. So I programmed a little routine which allows them to appear on to the screen after a delay timer has been hit. I also re-enabled the collision detection. Also added scoring of 200 points per aliens hit.

The game's too hard for the player to be able to move around. Making the production still quite unplayable. Especially if after losing a life, the sheep hits a deadly background and dies straight away. Something had to be done with this problem. I came up with a big solution to this problem, which was to program a routine which checks for whether or not the player has a temporary shield enabled. If the shield is enabled, then the player will not get killed by any baddies or deadly, nor will the sheep drown when falling in the water. After the shield timer wears out. Poor the poor sheep could be in trouble if the player makes the wrong move :)

Sunday, 25 September 2011

Enter the Trojahn

17th - 25th September 2011

Well, well well. I have been busy yet again this week. Not only at work but also Woolly Jumper and the Shoot 'Em Up Destruction Set 2. This blog's mainly going to be about SEUDS 2. Well, it's game number 4, Trojahn. Alf has been updating this game a lot, and what I have seen seems to be a huge improvement compared to the old version which he wrote back in 1993. This game featured some more great tricks formed using S.E.U.C.K. Anyway, to make this a SEUDS 2 release. I decided to work on some major enhancements.

Before I actually started programming a new front end for this game production, I decided to work mainly on the in game enhancements. Simply by POKEing the SEUCK to run additional subroutines. One which will play in game music or sound effects, and one which will check for power ups, etc. Also one for the animated background as well. The power up routines only occur if the player breaks the magic urns. These power ups may vary and help enhance the player's skills. Those Urns could reward Trojahn more stamina (faster speed), faster powerful spear throwing, further distance for throwing the spears and also temporary invulnerability for 20 seconds or so. Trojahn loses all his power ups if he gets hit by an enemy of deadly obstacle.

As soon as I was (and Alf was) happy with the power ups, I kept on receiving updated versions of Alf's game. So I referred to using the latest one. I also worked on the in game, ending and title music using DMC V5.0+ and Goat Tracker. The music turned out pretty well, although I was sort of unsure about the title music. :)

Kenz sent me some 2x1 charsets in a bitmap form, but I had trouble converting the C64 bitmap picture into charset form, so I decided to try and convert Alf's original charset into a 2x1 font and then updated it to how Kenz originally drew the chars. The result turned out pretty good.

Now was the time for me to program the front end. I added some text, music, additional routines into the front end source code. I noticed a couple of flickering rasters inside each raster split, but managed to fix this without a problem. The title screen also consists of a music / sfx option, in which is activated by using left / right on the joystick. I also made it where after fire has been pressed, the get ready screen comes on, which reads: ELENA HAS BEEN CAPTURED BY THE SPARTAN KING. GO AND SEARCH FOR HER!. Then I linked the game code to this routine (after the fire button has been pressed) I also added a game over screen, which says TROJAHN'S QUEST HAS FAILED, ELINA HAS BEEN SACRIFICED TO THE MINOTAUR - GAME OVER. Both GET READY and GAME OVER screens have an eerie jingle, to fit the dark atmosphere in the game. Finally I programmed and linked the last part of the game. The ending. Tested the game, seems to be working okay, and I managed to reach the end of the game as well - in cheat mode :)

Sunday, 18 September 2011

Clumsy sheepoid.

17th September 2011

No screen shots or videos to show you this time, but I have still been working on Woolly Jumper. It is still sort of shaping up quite nicely, apart from that I came across some design faults in the game. (Go on, blame the coder). It turned out that the sinus mode which I originally used for the game wasn't all that good. The sinus was all over the place. That's not what we really want for a game don't you agree?. Well the good news is that I have renewed the sinus movement for the aliens, and after they get shot - they will disappear as they should (and not reappear on screen).

The second issue was the background. When the player jumps out of the screen, it seems to mysteriously die outside the border. This was quite a weird thing that was going on. I do have to admit. Anyway to resolve this problem I lowered the border jump height. So that no collision's made up there.

The next issue was that I programmed the lives and sprite/sprite collision. The sheep has too much on it's plate (Thanks for pointing this out Shaun) where the enemies appear on screen frequently. Oh dear :( We don't really want that to happen do we?. So I have come to a decision to add a delay/timer before letting loose the next batch of aliens. This will give the player chance to jump over platforms on to the next one. To make the player die. I added a little routine which made the sheep jump to the top of the screen, then fall into the water. The basic idea is to have an amusing frame, for where the sheep goes up, then add a splash sprite to make it look as if it had jumped into the water. I also did some jingles where one made the sheep scream if hit, then a splash sound for when it ends up in the water.

One final issue which I spotted, but pointed it out to Shaun, was a mapping fault. Basically the platforms were too far from each other in parts of the map, making it virtually impossible for the poor sheep to jump over. I also noticed a silly bug today in which killed the sheep when on top of the shaded area of the platform where the meat hooks hang. That will be simple enough to fix. Simply locate the charset number

I also had two .D64's from Shaun, featuring his new sprites for the game. So I loaded up the Sideways SEUCK (As Shaun used this to make them) and attached the .D64 with (what was meant to have been) the source files. Sadly I could not get those to load. It turned out that the disk image was corrupt as the file name ended with a *PRG inside the disk directory. This is known as a splat file. Perhaps the .D64 wasn't detached from VICE before I received it. Anyway I received the latest disk with the sprites. Those were Power Ups, alien species and of course the player animations. Looks absolutely great :) I will be looking forward to the final sprites :)

Saturday, 10 September 2011

Attack !!!

10th September 2011

Today I have been working on the attack formations of the enemies in the game. To do this I created various routines which checks for all sprites being out of the screen. If they are offset then the formation gets switched over to the next one according to the table. I have created 8 formations. At the moment the formations still need some kind of tweaking as they are quite buggy, but the work seems to be turning out quite nicely. :)

Sunday, 4 September 2011

2000 Kung Fu Maniacs - Final Touches

3rd + 4th September 2011

Flippin' heck. I have been too active haven't I - an I'm still enjoying it. Anyway during this weekend, I have been concentrating on doing some more stuff for 2000 Kung Fu Maniacs. Actually I think it is all done now.

The first thing I thought about was the player's status bar. Now being that 2000 KFM will be for one player only. I decided to do a little something useful to the status bar which is inside the border. So then what did I do? I moved it to the centre of the screen, simply by adjusting the X/Y attributes of the sprites that formed the status panel. Great!

The next thing I did was programming the new front end for the game. Due to restricted memory I had come up with a simple idea, which would display a bitmap logo, and some animated game sprites. I decided to have the whole screen in red, apart from the raster which holds the logo in place. I painted it in black. I also added the colour washing routine, using brown, red, orange, light red yellow and white. It looked pretty nice on the front end. I also added page flipping and timers. So that the title screen will flip from the credits to the high score table. This worked quite nicely. I also wrote a scroll text and programmed a smooth scroll which would display that text. Then I added the animated ninja sprites and the player's sprite.
As soon as I was happy with the front end I decided to work on the Get Ready and Game Over sequences. For this, I made a grey screen, and did the player chasing after the ninja, for the get ready sequence. Then I did an animation, similar to the Get Ready sequence, but instead of the ninja running off the screen. I got the ninja to punch the player into the air, and go splat on the ground. I thought that for this kind of scene it was quite funny to watch. :)

The next task was to program in the usual high score / name entry routines, as before. Like with 1000 Kung Fu Maniacs, I was hoping to add the rankings to the name entry message. Sadly I was unable to do that this time due to being completely out of memory for any more code. So I had to cut the high score routine smaller by missing that out. Otherwise some of the crucial data would have been overwritten by the high score routine.

As soon as the high score routine was finished. I tested everything to see if it all worked okay. It seems to be working fine. Now the final touches. The Galway Ninja loading music and the tape mastering. - Complete! Hopefully this is another SEUDS 2 game finished and ready.

Wednesday, 31 August 2011

Sheepy Goes 'A Shootin'

31st August 2011

Wow, quite a stroke of luck I had today. Winning 1st prize in a quiz at the work place (6 bottles of wine) and also getting a new Sheep sprite up and running. I converted the image of Shaun's sheep into Sprite Pad V1.8. It flippin' worked too. Awesome!! Once I got the sprite frames, etc.

I took on board some of Shaun's suggestions that the sheep can jump on to boxes and barrels too. I loaded up Arkitec and checked out which characters should be used to make the sheep jump on to the barrels. I added the characters, which represented the value of the character sets that form the boxes and barrels. I also managed to get the jump routine working slightly better. The player cannot jump too high in one go. The player can also jump outside of the game screen :)

Now the bulk of the background scrolling / collision code was virtually finished. I decided to work on getting some nice effects into the game. Well, not really effects, just explosions. This is for when the player shoots an enemy. It will then stop the enemy and let the enemies that get shot, explode. Then after the animation, remove the enemy off screen. I had to program an animation engine per enemy for this, because if I actually made the explosion animation on the player's bullet. It just wouldn't work right - plus there'd be a delay with the bullet firing. Since I was happy with the enemy blasting and the enemies are exploding quite nicely. I decided to call it a day with this game. For today. :)

The next task (Which will be some time this weekend) will be to get the enemies shooting bullets in one of 3 directions. Also I will be working on enemy movement formations, according to a random table (Depending on what the enemies will be). Stay tuned on Sunday, to see what happens. :)

Sunday, 28 August 2011

Kung Fu, POW!

27th August 2011

I was going to do a little more on Woolly Jumper today, but decided to leave that until Wednesday afternoon :). Instead I received some text and graphics for the ending of 2000 Kung Fu Maniacs. The hardest part was actually getting the actual .C64 file to save in CCS64. The best option I had was to store the all data (For the ending) and put that on to a .tap image. Load in the Sideways Scrolling SEUCK in WinVice, and then load the .tap image into it. That method worked quite nicely. I watched the example of the end. It looked interesting, and I thought to myself that it was most definitely worth a try.

Before I got into the programming side of things, I had to try import the charset from the SEUCK ending into Cuneiform. Then import the font that Alf made for 1000 Kung Fu Maniacs. We imported the files okay into the PC C64 char editor, and I copied the background chars (which formed the Master of Exposition's HQ) and put it into place with the 1x1 charset, which I used for 1000 Kung Fu Maniacs. I save the charset data, and raw data as well. Now was time for the next phase.

Because I can't really use more SEUCK background for the ending, I decided to import the character sets into the Graphic Editor by Firebird Software. It is quite an interesting piece of kit for the Commodore 64. So I loaded it up from the original .tap file that was created using the DC2N. Set Vice to warp speed so that the program loaded quicker. Then loaded the charset in. I also opened another window with VICE, and the Sideways SEUCK with the work file which Alf originally made. I then designed the background (Made it similar to the SEUCK background) although found a slight glitch in the FB Graphic Editor. The white pillars should have been hires, but they seemed to have ended up in multicolour instead. I then captured the image with the Retro Replay and used the MC monitor to transfer the screen to $2000 and colour to $2400. I then saved both files and then imported those into the ACME SEUCK Enhancements project file for 2000 Kung Fu Maniacs.

Next I copied Alf's text and I input it into the ACME cross assembler source. I saved and imported the sprite data into Spritepad 1.8, and I selected the sprites that were used for the ending. I also used the sprites of one of the enemy ninjas as well as the player - for the Get Ready and Game Over sequences. That will do for today, as I'm off out in a few minutes time :)

28th August 2011

Today was probably the most important of the day with 2000 Kung Fu Maniacs, where it comes to the end part. I have decided to program it in today. Mainly because the end part will probably be one of the longest parts to make in assembly before the Front End, Get Ready, Game Over and High Score entry parts :). So I programmed each frame, checked the ending out. Had a few problems at first, but they were resolved. The ending features the Master of Awesome and the Master of Exposition. But I will not tell you what it's all about though. It's a big secret and pretty much a funny ending :) There's still something that needs sorting out with this ending. Getting the background's pillars the correct colour. That should hopefully be no problem. :). On to Woolly Jumper on Wednesday. :)

Friday, 26 August 2011

Let's Shoot!

Thursday 25th August 2011

Okay, so I got the Sheep to jump, got the background to scroll. So what now? Well, this phase was quite a short phase for yesterday, but it was worth the effort. Since I last worked on Woolly Jumper, I got the player to jump, and also shoot, but there was still something missing. Yes, that's right. No collision or animation.

The first thing I worked on was the collision detection. A simple software Collision routine which uses the box-type collision (Sometimes that cannot be reliable, but if adjusted correctly the box collision should work okay. That's the method that I used for Sub Hunter :). The first thing I did was to write a subroutine that would read the player's virtual/ghost position and store it into a table of four bytes. I did this for the player's collision, and I also did that for the player bullet collision.

Now for the most interesting part. To get the collision working, I had to type in a string of code (quite a long string to be honest) for the player/enemy collision and enemy/bullet collision. Mainly by simply comparing whether or not the player, the bullet or the enemy collides into the target range of each other. If that happens, then something happens. At the moment I got it where the player crashes into an enemy, the border flashes (a temporary indicator to show the player dead). Also if the player bullet's sprite hits the enemy, both bullet and enemy disappears.

I got the aliens to move at different speed, but that was just a temporary thing. I also added temporary animation frames for the enemies and their bullet as well.

I received an email from Shaun about the jumping, it still does not seem to be right yet. Also the player stops at the very top border when jumping. It has been suggested that the player should be able to leave the screen if jumping at a high position, otherwise it would make the game unfair. I have a possible solution, but it could probably affect other sprites (after being shot). Basically open the top border, which the player can jump over.

He also suggested to me that the sheep should also jump on to the barrels (and possible crates as well). Which I originally thought was just simple background. Also the player seems to sink in part of the background by a few pixels. Well, those should hopefully be no problem for me to fix. As on Saturday (Because I'm taking a programming break tomorrow) I will be fixing this, and also (if I have the time) make the enemies trigger happy. Then it's the random movements for the enemies - some bouncing ones too) . This should then turn into a game to play :)

Tuesday, 23 August 2011

Prepare for more awesome!

23rd August 2011

Heeyaaaaah! (Smack!). Another new project. Well, it's not really that new as I had it earlier on this year. Yes, it's 2000 Kung Fu Maniacs - Way of the Exploding Fish. Yet another game for the Shoot Em Up Destruction Set. I was originally having a laugh working on 1000 Kung Fu Maniacs, but 2000 KFM promises to be more silly and hilarious compared to the first one.

Today was my day off work, so I decided to work a little on this game. Well, actually the majority part of the in game enhancements was done to be honest. First of all I explored the sprites and discovered some sprites which were not used. I also replaced a sprite of the Van Damne type of character with a 2 - way Poodle boss - which requires 5 hits before it's defeated. The idea was to have the big dog guard

ing the tinned fish while the master of awesome was at the Moose Mart. I also copied some of the power up sprites and mirrored those so that the player will be able to have power ups when it comes to the enhancements.

The next task was to do the enhancements of the SEUCK game. Just like with Super Tau Zeta, the player gets a new weapon/surprise. This will only happen if the player picks up a scroll. I programmed a small routine that cycles through the 7 power ups in which the player could have. If the player picks up a scroll, the power up gets randomly picked. So either the player could have something useful, or probably useless, or even something very daft. I will not let you know what the actual power ups are. You will have to wait until the full game's finished and released on SEUDS 2 :).

Power ups have been sorted out now. So next was to add the linked explosions for whenever the boss gets hit. Well, I had one slight snag with the boss death. If the boss died, other enemies would explode as well. I then came up with a solution to that problem. The bosses could carry a smart bomb with them, so the enemies will explode if the boss has been defeated. This can be a reward. Of course that will not happen to the little dog boss, guarding the tin of Exploding Fish.

There's a stage that features a gallery. I've added some interesting twists to exhibits in the gallery. Some are good, but some are bad. Again the player should pick up the scrolls. Inside the gallery are two other collectables, but I have added two surprises there. One item triggers a smart bomb, while another triggers a punishment, where the player loses 1000 points due to collecting the object. There is also another twist involved as well. You will have to wait and see :)

The enhancements seem to be shaping up quite nicely. I shall send Alf the work that has been done so far to this game - and see if he can give me tips on bullet speed and duration for the power ups. :)

Monday, 22 August 2011

The squadron invades the loading screen

21st August - 22nd August 2011

Yesterday as well as doing some work for Woolly Jumper, I also have been a busy man (As Sundays are indeed boring TV wise) and I worked on some loading music for the Super Tau Zeta tape loader. It was composed using DMC V5.0+ and is basically a rendition of my composition, which I originally did using Madtracker for the Super Tau Zeta promo video on YouTube. I thought the music sounded quite good for one reason or another.

Later on I stumbled across a loading picture which was made for this game drawn by STE'86. The loader pic was uploaded on to the CSDB and I was very impressed with the work he made with the pic, so I downloaded it (As I know that it'll be exactly the same loader pic for the game) and saved the image to koalapaint format, ready for the next tape master.

Alf Yngve got back to me with a text for me to put down for after the game has been complete to replace the original ending which hardly fit one screen - and that was all I had left memory wise. Manually typed in the end text finding it to be quite a sad ending, but would suit the game nicely, although the ending is a remix of the Super Tau Zeta video tune (again). Once I tested everything the game's working fine, the ending works - no crashing. So I mastered the whole thing to tape using the same loader as I did for Bloodwheels (All of those games except for the bonus game by Alf, himself will be using the

Ocean style loader colour cycle scheme). Finally it's done :)

My next project for SEUDS 2 will be 2000 Kung Fu Maniacs. Alf Yngve has given me ideas for the new power ups (Which I will be implementing into the game this week) but I shall not tell you what they are anywhere in the blog ... They're really a big surprise and guaranteed to have you gamers laughing as well :).

Sunday, 21 August 2011

Through old pastures new

21st August 2011

I received some nice new graphics from Shaun this week and imported the data into the source code for Woolly Jumper. The graphics were nicely drawn in Arkitec (For those of you who want it, it was on the Cabana User Tool Disk CSDB ID 42413). However, I had hit a slight snag after importing the graphics data into the source code. It was nothing too serious of course. Just a little thing where I was required to update the platform land routine corresponding to the characters which the player's sprite landed on. So I called up a few subroutines which will manually check for which characters (which result as the top platforms) will stop the player from falling. I even set some of the characters for where the player will die if it hits a deadly character. I have a video here of the new map. Enjoy :)

Now that I am quite happy with the platform chars which the player can land on, or die when touched, I can move on later on this week by programming the main game attack waves engine, which will be executed according to a sequence of numbers through a data table. Once happy with all of those, it'll be time for the animation engine. I shall also get the player to do some shooting as well. :)

Sunday, 14 August 2011

Get ready for some real carnage

14th August 2011

Sundays are boring, I have to admit. Well, only one thing for it. MORE PROGRAMMING. Well, that's what's been happening today? I have been very busy on a project for Psytronik Software. Since Super Tau Zeta has been finished (Only awaiting Kenz or Ste's loading pic) I decided to work on another game. In fact a very long awaited title, which appeared in Games That Weren't. What game am I talking about? Well does Bloodwheels ring a bell? This game was written back in 1994 originally for Psytronik Software. Perhaps Alf was waiting for someone (before I got involved with SEUCK enhancements at the time) . Sadly it never got enhanced for a commercial release back in the day.

Yesterday, Kenz contacted me via Email asking me if I could implement the logo which he painted for this game on to the front end. Well, I gave it a go, but when I checked out the old title screen I originally did for it back in 2010, I felt that the front end was just too plain. So I decided to make a brand new front end for this game today, and feature some amazing animations and add some extra stuff to the game as well.

The first thing was preparing the files to import into the source code. Those of which were the SEUCK files, music, new charset (which I used from the Pour Le Merite SEUCK game - my charset of course) and also edited the charset to make some frames for the title screen animation. Once all preparing was done, I worked on the programming side of the project. First I programmed a few routines which will hack SEUCK to do amazing things and play music during play. Then I programmed routines that could animate the water (2 chars rolling downwards continuously) and also fixed the score routine, so in 2 player mode, the correct player gets the points per hostage rescued.

As soon as I was happy with all of the in game features, I programmed a new front end, which featured Kenz's cool Bloodwheels logo (from the loading picture) and also got the front end animating and playing music, flashing the "Press fire to start" text. I also added the ability for the players to press fire in either joystick port. Joystick port 2 allowed the player to start a game for 1 players only. Joystick port 1 allowed both players to participate in the action. I also added GET READY, GAME OVER and MISSION COMPLETE scenes. I was really happy with what was done so far.

To end the session, I decided to work on the tape master. I decided not to play around with the loading stripes this time round. An Ocean style loader would be perfect for this compilation, but I used the tape loader source by Martin Piper. Nice loader system, displaying a neat loading picture, based on Alf Yngve's original artwork.

Saturday, 13 August 2011

Let's bounce

Saturday 13th August 2011

I am feeling afresh from my 2 week break in Somerset. Now I am ready for some more programming and music composing. On Thursday (Although I didn't mention it in the blog) I have been drawing some test graphics and sprites for the "Horizontal scrolling platform framework" for the 16KB cartridge game for the RGCD competition, which is currently in progress (And I am aiming to get it released down there in November). I also designed a map for the framework. Looks very basic and sort of rubbish graphics, but well, it's not the actual game graphics for Woolly Jumper. As Shaun's working on those :)

Today I felt like doing some more programming on the platform scroll engine. Although on Thursday I did add the new map to the project, I decided to update the scroll engine slightly. It appeared that I was using the KERNAL IRQ vectors, using #$37 as the $01 value. Because this was limited. I decided to switch off the basic KERNAL vectors, by simply changing the value of $01 to #$35 and then I changed all $0314 and $0315 vectors to $fffe and $ffff. I also add pointers to $fffa and $fffb to disable the RESTORE key from crashing the program. As soon as I was happy with the interrupts, I added an extra interrupt in which uses a standard multicolour for the water, and also a different colour scheme for the platforms. I made the default map colour to use a red scheme. Okay, not really bad. :) I tested the scroll and the scroll seems to work well.

There appears to be something missing. Those of which are SPRITES :). I imported the test sprites into the source code, as raw sprites. Then I got the sprites to display on to the screen. Well, just the player sprite for now that is :). Next I worked on the joystick read routine, so that the player can move up/down left or right (no shooting yet). Once I did that, the next job was to program in the self-modifying Sprite to background collision detection. So I check the value of the character sets which were being used for the top of the platform. The basic idea is to test to see if the player touches any part of the upper charset that represents the platform (anywhere on screen). If the player touches it, the sheep will flash until it is off the background.

After testing the routine was working, I programmed some additional routines that will make the sheep jump continuously. So that I could get the jumping slightly more at an accurate level. After a lot of tweaking with the jumping routine, I altered the joystick routine even more and got the player jumping and falling perfectly. Finally I added the moving aliens (Which still require a variety of movements, which will be implemented later on this week.) I also enabled the player to be able to fire bullets as well. After assembly of the framework so far, things are starting to take shape quite nicely. Enjoy the video! :)

Saturday, 16 July 2011

Let's Scroll It!

15th - 16th July 2011

Well, there's one kind of game I have not really done before, which my 16kb cartridge game will require. That is a block and map horizontal scroller. I have noticed that this type of technique is quite popular with shoot 'em ups. Anyway, I needed to learn some new stuff, so I decided to try and experiment with something. Before I started programming the map scroller. I loaded up SubChrist's CharPad64 V1.8 and I took a look at one of the examples which was ready made. It was a horizontal scrolling map, called "Sooperdooper". I extracted all of the data as raw binary files, into the ACME cross assembler sub folder. Then I took a look at a tutorial which was one of the rants on the Covertbitops web site. It was about the dissection of the C64 CGC 1999, game Escape from New York. I took a look at the tutorial and noticed that it was for the DASM cross assembler. I have always disliked using DASM, and converted the source to ACME cross assembler, then I implemented the routine into the ACME cross assembler.

The first thing I did was to initialise everything, by clearing the screen, and zero filling it. Once I did that, I set up the colours for the scroll. Those of which refer to the border and background colour, multicolour 1, multicolour 2 and actual char colour. After that was done, I initialised the interrupts and the music, then added a CLI and synchronised timer routine. Then I typed in the scroll routines, which included converting the 4x4 blocks on to the edge of the screen, and scrolling it across inside a loop. I also had to manually type in the low and high byte addresses for where the block data lies, to place into the map on to the screen. After testing, I ended up with some silly things happening.

It took a while for me to get the map placing and scrolling to work, as I had some silly thing going on - a miscalculation of the block size and map size. Once fixed, I got the map to scroll and display nice and smoothly. I tried implementing the mixed colour data tiles into the source, which did work, but sadly there was one problem - using charset tile colours and putting it into the colour RAM can cause major loss with raster time. There is a way out of this problem, to actually implement something to stop that from happening would require some more research.

After finishing my scroll experiment, I decided to draw some test graphics and import them into the source code. Then make a little video of what I have done with the scroller. The reason for making and testing a 4x4 block scroller is because I want to make a horizontal scrolling platform shoot 'em up called "Woolly Jumper" for the 16kb Cartridge compo, run by RGCD.

Maybe some time in the future I can implement the scrolling routine to support SEUCK tiled maps from Charpad, then I can do a remake of another classic crap game for the Masterchronic label :)

Here's the video of the map running:

Hunter's Moon ending music originally by Matt Gray, DMC V2.0 version by Richard/TND

Sunday, 26 June 2011

16KB Cartridge Game compo - Ideas. Now which should I choose?

26th June 2011
While I feel to have the urge to finish of Super Tau Zeta for Psytronik Software this week (If I finish from work at 4pm on an 8am - 4pm shift). Another game idea has come to my mind. It is also something for the 16KB cart game competition. I attempted a few things when it came to Commodore 64 assembly programming. It all started with moving sprites around and having to dodge them. The crappy "Target-X" series (I actually did do a Target-X 3 in 2001, but it never came to the light - the disk had died on me at the time), the Gravity series, and in 2004-2008, a pure milestone of a shoot 'em up with varied challenges called "Sub Hunter". I also did a couple of psychedelic games, like Sheepoid and Camels in Space, created in the Jeff Minter style mode (Except for the graphics, which used my own sprites and multicoloured all the way through).

There was however one type of game, which I never actually produced, and it is something retro gamers mainly loved in the 8-bit world. We have seen many of those, but this genre does not die out whatsoever. "What is this retro geek, called Richard/TND talking about then?" you may ask. Well, it is the "PLATFORMER". The question is what type of platform game could I write, and how would I come around it?

Well, I could I suppose, do a single screen which uses the Lode Runner style of mode, in which you're a player having to grab dots. Well, this could be quite appealing. Or perhaps I should do a platform game which uses the horizontal scrolling map. Come to thinking about it, I can only scroll 256 chars. Block/Map scrolling is very tricky. Thankfully I can refer to a framework source which was used for the Ultimate Stunt Boat Challenge source code. Or perhaps I could do a simple single screen platform game. Well, I have a few ideas, but I would need to think about what I could implement for the C64 16KB competition. Here are some simple ideas I have come up with - theoretically.

The Death Saw Challenge
An evil scientist has created several rooms, which consist of moving circular saws, which move along the walls, horizontally, vertically or possibly diagonally. Your player must move around the platform maze, climbing up and down ladders having to flick the switches to disable all of the saws. The only problem is that if you flick one particular switch, a saw may stop, but other saws may keep on moving. This would be quite a gory idea, but sounds quite appealing. Later levels could have faster moving saws, and also some trick switches, that will trigger traps.

Sheepoid II - Wooly Jumper
A psychedelic platform game with a slight twist. You are a Sheep which has to get across several levels. The platforms will move at a constant pace, while your sheep is happily bouncing up and down. The player must avoid falling off the edge. Also to make things more interesting, alien ships can fly across the screen in both directions, sapping the player's energy. The sheep can collect laser pods to fight back the aliens.

Put the Kettle On
I remember a classic VIC20 game called "Wacky Waiters" by Imagine software. Now, I'd love to do a C64 conversion, but I had something completely different in mind. It's a funny game idea in the mode of Wacky Waiters, but instead, you are going to one of the kitchens, and then try and serve cups of tea to the customers who are waiting. The only problem is that you have to carefully enter the lifts which are moving up or down. There could be various objects appearing in the background to slow you down, such as banana skins, bottles, etc.

However, I think Wooly Jumper could be the game I may possibly create for this competition. It sounds like a good laugh and ... but you will have to wait and see what gets released near to November time for the RGCD 16kb cart compo :)

Tuesday, 7 June 2011

Building pipes

7th June 2011
I originally started to do some graphics for the "Pressure Pipe" game yesterday, but for some reason after saving the VICE snapshot in V2.23, I ended up with VICE crashing. So today it was back to the drawn board - Literally :) Okay, don't laugh. We do make mistakes I must however admit. Anyway, today while I was listening to some C64 media on the "Armalyte" CD, and, I have decided to work on the in game graphics and character sets. I had second thoughts about designing everything on Multi Screen Construction Kit, as it would take me longer. Also I had feeling that VICE may have a popup which could shut everything down.

I loaded up the cross-platform tool, "Cuneiform" and worked on the charset and graphics data. Then saved everything and exported the stuff in PRG format. Once I exported the .PRG file and imported into the .D64, I loaded up Jon Well's Multi-Screen Construction Kit and then loaded up the D64 with the graphics charset. It was then time for me to design and save the objects data, which I did. I had to play around with some of the graphics, as they didn't quite look like how I would have wanted those. So after a few alterations, I succeeded with it. Now all I had to do was for the screen, put everything together. Well, yet again, I succeeded with that. A screen's built and stored, and here's my result for the first level. Maybe I could do some more level designs later on in the project. The programming of the game will be more important now I have a graphics mockup ready for the game. I just need to paint some balls in a Sprite Editor (Might do this tomorrow) and then start programming the game.

Here comes Mario :)

5th June 2011
It's official. Mario is coming to the Commodore 64. Okay, I fibbed there. I bet that caught you attention huh? Well, I guess so, who else would be reading this? So then, I have a week off work this week (as I have to use up ALL my annual leave before 30th June 2011). I decided to work on a brand new game project, which should hopefully be a free download from my web site once finished and tested.

This time round it's a new genre puzzle game (or probably not new) for the good old Commodore 64 called "Pipe Pressure" (Probably would sound a lot better if it was called "Pressure Pipe". You decide for yourself :o)). The concept is a very simple concept, which could probably become an addictive puzzler if all goes to plan. The idea I come up is a very simple concept and was sort of an inspiration from those PC flash games you tend to get on line.

Anyway, the concept is pretty much straight forward. (Yawn). When you start the game, a series of four balls of a different colour will appear on to the screen for a few seconds. You must then memorize what colour balls should go into which pipe (indicated with arrows). Then you get to play the game. You have to race against the clock to get 40 correct coloured balls into the pipes within a certain time limit. To increase the confusion. There will be additionally different coloured balls appearing. If none of those match the ones which you had to memorize. The user would have to throw those into the disposal chute at the bottom (simply by pressing the fire button). To make the game idea more confusing if a wrong ball ends up in the disposal chute, or a wrong ball enters the pipe. A life will be lost. At the moment, it is planned to have 10 levels, but if I find that 10's not enough, then levels can increase later on in the game. Tomorrow, I shall work on the game's graphics. Then maybe later on, I shall program the game.

Sunday, 22 May 2011

Richard @ RetroVision 2011 - Llamasoft jolly!

22nd May 2011

Well nothing new to show you at the moment, I did not even take any photos at this event as I really got carried away with enjoying myself (Oops, now that was silly). It started when my brother, Phil and I got up at 9am, had some breakfast and tea (Put the kettle on Philip). I was on the IPod Touch checking for new emails before setting off to the event. We both got ready and driven from Solihull to Oxford, getting stuck in traffic for about 40 minutes or so, due to an accident in one of the junctions. When we got there, we found parking to be really awkward, so we had to use the city centre multi-floor car park.

Anyway, after I got to the Foly Bridge pub, I bought a glass of cola for Phil and also one for myself, then I headed off to the function room and said "I have come for the Retro Vision event, I am Richard, Sheepoid programmer, and this is my brother Philip". Kenz was very surprised to finally see me in person at the event. I went over to the C64 and thought I surprise the people by playing Sheepoid, and then entering on the high score table "Richard Bayliss is here". This was where I then bumped into Vinny, followed by my co-op assistant of Sub Hunter. Frank Gasking. They both were also delighted to see me in person down there. One of them even bought me a drink and offered to buy Philip a drink, but he turned down the offer. Frank also got out his copy of Sheepoid and asked if I could sign it. Which I did. Kenz also came over to me and got a copy of Sheepoid out and asked if I could sign the inlay as well. Which I also did.

The computer, which I was mainly playing games on at the event was mainly on the Commodore 64C (Just like what I have). The C64C also had a 1541 Ultimate device plugged into the back of the machine, with LOADS and LOADS of Commodore C64 games on there, including Sheepoid. I might consider ordering one of these later on this year, as my 1541 disk drive keeps playing up. I also talked to Frank and Vinny about how I was involved in programming games. I even brought a disk with a couple of previews (Super Tau Zeta and Up In The Air), but I really should have brought it on an SD Card.

Later on, after looking around, I went straight back to the C64C and got Philip sitting next to me, and did something which brought memories back. We had a Vioris challenge :) After all these years (1993 or something like that), Philip and I were playing Vioris and he, unfortunately beat me at this game. Pah! Typical ... I'm not that good at gaming am I? ... I decided to then play the classic "Commodore Force" cover tape game, Relax ... Ooops, he beat me once again. Then afterwards, I played Trailblazer against him and I still lost at it! ... It goes to show that I am more of a games creator than a games player today :o) I was then interviewed by Paul Drury from Retro Gaming magazine, asking me questions about how I was involved on the Commodore 64 and why I was involved. I was happy to answer those questions, and as soon as the interview was over after 2 or 3 minutes or so, I went back up and played "Star Sabre" for the Amstrad CPC, as well as Drop Zone on Kenz's Specadore (Commodore 64 with a painted casing to make it look like a Spectrum). Man, that "Star Sabre" game was awesome, I wish there was a port of it for the Commodore C64. Hope a programmer (not me) would be able to take on this challenge).

RetroVision had some great competitions, I participated in only one, but I shall tell you about it later on. One competition, which I did not participate in was Hiper Viper for the BBC computer. I saw the game in action. It was one of those classic remakes of the traditional Worm/Snake style game.

The next competition was "Sheepoid". Vinny was the man in charge of the scores, and the game appeared on the big screen. Darn. I forgot to take some photos of this event. Pff! There were some players playing really well at this game, and there were some players who failed with embarrassment. Especially where one particular person scored NO points at all. There was one person who put their name down for this competition, but they did not seem to be present for the competition at the time, so I got my brother to cover for them. Oh dear. Bad move. He did not do good at all. He scored 30 points, and lost a life straight away. This really made me laugh!

There were also some people speaking to me about Commodore 64 stuff. Colin showed me some classic games which he was involved with, or had friends who made the games - which unfortunately never actually got released. Colin also showed me his music editor, which he's working on for the Commodore 64. One particular game, which took my attention on the C64 was an unreleased blaster, which was written back in 1993. I cannot remember what the game was called, but it reminded me of Firebird Software's classic shoot 'em up called Galax-I-Birds. Another game was some kind of underwater platform game. I said to the person who showed me the two games, if those were released back in the eighties, they would have made great Mastertronic / Firebird releases. Also if the game was released in 1993 it would have made a great cover tape game for one of the two UK C64 magazines that were still alive at the time.

Another gaming competition come up. I signed my name for it, and I signed my brother's name for the compo. Not realising that it is a tournament for more than 5 players. I played my brother up by putting his name as "Philip/Pork Pie". The compare asked for the compo entrants, "Richard/TND" and also "Philip/Pork Pie". I was laughing when I heard that. We played a few bouts of the tournament. I lost completely, Philip made it to the finals, which made me a bit jealous. Well, as I have said before, I am more of a game creator than a gamer in general :)

Before I decided to leave the event and head for home, I was sitting outside speaking to Philip until Kenz come along and asked me to sign a Sheepoid framed poster for the charity auction. I was very happy to oblige to do this. The auction went on for ages, and in the lot sixty something was the picture, signed by me. Philip missed the picture being sold at the auction. After this, I went over to Kenz, Vinny, Frank and some other people. Shook their hands and said I had a great time and sure would love to come to RV2012 next year. What a fantastic event it has been.

Oops, I had a great time at RetroVision 2011, but I had forgotten a couple of things. One was to ask for a tape and premium disk version of Sheepoid, before leaving and another which was to show the work of Up in the Air (A project which I held back, due to feeling uncomfortable with parts of the project and also due to work) and Super Tau Zeta (Which is currently still under development). Sorry to Alf and Wayne for failing to show the previews from my floppy.

Tuesday, 17 May 2011

Joy-sticks :)

Tuesday 17th May 2011

Just as I thought it was nearly all over for Sheepoid (Baaaah!), I've had quite a big surprise today. First, when I was coming home from work, I bought two ice creams from the Ice Cream van. One for myself, and one for my brother. I sat down, relaxed enjoying my 99 with flake. Then my brother said to me "I have a done a surprise project for you, Richard.". I originally thought that Phil must have been secretly working on a C64 style game on his lap top for my PC or something similar. Well, How wrong I was. My surprise was much bigger. It's not a game this time, but something which I never expected. - A brand new, and pretty special joystick for my (Take a guess) Commodore 64.

I am guessing that Phil found it really difficult to use the SpectraVideo joystick, which I have had for so many years (and is still working today), while he was playing Sheepoid on Friday last week. He even failed to get past the first level, due to the joystick being pretty awkward. So I showed him how to play the game properly. Well, either last week or this week. He secretly ordered various parts and components, and he built a new arcade style joystick inside the garage, and also used some unused wood and boarding, and he coated it with white paint. It must have took him some time to do this, especially the electronics. The biggest problem would probably have been to find a suitable port for the joystick. So he found one of my old joysticks and wired that up to the new joystick. One problem ... The wire's too long :)

Phil also worked hard on making an additional feature for this special joystick by wiring the direction controls, to move the player according to direction of movement. The red button was wired to act as the usual fire button. Finally the blue button was something special, which joystick manufacturers failed to add for the Commodore 64. Especially for driving simulators and platform games. The blue button was used as an extra UP command. This is so that when playing platform games, the blue button could be used to allow the player to jump. What a clever chap ;o)

To finish off his secret project, Phil decided to test the new joystick on my Commodore 64. He had to fiddle around with loading stuff using the DC2N, while I was away. Then he managed to load up the cute and hilarious Thalamus game, Creatures and he tested the joystick on the game. Worked a treat.

I was impressed with the amazing work and time, which Phil spent on this secret little hobby project. I loaded up Hewson's Uridium and played the game using the new joystick. Hmm, it is something I would need to get used to. Mainly because I am used to having the fire button on the left and the direction stick to the right. Instead the buttons are on the right, and the main controller was on the left. That did not really matter because I played Uridium quite well with this device. Huge thanks Phil.

Monday, 18 April 2011

A new front end

Monday 18th April 2011
It was yet again my day off work and I decided to work on the front end for the new Alf Yngve game for Psytronik Software. I had some nice looking ideas for the front end, which unfortunately required a lot of time with raster timing. I got the logo to display and also the credits charset, however I had come across a slightly annoying problem with the source code. The timing of those nice looking colour bars. I had to muck around with the source a little before I got the final result for the static text. I just have the scroll text raster timing to work on. The front end looks quite nice, but is still unfinished. I'm considering to add a simple sprite star field on to the title screen, and also some game options and high score table. Anyway, results are looking good so far. :)

Sunday, 17 April 2011

Power Me Up

Saturday 16th April 2011
Okay, something completely different and I think the game's author will feel relieved after he reads this blog. I have been taking a look at one of Alf Yngve's new games, which he has specially written for Psytronik Software, and he has waited ages for a new version of his great sideways SEUCK game. Finally the wait can be shorter, specially for him. I also said that I'm aiming to get this game done in time for Retro-Vision 2011 as well. But can I get it done on time? At the moment there is a great percentage that I can get it done. Enhancing SEUCK games don't really take all that long for me - as long as what I programmed, already had things working properly.

I took a look at some of the production notes on what power ups I should add to the game. I captured the work file, disabled the SEUCK editor and then split the memory into segments. Then I exported the 2 files into the project cross-assembly folder. Once I done this I wrote some new music for the title screen, and took the title screen from TAU ZETA and extracted that into the cross-assembly source code.

As soon as the file preparation was finished, I was able to do a bit of ACME cross-assembly programming. At $0801 (Which will be the run address after Exomizer decrunches the game), I added some routines which will cleverly hack into the SEUCK code to make way for the enhancements (and also fix additional in game bugged routines, such as the scoring, etc). Then I added the power ups code and linked it all into the source file. So now after the player collects a flashing green thing (whatever it is) the player will gain a specific power up. Which could be: A temporary shield, directional fire, fast laser (and longer distance shooting), mega bomb and also a score converter (which converts the alien score into digits). I also made it that a power up is lost after the player has lost a life. The player will then have to battle really hard on quite a longer flight before he or she can pick up the next power up. - and probably lose it again :)

Sunday 17th April 2011
Today I designed the front end logo, simply by using Alf's original front end logo (I liked it a lot), resizing it and then anti-aliasing the image. Then I worked on the new front end character set, in which the main chars are 1x1 and the name in the credits are 1x2. Sorry, but I have no screen shots of the project to show you at the moment, because I have nothing (the new front end) to show. :)

I still have a new front end to program, and also some Get Ready, Game Over jingles, Mission Complete jingles to work on, but that can wait until next time I get round to it.

Thursday, 31 March 2011

Sheepoid - Finished - Or is it?

Thursday 30th March 2011

Ok, so you have not really heard much about Sheepoid since the last part of the blog? Well, don't panic. I've not given up with it, in fact I have finished the game itself already. "When and where will it be released?" you may ask. Well, after having a discussion with a few of my regular contacts, I have decided to release this game to Psytronik Software on disk or tape, and of course, you'll be able to download the game FREE from The New Dimension and/or the Psytronik Software web site, as soon as it is released. Although the whole game's finished, I have a secret program to program into the game's warning notice, and of course the most important part of the release. The disk/tape mastering :) This project has been great fun to create and develop :)

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.