Showing posts with label ACME Cross Assembler. Show all posts
Showing posts with label ACME Cross Assembler. Show all posts

Saturday, 28 January 2017

And the name of the game is ... Zenox Attack

27th - 28th January 2017

My week's holiday has come to an end, and things are back to normal once again. Most of the holiday was mainly composing music, and also starting on a C64 game project, formerly known as an unnamed shoot 'em up. Well,guess what? The game now has a name. I have decided to call it Zenox Attack.

Yesterday I made a start on the new in game graphics, which gives a sort of a Denarius feeling to it. If you look at the video carefully, you'll notice how much hard work I spent on creating the very first level.

On the alien sprites front. I designed some test alien sprites, which haven't been animated. Also I programmed in some in game sound effects, which could be used when mixed with in game music through my GoatTracker tunes. The player can play sounds when firing lasers. The aliens now have a box sprite/sprite collision detection. The enemy movement isn't very exciting, and the aliens cannot fire. This will be changed next time I work on this project, sometime next week (As well as Precinct 20 - Dead Strange, a SEUCK Redux creation by Alf Yngve). For now, enjoy this second WIP video with remnants of the game in action.



Wednesday, 25 January 2017

Scrolling without S.E.U.C.K

25th January 2016

 Flipping heck. This week has been a SEUCK marathon. Anyway, time for a little change. Back in 2015, I mentioned to some people in the past that I'd love to attempt to create a vertical scrolling shoot 'em up game, without the aid of SEUCK. I examined the code in Codebase64 and I managed to get a rough map scroller. However getting a soft scroll to work right was a plain in the backside. So I left the code for a couple of years or so backed up.

However last week, I attempted to continue achieve my goal. Basically by getting the soft scroll to work much better. There were a few mistakes left in the scrolling code last time. It turned out that I wasn't copying the last row, and pasting it inside a subroutine. Also the score panel at the bottom of the screen was flickering like hell. In order to solve the problem, I examined some code in an old TND Contributor's C64 game, to see how the status panel stayed static while a vertical scrolling map was scrolling down. I noticed something very interesting. A stack inside an interrupt, had a control over the VIC2 Screen vertical position, which made the status panel more still. I attempted to place a similar routine, and that trick worked. The VSP scroll worked a treat.

This week, I have been making some more alterations to the scroller framework, and started a little game project. At the moment it is an Unnamed Shoot Em Up, (which the video below will show you). However I'm feeling ambitious to make a sort of a onward scrolling Denarius/Warhawk style futuristic shoot 'em up, without the aid of SEUCK. I created some test sprites and a little test panel in order to get the player moving and blasting. The asteroids that move constantly cannot be shot, and will not be the only thing in the game. This is just the start of a fresh new C64 game project I am willing to produce this year :)


Saturday, 19 December 2015

The end is near - Can we me make it? ...

18th + 19th December 2015

Wow. Some more free time at last. Well, more work on Vortex Crystals then. Before any more programming had taken place in the game project. I asked Alf if he'd like flashing lights animation added to the background. After he suggested that it was a great idea. I worked on mapping the values of the char colours for the flashing lights. After compiling the code, the animation turned out quite nice. I sent the new build to Alf and he liked it.

The next step was to work on the end screen (since the whole game engine is finished right now) . A couple of months back, I designed the end screen using the example background, and crunched it - but didn't actually test it until yesterday. The result turned out pretty well. So I worked on the animation scenes. It involves the player attempting to make an escape from the V-Tex complex (After completing room 16). What happens next, I will not tell you, but the ending turned out GREAT. I even had ENOUGH memory to fit the ending into the code and compile a 16KB cartridge.

After finishing the end screen, I worked on doing a phase of bug fixing. I felt the player was jumping too high in the game, so I halved the jump duration on the player. Unfortunately that didn't work out that well. The jumping height was too little. It made things more impossible for the player to be able to jump high enough on to some platforms and conveyor belts. So I increased the jump height by a quarter. It looked and felt much better.

I wanted to add some bonus scoring to the game code, so that the player gains a bonus number of points, according to the number of bullets the player carries. Of course if the player dies - default bullet amount will be 40. Only at the start of each level, the player starts with 50 bullets. I also had enough space to add a flashing text routine. After finishing with the project (for today) and email Alf the latest build. I ported the game on to my USB dongle, and play tested it on my C64, via the 1541Ultimate 2. Really happy with the result so far. ... but is the game finished yet? ...

