Creating a sound effect in Audacity from start to finish


Hello world!

In this article I’ll be going over the process of creating one of the sound effects used in Flappy-vaders.

I’ll be using the latest version of audacity, which is available for free from www.audacityteam.org. I’m assuming you all know how to download and install software, so I won’t show you how to do that πŸ˜› lol

The sound I’ll be creating for this video is the sound the asteroids make in the game.

The first thing I did was try and imagine what an asteroid hurtling at great speed through the atmosphere would sound like.  I imagine a mix of roaring wind to represent the speed, with a burning crackling sound to convey the heat of re-entry.

I had a look through the various asset packs I have and found the following two sounds which matched fairly closely what I had imagined previously.  RagingFire.wav which is the sound of a fire burning, and WindHauntedHouse.wav, a sample of the wind whooshing.

So, lets combine the samples and add some post production editing to create the finished effect ready for the game.

First, lets load the wind sound effect into Audacity. I usually do this by just dragging and dropping the samples into the editor, but you can press ctrl-o or select Open off the file menu to load a sample as well.

Press control a to select all, then choose β€œCompressor” from the effect menu.Β  This levels out the wind noises and gives a more constant whooshing sound. The original wind sample went from loud to quiet to load and back again.

Next press Control a again to select all, then choose amplify again from the effect menu.  Set the value to -9.0 decibels and press ok.  This lowers the volume back down after the previous step.

Now Load in the fire sample as well. Again, I just dragged and dropped it in from the folder I have it stored in.

Control a again to select all, then choose β€œEcho” from the effect menu.Β  The echo gives the sample more of an impression of size and an overall spacey feel as well.

Lastly, press the tracks menu, choose mix, then mix and render to combine the two tracks into our finished sound effect.

All that’s left now is to export it as a Ogg Vorbis file, as that’s the format I’m using in the game.

And there we go, that was the whole process from beginning to end. Unfortunately I can’t supply the samples so you can follow this yourself as they are not free media and I don’t have the distribution rights. However you can enjoy the finished sound effect by playing Flappy-vaders πŸ™‚

If you have any questions about this post, feel free to ask them on the Dev with Dave forum.

Game Progress Update #28


Game Progress Update #28

Hello world, and welcome to the twenty eighth Dev with Dave Game Progress Update!

Since the last update I have spent the majority of the time searching through code and playing the game trying to track down and remove the last few things in the Known bugs/issues list on the Trello board.

For the most part I was unsuccessful, lol. I think I only managed to get a couple of bugs moved over to the Under review list.

Bug fixes

Despite many many hours of bug hunting and play testing, I really haven’t managed to get too many of the remaining issues fixed.

The problem with the Alert flash carrying on when the player dies when it’s active has been fixed. I’d already created a function to deactivate the flash, so I simply added a call to this function between the end of the game and the main menu.

As non of the remaining bugs are show stoppers, I’m going to leave fixing the rest for the time being and instead concentrate more on getting Flappy-vaders ready for play testing.

Preparing for play testing

Now that the game is nearing completion, it’s time to think about getting things ready for play testing. This is an important stage as it’s the first time the game gets exposed to people who don’t necessarily work in the industry.

I’ve already made a start on creating the Google Play Store entry for Flappy-vaders. I’ll create some text and visual assets for the store page later, the next job is to create an .apk of the game ready to upload to the store.

Once the store page is created and the game is uploaded ready for testing, I’ll be giving some of you guys the chance to join the team of testers. So make sure you stay tuned!

This first round of testing has two main objectives. Firstly to gauge opinion of the game, and to help tweak it to make it more playable; and secondly to help narrow down any bugs in the gameplay or issues with the user experience.

Other delays

When I started this project, I decided to use AGK Studio as it was ideal for running on the low spec computer I had decided to use for this project. I had already been using AGK Classic for many years and I consider myself to be an expert in the language.

Since the start of the project, TGC have added a couple of changes to AGK Studio, firstly in the way In App Purchase works, and secondly they have introduced App Bundles into the compilation process.

Both of these changes are brilliant, but unfortunately I’m going to need to read up on these and it may add a small delay to release of the project.

Until next time

And that’s all for this update! I’ll be back once again in two weeks with another exciting update for you πŸ™‚

I’m hoping that by the next update I’ll have a build of Flappy-vaders uploaded to the play store ready for play testing, but in light of the last few updates and the delays which have been suffered, I’m not making any promises, but I shall do my best to have it done on time. lol.

