Game Progress Update #44


Game Progress Update #44

Hello world, welcome to the forty fourth Dev with Dave Game Progress Update!

I’m really sorry about the last update being cancelled. It really has been a roller coaster of a time here and that has obviously affected how much time I have to spend on this project.

As a result not only has the Dev with Dave social media been awfully quiet the last few weeks, but I’ve once again not had much time to spend on writing the game.

Worst of all, I got more than a little side tracked at the beginning of the week when it came to recording the video above.

The Dark Mode Conundrum

Now, those of you who read the last update will know that I upgraded my PC with a new SSD and RAM, but I had to install a clean version of Windows as backing up and restoring was proving to be an issue.

Because of this, I had to reinstall Hitfilm Express, which is the free video editing software I use for doing post production with on the clips from flappy-vaders you see here.

Unfortunately (for me at least) the new version no longer has the option to switch between dark and light UI modes. I find dark mode to be really difficult to read, so I immediately fell down the google hole trying to find out how to change Hitfilm to Light mode.

Looking back, I can’t believe how much time I wasted trying to sort this problem out.

A few new bugs

Just watching the video above I managed to find at least two new bugs ๐Ÿ˜ฒ

Firstly, the system I wrote to make sure that none of the daily missions is of the same type as the other two doesn’t seem to work. This is unfortunate, but I think it’s because I only compare Mission 1 with mission two, and mission two with mission 3.

Secondly that there is definitely something screwy going on with the targeting lasers on the missiles. As well as there being a transparency issue but the lasers sometimes seem to appear where they aren’t supposed to be. They are possibly legacy positions from previous uses of the laser sprite which haven’t been reset properly.

I’ve made a note of both these things on the Trello board, which is public so you can check it out for yourself. And will try and get the changes made to the bug board on the Dev with Dave website tomorrow.

That’s all for now

That’s all for this update I’m afraid. I’ll (try and) be back next fortnight with another update.

See you then ๐Ÿ™‚

Game Progress Update #43

Game Progress Update #43

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

This updates disaster (as it seems I have a new one every time I write this blog) involved Kirk, my PC which took much longer to upgrade than I thought it would. This did eat quite drastically into the time I had free for writing Flappy-vaders.

Regardless of this I have got a fair chunk of coding done for the game. Carrying on from update 42, I have been mostly working on the daily missions.

Keep reading to find out more ๐Ÿ™‚

PC Upgrades

I decided to spend my weekend off the other week upgrading my main PC. I had purchased a new SSD, 8Gb of extra ram from Crucial, and a fancy back lit gaming keyboard.

Photo showing parts for the upgrade.  An SSD, A stick of RAM and a mounting kit.

Fitting the parts wasn’t too challenging. The Ram and keyboard were a breeze to fit, but the SSD data and Power wires were a bit of a squeeze as my case around 15 years old and wasn’t designed with such a huge graphics card as the one I have, in mind.

The problems started when I tried to clone my existing copy of windows onto the new drive. No matter how hard I tried, I just could not get the PC to boot from the cloned copy of Windows.

Now bearing in mind this is the computer I use for work most days, so I can’t really afford to have it out of action for long. But It didn’t take long before I had used all the time allocated for the job with no success at all. ๐Ÿ˜ž

In the end however (after wasting another couple of days) I decided to just give the PC a fresh install of Windows, even if it did mean having to waste even more time reinstalling all the apps as well.

Daily Missions

The first thing I did when I managed to get AGK Studio open on the laptop, was add code to add a little bit of polish to the daily missions pages in the UI.

This involved greying out missions when they were completed, and hiding the coin icon when the mission is set to done.

When I tested the new additions, I noticed that the daily missions done and progress values weren’t being reset when the missions refreshed.

This was fixed by adding a couple of lines of code to reset the two variables in the RefreshDailyMissions() function.

The last thing I did towards the daily missions was adding functionality to some more of the daily mission types.

The “Play n games” mission was done by adding a line of code to increase the progress . Everything else was handled by code written previously.

I also added functionality to the “Collect n coins” mission. Again all this needed was a simple line of code. This time in the function which checked player collisions, when colliding with a coin.

Uploaded new test build!

The last thing I have to say is that I have uploaded the third test build of Flappy-vaders to Google Play for testing.

I’m preparing to send out the initial email to the testers with the link so they can enroll in the test and download the latest version of the game. So if you have told me you want to be a tester then keep an eye on your inboxes.

