I sent the 50 level alpha build to a friend. I knew of a couple small bugs, but had otherwise thought that things were in decent working order.
A NEW CHALLENGER HAS ARRIVED!
This new bug that I had never encountered was hilarious. Keep in mind that the script that led to this bug has been there since pretty much right when I started work on the game.
Here's the setup. Level 31. A new gun has been introduced that requires a certain amount of strategy in order to beat the levels for it. My tester friend fails the level. What a bummer. He presses the restart button....the level doesn't restart?! The timer restarted, but the blocks did not reset. Weird. My friend proceeds to beat the level since it's much easier now that everything is pretty much already destroyed. The last block is destroyed. The failure message shows up again. What?! How is that?! It shows that I got a score, and that I got credits for beating the level, but that I didn't beat the level. Well....let's try to restart. Oh yeah, the level doesn't rebuild the blocks. Time to gain more credits. Restart again....more credits. Infinite money! Woo hoo!
I did some Sherlock Holmes-ing and figured out what it was fairly quickly; Room persistence. He must have paused the game while in the room; That sets the room to persistent. The check to set the room as no longer being persistent was not within the room that needed to become persistent, and thus it remained forever persistent. >.< A few lines of code in a few necessary places and everything was as it should be.
Other bugs that I managed to fix, one of which excited me very much, were:
Issue: Text scaling for the gun upgrade room <----this was the exciting one
Fix: Set the GUI layer to a fixed size. (1 small line of code)
Issue: Virtual button placement incorrect on touch devices with different resolutions.
Fix: Was solved by the text scaling solution.
Issue: Angled bullet collisions missing with a certain gun.
Fix: Made bullet tail mask much longer and added a collision line check in the object that was giving the problems. This is sort of a band-aid fix for this one specific scenario, but since the levels are hand made and the game is fast-paced, it should be sufficient.
Issue: Music not restarting after level failure.
Fix: Create a room check script for appropriate music for the levels.
So there it is. I had some real testing done, and I got some great feedback. The tester liked the game too, so that's a plus.
Soon, when I get a long stretch of time to work, I'm going to work on the rando rush completion screen, as well as some new music for the 3 new gameplay modes, and the levels for the 2 non rando modes. ("H" or Hard Levels and "C" or Challenge Levels)
Until next time.
Time Spent Today: ~1.5 hours