Until next time!

Adventures in a foreign land

Adventures in a foreign land.

Well, as I said in the previous progress update post, My Girlfriend and I were off to Majorca to go sailing on my friend’s yacht for a few days, before heading inland to a Hotel where My friend’s wedding was going to take place.

We landed Monday afternoon after a short and enjoyable plane ride, and were picked up from the airport by my friend who then drove us straight to the harbour where his boat was moored. The plan was to sail to a nearby bay and enjoy a few beers, a swim and a barbecue.

Unfortunately we’d barely managed to light the barbie before my girlfriend started to feel unwell. Initially we just put this down to a touch of sea sickness, but as it carried on into our second day there we were starting to get a little worried.

As she was feeling no better on the Wednesday we decided to take her to a nearby hospital, where they moved her to the ICU.

She was diagnosed with Diabetic ketoacidosis, and had to stay in the intensive care for five days, Missing both the wedding, and our planned return flight.

Despite the language difficulties (Neither of us actually speak any Spanish other than Hello, and Thank you) the staff at the hospital were excellent; and after her stint in the ICU and a couple of days in a normal ward she was discharged.

In the mean time, while my girlfriend was laying in hospital all hooked up to monitors and IV drips etc. I was still trying to make the most of our trip.

Wednesday and Thursday were spent on the boat. We sailed from the marina to the harbour where we had originally embarked. We had a few drinks and some of the other soon to be wedding guests came aboard. I even went for a swim in the sea!

On Friday we all went to the Finca Son Miranda Hotel, and got settled in. I cannot state how beautiful the hotel was. All the rooms were fresh and modern, but still maintained a traditional Mediterranean feel. It’s set in some gorgeous country side, surrounded by vineyards and olive trees with some great views of the nearby mountains.

The wedding itself was amazing, and everyone had a great time. It was lovely to meet the Bride’s family for the first time, and see my buddy’s family as well. (We’ve not seen anyone really the last year or so due to the Covid 19 pandemic.)

The ceremony itself took place in the afternoon among some olive trees in the hotel grounds. And was followed by a night of dancing, great food and awesome music πŸ™‚

Sunday was a lot more laid back, lol. I spent most of the day in the shade at the bar by the pool. By this point, I’d already realised we wouldn’t be making our flight home so I arranged to share a hotel room with some of my buddy’s family until they flew home Wednesday.

The new hotel was close to the beach, and only a short walk away from Magaluf. I ended up sharing a room with my buddy’s brother, and brother in law, both of whom I already knew.

Aside from going out to eat and my daily hospital trips to visit my girlfriend we spent most of the time relaxing on the balcony, admiring the view and chatting the evening away.

On Wednesday I booked myself another hotel, and had barely got moved in and showered before my girlfriend called to tell me she had been discharged from the hospital and was ready to be picked up! I cannot explain how happy I was to hear this and I immediately rushed off to get a taxi.

That evening we had a takeaway on the balcony, and then went for a couple of drinks at JJs Sports Lounge (My favourite bar in the whole of Majorca) before having a quiet movie in bed courtesy of Netflix.

On the Thursday we were mostly rushing around trying to get tests done, and completing passenger locator forms, but we did get chance to have a meal and a few drinks with the newly weds

Then, almost as suddenly as it started, it was Friday and time to fly back home.

I’m sitting in the garden safe at home now as I write this, and I’m happy to say my girlfriend is now feeling completely better.

Our time in Majorca was certainly an adventure, with soaring highs and soul destroying lows. I’m glad we went though, and I’m looking forward to going again at some point in the future.

And there we go πŸ™‚. This is the reason why this weeks update was a little thin on the ground! Lol!

Game Progress Update #27


Game Progress Update #27

Hello world! And welcome to the twenty seventh Dev with Dave game progress update!

I’ve not managed to get too much done this week after our adventures in Majorca delayed our return to the UK by almost a whole week. I’ll write a blog post about that another day though when I have more time.

More Level Design

One of the things I have had chance to get done is some more level design.

Working from the rough sketches shown above, it didn’t take too long to add the new zones to the game.

There are three new zone sub types in total, one for the pipes zones, which features a small square of coins to collect in the middle of it.

One for the coins zones, which has a line of coins for the player to follow and collect, avoiding the pipes this time.

And lastly, one for the asteroid zones which introduces pipes as an added hazard.

