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 🙂

Where we stand..

What a year it’s been!

When I was originally planning Dev with Dave, which feels like an eternity ago now, I had intended to spend many hours each week sitting in various cafes and the like round town writing Flappy-vaders and drinking tea 🙂

Little did I know that a global pandemic was round the corner and that the world would shut down for what has felt like forever. Hopefully though, come July the 19th all the remaining restrictions will be lifted and I will once again be able to go out and sit in a cafe and drink tea while I code.

The plan

As you know, I originally planned to cover “The four P’s”, those being Planning, Programing, Promotion and Publication, as well as developing Flappy-vaders alongside it.

Planning went off to a good start, as did Programming, but the game has taken a little longer to develop than I originally thought and I’m unable to do too much more on Promotion or Publication without the game having caught up.

I’m sorry the blog has been a little quiet lately. I should probably be able to come up with a few promotion blog post ideas, but I’m going to make a few videos and/or blog posts to help fill the blog a little. Things like showing how I used some of the software involved in the creation of Flappy-vaders. For example, Pixel art using Paint.net, Creating a sound effect using Audible, maybe even How to create a game trailer using OBS and HitFilm Express.

The game

So, although the game is really taking shape now, and I am really pleased with how it looks and feels, I still have quite a lot to do before it’s ready for the first beta tests.

I need to create systems to handle Adverts, Currency purchasing (using In App Purchase), Daily bonuses and missions, and the music. Not to mention media for the music, and some other game assets. And I need to work on some level design as well to expand upon the seven single “zones” the game has currently.

Then comes balancing, making sure it’s not to easy or hard to play the game, to earn coins, to unlock powerups, and that the power ups aren’t too weak or too powerful, etc. This stage is so important as it can mean the difference between a brilliant game and an average one.

Once the all the games systems are in place (even if not all of them are fully fleshed out, like trophies), the levels are more varied, and the first round of inhouse balancing has been done, then I will be starting a beta test for Flappy-vaders.

If you want to be involved in the beta testing and be one of the first people to actually play the game, the feel free to drop me a message on either Facebook, Twitter or Instagram. 🙂

The experience

I can honestly say this has been an emotional roller-coaster, from the highs of seeing how well the visuals work, or that the game is actually fun to play; to the lows of running into deadlines without having the work finished, and issues in the code which kept we at the keyboard till gone midnight some days.

I’m also hugely surprised at how much time and effort is involved in doing the behind the scenes stuff for Dev with Dave, things like writing blog posts, creating and editing videos, social media etc.

I have immensely enjoyed creating Flappy-vaders with you watching along, and I really hope you are enjoying it to!

What’s next

As I said above, I’ll carry on creating the remaining systems, expanding on the existing level design, and balancing the game a little. before releasing a build on Android to those on the Beta Test Team 🙂

Blog wise, expect a few more posts on promotion, but also keep an eye out for the “How I made” posts as well.

Also, for anyone who wants to drink tea (or coffee) out of their very own Dev with Dave mug, watch this space! 😀

Game Progress Update #22


Update #22

Hello world! Welcome to the twenty second Dev with Dave Game Progress Update! 🙂 It’s around 3pm on Friday afternoon as I write this, I still have to script record and edit the video and write all the social media posts (*sigh*) but I am hoping this update will at least be on the right day, if a little later than usual.

So, this update I have finished the Loading/Saving game data, and also spent some time removing duplicate code.

I’ve also taken some time out to get the Trello and the GDD updated.

Loading and saving game data

Having taken all the time available to me last time playing around with encryption for the save game file, this update I have managed to get the Loading and saving working properly.

The first time the game is run there is no save game data, so the game creates one using the default values. The LoadPlayerData() function then loads the data into an array and decrypts it. The decrypted data is then stored in the individual variables ready to be used in the game.

Saving the game data is pretty much the reverse. The data from the individual variables is stored in an array, then encrypted before being written to the file. If the file exists, it’s simply overwritten.

Both getting the loading and saving were quite easy to achieve in comparison to the next bit, which was updating the UI to reflect the data which had been loaded in.

Now, had I been smart, I would have considered this when I was writing the code which updates the store page info when the player makes a purchase and written it with a view of reusing it to update the display after loading the game data in as well.

It seems, however, I am not smart 🙁 as I did not do this at all! Which led to some serious rewriting and refactoring code.

Refactoring

A lot of the code used to update the UI display when purchasing an upgrade or boost was duplicated. It didn’t take too long to copy and paste the duplicated code into a function and make it more generic so it could be used for all instances where it was required.

I created four functions, one to update the upgrades store page after loading, one to update the boost store page, and two to update the individual items on either page. As you can see from the picture below, they didn’t quite work the first time round, lol.

The functions to update the store pages are called after the game data file is loaded in, and they both call the update store page item function for the relevant page, for each item on the page.

I also replaced the old code for updating the store page data when a purchase was made with the new function.

This refactoring has made the code some 750 lines shorter as well as making it much easier to read in places.

And that’s all for now

I still need to include data for the trophy progress in the game data file, but as there isn’t actually any trophy progress data currently I can’t do that just yet. It will have to wait until I have created at least one functioning trophy.

I’m not entirely sure what I’ll be doing for the next update. It’ll either be getting the IAP systems working or adding functionality to the Settings page. Maybe both if time allows?

Until next time 🙂