Game Progress Update #61

Game Progress Update #61

Hello world! And welcome to the sixty first Dev with Dave Game progress update!

Well, on the plus side, the weather has been absolutely smashing. Glorious sunshine and blue skies with little fluffy clouds 🙂 I’ve spent more than a few afternoons sat under the gazebo outside with the laptop.

Things the universe has thrown at me which have prevented me coding this update have included breaking down because my car needed a new battery. This cost me a couple of hours of time waiting for the AA to come get me, and a lot more money than I expected getting a replacement battery.

As always though I have managed to get a few hours in working on Flappy-vaders and continuing on from the last Progress Update with the bug fixes.

Bugs fixes

I have pulled three cards to fix over the next two weeks from the Trello. they are..

  1. Ship “flaps” when pausing/resuming
  2. Player sometimes passes through the floor
  3. Delay with Logo

Delay with logo

The first card I looked at on the Trello was the Delay with Logo card. This card was about the sizable gap at the beginning of the game before the UI and Logo appeared. I decided the easiest was was to simply create a large black sprite to cover the screen, then fade that to transparent once the screen is ready behind it. Still, I should probably create a loading splash for the game at some point, but for now this has made it look a lot slicker.

I remembered to use Timer Based Movement for the fade to ensure that it takes the same amount of time regardless of the speed of the device it’s running on. Slower devices just have larger steps in between the fades.

Player sometimes passes below floor

When I first tried to investigate the Player sometimes passes below floor card, I didn’t have enough coins in the game to purchase. I had encrypted the save game data so I couldn’t just edit the save game data.

I ended up adding a line to the start of the game which simply added 2500 coins to the players coin total so that could upgrade and purchase the powerup.

Once I had purchased and upgraded the powerup, I managed to test it 7 or 8 times without managing to replicate the bug. I will have to test this again when I have more time.

I have however managed to discover two new problems relating to the second chance power up when the ship crashes into the ground.

Firstly, the shield sprite is not hidden or removed from the screen when the player dies this way. And secondly, the player will burn through all the second chance power ups until there are none left and the player dies. I think that perhaps I should remove the crashing into the ground from the second chance. It would be better if the player simply died when crashing into the floor.

Sadly, This will have to be carried over to next update as I have run out of time for this update.

Ship “flaps” when pausing/resuming

Unfortunately I didn’t have any time to work on this card either, so It’ll remain in the In progress column for now until I get chance to look at it again.

I’m hoping I can resolve it by either using a flag to indicate that the game was paused so don’t flap this screen press. Or to just clear the jump pressed variable when the paused has finished.

Prepping for promotion

I also spent some AFK time thinking about how to promote the game. I have some great ideas for videos which I will perhaps start planning at some point soon as well.

Ideally I want a few high quality videos to demonstrate various aspects of the game to prospective players, in the three video aspect ratios that Google Ads ask for. As well as some stills from the videos to use as static images.

I will write a blog post detailing the planning and the creation of the trailers. Once I am a little further along.

Until Next Time

Thats all for now. I will be back in two weeks with another update where hopefully I’ll get some more of the obvious bugs fixed.

As always, stay tuned to the social media for news about the project.

See you all next time.

Game Progress Update #60

Game Progress Update #60

Hello World! Welcome to the sixtieth Dev with Dave Game progress Update.

I’m sorry the social media has been a little quiet this week, sadly my girlfriend once again ended up in hosptial for a few days thanks to her diabetes.

She’s back home now and is on the mend thankfully, but what with visiting her in hospital and trying to keep on top of everything else in her absence, I’ve had very little chance to work on the game.

That being said, I’ve been busy following on from Game Progress Update 59’s Bug fixing spree, and have managed to get through a couple of cards from the Known bugs/issues column on the trello. Here’s what I managed to get done.

Bug fixes

Powerup movement

The Powerup Movement card was the first one I had chance to look at. This card explained how I wasn’t happy that the sin wave used to determine the path of the pickup seemed to change as the game progressed.

I spent several hours first recording, then watching and comparing videos of gameplay

But no matter how fast I managed to get the game to play, the powerup path stayed the same. It only appears to change due to the game speeding up as it is played.

Missile Guidance Laser Transparency Issue

The next card on the list was the Missile Guidance Laser Transparency Issue. There were actually a few issues relating to the guidance laser system.

