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 πŸ™‚

Game Progress Update #21


Update #21

Hello World!  I know it’s a couple of days later than I planned, but welcome to the twenty first Dev with Dave Game Progress Update!

This update contains two major changes since the last one.  Firstly there are a couple more sound effects which have been added,  And I have made a start on Loading/Saving the game data.

The sound effects added this update include an explosion when the player dies, a bigger explosion when the player sets off the smart bomb pickup, a warbling sound when the shields are activated and lastly a rocket sound for the missile engines.

Again all of these sound effects are from libraries I had purchased previously. I have done little to no editing or modifications as yet. Once I have all the sound effects in place I will go over them and add some extra polish and refinement to each one.

I’m not happy with how out of sync the missile sounds seem to the actual missiles, so I need to do some more work to this bit at some point.

I currently trigger the missile sound effect at the same point that the Zone Update() function starts the missiles moving, but I think this happens when the missile is still quite far from the edge of the screen.

Loading and saving the game data is one of the reasons that this update was so late.  The actual loading and saving the data was fairly straight forward using AGK Studio, but I decided to over complicate things by adding some basic encryption to the data file.  This led me down a rabbit hole of wonder and before I knew it, I’d spent almost all the time available simply playing with simple encryption methods.  It’s really easy to lose track of time when you’re in the zone, lol 😊

The Game Save data file will contain data relating to Powerup/Boost upgrades the player has purchased, the players coin total, any inventory of Boosts, and any data relating to obtaining the trophies.

Anyway, that’s all for this update.  I’ll be back next fortnight with another, and I promise I’ll try really hard to get it out on time!

Game Progress Update #20


Update #20

Hello World! Here it is, the twentieth Dev with Dave Game Progress Update!

In this update, I’ll be talking about some changes and additions I’ve made to the Flappy-vaders UI.

Pause Screen

The first addition I had to make for this was an actual pause button on the main game screen. Again, I was quite frustrated while drawing the assets for this by the tiny resolution I’ve selected to use for this project. However after 3 or 4 attempts I finally settled on the following design which matches the rest of the UI elements and doesn’t seem to large or out of place.

I had to tweak the position of the Score and Coins text a little so it would work.

I set the button and the coins text positions based on the right hand edge of the screen, so it’s more responsive. I tested this by running the game in a 4:3 aspect ratio. I also tweaked the position two buttons on the title screen as well because of this.

Once the pause button is pressed, it takes you to this, the Pause menu, where the player is presented with the options to resume the game, or to quit back to the main menu.

Again, all of the new buttons were handled by the existing UI system which I created in the early days of the project. Pausing the game was a simple case of directing the code to a new loop which simply contained the UpdateUI() function, The resume button returns the code to the game loop, and quit returns the player to the main menu.

My only concern about this is that when the player presses the pause button, the ship acts like the player has pressed the screen and begins to ascend slightly before the game stops, then continues ascending when the game resumes. I would prefer that pressing the pause button does not affect the player like this.

It’s been added to the Known bugs list on the Trello board.

About screen

I’ve also written the code to handle the about screen. I have a really great retro based idea for this UI page, but I want it to be a surprise so I’m not going to go into too much detail here.

That’s all for now

I’m afraid there won’t be an update next fortnight, instead you’ll have to wait until June the 11th for the next one. I’m going to have a well deserved break from the computer for a while and try and catch up on some of the important jobs around the house I’ve been neglecting.Β πŸ™‚

Promoting your game with Twitter

Promoting your game using Twitter

Twitter is the next platform in this series on using organic growth to promote your game.

Twitter launched in 2006, It’s best described as a micro-blogging site and a social network. It’s well known for it’s 140 character limit on tweets, as Twitter posts are called.

Twitter has around 192 million daily users, of which roughly two thirds are men. Twitter also appeals more to the older user, with 63% of users being aged 35 to 65.

As with Facebook, Twitter does operate a paid for ads service, but I have never used it and won’t be covering it in a later blog, or this one either.

Strategy

I cannot stress how important it is to have a strategy with social media posting. You need to have clearly defined and measurable goals, as well as a plan as to get to achieve the results you want. Failure to do so will drastically reduce your chances of success.

I know I said all of this in the last post as well, but I think it is really important, and may very well write an entire blog post dedicated to the subject at a later date.

Twitter is quite fast paced compared to Facebook, your average tweet has a lifespan of about 20 minutes and the number of views drops off considerably after this point. Expect most of your interactions during this period.

