Game Progress Update #39

Game Progress Update #39

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

By my reckoning this update marks around 18 months of working on this project, and looking back at how far it has come makes me feel quite proud 🙂

This update I have mostly been working on the Daily Missions again.

But first, I have to start this update with a spot of bad news..

Disaster strikes

Yesterday I was sitting out in the garden under the gazebo, enjoying the evenings coolness and working on Flappy-vaders with the tablet perched on my lap.

Suddenly and for no particular obvious reason, the tablet slipped off and fell onto the concrete floor 😭

Image showing the damage suffered by my Linx tablet when I dropped it off my lap.

It still works fortunately (for the time being), so I am able to carry on with the project. I’m hoping I can get it fixed at some point though.

Daily Missions

I have spent most of the time this week carrying on from the last update and the work on the Daily Missions.

The missions themselves were broken down into a mission type, a mission target, and a variable to allow alternate texts.

The first thing I did was create a couple of types, and a variable to contain the types. These were to hold data relating to the three missions as well as the reset time.

I decided to use unix time to track the reset time of the daily challenges, as it is simpler to work in seconds than to convert a regular date and time.

Once I’d created the variable responsible for tracking the three daily missions, it was time to flesh out the functions which would Load and Save the mission data.

I also created a function which generates three new missions, by choosing a mission type and target value at random.

Lastly I created a function which returns true if the reset time has passed, or false if not.

I still need to make some improvements as I’m not happy with the way that the reset time works. I’d rather it be a fixed time every day, where as currently it’s 24 hours after the missions reset.

I also need to create an array which will store how many missions of each type you have done before. This will be used to determine the target value for new missions. This array will also need to be added to a save file somewhere as well.

I’ll try and get these working if not completely finished in time for the next update.

Bug list

I’ve also managed to get the bugs from the Trello board added to the bug board on the website.

Doing this has shown that I still have a few things to set up with the bug reporting, lol.

I’m just waiting for a couple of email addresses from people who have said they wanted to join in the testing before I launch the testing. (So if you want to join in there is still time..)

Reporting seems quite straightforward though.

Image showing the Add bug dialogue

To help prevent spam and abuse of the bug reporting, there is a captcha style test required, and all bugs are moderated before being made visible.

That’s all folks

And that’s all for this progress update! I’ll be back as always in two weeks time with hopefully more news about the progress of the game!

Until next time!

Game Progress Update #38

Game Progress Update #38

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

It feels like its been a good couple of weeks this last fortnight. I’ve managed to spend a reasonable number of hours coding the game, although I think the social media side of things has suffered a little.

Daily Missions

By far the most work I have done this update has been on the Daily Missions. This has been mostly planning and fleshing out the Daily Missions script with functions.

The basic plan is to have an array which stores the Daily Mission data as a type. This will contain the type of mission it is, the target value, the reward, etc.

I have also planned and started writing functions to handle loading and saving, updating the UI display and achieving missions, adding an unread notification, and collecting the rewards.

Above is a shot of me developing the Daily Mission Panel. The grey square will be an icon to reflect the mission type. I also need to put in a coin icon and a prize reward value, as well as a button to collect the prize when the mission has been completed.

I would also like to put in a divider (either above or below the three daily mission panels) which shows the date/time that the missions will reset.

Social Media

As I said above, what with me spending almost all my time this update working on the Daily missions stuff, I think the social media side of things has suffered a little.

I seem to be really busy with my day job, and not having as much spare time to work on Flappy-vaders as I would like. I’m sure however I will find some kind of balance again.

That’s all for now

And that’s the end of this update. I’ll be back in another two weeks with another. I’ll hopefully have the Daily missions working next time, and have the first test build pushed to Google Play for you guys to test.

Dave 🙂

How to record video of your game

How to record video of your game

I was sat browsing through some game development groups on Facebook the other day (as I often do, lol), when I noticed that a friend of mine had shared a video of the game he was working on.  I couldn’t help but notice that the video had been recorded using a mobile phone held in one hand whilst playing the game with the other.  As you can imagine the video was shaky and really didn’t do justice to the game, so I’m writing this guide not only to help my buddy, but for anyone else out there who wants to record video of your game for free and with brilliant results.

There are several ways to record video of your game from a PC.  Depending on your operating system, both Windows and Mac have built in ways to record the screen with a few keyboard shortcuts.  There are also several programs, both free and paid for, available for all platforms.  In this tutorial I will be showing you how to capture video and sound using OBS (Open Broadcaster Software) which is available for free from https://obsproject.com/

Configure OBS

Once you have downloaded and installed OBS, and run the Auto configure wizard, then it’s time to get started configuring OBS to record game play from your game.

The OBS scenes panel in the bottom left of the screen is highlighted.

