Showing posts with label Retro Gaming. Show all posts
Showing posts with label Retro Gaming. Show all posts

Sunday, 25 December 2022

2022 Reflections

It is that time, and for the very first time I thought it would be nice to reflect about the game-related releases of 2022, which I made. Warning – this is a very long post, but hopefully you should enjoy it and you may get some laughs out of it.

No SEUCK Compo in 2022

First of all, unlike previous years I did not launch the traditional Official C64 SEUCK Competition, this is because I decided to retire as host from the competition. A new organizer was found, and there was going to be one at the fall of 2022 but due to busy schedules and other reasons, the competition has been postponed to 2023. Merman is a good C64 enthusiast and a writer for Scene World and also runs the SEUCK Vault. He has been appointed as future host for the SEUCK Game development competition. When that will be we don't know, but if anything does happen then I'll post news about it on my TND web site.

SEUCK Enhancements

Looking back in 2022, I started the new year with a utility called the “SEUCK Title Screen Maker”. It was a fun utility that allowed you to create brand new title screens for standalone games that were constructed with the Shoot Em Up Construction Kit. Those who were bored with the old front ends were able to construct a game with an animated title screen full of colour, optional hi score table and also plenty of music. No code was needed to make a new front end, just access to a freezer cartridge like the Action Replay MK VI cartridge or VICE.



The easy part was developing the utility. The hardest part was writing the manual. I am usually not good at explaining things technical, etc. There was good feedback and improvement suggestions about the production, some of which got implemented (Multi tunes). I was really pleased with how the SEUCK Title Screen Maker turned out. A few people have actually used it. I know Vox Video Game used it for Diamond, and Mac of TUGCS used it to make his SEUCK creation, The SEUCK Camp.

The other SEUCK enhancement I did was a special tutorial of SEUCK School. A tutorial where you could make a new score panel for your SEUCK game, using 8 sprites in Rayfish. This was to be split into two parts, but unfortunately part 2 had to be postponed due to raster time issues and needing more investigation. Perhaps in the new year this will be solved.

That said, regarding enhancements. There was one unreleased game which was made for the delayed Reset 64, which I enhanced with a new front end and music. All will be revealed in issue 15 of Reset when it comes out.

... Now what about the games I have developed throughout 2022? Well, let's check them out!

Lane Crazy

The very first C64 game creation I wrote in 2022 (although I started it Christmas 2021) was a really fun creation. It is quite a memorable production. I know I had loads fun coding it in C64Studio, and for the game to appear on the Zzap! 64 Micro Action covermount was a real bonus.

I teamed up with Blazon and Friends to develop a really fun hi score survival challenge called Lane Crazy. The concept was quite original and turned out well amongst the crowd. You had four balls rolling down a vertical scrolling lane while holes appeared at random. You had to use either a joystick or keyboard to shift the balls left or right. If one ball fell through the hole, the game was over. There were 8 levels in which the player had to survive, where after two levels the game got much faster.



While developing this game, I was using some of the usual graphics tools, such as Charpad V2.7.6 free and Spritepad V2.0 BETA. Usually my graphics looked really rushed out. However the result of making the in game graphics turned out nice and smooth. There were separate void tiles specially made for each level. When I was programming the game, I made the code copy charsets that formed the void and placed it into the actual charset that formed the scrolling void. The rest of the scroll was a wrap-around scroll, apart from the holes that appeared on screen at random. The concept really worked. The hardest part was to get the smooth scroller working on NTSC, but at the end I managed it.

When I was composing music for this game, I decided to go oldschool and use DMC V4.0 on my Ultimate 64. The music for the game blended in quite nicely.

Lane Crazy was really great fun, and it was nice of Firelord, Logiker and Baracuda to have teamed up to help me bring out a quality production, which saw the light of day. A huge thank you to you all for helping me out with such a successful project. Maybe we can do another new game in the future.



Tasered in the Crotch

