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

Start to record video 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

Game Progress Update #32

Game Progress Update #32

Hello world, and welcome to the thirty second Dev with Dave Game Progress Update!

Unread notifications

One of the biggest bits which had been missed from previous builds of Flappy-vaders was the little red exclamation marks on the various menu buttons to indicate that there was a new unlock or something which hadn’t been viewed by the player.

The keen eyed amongst you will have noticed that the main menu button has always had the red notification icon, but that was just there to demonstrate the visual aspects of them. There is (or rather was) no code to actually determine if an unread notification is necessary.

This was the biggest part of the game I’ve managed to get any work done on since the last update.

It’s not finished yet, but I have made a start on it. 🙂

The notification icons will work a little something like this.

I have added a “hasNotify” property to the button type (Buttons are the only UI elements to have notifications so this makes sense).

There will be a function which is called whenever the UI page is changed, which will check each button on the current page to see if it needs a notification icon, if it does, then it will show the icon on the button.

I still need to write a function which will set or unset the hasNotify flag on the buttons if necessary, but this shouldn’t be too hard. I also need to add the code to the ChangeUIPage() method so that the notification is drawn when required.

This should all be done for the next update.

Website Security

The website is still not 100% back to normal I’m afraid. It was decided that I should do work to the game as a priority so that’s what I have been doing. I did manage to get a few minor tests/changes done but the forum remains down.

I’m now almost certain though that the removal of the original Captcha test at login and/or account creation was to do with a plugin being updated and not a third party acting maliciously.

I’ll post some news on the social media when the forum and everything else is restored.

Game Testing

Due to the issues with the forum etc. I’ve still not started the actual first round of play testing yet, so there is still time to get in touch with me and I’ll add you to the list of testers.

The game currently Android only, so I’m afraid iPhone users will have to wait to play Flappy-vaders.

I’ll be launching the testing soon after the website is restored to full functionality.

That’s all folks..

And that is about all I have time for this time round. I’ll be back (hopefully) with another update on the 25th of this month.

Until then 🙂

Game Progress Update #31

Hello world, and welcome to the thirty first Dev with Dave game progress update.

I hope you all had a great Christmas and that your 2022 has got off to a good start.

It’s been an odd start to the year for me, for a few reasons, but let me tell you about them in this slightly late project update 🙂

The Forum

Firstly, It appears that at some point over the last twelve months the Captcha I’d implemented had stopped working. This opened the floodgates to hundreds and thousands of dodgy forum accounts.

I had noticed there was a disproportionate amount of forum traffic, but it wasn’t until the other day that I noticed that there was no longer any Captcha when I logged into the Dev with Dave site.

Unfortunately I can’t remember how I had set up the Captcha the first time round. I know I had definitely done it because I remember having to tick the I AM NOT A ROBOT box before, and all the details for the website are entered into the Captcha website.

However, the thought of an external force disabling anything on my website was enough to set the alarm bells ringing and I decided to conduct a full security review of the Dev with Dave website.

Unfortunately as part of this I’ve had to not only disable the forum but also delete every single forum user account from the site. The website only allowed me to do this 250 at a time, and there were over 22,000 of them by the time I had disabled account creation.

However, I could find no evidence of foul play and I think that I was using a plugin which no longer provides Captcha 🤷

I will be further testing that the website is secure before I open up user registration and the forums again. In the mean time, you can still stay up to date with Flappy-vaders with the Dev with Dave Blog.

Updating things

I have spent more than a couple of hours this last week or two sat in the car waiting for people. In order to maximise my time spent working on Dev with Dave, I’ll often bring the tablet along and spend the time working on various things.

This time round I have managed to update the Trello board and the GDD as they felt like they had been neglected a little.

The Trello board is public so you can have a look and see how I use it to keep track of the various aspects of creating the game. The board is found here at https://trello.com/b/OpQv8TCD/flappyvaders

I’ll get the GDD saved as a pdf and get it uploaded to the website as soon as possible, but I’ll have to find a new place to put it until the forum is back up and running again.

Primary testing

I know in the last update I said I was thinking about using Discord to manage the bug reporting for the testing, but after some thought I’m not sure how effective this would be.

I’d much rather use the forum or perhaps one of the dedicated bug managing plugins for WordPress, but given the security issues I’ve faced recently, I have been unable to pursue an investigation into which would be the best.

That’s all for this time

Unfortunately what little time I did have to work on Flappy vaders this time round has been spent mostly on tightening security and making sure nothing too nefarious had taken place. I’m hoping that I’ll have a better update for you next time round.

I know I have a terrible track record with this, but the next update should be up on the 11th of February.

Until then 🙂