In the Scenes panel, press the + icon in the bottom left hand panel to create a “scene”.  The scene can contain specific video and audio inputs, allowing you to switch between them whenever you want.  However to record video from your game we only need the one scene.

A dialogue box in OBS asking for a scene name.

Enter a name for your scene in the dialogue, and press ok.  Your new scene should appear in the list in the scenes panel.  You can switch between scenes by clicking on their name.

Next comes adding the video and audio sources to the scene.

Add a video source

Locate the sources panel, which is usually next to the scenes panel in the bottom left of the screen.  Then press the + icon to bring up the list of available sources.

The OBS Sources menu is highlighted in this image.

Now depending on how your game works, you have a choice to make here.  For Flappy-vaders, which runs in windowed mode, I selected Window Capture from the menu.  But if your game runs full screen and not in a window, then the Display Capture is the one that you will want to select.

If you do choose Display Capture then please be aware that the next paragraph or two might be slightly different for you.

Select Create New from the next dialogue and give your source a name before pressing ok and moving on to the next bit.  I simply called it Window Capture, but you can call it whatever is most helpful to you.

Adding a new source in OBS

The next dialogue lets you choose which window you are capturing from, as well settings such as whether or not you want the mouse pointer recorded.

I left everything as it was and pressed ok.

You can return to this dialogue by right clicking on the name of the source in the sources panel, and then selecting properties from the menu which appears.

The next job was to stretch the video so that it takes up the entire space available.  This was a simple case of dragging the bottom right corner handle of the video.

Add an audio source

Adding an audio source in OBS

Once again press the + icon in the Sources panel, and this time select Audio Output Capture from the menu.

Give it a name in the next dialogue box.  I somewhat unimaginatively called in Audio Output Capture.

Naming a new audio source in OBS

The next dialogue allows you to select which audio device you want to use.  I left this on default as it was fine for this tutorial, then pressed ok to move on.

Record video from your game

Starting recording footage from your game using OBS

Now that OBS is configured to record your game, it’s time to run your game, hit the Start recording button, and record some game footage!

OBS will keep recording until you press the Stop recording button, which replaces the Start recording button.  When it has stopped, it saves the video to the format and location specified in the settings dialogue, which is located by pressing File -> Settings.

Hints on recording better gameplay

  • Record a few seconds of footage before interacting with your game, this makes it easier to cut or mix your video.
  • Hide the mouse pointer unless it is really important to your game.
  • Record much more video than you need, and edit it to be more interesting or better demonstrate your game afterwards.

Conclusion

I hope by now you have a better idea on how to record video of your game using your computer.  If you have any further questions about this then feel free to ask in the forum, or even just drop me an email or instant message.

The next thing I can recommend would be to download a Video editing program such as DaVinci Resolve or Hitfilm Express, which allows you to edit the videos you recorded with OBS and add post production effects and voice overs etc.

Game Progress Update #37

Game Progress Update #37

Hello world, and welcome to the 37th Dev with Dave Game Progress Update!

As I said on social media earlier this week, I’ve been quite ill recently with a nasty cold (Not Covid 19 however, so I’m thankful for that)

So sadly I’ve been wrapped up under a blanket on the sofa instead of working through the Flappy-vaders to do list.

I have managed to get some work done on the game as well as hopefully fixing the website, so it’s not all doom and gloom, but I’m afraid that this probably isn’t going to be the longest or most in depth update in the world.

Website Security (Again!)

One of the biggest time consumers recently in this project has been managing the enormous number of user accounts which have been created on the website.

I have recently changed the way new accounts are created using the “Email verification for WooCommerce” plugin by WPFactory, which I have used on other websites to prevent similar spam attacks.

I hope this will be the last time that I need to mention this in the blog! lol

Unread Notifications

All that was really left to do with the notifications was to get the loading/saving to work, so that any unread notifications were transferred from one game to the next.

Everything was going swimmingly well, and I was quite happy with the code until it was time to compile and run it…

Unfortunately it took whatever little time I had remaining to work out where I’d made the mistake (it turned out I was using the wrong constant in a for-next loop, for those who were wondering)

However, the rest of the code worked more or less as intended. There is always a few small tweaks to make along the way, lol.

The program makes use of two new functions I wrote, one to LoadNotifyData() and one to SaveNotifyData(). The data isn’t important to game play in any way, so for the time being I am simply storing it as a plain text file.

Loading the Notify data is done when the game is run while the rest of the user data is also loaded.

The game calls the SaveNotifyData() function when the player presses the back button from the main menu. This seemed to be the most logical place to call it from.

Uploading to Google Play

Following on from the >Last Update< where I failed to upload the compiled .aab file to Google Play because they took umbrage at me using the same keystore file that I used for .apk files previously.

So the first thing I did was to create a new Keystore file using AGK Studio. This was done easily from the Tools drop down menu.