And thats all for now

I’ll be back as always in two weeks with another update. Hopefully it will involve lots of improvements to the game, and slightly fewer general life disasters for me, lol.

Thank you as always for following the project.

Until next time

Dave ๐Ÿ™‚

Game Progress Update #42

Game Progress Update #42

Hello world! And welcome to the forty second Dev with Dave game progress update!

I’m sure it’s no coincidence that the update who’s number is the same as the answer to life, the universe and everything, falls (almost) on the same day as my birthday!

In this update, I’ve mostly been working on the Daily Missions, which has not only been a much bigger task than I anticiptated, but has also been a huge pile of fun to write.

The laptop

As I said last update, I’m using my laptop for the foreseeable future after I accidentally dropped the tablet and smashed the corner of the screen. I will take it to the shop to find out how much the repair will be soon, but until then I’m using the laptop.

It’s not the greatest piece of kit in the world, but is a significant step up from the Atom powered tablet which I had been using. I couldn’t remember the exact model and spec last time, so here they are for anyone who is interested.

It’s an HP 15-bs158sa, with an Intel i5-8250U cpu, a 1Tb HDD and 8Gb of ram.

No duplicate missions!

The first thing I did was fix a bug which occasionally caused duplicate daily missions. This was a simple enough fix. I simply added a check to see if any of the Mission Types were the same, and if they were then to regenerate the list of missions.

It’s possibly not the most elegant solution, but it works ๐Ÿ™‚

Daily Mission Functionality

The daily missions are a lot closer to being finished than they were before. I still have quite a way to go, but I’m definitely making progress.

When the game generates a new list of daily missions, it now also provides them with preliminary values for the target and the reward. Ultimately these will be generated using a formula based on the number of times the player has completed the mission type before, but until then, it is just using single fixed values.

I have also added a function which updates the daily missions progress value, and created a function which checks to see if the daily missions progress is greater or equal to the missions target value.

Completing Missions

Originally I simply had the game freeze with a message on screen, when it had detected a daily mission had been completed. This was fine for development, but wouldn’t be well received by actual players no doubt. lol.

Designing UI with pencil and paper

The first thing was to decide what information needed to be put on the revised game over screen.

I decided that the player needed to know their score and coin count, so they were copied and pasted from the game ui screen.

Next was the daily missions themselves, which was decided to be a text description and a reward value (with a coin icon)

Lastly was resizing and repositioning the existing Game Over and Tap to continue texts.

After several hours of planning and sketching, then editing code etc. The final result looks like this.

I added the code to update the daily missions listed on the game over screen to the function I had already created which set the text on the missions page of the ui.

A whole load of new rough edges

A lot of the daily missions stuff I’ve written about above only works for two of the five daily mission types at best.

The last time I played it I noticed that the missions weren’t always being completed when the progress reached or passed the target value.

Sadly I have run out of time for this update, but I will be back at it soon and hope to have Daily Missions done and dusted for the next update.

That’s all for now

That’s all the time I have for now. I’m actually super impressed that for the first time in absolutely months I have got this update finished and shared on time! lol

Anyway, I hope you enjoyed the blog. I’ll be back in a fortnight with more news about the game, including how well the first round of testing is going.

If you want to be involved in the testing, it’s not too late, just drop me a message or email.

Until next time

Dave ๐Ÿ™‚

Game Progress Update #41

Game Progress Update #41

Hello world, Welcome to the forty first Dev with Dave Game Progress Update!

Screen capture of my phones weather app showing the temperature to be 30 degrees.

Summer time is well and truly upon us this week. My phone is saying it’s currently 30ยฐ outside, and the car agrees. It is definitely a very hot day today.

I’m currently sitting at my desk in front of the fan as I write this and I’m still an unpleasant sweaty mess.

I got a good few hours of work done on the game this time around. Mostly more Daily Missions stuff.

Daily Missions

All the work I’d done on the Daily Missions in the last Game Progress Update had introduced a couple of new bugs. I worked on these things first

Daily Mission Selection

I’d made a rather simple error with this. There are 5 mission types currently, which range from 0 to 4. When I’d coded the bit which selected new missions at random, I’d simply set the maxMissionTypeCount constant to 5, the number of actual mission types currently. However when I used this in the Random() function it ended up returning values ranging from 0 to 5! This is the cause of the occasional blank daily mission.