Not quite. Although I can say it is probably  99% finished, it needs a little bit more bug fixing, a pause+quit game function, and then pass it over to one of my C64 scene buddies to NTSC fix it before the final compiling and submission. :)

After the compo - I intend to extend the code a bit more, to give out more frames for the in game animation. Add additional in game options, a better looking front end presentation, hi-score table, etc. Apart from those - the main game stays the same.


Monday, 16 November 2015

Alien Invasion

13th November 2015

Just to let you know that progress for Vortex Crystals is still under development. However, on Friday 13th November. Disaster struck on my HDD. When I tried to load the assembly source file of the Vortex Crystals, I ended up with a blank file as the main file. This happened after an update was installed, and the PC HDD was undergoing repairs by the Op System boot up. I tried copying the file from the backup drive, and sadly it was the older source file and incorrect. Damn, all is lost ... Well not exactly, here's what happened.

When I'm working physically, and feel tired, I can get myself lost in places, and the same with file organisation. I spent most of my time searching for the correct backup source of the missing code on that day. Thankfully, it got found, and I was able to continue doing more levels for the game. (grin). 7 levels were already complete, so I worked on levels 8 and 9. Level 9 introduces 'I-Droid', the eye type of alien.

16th November 2015

More progress with the level setup, but I came across a small problem with level 10. Alf forgot to add a door on to the stage. So in order to resolve this problem. I decided to disguise one of the alien spawn gates as an exit. Therefore making this level more challenging. Then I started on doing level 11. This level introduces two new and harder aliens, which are the Squidroid (10 hits to kill) and Robot (8 hits to kill). These later levels are planned to frustrate the player more, as the player only has a limited amount of ammo to fire. Shooting 3 aliens will give the player 10 extra ammo, if the power up box is picked up straight away. Later levels are also intending to get even more frustrating, when the simple aliens (from levels 1 - 10) will not be appearing on the later levels. :)


The deadline is about 2 months and a half away for this game to be entered to the compo, and I'm quite confident that it will be finished in time. :)

Stay tuned ...

Thursday, 10 January 2013

Bet you got square eyes :)

9th January 2013

Back in 2010 I wrote my first ever tape loader game for the C64 (Cool). That game was called "Moo-Tilation". It was a funny shoot 'em up game, in which you had to defend your hapless cows from being abducted by aliens. In the late 2011 I wrote yet another C64 loader game, called "Happy Blocks", inspired by one of the games I played on FB. HB was a game in which you shift your block, having to avoid getting smashed by the falling blocks. The game required a lot of action.

So then. If you remember those two games quite well. There's a new kid in town. Back in 2007 I wrote a game for a demo group, Civitas called "Square Pit 64" now it's back once again, resurrected as a tape loader game with a slightly new look and a different Euro-disco style tune. I originally planned to rip the original Square Pit 64 game source and implement it into the loader. Unfortunately, I had some problems doing exactly that, so I decided to quickly program the game from scratch, with the aid of the existing resources. I originally was going to go for a techno/trance style theme for the game. Where every time the drum kick came on screen, the screen flashed. I decided not to bother at the end, as the result turned out quite bad.

Instead, I added some pulsating flash routines on to all of the sprites, apart from the small square (Which will stay as white). I also added a fitting track into the source, and tested the game inside an IRQ interrupt. Seemed to have worked quite nicely, but there appeared to have been something wrong. I noticed the scores were placed in the wrong place after a new game was started. I soon fixed that problem. Finally the game was working. So now it was time to remove the IRQ interrupts, and link the game to the Thunderload tape loader.

The biggest mistake I noticed in 2012 was that Thunderload Series Six loader never was compressed, because I had to keep on changing the scroll text and tunes for it. Well, this time round, I decided to compress Square Pit, using Exomizer's level compression mode. Then assemble a decruncher source from the Exomizer, itself. I had to use DASM for this. After assembly and compression and linking the decruncher to the compressed source, I linked the final build to the tape loader source. I altered the LoaderGame init address to call the decruncher routine (Which I placed at $5000) and the set the play address at where the main loops in the game occurred. I altered the batch file to build the .tap using SQUAREPIT.PRG instead. I picked a program to be loaded after the loader game, as a test guinea pig, which was of course "Trance Sector". I tested the tape loader system and it worked a treat :)

