Game Progress Update #57

Game progress Update #57

Hello world! And welcome to the fifty seventh Dev with Dave game progress update!

After taking some time off from coding the other week, I was feeling super inspired to carry on writing Flappy-vaders.

However all plans went completely out the window when my girlfriend was rushed off to hospital in an ambulance.

She’s better now thankfully, and is back home. However spending time visiting the hospital severely cut down the amount of time I had to spend working on the game.

I did however manage to get some stuff done! So without further ado, let me tell you all about what I’ve done 🙂

News from the Testers

I’ve had some great feedback from the testers regarding the first build of Flappy-vaders.

The video below was sent to me from one of the testers. It shows them racking up a massive high score by using the “No Max Ceiling” exploit.

To fix this, I simply added a line or two to the player movement code to limit the players y position if it tried to go off the top of the screen.

This is what I added just before the player sprite position is updated.

//	A quick ceiling
If playerPosY# < -5
				    	
    playerPosY# = -5
				    	
Endif

I opted to limit the ceiling at -5 rather than 0, because the player sprites origin is set to the top left corner of the sprite. This way the sprite more or less disappears from view, but the player can still see it.

Daily Prizes Scratch Cards

Another thing the testers pointed out was that the list of scratch card prizes in the daily prizes screen was out of order.

So I reordered the list. It now runs from the Biggest 3 fruit prize at the top of the list, down to the smallest two fruit prize at the bottom of the list.

I also fixed the rewarded video ads. Previously the button promised a reward of a hundred coins, but only gave 10 coins. Now both the button text and reward are both 10 coins.

Updated version

The new build with these updates will be available for the test team in the next day or two. I’m hoping I should have time to compile it and upload it later on today. If not I will do it tomorrow (Even though it’s the weekend)

That’s all for now

And that’s it for this update.

I’ll be back in two weeks time. Fingers crossed there will be no more disasters and I’ll be able to concentrate on the game.

Until next time. 🙂

Game Progress Update #56

Game Progress Update #56

Hello World! And welcome to the fifty sixth Dev with Dave Game Progress Update.

In App Purchase

I’m sorry if this bit of the update feels a little thin on the ground. I’m not sure how, but I managed to lose my notes from the work I did on Flappy-vaders last week.

I’d already roughed out most of the in app purchase functionality using comment first coding, so it was an easy job to copy the code I had written in a separate project, into the game.

I am aware that there is an issue with the Ad Removal not sticking under certain circumstances. But I think I know what is causing it, and I will get it fixed for the next build.

Graphical Artefacts

I was testing the game and noticed that I was getting graphical errors on the display. This only happened on a mobile device, not on my tablet, so I hadn’t previously noticed it.

As you can see in the image above, there are several artefacts in the top half of the screen. Most noticeable of them all is the one under the A in the logo.

It took me a while to realise where the problem laid. I did eventually work it out however. It was a newly created render surface which hadn’t been cleared.

This was remedied by simply hiding the object until it was required.

Recording footage for promo

I also recorded some of of the game play from Flappy-vaders during any periods where I was testing it. I was considering using it for promotional videos, but I’m not sure.

The videos I recorded are genuine gameplay, and they have on screen debug info in the corner. I think I’d be better off if I created specific scenes in the game. For example, set it to just display pipe zones.

I might have some fun with the footage I have got though. If I get chance.

Releasing the test build

The other big news is that now all of the initial tasks from the Trello have been completed, there was nothing stopping me from starting the testing.

The first email went out to the testers yesterday. If you haven’t received it then be sure to let me know. It contains a link to download the test version if your email address was added to the list of testers.

So far the testing has already revealed a bug I was not aware of, but it has been added to the Trello.

That’s all for now

That’s all I have time for now. I’m currently a couple of hours behind on this blog, and still need to create the social media images.

I’m taking some time off from work the next couple of weeks, so the next Flappy-vaders update won’t be until 31st march 2023. (Says Dave double and triple checking the calendar! lol)

So I’ll see you all then 🙂

Game Progress Update #55

Game Progress Update #55