The lasers would occasionally show up in the wrong places, and with the incorrect transparency. Since it had been a long while since I wrote the system which controls this, the first thing I did was look over the code to refamiliarise myself with it. Fortunately I’d commented the code fairly well, and it wasn’t too hard to pick up.

It turned out that although the guidance laser sprites were hidden from view when they were finished with, their position was not being reset. I added a line of code to move the sprite offscreen when it was hidden.

Screenshot showing tiny laser appearing where it oughtn't be.

This fixed all the issues with the lasers except one. Where a small unscaled laser would appear in the top left corner of the screen.

Another quick investigation of the code revealed that the the sprites were not repositioned at creation, so I added a line to move the sprites off screen when the guidance sprite was created.

This seemed to fix all the issues with the missiles and their guidance lasers. 🙂

Thats all for now

And that is all I have managed to get done this time round. I’m still hoping to get an updated build uploaded to the Play Store for the testers to get their hands on.

Hopefully I’ll be back in a fortnight with another update on the game.

See you next time 🙂

Game Progress Update #59

Game Progress Update #59

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

It’s been a very busy couple weeks, as I have had a website launch to be dealing with for my day job. This has eaten into my spare time quite drastically. Some days I didn’t even get to do my dailys in Fortnite! 🙁 lol

I thought I would be able to find an hour or two which would otherwise be wasted whilst shopping at the weekend. But as I was saying Monday, I took the tablet along to the shopping centre. But couldn’t find a coffee shop with a spare table.

I eventually remembered that the Willen Hospice charity shop had a cafe, so made my way over there. However, after I had got a tea and sat down, I discovered there was no wifi or signal on my phone. This meant I couldn’t work on the game.

I did manage to get some work done on the game in the shape of some bug fixes, and some graphical work. Let me tell you about what I have done.

Bug fixes

Start/End of game variable resetting

First I looked at the Start/End of game variable resetting problem. This was most noticeable when starting the second game. When the bug occurs, the player has to sit waiting for ages before the first obstacles appear.

The hardest part of this bug turned out to be tracking down what variable was causing the issue in the first place. lol.

It turned out that the currentZone.length# property was the cause of the delays. I did not reset the variable when the player died. So the value remained the previous zones length when a new game started. This caused the player to wait till the distance travelled was greater than the length before it would spawn a fresh zone.

This was a simple fix. I added a line to the “post end of game” section which basically reset the value of length# to zero.

Bullet remaining into new game

The next bug I fixed was a known bug, but I’d neglected to write it a card (or if I had I couldn’t see it). I’m talking about the Bullets remaining into new game issue. I remembered it while I was busy trying to fix the previous issue.

I wrote a function called DestroyAllBullets() which called the DestroyBullet() function for each bullet where the inUse flag was true.

Another easy fix. I will be careful this does not lull me into a false sense of security lol!

Game over screen problem

The Game over screen problem card was the next one I looked at. This listed two problems, one being that the zones are supposed to finish once a game is over; but that no longer happens (it used to, I’m 100% sure). The other was that the Game over screen text read “tap to continue” even though the game won’t actually let you tap until the speed has dropped.

I added a line or two of code into the game over screen code which simply checked if the speed was high enough to prevent moving on to the next bit, or if it was slow enough to continue. It then hides or shows the “tap to continue” text accordingly.

The other issue was caused by the isGameOver variable being incorrectly set. I had previously rejiggered the game loop to allow for the post game boosts like the self destruct. which had caused the previous code which set the isGameOver variable to be triggered too late.

I rearranged the previous code so that the isGameOver variable is set to false at the start of a new game, and to true at the end.

Not so much a bug..

I also did the Daily mission/Trophy fanfare card. Sometimes the fanfare got lost when the music was playing, so I decided to try and quieten it a little when the fanfare was playing.

The original plan was to have two sections of code which reduced the music in volume when the fanfare started, and then a second piece of code to return to normal when the fanfare finished.

I had issues trying to do this though. So instead I added a conditional in the UpdateMusic() function. This checks if the Fanfare is playing and sets the music volume accordingly.

Some new graphics as well

I even managed to find some time on Wednesday to create some icons for the coin packs on the store.

Screen shot of the coin store showing a couple of the new icons for the coin packs.

Like all the 2D assets for the game, I created the coin pack icons in Paint.net. It was hard to find balance between how many coins could fit in the space allowed. The space reserved for the icon is only 26 x 22 pixels.

It took me around two days to create, polish and finalise all the icons for the coins page on the store.