I tested the zones by forcing the random zone selection to pick a specific zone and sub zone.

Bug Hunting

The more I play the game, the more bugs I seem to be finding. During today’s play testing session I definitely noticed something strange happening with the missile targeting laser sprites. I updated the known bugs/issues list on the Trello board.

And that’s all for now

After working on this update till gone midnight again yesterday, I’m hoping that the next update will be smoother and that there won’t be so much excitement getting in the way of it! lol

I’ll be trying to get some more level design/bug hunting done for the next one, getting ready for the first round of proper testing πŸ™‚

Until next time…

Game Progress Update #26


Game Progress Update #26

Hello world! and welcome to the twenty sixth Dev with Dave Game Progress Update!

I can’t believe that it’s been an entire year since the first progress update on this project. And boy, look at how much the game has changed!

The above image is a still taken from the very first progress report. I was demonstrating some of the basic systems which I had implemented, things like the controlling the player and the parallax scrolling background.

And here we have a screen capture from the 25th Update! As you can see the game has come on in leaps and bounds over the last year. There isn’t very much left to do now until it’s ready for the first round of testing.

In fact this update I have been trying as hard as I could to get the remaining tasks finished from the In Progress column on the Trello, and get as many of the bugs fixed and out the way.

Some finishing touches

The first thing I did was add a sound effect for the Second Chance boost, and implemented playing it when the boost is activated. This was pretty simple to do as all the systems and code was already in place.

The sound effect was from one of the sound packs I’d downloaded previously for this project, and is currently being used as is without any post production editing.

Scoring

The next thing on the list was the scoring for the game. In the GDD this was specified to be based on the number of screen widths that the player had moved. Using the base size of the graphics, 144px instead of the actual device width for fairness. It also needed to use timer based movement to ensure that people with faster devices didn’t end up with a hidden advantage.

In the original prototype, I had it set so the score increased by 0.1 each frame, which was not what the GDD said.

I soon changed this so it worked as described in the GDD by adding a distance# variable to the player type, and recording the distance travelled by the player ship. Once this distance variable reached 144.0 then the score was increased and the distance variable reset back to zero, and the score is increased by 1 point.

After I’d played a few games with the new scoring system in place, it was decided that the score was increasing too slowly, so I changed it so it increased by one point every 14.4 pixels travelled.

Bug fixes

I also managed to blast my way through half a dozen or so cards from the Known bugs/issues column of the Trello.

Buying boosts now correctly deducts coins from the coins total, and using a boost will reduce the inventory count by one.

I fixed a couple of problems relating to the scrolling background at game over. Zone assets now scroll by at the proper speed and bullets will continue moving also.

I also fixed bugs relating to the ship engine sound not ending at the end of a game, changing the volume of the music intro section, and the head start boost now plays the shield sound as well as activating the shield.

I did however manage to find a new bug though, so I’ve added that to the Trello also.

Until next time

And that’s all for this update! There won’t be an update for Flappy-vaders next fortnight as I’m travelling to Spain for a week to be the Best man at my friends wedding πŸ™‚ Instead the next update will be on the 24th of September (I have checked, and double checked this date after the last time, lol)

I’m hoping to have finished off the remaining bugs, done perhaps a little more work on the level design and be nearly ready for the first round of testing.

So I’ll see you all again then πŸ™‚

Game Progress Update #25


Update #25

Hello World! And welcome to the twenty fifth Dev with Dave Game Progress Update!

In this update, I’ve been busy working on level design, and expanding on the zones system.

Zones system

In previous builds of Flappy-vaders, the zones system had been set up with a multi dimensional array to store the zones in, but I had only used the First slot in each to store data, even though a couple of the zone types had two different layouts already.

So, the first thing I did was organise the array contents, allocating the second zone type layouts to [n,1] where they existed, and if there was not then I created an empty zone instead with only the zone marker sprite to indicate the start of the zone.

Next was to implement a system to select the sub zones from the array. I’d planned for this in the early stages of development, and had a variable called subZoneID set to 0 on the line under the one where it selected the primary zone type. I replaced the 0 with Random(0,1) for the time being, although I should have the upper limit as a constant. I’ll address this once I am further along.

Level design

I decided against creating a level editor for this game due to the limited amount of time I have for creating Flappy-vaders each week. This is a decision I am maybe regretting now, lol πŸ™‚