Hello World! And welcome to the fifty fifth Dev with Dave Game Progress Update!

I’ve had another couple of great weeks when it comes to working on Flappy-vaders. After the rather embarrassing cock up with the Scratch cards for the daily prizes from the last post, I’m happy to announce that the scratch cards are finally finished and working!

Finishing the scratch cards

I didn’t really have a plan for how to handle the win/lose at the end of a scratch card. I spent several hours looking into how other games and websites did the scratch cards. But sadly didn’t really find much that was helpful.

I also tried to play Dice with Buddies scratch cards, but I didn’t have time to win any of the cards, and I didn’t much fancy spending real world money just for this.

So I started playing around in Paint.net. Trying to create a mockup of how I imagine the win/lose screen would look and work.

A mockup of the win screen when you win a scratch card

The first mockup I created is above. It has two lines of text, it displays the fruit the player got to win the prize, and also what the prize is.

Writing some code

First off, I created some new variables in the existing scratcher type. These are to track how many panels have been scratched off already.

I also wrote a function to calculate and populate these variables.

It didn’t take too long to create the win/lose dialogue box using existing media. I had to create the back panel specifically, but it wasn’t a long job.

Next came some functions to show and hide the dialogue when required. And some bug fixing to make all the new code work smoothly.

Other Things

I also started adding Phase 2 things to the to do list on the Trello.

Phase two is basically balancing the game play and other aspects of the game, as well as adding polish. Now that I have finished the scratch cards, the only things left to finish before Phase two can begin, are the In App Purchase bits for the ad removal and buying currency.

That’s all for now.

But as always, that is all I have got time for now. I’m already over an hour and half past the deadline for this blog, so I’d best sign off and go and cook some dinner.

I’ll be back as always in two weeks, and hopefully I’ll have finished the last few cards in the In Progress column on the Trello.

Dave 🙂

Game Progress Update #54

Game Progress Update #54

Hello World! And welcome to the fifty fourth Dev with Dave Game Progress Update!

I’m not sure how, but I have managed to get an absolute pile of work done on the game these last two weeks. I don’t think I’ve been any less busy than usual with other things. Quite the opposite, as it was my girlfriends birthday last weekend and I did the catering for the party, and made and decorated (although badly, lol) a cake.

I think it’s just being refreshed from the Christmas hols 🙂 Anyway, without further ado, let me tell you what I’ve managed to get done.

About Text Scroller

I started by going back to the About text system which I had left unfinished at the end of the last Progress Update.

I tweaked the text scrolling system a little. Introducing variables to replace hard coded values left over from the original proof of concept code. This also made it easier to change the font size, as I needed to increase the size of the text to make it easier to read.

I found an issue when I started adding to the text, where the start/end of the text message would overlap. I fixed this by replacing another fixed value, with a formula to calculate the size of the text body using the text size and the number of lines. This still needs polish, as I think there is too much white space at the beginning and end.

Trophies

Trophies were next on the list of things to do. I had noticed that the GDD said that the player will receive a coin reward for completing a trophy. This was missed from the original system when it was written.

I decided on having three tiers of rewards for the trophies, depending on how hard the challenge was. Easy trophies reward the player with 10 coins, Harder ones with 50 coins; and the most challenging will give the player 100 coins if they manage to complete it.

I added a new property to the trophies type to store the reward in. As well as a line of code to add the reward to the players coin total.

Currency

During my more AFK moments I have been considering how to structure the coin bundles which will be available for the player to purchase.

The goal was always for the entry level purchase to be £0.99 (about $1.20 us or €1.11), and for the top end coin pack to contain enough coins to unlock/upgrade every pickup and powerup.

I calculated that it takes 1500 coins to upgrade an item to maximum. And there are 8 different items to upgrade, so total upgrades would cost 12,000 coins.

Using this information, I decided on the following details for the coin packs.

  • Coin pack 1 – 500 coins for £0.99
  • Coin pack 2 – 3000 coins for £4.99
  • Coin pack 3 – 7500 coins for £9.99
  • Coin pack 4 – 20000 coins for £19.99