I fixed it by simply changing the value to 4 and making a note in a comment above the constant.

Daily Mission Reset

Another problem with the code turned out to be with the way the new reset time was calculated. I found that if you ran the game after the reset time that day, every time you clicked the game icon you would get a new set of daily missions.

Dave sat in the garden with pen and paper working on Flappy-vaders daily missions

This was one of those problems which I had to sit down and think about with a pen and paper. I worked out that the problem was that the game was choosing the new reset time to be 8pm on the same day. Meaning that when you started the game after 8pm, the game would decide the timer was over and refresh the mission list.

To fix this issue, after the existing code. I added a check to see if the hours component of the time was 20 or greater, and if it was then to add 24 hours to the reset timer. I’ve tested this and it appears to work.

Targets and Rewards

The other thing I’ve gotten done with the Daily Missions is decide on a way to determine the target values and reward amount for the missions.

I decided to expand on the missionTotals[] array data, by changing it from an integer array to a typed array and adding variables to store the minimumTarget and the maximumTarget, as well as the step value. As well as the minimumReward and maximumReward also.

The system record the number of times a mission type is successfully completed. This value is used with the step value to determine how far between the minimum and maximum values the target value and the reward is.

These values don’t change and will be stored in the array but not saved to the missions save file.

The Alpha test

I also have officially launched the alpha test. This is an exact snapshot of the current build of Flappy-vaders so some of it doesn’t work and some of it doesn’t work very well.

Those who have provided me with an email address will be receiving an email with instructions on how to download and play the game.

Don’t worry if you haven’t, there is still time! Just let me know either by email or social media, what google mail address is associated with your android and I’ll add you to the list of testers.

I’m actually excited to get some new perspectives on the game.

That’s all folks

And that is all I have to share this time round. I’ll as always be back in two weeks with another update for you.

Game Progress Update #40

Her majesty the Queen

Game Progress Update #40

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

It’s been a fairly strange time the last couple of weeks. Two of my children celebrated their birthdays, and the whole country is celebrating the Queen’s platinum jubilee with two extra bank holidays yesterday and today.

Despite this I feel like I have had hours to work on the game, which I have thrown myself into. So much so that I completely forgot to post any social media on Dev with Dave the last week. (Oops – will do better next week I promise)

Anyway, I’ve mostly been working on the daily missions this update, and have made loads of progress which I will tell you about shortly.

but first, a slight change in the hardware I’m using.

A slight change

Although the tablet still works, I’ve been hesitant to use it with the cracked screen. I’ll try and get it fixed as soon as I can. In the mean time I’m using my laptop instead.

It’s a few years old, and isn’t the most powerful. I’ll find a list of the actual spec of it for the next update.

Daily Missions

The first thing I did was to create the array to store the number of times the player has completed each mission type. I will use this value to determine the difficulty of the next mission by increasing the target value in relation to the number of times the player has previously completed a mission of that type.

This array was also added to the daily mission save data, as well as new values to record the players progress with each mission, as well as whether or not the challenge had been completed.

Next I tweaked the layout of the Daily Missions panels in the UI. This involved repurposing the second line of text to contain the reward, realigning it to the right, and adding the coin icon.


While I was making changes to the UI I also added a countdown to the divider at the top of the daily missions page. Fortunately AGK has commands to return the hours, minutes and seconds from UNIX time so it was quite simple to implement.

The next thing I did was create a function which could update the text on the daily mission page of the UI. Ultimately this function will also change the daily mission icon as well, but for now it’s just the text and a grey square.

New Bugs Introduced

As with any bit of prolonged coding, I have of course introduced a couple of new bugs.

Firstly, the bit where it counts down the daily mission timer works perfectly, however it does not reset the time properly. This results in the missions resetting every time you play the game instead of daily.

Secondly I think I have miss understood how the Random command works in AGK as instead of returning a 0 to 4 when choosing a new random mission type, it’s returning a 0 to 5. Which means occasionally that there is a blank mission on the daily mission page.

Both these bugs have been added to the Trello and the bugs page here on the website.

That’s all for now

And that is about all I have managed for this update.

I’ll be back as always in two weeks (give or take the odd day) when I hope to have the Daily missions working properly. I also hope to get the test build updated.

Anyway, until next time

Dave ๐Ÿ™‚

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

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.