Next was to create the .aab file itself. Fortunately AGK Studio had retained all of the data I’d previously entered, which was a pleasant surprise. Things like Ad Mob ID, The Firebase details etc.

Once the aab file was compiled, it was time to upload it (And cross my fingers… lol)

This time the .aab was accepted without problem, and all I need to do now is press the “Roll out to internal testing” button! If you want to be a tester, then it’s not too late, drop me a message or email or whatever and let me know!

That’s all folks!

And that brings us nicely to the end of this update. I will be back in two weeks with another one!

In the mean time, don’t forget to follow Dev with Dave on social media.

See you soon.

Game Progress Update #36

Game Progress Update #36

Hello World! Welcome once again to another Dev with Dave Game Progress Update!

In this update, I’ve spent some time thinking about how best to do the daily bonus screen, I’ve created and tried to upload another build of the game, and as always these days I’ve been battling suspicious activity on the website.

Daily Bonus Screen

When I originally planned the Daily bonus, I was thinking of a spinning prize wheel, but I don’t think this idea translates too well into a low res pixel art style.

Instead I decided to try and implement a scratch card style bonus, where you are presented with a six panel scratch card and you win a prize if you match 3 symbols.

I’ve seen the scratch card approach in a few games, but the most memorable one is from Dice with Buddies by Scopely.

The video at the top of the page shows an attempt at creating a scratch card effect. This is based on code from the TGC forums posted by Kevin Cross.

Uploading to Google Play

After the promising start I got off to in the last Game Update, I’m afraid I’m still no further along to getting Flappy-vaders uploaded and ready for testing.

As you can see from the screen grab, when I went to upload the .aab, it threw up an error because I had used a key store which I had used to publish other .apks.

This is the first time I’ve tried publishing using an Android App Bundle (aab) rather than the old style Android Package Kit (apk) files.

Still, It’s a fairly easy task to create a new keystore file specifically for this.

Website Security

I’m still finding I’m getting a few hundred sign ups to the Dev with Dave website which are suspicious at best. I was hoping that the reintroduction of the reCaptcha on the signup form would have been enough to stop it, but sadly that has not worked.

I did try a different approach, with a new security plugin, but again it seems to have not made a dent in the spammers signing up.

I’m going to try and add email verification next. Where you have to authenticate the account by clicking a ink in an email which the website sends to new signups. This has proven effective on other websites I’ve been involved with recently.

And that’s all for now

I’ll no doubt be back in two weeks with another Game progress update. I expect I’ll have the test build uploaded to the play store, so please, if you haven’t already joined the test program, drop me an email or message and I’ll let you know how to join up.

Dave

Game Progress Update #35

Game Progress Update #35

Hello world and welcome to the thirty fifth Dev with Dave game progress update!

In this update, I have managed to get a tiny bit more done to the unread notifications.

I’ve also made some more headway into getting the compiled Flappy-vaders build ready to be uploaded to the Google Play Developer console.

Unread notifications

In the Last Game Progress Update I had more or less got the unread notification system working, all that was left was to create a list of which events would cause a notification to appear on the menu.

After some thought I came up with the following list

  • When a boost is unlocked
  • When there is a new daily challenge
  • When there is a new daily prize
  • When a new trophy is awarded

However, since I haven’t written any code for awarding trophies, and I’ve not even created UI pages for the daily challenges or prizes, the only one I can actually write is when a boost is unlocked.

I would still like to add a load/save function for the showNotify properties, so that the data can persist from one session to another.

I will try and create the two pages above ready for the next update, so I can at lease set the notifications even if the missions and prizes don’t work as yet.

Compiling the Game

Compiling the game ready for upload to the Google Play store is surprisingly easy with AGK Studio. There is an option to Export to Android from the menu, which then presents you with the following dialogue box.

AGK Studio Export to Android Dialogue

The first thing I did was find a suitable image to use as an icon for the compiled game. I just used a screen capture of the Flappy-vaders ship against the gradient sky.

Next I went to the Firebase Console and created an entry for it. I use Firebase to monitor analytics data from the game. Doing this gave me a config file to include in the build to set up the analytics.

And lastly I headed over to Google AdMob to create an Interstitial advert to show between games, and a rewarded advert which the player can watch to earn free coins. Setting these up gave me the AdMob App ID which is also needed in the compilation process.

Once all the data had been filled in it was time to press the Export button.

The actual compilation process only took a few seconds (I used the main PC for the build, but I’ll do the next one on the tablet to compare the time taken), and I now have a compiled .aab (Android App Bundle) file sat waiting to be uploaded.

I have once again however ran out of time for this week! So I won’t upload it till next week.

Once again, If you want to be involved in the first round of testing then please get in touch either by email or social media. There is still time to get added to the list of testers.

Website Security Issues