Here's a video of the tape loader in action.






Thursday, 11 October 2012

Amazon Tales - Level proceedure

11th October 2012

Last week on Amazon Tales, I got the enemies moving via tables. Although the tables are incomplete, I shall be returning to those on Saturday. Today I programmed some routines in which can detect where the end of each level lies in the map. Alf Yngve's maps had a column of blank blocks. This, I'm assuming represents the end of each level. So I wanted to make it so that when the timer spots the black blocks - it will blank the screen (Later during the project, I'll be adding Get Ready and Well Done sprites to the screen) ... I programmed a loop in which can check for the game scrolling time before switching to the next level.

The Sacred Temple


Secondly, to enhance things a little, I worked on writing some music for Amazon Tales. I loaded up Goat Tracker, composed some new instruments and then worked on composing the tune for the title screen, get ready/well done and game over jingles. Followed by the in game music. I imported the tune into the source code of the game, and got the Get Ready/Well Done jingle to play after every screen blanking interval. Then when the game was ready to start, the music changes to the in game music. Seems to have worked a treat.

More work on this on Saturday.


Saturday, 29 September 2012

Into the Amazon

29th September 2012

Finally the scroll engine has been updated a couple of weeks ago, with thanks to Achim's technical support. Now I have been working on the game's animation engine. Last week I got round to preparing the animation tables, but didn't get round to implementing them into a routine. So today I did exactly that. I animated the player so that it looks as if it is running.

I also added a routine in which the player shoots bullets. For some odd reason, the bullet sprite looked out of place. The player was shooting the bullet out of its head :) With a quick adjustment with Sprite Pad, I got the player to shoot the bullet at the correct height.


More work will be done on it later on this week or possibly some time next week - where I start adding the enemies in to the game.

Saturday, 30 June 2012

Lucky strike

30th June 2012

Slightly late than never :). Today more work has been done to the Trance Sector bouncing bonus ball. A few days ago, I got the ball to bounce around the screen. Today I did some more work on it. I created some subroutines which sets the counter of the ball to appear. Then it spawns in. After a full cycle of some of the features, I made it spawn out again. 

As well as this feature, I added a subroutine to test the collision of a rocket and the bouncing ball. If the rocket hit the ball (depending on what the ball has) the player gets rewarded either 100 points, 200 points, 500 points, Lighting of letters E,X,T,R,A (To indicate and extra life) or a smart bomb, which will destroy all rockets on screen. I also made it that if a rocket hits the ball, the ball disappears and the rockets explode. Here's a video of the work done so far. I still have the E,X,T,R,A  routine to bug fix - and award extra lives properly. That can wait some other time later on this week ;)




Sunday, 29 April 2012

Trance Sector Preview :)


29th April 2012
Well finally I have a playable preview of Trance Sector for the Commodore 64. Last Friday evening and Saturday morning, I updated several routines so that the player's background collision was more accurate. I didn't even need a char row/column table for the new sprite/background collision routine. Also got the player to be trapped in a prison for a short period of time. The prison turns into a normal tile after the player steps on it, which was intended. I also got the player to move along the magnetic conveyor belts. Finally I added (for the first time ever with my game projects) a keyboard option. This is so that if a player hasn't got a joystick to plug into port 2, they can use Q (Up), A (Down), O (Left), P (Right), Spacebar (Fire).

I sent a build of the preview to a few of my C64 fans/friends and they were pretty much impressed with the work that was done so far. Alas, I had bugs reported which were silly ones. One of which I forgot to restart the game on the very first level after the game was over, and also the playable demo crashed after completing it. Also the player moved automatically after being released by the prison tiles.

Today I worked on making some vast improvements and amendments to the game. First of all I fixed the major bugs/issues which were spotty last night. I also made some graphical updates to the game sprites. I could not resist programming a little objects display routine, so the gamers know what the objects are - before moving on to the front end. I also added a pause/unpause and quit game function. Then sent the final build (I hope it is the final build of the preview) of the game to my C64 friends/fans to test the preview. So far it seems to be working great. I am really looking forward to showing this preview at RetroVision 2012's retrogaming, beer drinking meeting. :)


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


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




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