Game Design Game Development Geek / Technical

Freshly Squeezed Progress Report – Debugging and Emulating

In last week’s sprint report, I had added more sound effects and changed the way music played in Toy Factory Fixer.

In this past week’s sprint, I spent my time investigating why the Android build seems to work just fine on my devices but not on the devices of my testers.

Sprint 21: Make publishable

Planned and Completed:

  • Nothing. B-(

Not completed:

  • Defect: game seems unresponsive on main menu screen (Android)
  • Defect: game plays in portrait mode instead of landscape (Android)

Not started:

  • Award player based on performance
  • Create multiple levels
  • Create iOS build

To start with, I was hoping to do a lot more than I did. I was optimistic.

But there seems to be two problems with Android 11 that my testers have uncovered, and I worry about how inconsistent it seems to be.

One tester says that the game looks fine on his Android 11 device, but he can’t get past the main menu because tapping the screen seems to do nothing. It looks like the game is frozen.

So I sent him a custom build with some debug output that shows the state of the simulated mouse input, including the last known touch position and whether or not the “mouse button” is down. And just in case, I also added a counter that increases every second.

And I’m glad I did. Apparently the other debug text never changes, but at least the timer does, so I can confirm that no, the game is not frozen, but yes, there is a problem in which touch presses aren’t getting detected at all.

I had suspected that the touch presses were being detected offscreen, which is an issue I’ve encountered on iOS with the Retina display and how it handles touch presses, but no input at all? What gives?

I’m using SDL2, and it basically has two mechanisms for input. One is to detect the touches as independent fingers, so it is possible to do multiple fingers at once and detect pinch and zoom and such. The other is to treat touch presses as simulated mouse events. As I don’t currently have a need for multiple simultaneous touches, I pretend that the game just has a mouse, and it works great.

Except not anymore!

And since I still don’t have an Android 11 device to test on, what can I do? Maybe the Android emulator.

The docs are very heavily focused on using the Android development IDE, but frankly, I don’t wanna use the Android development IDE. I like my own setup, thank you very much.

Well, I am happy to say that after a little over 5 hours across the last week, I managed to get the command line tools to pull down the platform tools, the system images, and more to be able to launch an Android emulator.

Toy Factory Fixer - Android emulator

Toy Factory Fixer - played in an Android emulator

I’ll write up what I did, since the docs can be confusing or conflicting or point to deprecated and outdated portions of the docs. I partly had to guess at what was expected as arguments. Some needed quotes, for instance.

Now you might think, “You had the Android IDE to do it for you. Why make it harder on yourself?” Because I wanted to. I wanted to know how it worked. I wanted to write a script to automate things rather than rely on clicking or dragging files manually.

Anyway, I’m still investigating the Android 11 issues, and now I have emulators I can run to help me test even with devices I don’t own.

But unfortunately, it is pretty much all I had done last week. I imagine with a few more hours I could have done more to determine what I can with the emulators, including noticing if there are any obvious differences between running the game with Android 10 and Android 11. I found an issue on GitHub that sounded similar, but apparently it was not quite the same issue I’m hearing about. Still, it sounds like some weirdness is happening with Android 11 and SDL2, and I want to see if I can contribute to figuring it out.

So no new updates to show off this sprint, but I have been experimenting with some level layouts. People on my mailing list got to see a video of one that I shared last week. Sign up for the Curiosities Newsletter if you want to also receive exclusive sneak peaks of the work behind-the-scenes.

Thanks for reading!

Want to learn when I release updates to Toytles: Leaf Raking or about future Freshly Squeezed games I am creating? Sign up for the GBGames Curiosities newsletter, and get the 24-page, full color PDF of the Toytles: Leaf Raking Player’s Guide for free!

One reply on “Freshly Squeezed Progress Report – Debugging and Emulating”

Comments are closed.