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 🙂