The next game (Ironically) I wrote was a little joke game. It was called Tasered in the Crotch. Despite the silly name, and it being inspired by Commodore Format Archive’s Twitter poll (Dick Tracey, Cisco Heat, Tasered in the Crotch). The majority of people voted to be Tasered in the Crotch. This gave me a funny idea for a game coded in C64Studio. It was a fun little shooting gallery style game.

You had police officers lined up on a high balcony (or maybe a scissor lift). They are armed with their new state of the art tasers. Your task was to command each officer to fire a taser at the bank robbers that were walking/running past. Some were armed with smoke bombs, and you had to defend your officers from being hit by a bomb. Also, you had to watch out for innocent civilians who were passing A bomb or tasering civilians resulted in a loss of a life. If the number of criminals escaped exceeded the quota set for each level, the game was lost.



The game design was yet again made in Charpad and Sprite Pad (Same version as before). I wanted to make a few different landscapes, but with the limited number of characters, I had to improvise. After importing into the game project in C64Studio. The code was in place, and the result looked really good.

It was great fun making this game, and the music (made in Goat Tracker V2.76), which was featured on the title screen sort of had an Ocean Loader inspired tune to it just after the introduction might sound quite familiar.

A game which was intended to be a joke turned out to be something much more playable and successful, compared to Dick Tracey and Cisco Heat - It also appeared on the Zzap! 64 Micro Action covermount and was quite popular amongst one particular video reviewer :)


Little Nippers and Little Nippers DX

Reset had launched a 4K game development competition. I wrote a fun little single button game in which later on become a full game production. Little Nippers was the game. It was a fun co-op production which I made in C64Studio. This was a single screen game, where naughty kids were running across the beach. There were buckets lined up and it was up to you to fire a crab out of the buckets in sequence, by using either the spacebar key or the fire button. The crabs then moved in a straight line and if you nipped a pesky kid, points would have been scored according to distance from the sea. If the crab entered the deep end of the water, it gets lost.




Although Little Nippers started as a 2022 4K game competition entry. However, with summer on its way, and the competition submission deadline had finished. I decided to team up with Hugues Poisseroux to make a full version specially for Zzap! Micro Action’s 9th covermount, before taking a break from it and focussing on finishing off one of my main game projects.

The new version of Little Nippers gave the player five different beach/seaside locations. Before you were able to complete each location, you had to complete eight levels. There were 40 levels in total. Also there was a fun incentive which was added to the game. You had a time limit to launch your crabs out of the buckets before they have enough and jump out. There was also an incentive where you could fling a jellyfish for more points. Little Nippers DX was a good highlight and it really turned out to be a fun and pretty much addictive game creation.

 
Hugues' loading bitmap really highlights how fun the game was to be, It highlights some of the elements that were featured in the game. A snappy crab, a jellyfish and also a bikini (or two). All of which blended into the all new version of TapeTool turbo loader.




TheC64 Coding Challenge - Poing Ultra

I joined the group, Retro Programmers Inside. It was a group of retro computing enthusiasts, who were learning to program games and other fun stuff. The group was run by Prince/Phaze101, and Retro Programmers Inside. They did weekly video casts which mainly involved coding tutorials and also run game jams. The challenge I participated in was the PONG challenge. The game was called Poing Ultra.

My challenge was to make a new retro game, which suited the PONG challenge. It was to mark 50 years of the classic arcade bat and ball game, PONG. I thought it would be fun to make my very own game using RGL’s theC64 full size computer. The game was constructed using various Public Domain utilities I owned back in the 1990s and also the previously commercial Multi-Screen Construction Kit, and Action Replay cartridge MKVI (plugin). Music was made in DMC V4.0, The music was mainly techno, trance style and it worked out pretty well in the music editor. The programming was done bare bones in Turbo Assembler / Turbo Macro Pro most of the time.




There were a few pitfalls I encountered while developing this game. Although the main game was fully complete and working well in the assembler. I should have programmed the title screen as a separate file. Instead, I used the same assembly file and run out of memory. It wasn’t a complete failure developing this game. I ported the code to 64TASS and finished off the production using the cross-development tool. The game graphics were then drawn in Face's FacePainter, and the result turned out quite nicely in the overall productions. Mastering was finished with Martin Piper's TapeTool V1.0.0.7




