Showing posts with label Assembly. Show all posts
Showing posts with label Assembly. Show all posts

Saturday, 30 April 2022

Cruiser-X 79: Fear the Freeze

 First of all, a quick note to let you know that during may, this project will be paused for a short period of time to make way for my 4K game for the Craptastic 2022 game development competition. It is unknown how long it will take me to write my 4K game. I'm hoping about 2 or 3 weeks or so.

Secondly some fantastic news about my levels. Saul has been working on updating my level designs, and they have been turning out pretty well. I am really pleased with the overall result from levels 2-5 (As level 1 needed nothing updated). Out of all of the levels so far, "Level 5" is my personal favourite.

On Thursday and Friday, I started with designing Level 6 and yesterday I did some more updates to the level and finished making the map. Level 6 is a freezing cold stage in which contains plenty of ice. I used Level 3's graphics data, as there was a nice cube in the space background, which looks pretty good for this level. The colour scheme uses cyan, light blue and white. However, Saul might decide on some different colours. The player ship is cyan, but it still can be seen (thankfully). I wanted to make level 6 harder than level 5, so more deadly background was added.

Today I worked on adding the music and putting the test level together. The music which I have chosen for level 6 is a rendition of one of my trance tracks, Ice Dream, which I originally did for Scene World about 2 years ago. I did a PC remix of the same tune (See: Nucleo448 - Trance Remix) and also in Nucleo 448 as in game music. I liked this composition a lot, so I decided to do another version for Cruiser-X 79. 

The level data got exported as character set, tiles, map and music data. Then crunched through the Exomizer V3.1.1 (in V2 mode). The level table got modified once more. I compiled and run the game into VICE, and played all the way to level 6. Argh, I think I have made the level too difficult with all those big walls, which the player has to avoid. However, I will give those a tweak next time I go back into the game project, and of course before I work on level 7 (unless of cource Saul has done it already). However, I do like the ice-blue theme in that level and the wonderful in game music. 

That's it for now with Cruiser-X 79. The project is now paused for a short term until after my 4K Craptastic Compo 2022 entry is finished and submitted. Then I'll be back onto it.



Tuesday, 6 November 2012

The Player Dies at the End

6th November 2012

Don't mistake yourself with Alf Yngve's latest Sideways SEUCK masterpiece, which I released on the TND web site on Wednesday last week. Nope. This is basically a blog update about what I have been doing this morning. Well, yesterday, I got the enemies to die when the player throws an object at them. Now today I did the opposite.

The Player Dies at the End by Alf Yngve
A few days ago, I got the collision registers programmed in (The usual box collision register). Yesterday was the bullet/enemy sprite. Today was the enemy/player sprite. I first added subroutines to check whether or not each enemy hits the player and test flash the player - if a collision was spotted. The routine sort of worked, but I thought about making a loop for all deadly objects to collide in any area to the player's sprite's X-Y axis. :) That was much shorter, compared to repetitive comparing values for each sprite. It worked quite nicely as well.

Now that I got the player's sprite to change colour when an enemy collides into it. I worked on building a routine that will check for the player, to see if it was already dead. Followed by adding a routine to do the actual death animation. All worked fine, and the player can die.

The player lies dead, after being bitten by a jungle snake
There were just two more things to be added to the shooting and death routines. Which were to add points to an enemy killed, and also a lives subtraction counter. I got those to work fine. Next came playing the GAME OVER jingle after a life has been lost. I was going to get the player to have a short term protection (flash) but I with the short amount of time I had, I didn't get round to it. So Thursday is a possibility. I might be taking a little break from programming tomorrow. We'll have to wait and see.



The game's engine seems to quite positive, but I can be sure that things WILL eventually turn much better when this Thursday or Saturday, I will be adding some more extra routines to enable some of the enemies to shoot - according to what object they are. Followed by additional behaviour of enemies. Some will walk across the screen in a straight line. Some will move up and down while slowly moving across. Some will shoot, and some will have interesting and quite impressive features.) More about it when I get round to doing exactly that.

Wednesday, 8 April 2009

Another Last Amazon front end

Tuesday 7th April 2009 + Wednesday 8th April 2009

Bah, TV sucks. Well that doesn't surprise me. I had nothing else too exciting to do, so I decided to work on a new front end for Last Amazon 2. This time it was a bit of a challenge, but I knew that it should be possible. I prepared a work disk .D64 and transferred all the C64 files into the cross-assembly directory for use with ACME, the same way as I did with The Last Amazon.

Kenz had shown me the mock up screen shot of what he would like me to do for the front end. Oh no ... raster splits :( Seriously, I hate doing raster bars, due to having to get those blasted things timed correctly inside $D012 splits. Ah well, it has to be done, and I shall do that.

I loaded up the Relaunch64 tool and then I created a main source file which will link all the c64 program files (including the game) and got started on the programming side of things. I started off with the IRQ interrupt player routine to see if it will run. The good news was that the player routine did play the music after assembled and crunched with PuCrunch. Now it was time for the serious part of the programming. Getting the bitmap logo and all chars displaying. To do this, I changed the background colour ($D021) so that all small text was white and all large text was yellow. So I built 10 raster splits in total. Everything displayed successfully.

Now it was time to add those raster bars into the text. Well, this I must stress was one of the worse parts of the front end programming. So I built a colour table and a raster timing table for each raster split. It took a lot of time to time out the raster splits so that the text chars looked much more tidier. As soon as I was happy with the result, I worked on the scroll text routine (Which uses raster splits as well) and then added a routine for which the player can press fire in either joystick port to play a 1 or 2 player game. Those worked okay, but sadly timing had altered again. So I moved the raster timing table and also moved the scroll text to a higher location and got everything working. Looks perfect now. Hope Alf and Kenz likes this one.

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