//	Coins
zoneData$[3,0] = "250;130,50,3,0;175,50,3,0;225,50,3,0;275,40,3,0;325,30,3,0;"

The level is stored as a string, which contains the zone length, then groups of three integers to represent the x & y positions and the imageID of the sprite as shown in the code snippet below.

Because of the simplicity of the level data, I am just writing them by hand for the time being. Although I certainly wouldn’t call it fun, and it’s surprisingly time consuming.

Ultimately I would like to create 5 subzones per zone, giving a total of 25 total subzones. This should be adequate for the first round of testing. We can review whether I need to add more after some user feedback.

And that’s all for now

That’s it for this update! I’ll be back in two weeks with the next update.

I’m not sure what I’ll be doing for next time. There are couple of bits which need finishing off in the “In progress” column on the Trello.

I must also set some time aside to review the Trello and GDD to see if there is anything which needs updating there as well.

See you next time πŸ™‚

Game Progress Update #24


Update #24

Hello world! Welcome to the twenty fourth Dev with Dave game progress update!

So, at the end of the last update I said I would try and get the settings page on the menu working, and if there was time then I’d make a start on the IAP (In app purchasing) to allow the player to buy more coins. And you know what? I’ve actually managed it! Lol.

Settings page

I’d already mostly finished designing and creating the Settings page in the UI system, and all that was really left to do was add functionality to the ui elements.

The first thing I did was add a couple of variables to store the current sound effects and music volumes.

Next, I added some code in the ui button handler for each of the – & + buttons. This simply adjusts the volume variable, checks it’s not exceeded the limit and sets it to the limit if it has. Then it calls the UpdateVolumeSprite() function.

The volume bars are made of two sprites, a larger outer which is white with a black outline, and the blue inner, which is slightly smaller. The UpdateVolumeSprite() function works out the current volume as a percentage of the maximum size of the blue bar, and resizes the bar accordingly.

I then added the sound and music volumes to a saved file, so they could be loaded in when the game starts. I also added some code to call the UpdateVolumeSprite() function for both volume bars when the values are loaded in.

The very last thing I did was implement the new volume variables every where where the code called a play music or sound effect command.

I’ve left the Ad Settings button for the time being. This will need a consent page building, as well as needing the adverts to be set up.

Coins purchasing

I’ve also managed to get the coin purchase buttons almost working. Unfortunately, as with the adverts, the IAP needs some online setup, so I have been unable to implement that just yet. Once I’m getting ready to Upload a test build of the game to the store, I’ll create the adverts and IAP stuff as well.

However, for now just clicking on the buttons to buy a coin pack will credit the correct amount of coins to the players coin total.

I’ve also added temporary values to the amount of coins you get in each coin pack. I still however, need to create images for the coin packs and other items on this page.

And that’s all for now!

As always I’ll be back with another update on how the game is coming on in two weeks time!

By then I’m hoping to have done some more work on the level design and added a few more zone layouts.

Until next time πŸ™‚

Game Progress Update #23


Update #23

Hello world! Welcome to the twenty third Dev with Dave game progress update!

Despite what I said at the end of the last update about either working on IAP or the settings page this time round, I did neither and instead worked on the music systems instead. It made sense to get the music working first before adding the stuff which lets you change the music volume.

According to the GDD, The sound and music for Flappy-vaders should also be inspired by 80s gaming technology.

The aim is to have a game soundtrack which speeds up slightly the longer the player plays the game
for.

The Music System

I’ve decided to use Andrea Baroni’s Arcade Jam tune from the 8 Bit juke box collection for the time being. It’s suitably retro and it speeds up quite well. I may attempt to create my own tunes at some point, but I doubt I have time right now.

The music for the game is split into two sections, the “introduction”, which is played first and the “main loop”, which starts playing on a loop as soon as the intro has finished.

As always there is an Update() function for the music, which handles two things. Firstly it checks to see if the intro has finished and starts the main music loop playing; and secondly, it checks to see whether the game is playing in which case it gradually increases the music speed. Or if it’s the game over screen, then it decreases the music speed until it returns back to it’s actual speed.

In the video above, I’ve greatly increased the rate at which the music speeds up to make it more obvious. In the actual game the speed up effect is much more gradual and subtle.

Outro

And that’s all for this update. I’ll try and get the Settings working next, and if there is time then I’d like to make a start on IAP and currency purchasing.

I’ll be back in two weeks with another exciting Flappy-vaders update.

See you then πŸ™‚