Using one or two relevant hashtags on your tweets is another good way to draw attention to your posts and increase interactions. Using too many hashtags will have a negative effect on your post.

I’ve found that making short videos or gif’s of your game works quite well on Twitter. But this isn’t a hard and fast rule, always experiment with content types to find the one that works best.

Things to not do..

The only real thing not to do on twitter outside of the obvious things like not spamming posts and over-using hashtags is to not fall into the “GameDev” trap. Game developers, especially indie developers have a large presence on Twitter. There are lots of hashtags like #indiedev and #screenshotsaturday which draw large audiences. It’s probably an incredibly small chance that these are your target audience for your game so although it’s easy (and welcoming tbh) to get drawn in, any effort spent here would be better used elsewhere.

Outro

This post is slightly shorter than the last because I felt like I was just repeating myself in places, but if you hadn’t already, please read the previous post about Organic Facebook Growth as a lot of the information in that post can be applied to Twitter also.

I hope you enjoyed the post and now feel more knowledgeable about Twitter. If you have any questions, feel free to ask them on the Dev with Dave forum.

Game Progress Update #19


Update #19

Hello world! And welcome to the nineteenth Dev with Dave Game Progress Update!

This update is mostly about the Audio system, which I have added to significantly this last week or so, to allow it to better do what I need it to do for the game.

The Audio System

Originally, the audio system just allowed for the loading, and playing of sound files. Which is after all, it’s main job I guess? lol

However, I needed to be able to have more control over some of the sound effects. For example, the asteroid sound, because the speed of the game increases the time the asteroids appear on screen (and also play their sound effect for) decreases. In order to rectify this, the system needed to be able to specify a sprite ID which is associated to the sound effect being played, and then end the sound effect when the sprite moves off screen.

It can also specify a maximum duration for the sound effect to have as well, so instead of the sprite lasting as long as a certain sprite is on screen, you can set it to a timer instead.

The last thing which I’m quite proud about, is the way the system can fade out a sound effect rather than just cutting it short.

Best of all, all this is specified when the sound effect is played, and the rest is all handled automatically by the audio system πŸ™‚

Other sound effects

I’ve also managed to add some other place holder sound effects into the game. These are perhaps not quite the exact sounds I’m after for the game, but they are fairly close.

Most of them have been chosen from various asset packs which I have laying around. Some have been edited in Audacity to bring them close to my vision of what they are supposed to sound like.

As with the graphics, I’m aiming for a retro old school kind of sound, but using subtle fades and layering to give a subtle feeling of depth which actual retro games don’t necessarily have.

That’s all folks

And that about wraps it up for this update.

The next update will probably be more sound effects, as well as maybe some more UI as I still need to get the pause menu designed and working, and a few others UI pages as well.

Anyway, I’ll be back in a couple of weeks with the next update. See you all then πŸ™‚

Game Progress Update #18


Update #18

Hello world! Welcome to the eighteenth Dev with Dave Game Progress Update!

This time round I have managed to plan, and start to implement the remaining UI screens. However I decided to try and do something special during the planning with the About page. So I didn’t get quite all of them done yet.

The settings page

The settings page contains controls so the player can adjust the game settings, like the volume of the music and sound effects.

The page scrolls in a similar way to the other pages where the content doesn’t all fit on the screen. There is a button for the player to adjust the advert settings below what is shown on the image above.

I created everything using the existing UI system I’d implemented earlier in the project. With the exception of the blue bars which represent the volume level. These will require a tiny amount of extra code to resize the blue bar according to the volume.

The eagle eyed among you might have noticed the above image is different to the video. I created the image in paint.net, and the spacing isn’t exactly the same in the game.

Sound Effects

I also spent more than a few hours over the last two weeks listening to various science fiction and retro game inspired sound effects, trying to decide what type of sounds I wanted in the game.

I used Google and YouTube to do the bulk of the research. Either searching for specific sound effects or watching gameplay of retro games.

I downloaded some free assets to use as placeholders for the time being, so I could make a start on the Audio system which is responsible for loading and playing the sound effects.

My goal is for the audio to match the graphical styling of the game, and have a certain retro feel to it.

Next time

I think for the next update I’m going to continue developing the last few UI screens, as well as gathering more place holder audio effects for the game.

And that’s all for this time, I’ll be back in two weeks with another Game Progress Update for you all!