I did try and create a video to demonstrate all the new icons I had created for this page. But for some reason Hit Film was not playing ball particularly well. I will try and do the video again at some point when I have more time.

Thats all for now.

And that is about all I have managed to get done this time round. I doubt muchly I’ll get anything done to Flappy-vaders this weekend. It’s one of the Grand children’s birthdays tomorrow and I really need to tidy up my garden on Sunday. Weather permitting, lol.

I’ll be back on it next week though.

Game Progress Update #58

Game Progress Update #58

Hello world! And welcome to the fifty eighth Dev with Dave game Progress update!

It’s certainly been a couple of weeks for the weather. Every weather you can imagine has been thrown at us these last few days. We’ve had glorious warm sunshine, savage gale force winds, torrential rain, even hail! Often all in the same day!

I guess it’s the curse of the Easter weekend, with a bank holiday at either end.

I had a great time though, despite the weather. Over Easter, Me and my gf watched Monster Hunter on the TV, ate chocolate eggs, and a huge roast dinner as well.

I have managed to get some work done to the game though, I even had chance to sit outside and get some coding done in between the less pleasant weathery bits, lol.

IAP Ad Removal

I discovered that the new AGK IAP Commands suffered from the same delay/lag as the original ones did. So I am adding a small function from another app I wrote which resolves this.

This function simply checks the status of the IAP ad removal every five seconds for the first minute that the game is running. It’s a replacement for the original single check at the beginning of the code, which has since been removed.

	//	Kludge to fix the IAP issue...
	`	Only runs for 1 minute...
	If GetUnixTime() < startTime+60

		If iapTestTimer#+5.0 < system[0].sysTimer#
			
			iapTestTimer# = system[0].sysTimer#
			
			If GetInAppPurchaseAvailable(0) = true
				
				system[0].adsDisabled = true
				
				SetBannerAdVisible(false)
				
			Endif
			
		Endif
		
	Endif	

The above code is taken directly from the other App. But the basic functionality is what I need.

I may adapt this figure at a later date but I’ll see how well adding the function works. The goal is to not show after game ads ever to a player who has purchased ad removal.

Scratch card scratching action

Several people had suggested I shrank the scratcher sprite, to make the scratch card work more like a real card. But oddly enough shrinking the scratcher sprite has made it slower and less lifelike. Instead I have enlarged the size of the scratcher sprite.

GDPR Dialogue issues

I noticed that when testing the app on various devices that when the player is presented with the GDPR dialogue on first run, the player is sometimes thrown into the settings menu when exiting the page. This is not ideal or desired behaviour.

Testing revealed it to be an issue with the back button, the “no targetted ads” button, and the purchase ad removal button. The first two took the player to the settings when chosen. the Purchase ad removal button simply opened the IAP dialogue and did nothing else.

Fortunately the “Yes – targetted ads” button had all the necessary code in place, so it was a simple job of copying,pasting and tweaking the code to get the bugs fixed.

Music and sound default values

There was also an issue where the music and sound effects default to off when first run. This was another relatively quick bug to fix. I simply added a couple of lines to set the default values to 50 before creating the data file on the first run.

Quit button

The Quit button from the pause menu has also now been fixed. One of the testers reported that the quit button not only didn’t work, but trying to quit actually broke the game!

It turned out I hadn’t actually written the code for this. Now when the button is pressed it tells the game to jump into the “player death” bit, and go from there. There is no ship explosion though. Not sure if this is what I want yet. I’m still deciding how best to handle this.

Headstart Shield Placement

I also fixed the initial shield placement issue with the Head start boost. For the first frame it was displayed, it displayed at (0,0) rather than around the ship.

This image shows the initial placement of the shield does not match that of the players ship.

This was a simple fix involving setting the sprites initial position to the same as the players ships when the shield sprite was being spawned.

New test build

I am hoping to get a new test build with all these bug fixes compiled and uploaded today, as soon as I have finished this blog post and associated social media.

This will be the second test build to go out, despite what I said in the last blog post >here<, I didn’t manage to upload the new build in the end.

So if you are on the list of testers, check your inboxes this evening. You’ll (hopefully) have mail!

And thats all for now

That’s everything I have managed to do this update. I’ll be back once again in two weeks time with another update.

I’ll try and do a better job on the socials as well. I fear @DevWithDave has become fairly quiet of late, as all my time seems to be taken with other things.

Anyway, until next time friends 🙂

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 🙂