Sunday, 27 March 2022

Cruiser-X 79: Another two new levels

 Yet another fun session in building two different levels. The first level was done on Tuesday afternoon, and yesterday I was playing around with PRG2TAP and Freeload. I could be using these two tools to generate a multi-load tape version of Cruiser-X 79 some time in the future as well as D64. 

 Today I have focused more on the "Cruiser-X 79" game project. This morning I constructed level 2. The second level is where the player enters an alien base. The idea of the second level was to add a slightly higher difficulty compared to level 1, but of course not too hard. I created a nice blue zone, in which the player has to fight through. The level is slightly less kind than level 1 when it comes to power ups. I wanted to make a few things interesting. One thing of which was to draw a parallax void. Also, I felt that I had to made a few alterations to some of the tiles for that particular level. 

The next step I considered about was to try and find quicker and easy way to level pack graphics and music, then compile the entire project to a D64. Dragging and dropping filenames for each level (especially if updated) can be very daunting. It also makes me worry about making big mistakes with the project. I come up with an alternative solution. Last week I was compiling the 16KB intro creation competition through ACME cross-assembler. I created a batch file which allowed to compile all of the re-mastered intros onto a D64 via a command-line tool called CC1541. 

I thought that I try and make a tool-chain batch file which can help me more in level crunching of the level charset, tiles data, map data and music and then compiling a complete game disk image. So I created a batch file called buildit.bat and created shell commands to call ACME cross assembler to compile the title screen code, and exomizer to crunch it. Then I called Exomizer to pack each level data that was made so far. Then called commands for CC1541 to compile all of the necessary files into a D64 called CRX79.D64. When I do more level data in the future, I can easily adapt the batch file to level crunch that data and compile it to CRX79.D64. Then execute VICE to run the D64 image.

I compiled the source, automatically called the batch file, and waited a few seconds for level crunching and other algorithms to take place. Then VICE ran the CRX79.D64 image. The game was automatically set to cheat mode. This is because at the moment I am more interested to see how the level maps turned out. There was a fault. The graphics ended up as garbage. It seems that the music files worked fine. What caused that fault? Well, the map data is a raw binary image. Raw binary images have an offset of two bytes. Basically, they are two bytes ahead compared to a normal PRG file. So I set the load address for all of the binary files two bytes in front (Charset $0802, tiles $b002, map $4802). 

After compressing and compiling a few times I ended up with a working map, for level 1. Then level 2 turned out good. I had a good blast and I was pretty pleased with how the second level turned out. It features a nice static parallax effect inside parts of the alien base. The music also sounds great for the second level. 


Now that I have finished constructing and compiling level 2. I decided to work on level 3. Level 3 is back in space, but with a slightly different background for the alien base. I decided to make level 3 as crystal space. The stage is supposed to be slightly more harder, compared to levels 1 and 2. Level 3 also introduces deadly background (There will be even more as stages progress). The alien groups are still the same as before, but are spawned in a different order. However, the stage gets more difficult, but not impossible. 

I felt that I should alter the chars of some of the tiles, so that they were not too much the same as level 1 and level 2 were. The result turned out quite good. After completing the map, I exported the charset, tile and map data into the binaries folder, and then I edited the level loading tables to load three new files c03, t03, g03 and m03 (Charset, tile data, map data, music data). Then I edited the batch file more to level crunch all of level 3's data and also compiled the game project in C64Studio. At first while I was testing level 3, I ended up with a blank map. It appeared that I didn't save the binary files as correct files. After re-packing, compiling and running in VICE. The third level was working great. 


I am very pleased with how the project has been turning out so far. There may only be 3 levels, but the overall result feels like a good old school game project - in which it intends to be that way. 3 levels complete. 13 more levels to go, and hopefully another 2 or more later on this week. Depending on free time available of course. 




Tuesday, 22 March 2022

Cruiser-X 79 is back

After a very long delay of this game project since May last year. 2022 is the year, which I hope I will finally get this game finished (If all goes well that is). The last time I was working on Cruiser-X 79, I was working on the level multi-load system on disks, and also a temporary title screen. There was no other progress apart from launching a playable demo of the game near to Christmas 2021. Why was the project stalled? The majority of the code for the game was more or less complete, but I waited patiently very long time for the level graphics. Sadly nothing happened on the graphics front during the pandemic.

I needed to make an alternative plan as I believe that with the shortage of graphics, and possibly may have to wait longer. I have decided to go into Plan B. Saul and I both agree with my Plan B suggestion, where I use the existing tiles, and character sets data for the game - then if there is time, later on the character sets can be altered, and the level map designs get tweaked slightly. This will be ongoing, and hopefully a much faster process to getting the project done. Mind you, the demo graphics actually consist of 3 different level designs, which is very handy.

Last night and this afternoon, I have been working on the very first level, using Charpad (free edition). The very first stage is intended to be a pretty easy first level. The player is flying through space and also flies over the enemy bases (A bit like Uridium, but there is no turning back). The very first stage should not have any form of deadly background during game play, but it will have power ups and shoot-able background objects.

The majority of the project for the next 2 or 3 weeks (or probably slightly longer depending on free time available) will be based on level map design, and very little programming. Of course I will also have Exomizer V3.1.1 (crunching memory in V2, mode to support the Exomizer V2.0 backwards decrunch routine). This is handy for level crunching of the level's charset, tiles, map and music data. Then after loading each level file, it unpacks. I don't use any custom fastload-unpacking as I find it really awkward and complex to use those type of sources. I like to keep things nice and simple.

After testing the game with the first level map, it didn't turn out too bad. One level done, 15 more to go :)



2023 at a glance

2024 is here, and 2023 has been a really quiet year on the production front due to everything that had gone back to normality. The year has ...