The game got submitted to Prince/Phaze101, who then later broadcasted the game live on his Twitch channel along with some other entries. He was very impressed with the game overall, especially the graphics and presentation. While I was watching the broadcast, I was very pleased with the overall result.

Slug VS Lettuce

I developed a new little game, as part of the Scene World feature “Let’s Make a C64 Game”. This time it was a 10 minutes survival challenge called Slug vs Lettuce. It was a little game in which was to teach the basics of making a single screen platform game using KickAssembler. You played a slug that has to jump from platform to platform, gobbling up the lettuce. The slug had to avoid getting washed out by the falling salt droplets.

The game graphics were designed using the usual cross-development platform tools. The music was made in Goat Tracker. The rest of the project was being made in VS Code, and KickAssembler via plugins. Although I liked KickAssembler, the one thing I least liked, during the development of this project were the nuisances that VS Code developed. Popup-tooltip, etc. Of course compiling the code was easy enough, a basic push of F6 on the compile target file, and then F5 to run it, but there were no possibilities of crunching it with Exomizer (or the brand new TS Crunch). Instead I had to just make a batch script file and execute that.

This game did not turn out too bad, and it was really fun to make in Kick Assembler. However, the hardest part was to get the jump and charset collision mechanics accurate. The good thing about it though, was that the game worked out really well.



My biggest C64 project - Cruiser-X 79 – finally finished and released

The majority of 2022 was spent on my main game project, Cruiser-X 79. I had waited too long for additional graphics and level maps. Unfortunately, I received nothing due to many busy periods which Saul had to go through. – That was until I thought about an alternative plan. I did promise to get Cruiser-X 79 finished in 2022 and I really wanted to do that. However, I wanted to try and make the job easier for Saul. So, I created some rough game graphics (which you saw in previous blog entries) and maps. Then I sent them over to Saul to improve. 

I also worked exceptionally hard on making level music in GoatTracker Ultra V1.2 and getting everything to work. Also, I was working to a deadline to get this game ready in time for the Christmas issue of Zzap! 64 Micro Action (Issue 11) and its covermount.



I did come across one major pitfall in getting the mighty big shoot ‘em up finished. That was handling the Covertbitops loader system and Exomizer level unpacking system. It took me quite a lot of attempts to finally get each level to unpack and run on the disk version of the game, and I managed it.  

I also wanted to do a multi-load tape version of the game. Martin Piper’s TapeTool was one option, but I chose Paul Hugues' Freeload at the end because it used less zero pages. Also, it did not affect the game code either. The overall result for both digital disk and tape version of Cruiser-X 79 turned out excellent. It felt like a full price commercial quality game production as you would have expected back in the late 1980s or early 1990s. It was also the very first time I ever made a huge multiload production - especially on tape as well as disk. I am really pleased with how Cruiser-X 79 turned out. The feedback was also good.




Snake VS Bomb

Now coming to the end of this year, I decided to end C64 development for 2022 with a bang. There was a competition that was run on CSDB called the “Snake Fun Compo”. The idea of the competition was to create and develop a demo, game or whatever was related to snake. Considering there have been many Snake clones launched (I specially did one as a theC64 challenge back in 2020 called the Forever Extending Hungry Snake). I wanted to make something completely different.



Hugues and I joined forces again to bring out a quality game production for the competition called Snake vs Bomb. Developed in CBMPRGStudio V4.0 with KickAssembler (and with less nuisances compared to VS Code), Snake vs Bomb was a vertical scrolling dodge and collect hi score challenge.

You played a snake that was slithering through a tunnel. Fruit and bombs appeared at random inside the tunnel. The snake had to eat the fruit but avoid the bombs – otherwise the game ends. As the game progressed, the speed of the game scroll increased levelling up in difficulty. The result turned out really nice, and no matter how simple the game was, it turned out great. The graphics and the loading screen artwork really polished the game. It was also my very last game for 2022.