It didn’t take me long to add this data to the coin store page in the game. Then came time to add the in app purchase code.

In App Purchasing

I had already added one product to the developer console for the Ad removal. Adding four more for the coin packs wasn’t any bother at all.

Once I had set up the console side of things, the next task was to add the code to handle actually purchasing.

This wasn’t as straight forward as I’d hoped as the IAP commands have changed in AGK Studio since I last used them.

I think I have a handle on how the IAP stuff works now, but I need to test it on the device before I can do too much more on this.

Problems

I managed to find two new problems this update. The first no doubt was due to me being sleepy/forgetful (Which does happen tbh. I wrongly stated that the scratch cards were complete in the trello.

I actually have a fair bit of work to do to finish these. So I have dragged the card back into the In Progress column.

The second problem was that the quit button in the pause menu doesn’t work. Although hopefully, this will be a cinch to fix.

That’s all for now

And with that, we have reached the end of another progress update. I will be back in two weeks with another. So I’ll see you all then 🙂

Game Progress Update #53

Game Progress Update #53

Hello world! And welcome to the fifty third Dev with Dave Game progress update!

This is the first update since I’ve been back after Christmas. I’m happy to tell you that my girlfriend has made a complete recovery after her stay in hospital.

We had a brilliant Christmas and the best New years party I’ve been to in a long time!

I hope 2023 has had a great start for you guys as well!

Anyway, lets get on with the update..

Tidying Up

It had been a few weeks since I’d last turned the PC on to be honest, so I took a little time first off to refamiliarize myself with what I’d done already and what I was working towards.

It seems I had been quite sloppy when I had written the trophy functions. They were ambiguously named, and didn’t have comments 😕 So fixing this felt like a good place to start.

//********************************************************************************
//	void = FunctionName(value as integer)
//********************************************************************************
//	A few lines to describe the function, and explain its usage
//********************************************************************************

I prefer to comment at the top of the function as shown above. The first line shows the syntax of the function, and the second block of text details what the function does, and how it’s used.

I left the three function names as they were as once I better understood what each function did, the names became a little clearer. Lets hope the comments I’ve added prevent this confusion in future.

Trophies

Next off I did some more work on the Trophies. I’d previously got the first four trophies working. Two for distance travelled, and two for coin collecting.

I worked on the ‘Play x number of games’ trophies next. This simply involved adding a line in the play game button function, which increased a counter. Once this counter reached the target, then the trophy was rewarded.

The next two trophies were the ones relating to unlocking all the powerups and upgrades. Again this was a fairly simple job of adding a line to the button functionality of each purchase upgrade button. This checked to see if the item had been upgraded before, and if not to add one to the counter.

Once the counter reached the required value, then the trophy was awarded.

The last trophy I completed was the one relating to the player coming back to life using the “Second chance” boost. Again, I achieved this by adding a line of code to set a flag indicating the player had resurrected. This flag was checked for and the trophy awarded.

This left one trophy remaining, which is the one relatiing to watching the about text. Which currently doesn’t work so I was unable to do the last one.

More trophies

I did notice a new bug. I reached 25 distance and won a daily mission, but I didn’t get awarded the trophy for the same thing. This leads me to believe that the two systems are measuring distance differently some how.

I also managed to win several trophies at once when I wrote all the functionality but had neglected to set the target values to anything. Lol!

As you can see in the screen shot above, I also have decided on some better names for the trophies rather than “Test trophy 1” etc.

About Text

Since I needed to have this working in order to finish off the trophies section, I decided to get this working next.

I had already programmed a working example of what I wanted and Included it as a separate source in the game. So in theory it was a simple case of calling the function.

In theory…

What actually happened was slightly different. I called the function, and nothing happened! Nothing at all.

I managed to fix it in the end, but it took my remaining couple of hours time yesterday and I was unable to get the final trophy working. I still need to code a bit to signify the end of the text and to award the trophy, but that’s a job for another day.

The problem was caused by a depth issue, the about text was appearing behind the paralax scrolling images. And was resolved by hiding all the assets while the text was being rendered.

I did actually record some videos of the about scroller working badly or with unintended results, but I wanted it to be a surprise, so I won’t reveal too much just yet.

That’s all for now.

That’s all I have time for this week. I’m happy in the knowledge that at least this blog post will go out on time (It’s about an hour away from deadline now as I’m writing this last paragraph or two)

I will be back in a couple of weeks with another update.

Until then, good bye 🙂

Game Progress Update #52

Game Progress Update #52

Hello World! And welcome to the fifty second Dev with Dave Game Progress Update!

I’ve been doing these updates more or less every two weeks now for two years it seems! (Or by my reckoning anyway, lol). I was hoping to have some brilliant news, some video of the more or less complete game running, or that kind of thing. But sadly, that’s not how the last two weeks have panned out.

Unfortunately my girlfriend was once again taken ill and had to spend most of the last week in hospital.

A photo of Dave sat at the hospital

This meant whatever time I had spare for working on Flappy-vaders was spent sat at the hospital instead.

She’s better now. Well, not a hundred percent, but she is back home and recovering well.

Two years of progress updates

I know I missed a few updates, so I’ve been working on Flappy-vaders for a little longer than two years, but I was still hoping to do something a little special to celebrate the fifty second update.

Instead I will try and do something when I get back to work after the Christmas Holidays.

Christmas

Talking of Christmas, that’s right round the corner. It’s a week tomorrow I think, which means this will be the last Flappy-vaders progress update for a while.

After last year’s fiasco of getting the date wrong, I have checked and double checked to make sure the following is correct! lol.

I’ll be back with the next Flappy-vaders game progress update on Friday, the 20th of January.

Until next time

And that’s it I’m afraid. I’ve had little to no time to do anything else.

As I said above, I’ll be back with another update on the 20th of January.

Until then I wish you all a very merry Christmas, and a happy new year to you all.

Dave 🎅

Game Progress Update #51

Game Progress Update #51

Hello World! And welcome to the fifty first Dev with Dave Game Progress Update!

Winter is most definitely here now as December has arrived, and for the first time this year the car bleeped at me to say it was less than 4° outside. As my sister said the other day, its two jumpers weather outside, lol.

Its been a fairly busy time here what with one thing and another. One of the children and their family were moving house and as I have a large car, I was volunteered to help.

As always though, I have managed to find a few hours to get some work done to Flappy-vaders.

Let me tell you what I have done.

Trophies!

Trophies were the last thing still to be started on the Trello. And since I needed to get trophies working in order to finish off the Unread Notifications card, I thought It was a good place to begin for the week.

Screen shot of the Flappy-vaders trello showing all the cards are finally started.

Now, the GDD was more than a little vague about what the trophies actually are. It describes the process of awarding a trophy and getting the reward, but just says the list of trophies will be determined later. (Super helpful, thanks a lot me.)

I started off by sitting down with a nice hot cup of tea and my trusty pad and pen. It didn’t take me too long to decide on what the ten trophies were*

For some of the trophies, I decided to simply use existing mechanisms that the player is already familiar with because of the daily missions. But for others I’m going to have to create new code to do.

Here is the current list of trophies for those who are interested..

  • Travel ‘x’ distance 1
  • Travel ‘x’ distance 2
  • Collect ‘x’ coins 1
  • Collect ‘x’ coins 2
  • Play ‘x’ games 1
  • Play ‘x’ games 2
  • Watch credits to the end
  • Unlock all upgrades
  • Unlock all pickups
  • Come back to life

Not all of these trophies will be visible. I’m thinking the credits and the come back to life trophies will have the descriptions hidden.

* I say decided, I am tempted to remove one of the “unlock all” trophies and replace it with something different; but I have a list of ten trophies to work with.

Trophies Script

I created a script for the trophies, then used comment first coding to sketch out all the variables and functrions I would need.

Once I had a basic framework laid out, I started to code the functions. I created functions to setup the trophy names and descriptions, and to load and save any progress made.

I also made a function to set the UI text for the trophy names and descriptions. This code will ultimately also change the image on the trophy panel. To help write this bit, I also (rather hastily) whipped up a locked padlock icon to use.

The next job was to set about implementing winning a trophy. I gave some temporary values to a couple of the trophies so they could be won quickly and easily.

The first trophy i attempted was the distance one. I was initially having problems getting a value for the distance travelled, but soon resolved it. I need to check if the result matches the distance for the daily missions as well.

The trophies relating to coins were the next ones I wrote. This was mostly a simple case of copy and pasting the code which handled the previous trophies.

Lastly I added code to play the same fanfare effect from the daily missions, and to set an unread notification for the trophy in the UI.

An image showing two trophies which have been completed and have unread notifications showing.

At this point I had four out of the ten trophies working properly. I found a problem where I had accidentally used > rather than >= which threw off awarding a trophy or two. But that was easily fixed 🙂

Out of time

And that was pretty much all I have managed to achieve for this update. No matter what card I pick off the Trello they all seem dependent on another unfinished card.

I’m hoping I can get the remaining trophies done and get that card checked off by the next update. That will also mean I can finish the unread notification card as well. The daily prize scratch cards still need finishing. But after that I think all that’s left to do is the In App Purchase stuff.

I’ll be back with one last update on Friday the 16th. It’s update #52, which marks 2 whole years of working on Flappy-vaders and creating these fortnightly updates so expect something special. 🙂 Then I’ll be taking a few weeks off to spend Christmas with my family.

Catch you all later

Dave 🙂

Game Progress Update #50

Game Progress Update #50

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

After checking the Trello It seems that its only really the trophies that I still need to start. I have four things which have been started but remain unfinished in the in-progress list. So, my goal is to get as many of the in-progress things checked off as possible 🙂

Whether I’ll succeed or not is another thing. I wish I had included an IAP section in the GDD, and I may still add it. The adverts card would have been moved to the under-review tab by now if the IAP stuff was on its own card. Oh well, lol

Anyway, Let me tell you about what I have managed to get done this time round.

Advert Consent Dialogue

Thanks to privacy laws and regulations, like GDPR etc. It’s important to give users of your app the option as to whether you show them targeted ads or not.

For this I simply used the default text that we always use when creating a privacy/consent page for an app or game at Warriors of the Cucumber.

Scrolling down the page takes the player to three buttons, which represents the choices available. To use your data to show you more relevant adverts, or not; or to purchase the removal of the ads all together.

Right at the bottom there is a link to the privacy policy. Again, I am using the standard policy which we use for every release.

The yes/no buttons are now completely functional, as is the privacy policy button. I made a start on the Ad removal buttons functionality but couldn’t do too much as I haven’t written any IAP code as yet.

In App Purchasing

Starting from the Google Play Developers console, I added the first of the IAP products.

The game will ultimately have five in app products for the player to purchase. These are to remove the adverts, and for each one of the coin packs.

Image of the Google Play Developers Console IAP products page.

I created the advert removal product so I can write some more code in the game to setup and handle IAP purchases.

Next I wasted thirty minutes creating an In App Purchase script for the game, not realising that I had already made one earlier in the development and simply didn’t notice it when I created the new one.

*Sigh* These late nights are catching up with me it seems, lol.

Then I added a function to the script to Setup the IAP Products. This will be expanded upon when I create the other IAP Products but is done enough for now.

I didn’t have time to write any more for this, but the next bit is to write some functionality to the buy Ad removal button and make a start on the IAP process.

Daily Prizes

Last of all I managed to carry on from the last update get some more work done to the Daily prizes screen.

This involved optimising some functions which were specific to the daily missions count down timer, to allow them to be used for the new scratch card count down as well.

I also created functions to load and save the countdown data and number of cards the player holds, and to update the countdown timer on screen.

Now the player receives a new card every day when the timer expires.

And that’s all for now!

There we go, that’s all I have managed for now. I’m super happy that so much of the game is almost finished.

I will be back in two weeks with another update. I’m hoping to have most if not all of the current started tasks finished, and maybe even have made a decent start on the trophies! But we’ll have to see, lol. It entirely depends on how much time I have to spend on this.