Chapter 24 - February 10th, 2016

99 Red Balloons

The balloons are in and to keep with the 80's music theme for the chapter name as previous, what better way than to reference that classic 80's hit in 1983 from Germany... "99 Red Balloons"!

When I left you in the last chapter I added the plane firing and activated the gunshot/explosion sound effects. These were so good that I have extended the sound effects to include a simple inflation sample as the balloons are released from the balloon launchers. I also add a POP sound when the balloons are fired upon and they explode. And lastly, I added a simple low volume drone of your plane's propeller engine.

The inflation and plane engine sounds were crammed into the last  bytes left over from the 8K MMU block I had allocated for storage of sampled sound. Despite their short playback, they sound perfect for their role. I've adjusted the engine sound so it is lower in volume than the other sounds so that it doesn't drown out the gunshots and explosions. I didn't want the engine drone to be a menace to the player.

The inflation and engine sounds were created using BASIC to create a noise sample with the appropriate rise and fall  (ADSR) values. All of these sound effects add a sense of realism and character to the game's presentation.

There are a total of five digital samples used within the game but my sound routine can only play two simultaneously. What I have incorporated is a system of sample prioritization.

I allocate my gun shot and engine drone on one sound channel and the explosion, POP and inflate sound on the other channel. Then I have a system of priorities where I give the gun shot a higher priority than the engine drone and the explosion a higher priority than the POP and inflate sounds.

If a higher priority sample is being played, the other samples below it are not played. This allows me to have the prominent gun shot and explosions stand above the lesser sounds.

Fine tuning for performance

I spent a lot of time adjusting the balloon launch times and frequency, experimenting so it worked as I wanted while keeping an eye on CPU cycles and code length. Eventually, I got some code which was compact and fast and didn't add too much burden on the CPU.

To optimize CPU usage, I have certain routines which will skip if another higher priority routine is currently active.  This allows me to balance out the CPU usage and reduce excessive CPU use per frame.

I still have plenty of frame time left to allow me to add the later options in the game.

Balloon use

I have three balloon colors, red, green and white. Originally I had blue but this tended to blend in with the blue sky too much and was hard to see so it was changed for white.

Each of the balloons, when shot will award points but they will also serve additional rewards. The red balloons will activate multi-fire, the green is yet to be decided and the white will grant you a special bonus score if you strike five white balloons in succession. There are several other ideas I have  that will add challenge to the game, adding to the task of navigating your plane through the entire map area.

A video is worth a thousand words

I'll keep the talk to a minimum in this chapter and allow a video of my current progress do the explaining.

Capturing a video in the emulators has it's problems. VCC can't handle the changing raster routines like a real CoCo3 and causes the raster background to jump up and down. The MESS emulator does better here.

Unfortunately, controlling your plane character in the emulators is nowhere near as responsive with a keyboard or mouse and it's very difficult to create an accurate gameplay video.

I have a USB video capture device for my PC to capture the live video from a real CoCo3 although it does mean only capturing the composite video feed and not the sharper RGB output. I used my PAL CoCo3 so I get the correct RGB colors when using the PAL composite output. Composite is nowhere near as sharp or clean as RGB but it gives an accurate enough portrayal of what the game looks like running from a real CoCo3.

Due to my slow PC, the captured video is a little jerky. The actual scrolling on a real CoCo3 is very smooth.

I will have need to get my hands on a faster PC and invest in a USB joystick for the next video capture.

The short video above shows examples of the four landscape zones. Currently it is running the test landscape. The final 80+ screens of scrolling landscape will be defined at the end of the project and this will be an important part of the gameplay as I design the challenging journey the player will navigate from start to finish.

Coming up next

Next on the plan is to add the bottom panel display (the blank green area at the bottom of the screen). This will display the multi-fire status, the bonus score status and a progress bar. I may even get the score counter and fuel meter operating in the top green area.

Fun times ahead!

Oh! And just one more thing...       CLICK ME


Copyright 2013 by Nickolas Marentes