… and that rounds up my productions I made in 2022. 2023 will be a tougher year, but I insist that new games will be made by me. There should be another theC64 programming challenge sometime (Where I make a production fully on RGL’s theC64), my SEUCK enhancements/tutorials and my editorial task of building Scene World will continue. Also, I aim to return to Unity and convert one of my year 2022 C64 games to the platform. Before I do that, I some books to go through. I look forward to seeing what can be achieved in 2023. Also 2022 is the year I finally realize how proud I am about myself, and my creativity - and may it continue throughout 2023.

If you would like to check out my releases (as mentioned in this lengthy blog) you can find these at:
https://richard-tnd.itch.io

I would like to wish you all a Merry Christmas and a Happy New Year

Saturday, 28 May 2022

Cruiser-X 79: Let's Rock !!!

Wow, am I really on to level 9 already? You betcha :). After completing level 8 last week. I worked on with designing level 9 on Thursday. I thought that for level 9, it would be nice to add a some new theme to the game. So an idea had come into my mind. The first half of the levels have been quite simple and involved shooting aliens and flying through bases, and hoping to avoid the enemy bases highest points.

Well, level 9's idea is similar to the first few levels, but I came up with an idea to implement even more deadly background. So that the player can easily crash into deadly terrain like rocks or similar - unless the player is carrying a protective shield (simply by hovering over the 'S' tiles). I started the level where there power ups are in place at the start of the game. Then I designed some of the background to make it look a bit like rocky terrain. It sort of uses some of the base's background character sets, and the deadly high building. I painted the blocks a little to make the deadly terrain look a bit like rocks. 

Although the graphics data that was being used for level 9 was based on level 4's Bubble World. This time round, I didn't want the bases to be bubbles based. I also didn't want the space background to become bubbles either. Instead, I chose to edit those character sets and turn those into steel saw disks. The colour scheme for the level are red, grey and light grey. The shoot-able blocks and other bits got transformed into different charset objects. After finishing the map and the design layout of level 9. I packed up everything ready for the next day.

The next day came, but sadly nothing happened that Friday. I was going to do some more work on the project on Friday, which was to work on some game music for the project. Sadly I felt unwell to be productive. Maybe tomorrow.

Saturday came by, I loaded up GoatTracker Ultra V1.2.0 to first work on some more in game music for Alf Yngve's Captain Ishtar project. Then I worked on level 9's music. It is sort of a dark, moody and industrial tune, which I felt would suit Level 9 of Cruiser-X 79. The tune is not trance this time (unlike levels 5, 7 and 8). I edited my instruments to make it sound right, then I exported the tune as SID and tested the tune. 

Once I was happy with the music, I exported it to PRG format into the game project's source code. Then I loaded up Charpad, and exported my Level 9 graphics and crunched them with Exomizer. I loaded up the source code, edited the settings and then compiled and built the project and tested the game in cheat mode. It looks pretty good. However, after Saul's magic touch to the graphics, it will look even better.

I am now going to take a short break on the level development of Cruiser-X 79. It is set to continue in about 2-3 week's time, unless theC64 challenge for Retro Programmers Inside's PONG challenge is finished and submitted to the compo. Stay tuned!!

To find out more about my progress with theC64 challenge #7 PONG 50th Anniversary game, please check out the link below:


https://tnd64.blogspot.com/2022/05/thec64-challenge-7-celebrating-50th.html



Friday, 27 September 2013

Let's INVERT even more

25th - 27th September 2013

Yet another busy few days and MORE progress, resulting to the project estimated at 99% completion. So then what has been happening?. Last week I discovered a problem with the hi-score name entry again. The bug appeared where the player achieved a hi score as THIRD place. I entered my name, using the joystick control. Then pushed FIRE to end the name. It stored the name in FIRST PLACE position, and the HI SCORE not on screen. That was a silly bug, which was just incomplete. I forgot to add a "BNE" or "BPL" to a label in which loops the number of characters - and just moved on to another routine. Today, this has been fixed.