I was completely wrong about having sorted out the website. I am still getting a steady stream of suspicious signups despite the registration form being protected by a reCaptcha. 🤔

I have a few other ideas to protect the website, but my concern is that securing the website will take time away from actually writing the game. I feel short of time enough for this project as it is.

That’s all folks

And that’s all the news I have for this update. I’m off out tonight to the MK Game Developers Meet-up, but I will be back with another Game Progress Update in two weeks.

Until then.

Dave

Game Progress Update #34


Game Progress Update #34

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

As I said earlier in the week, unfortunately my girlfriend had to spend a week in hospital thanks to her diabetes so I have had very little time to work on the game and the website. She’s much better now and I’d like to thank everyone who wished her well on social media. You are all awesome <3

This time round I have just about got the unread notifications working on the menus, so the player can be informed when there are new menus to see. (e.g. a new boost being unlocked, or new daily missions to look at)

I’ve also managed to get the website back up and running, and have reinstated things like the forum and user creation etc.

Unread notifications

So carrying on from the last update, I finally managed to get the notifications to draw over every button, but when I went to the store pages I noticed that the notifications didn’t slide up and down with the rest of the icons when the player scrolled the screen.

So I added a line to the code to ensure the notifications moved with the rest of the UI elements on the page, compiled and ran the code again only to discover that the notifications were also being given to the store divider images. This shouldn’t have been the case as I was already testing to see if the elementType property was set to uiButton before drawing the notification sprite.

This turned out to be because the dividers were actually buttons *sigh*. I changed these to uiImages instead, which they were supposed to be in the first place. Compiled the code and ran the game once more.

This time the notifications were appearing only on the correct elements and were scrolling with the buttons on pages where the player can scroll. The problem this time was that the sprite depths were wrong and although they appeared above the buttons like they were supposed to, they also appeared over the top of the title bar at the top of the screen.

Having resolved all these issues it was time to make sure that the notifications were checking to see if the showNotify property of the button was set to true before placing and showing the sprite onscreen. This was achieved with a simple If check, and worked perfectly, resulting in no notifications being shown.

Just to prove that it’s working properly, I then went and manually set 3 of the buttons to show notifications, simulating the path of notifications that would guide a player to a recently obtainable powerup or whatever.

The very last change I made was to unset the showNotify property on buttons which have been pressed.

I still need to find all the events in game which will cause a button to display a notification and add the code to do so at each one, but that will have to wait as I’ve run out of time for now.

Website

After all the palaver with the website over the last month or two, I think I can safely say I have got it all back up and running now.

I’ve sadly had to delete all the accounts associated with the forum, so if you had one before then you’ll have to re-register. Sorry about this. But the forum itself is back up and working as before. Hopefully the reCaptcha will keep the spammers at bay this time

I’ve sadly had to delete all the accounts associated with the forum, so if you had one before then you’ll have to re-register. Sorry about this. But the forum itself is back up and working as before. Hopefully the reCaptcha will keep the spammers at bay this time 🤞

The eagle eyed amongst you may have already spotted the new “Bugs” menu. This takes you to the Bug library page which is just about working now, but still needs some extra polish. It will be ready though in time for the first round of game testing.

That’s all for now

And that’s all I have time for. I’ll be back again in two weeks with another fun packed and exciting (lol) Dev with Dave game progress update. Unless of course the universe conspires against me again and we’re invaded by Godzilla or something like that.

Game Progress Update #33

Game Progress Update #33

Hello world, and welcome to the thirty third Flappy-vaders game progress update!

Unread Notifications

I’m actually still trying to get this to work. It’s proving to be slightly trickier than I imagined (Either that, or I’ve made a mistake somewhere which I have yet to discover)

As you can see from the above picture, the code is now placing the icons, but it’s not paying any attention to which buttons are supposed to have them and is instead placing them seemingly at random.

I need to go over the placement code again to see where it’s going wrong and I hope it’s something fairly simple to fix.

Website security

I’m fairly certain that the security issues with the Dev with Dave website have been resolved. As such I’m hoping to get the Forums, User registration and the bug tracker for Flappy-vaders all up and running in the next week or two.

I’ll announce it on social media when everything is finally back up and running as its supposed to.

Bug Reporting

I’ve decided to go with Yannick Lefebvre’s Bug Library plugin for WordPress. This seems to do all the things which I’m looking for in a bug tracker including Captcha integration. (After the issues I’ve had with the site, this seems like a good thing to have)

This is the final thing I think before I can start the proper testing of the game, so if you haven’t already given me your Google mail address and said you want to be part of the trial, then there is still time! Just drop me a message on Social Media and I’ll add you to the testers list.

That’s all for now

And that’s all I have time for this time round. I’ll be back in two weeks with another update, remember if you don’t already then please follow us on Social media to keep up to date with the project.

Until next time 🙂

Dave