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. :)

Fredrik the Ball is Back: Spider Maze 2 in progress

  11th January 2026 First of all, a belated Happy New Year to all C64 and retro kind.   At last, a new blog update and a new C64 project is ...