Apart from that what other things have been happening? Well Wednesday and yesterday I was working on building the game levels, simply by typing in BYTE values. I used the BYTE values as 2x2 map blocks, and placed them manually like you would with bricks. The levels were then stored to a temp map, which then forms the permanent map on to the screen (by reading rows and columns from the BYTE tables). Last week I did only 12 levels, some were redesigned. I worked a couple of hours or so yesterday designing and TESTING each level bit by bit, to see the possibility of completing it. Well, later levels are most definitely hard, but if you play well, it is possible to complete every level. I was happy with the final result with the level design.

After being happy with the level designs. I worked on the ending. I loaded up the Multi Screen Construction Kit, and the game charset and created some end graphics. Then used the VICE M/C monitor to capture and store the screen data. I tried the same with the colour data - but seems I forgot to save the colour data correctly. I started programming the new routines for the end sequence. I came up with an idea, which simulates the player escaping from his Puzzle prison, enters space, and ends up back in its own world. Then a surprise end. It represents something I usually do on a Thursday evening. That'll be your guess :)

After some long hours testing yesterday. I can confirm game is now 99% finished. All I need to do is a little bit of tidying up of the game sprites (Maybe redesign them, as they do look very amateurish.). Also sort out the bomb positions, to make them much fairer. The accuracy of the moving bombs isn't correct. There are a few possibilities on how to solve this problem. The final update might be next week.


Friday, 23 August 2013

Here comes the Blob

17th-23rd August 2013

Last week and throughout this week, some people didn't hear from me for a while via email. Some people wondered what the heck happened to me. Well, I have been really busy on this project. As well as some classic gaming :) I also been on holiday for 2 weeks in Lydstep, Tenby as well, away from computers. There were wifi access points down there - but very limited. I wanted to get away from internet anyhow. It is too much of a distraction these days. Although the deadline isn't until 30th November to get the project finished and submitted to RGCD. I have a feeling that I will have it finished way before that particular date.

So then, what has been happening. Before I went on holiday for 2 weeks, between 27th July - 10th August. I was constructing the main game screen, using Jon Well's magnificent Multi Screen Construction Kit. This was only used to design one screen. When I checked the screen out, the size was 2 chars too small. So I expanded the grid and by adding just one more row of tiles to it. I also changed balls to blobs. The numeric counter was changed to blob symbols as well. Some different tiles were created. Those represented different obstacles, such as a normal tile, inverted tile, holes/traps, steel trapdoor, trapdoor switch, arrow pushers, and tiles that push you back to the previous tile. Then saved all of the graphics data, for just in case any adjustments or new tiles are planned. I also composed the title music for the game using Goat Tracker (See video below)



After finishing the game design grid, I captured the screen and transferred all existing screen and colour data directly to a memory location, using the T 0400 07e8 2000 (screen data), and T D800 DBE8 2400 (colour data) in VICE monitor. Then I closed down the VICE monitor and entered the Action Replay M/C monitor to save the data from $2000-$27e8 on to a .D64 image. Detatched the .D64 image and exported it to the C64 Studio project.Then I drew the sprites for the game.

The next step was to do some programming. The first thing I did was extracted all data into to the project directory, in which was called 'Invert'. I also added Exomizer to the directory as well. Compression is the key to starting a program :). I set up the main parameters inside C64 Studio to call  exomizer to compress the assembled binary, and  rename it to run via the decruncher, with no decrunch effect  (10 SYS 2061). Then I started the main programming of the level design. I based the level design on comparing which tiles are to be in place - as the level design was to be made manually by using the !byte command, using a row of 11 and a column of 10. Each number from 0 to 9 inside the table represented the object to be placed into the game area. I created a few routines in which read from the first tile character in each row, added 2 chars to place the next tile. I did separate low/high byte pointers to start from $0452, $0453, $047a, $047b, $d852, $d853, $d87a, $d87b and created a few loops which moved to the next tile character by 2 chars. Therefore with 2x2 chars, I used $0452 for the starting point of the top left tile, $0453 as starting point of the right tile, $047a as starting point of the bottom left tile, and the $047b as the starting point of the bottom right tile. I then added a few loops / subroutines to perform the action. Then it drew the correct test map on to the screen. The $D8xx + represented the colours.

My next step was to add the main player, a bluey blob in which was to be controlled by using a joystick plugged into port 2. I added some routines in which controlled the player. Basically, if the player was moving, and the joystick direction was being read at the same time. That process gets ignored, as the player is moved using a timer. After I was happy with this. I added the sprite/background collision routines, which compared which tiles the player was currently on after stopping on that particular tile. I got the effects to occur. One of which flashed the border (just for a test) if the player was on the hole tile. I was very happy with the overall result, I moved on to something else.

Now the sprite/background collision was ready, I loaded up Sprite Pad V1.8 and drew the player's animation frames. I originally had just 1 sprite for the player at first. Each frame represented the blog expanding and deflating. I liked what was done so far. So I saved the sprite data to C64 format again and inserted into the project. The next step was to program the sprite animation, where the player expanded and deflated at a certain speed. I programmed the routine in and it turned out quite nicely.

Back to programming the main levels. This time testing whether or not all tiles were correctly inverted to how they should look. After getting the routine working. I flashed the border again to say that the level was complete. I also programmed the clock routine. What a happy chap I was with this result.

Now came the nightmare, which I had for a few days. I designed 4 test levels, but after a level was finished. The tile data from the next level was out of place. I was pretty confused about how that happened. It puzzled me until yesterday. It turned out that I had forgotten to add the low and high byte values of the starting characters, which should initialise the first character and colour RAM position for each corner of the very first row of tiles. After that was solved. I programmed some messages to show LEVEL COMPLETE, LIFE LOST and GAME OVER. Then I was in the mood for doing some music.

I loaded up Goat Tracker V2.27 and worked on the in game music. Unlike the first tune which was used for the game, I wanted to do something pretty funky and quite cheerful. So I did a sort of funky cheery jazz type of tune as in game music inspired by demo scene musicians such as PRI, JCH, Drax, Syndrom, etc. Then added a game over jingle, inspired by the game over jingle from the "Artris" demo, by Scruffy Bits/Color7, which appeared in Commodore Format's cover tape #53. The result turned out pretty good. I generated a .SID file, and tested the .SID. Great, it worked. Now I transferred the music to the game project source, as .prg. I added some more routines in the game which plays the music. Awesome. It suits the game well. 

Now it was back to Sprite Pad V1.8 again, so I can add some explosions to the animation. This occur when the player loses a life, but first the blob sinks through the ground (or hole) magically. This can happen when time runs out or the player falls through a hole. I exported the new sprites to the project directory, then programmed the life lost routine, where the player gets killed. It looked quite good, but I wanted to add one more thing to the life lost routine. Shaking screen during the explosion. The pointers inside the explosion loop also read the animation table for the screen shake. Then restores the screen back afterwards. Wonderful. I love the overall result so far. So then what next? A real C64 test.


I copied the compiled .PRG to my 1541U2 and tested the game in action. Unfortunately, it looks as if I may need to adjust the correct tiles slightly as on the PAL monitor (TV) it doesn't look all that good. Still that won't really be much of a problem. Just a slight character change, and it will probably look much better. Everything else seems to be ok. More on this next week, as I am intending to get the FINAL touches done with Trance Sector Ultimate for RGCD tomorrow (Saturday) morning. Just a final bug fix for that.


I recently received an email from JSL offering me a front end logo for this game. Well, I am happy to take this, but I just hope it will be a 3 colour logo consisting of  7 or 8 chars down. There'll be no pressure either. After all, this is a hobby project - not exactly real life work :) I would like to to add one or two logo swing routines to the front end, so a 3 colour logo would ideal.For now, I shall enjoy a cup of tea. Then off to work in under an hour's time. Enjoy the game play video so far and tune in to another blog update, probably next week. Cheerio!


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 Remix.Kwed.org, 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.



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