Sunday, December 8, 2013

Blobby Volley for Android: Progress Report 7

I'm extremely excited to show you this week's progress. I worked for 16h, mainly on the AI and on integrating new graphic resources delivered by my designer - Rafał Dorsz. Both things turned out very well. Just look at the screenshots below to see how pretty the game has become. I should probably also mention that the bot plays so well that in my best match I was able to score only 5 points (with its 10)... and believe me, I played quite a lot. What is even more surprising, the AI doesn't take into account the net's existence at all (!) and it's often overeager on jumping due to a simple bug that I haven't had enough time to correct. I'm afraid to think how good it will become with some more adjustments. Will I struggle to get even one point?

If you're wondering what those colorful and transparent balls are, they serve for AI debugging purposes to show ball position predictions in key movement moments (at jump height, net height, blob height and on the ground). I decided to leave them visible for now to help you visualize how the bot is working.

The new graphic resources include: two backgrounds with separate nets and their shadows, balls with shading overlays (if you take a closer look, you'll see a light reflex on the ball, which is not spinning) and blobs. The game's theme is picked at random right now, so if you play a couple of times, you should be able to see both the beach and the snow.

What I struggled the most with this week was a strange bug causing the ball to stick to the blob instead of bouncing off it. It happens when their speeds have similar value and direction. I found a suggestion on the AndEngine forum to modify the b2_velocityThreshold value in the PhysicsBox2DExtension and then recompile the native sources, which I did (after learning how to do it first). Unfortunately it didn't help. I have no idea how to get rid of the undesirable effect. It doesn't happen very often, but it looks weird and leaves you with a bad impression of the game. I'll try to commit more time to it later, but I want to focus on more pressing issues first.

In the past couple of days I spent quite some time with pen and paper instead of in front of a computer screen. I was working on physics equations letting me predict the ball's position and speed at different moments. I felt a little rusty at first, but I quickly recovered from a state of math ignorance I've been living in for some time. It was a nice experience bringing back memories of school assignments.

I bought and played Blobby Volley by Daniel Knobe. As expected, it's just an exact PC version clone with adjusted controls. It's not mobile optimized, it looks quite ugly and there is no free version. It's biggest advantage is probably that the code is not new and might have fewer bugs this way. I haven't tried playing online yet. I'm not sure if you can do it with one instance open on your PC and another one on the phone and I don't want to buy it one more time to play on two phones. Anyway, despite costing around $1.25, the game has between 50-100 installs after a week of its release, which I guess is not a bad result, taking into account that there's no free or demo version and that it doesn't look that good.

Plans for the upcoming week include:
  • finishing the AI and introducing diversified difficulty levels, so that it's possible to win the game against AI
  • adding new graphic resources when they get finished; I expect to get buttons pretty soon and maybe some more backgrounds as well
  • designing and implementing a simple options menu, to be able to set the basic game parameters
  • fixing the bug causing the ball to stick to the blob instead of bouncing off it
  • adding AdMob banners and interstitials
  • adding BugSense/Crittercism or a similar bug reporting system

I only have 10 more days until I fly to Poland for Christmas. After that I will not be able to code for 3 weeks, so I'm motivated to publish a beta version of Blobby Volley before I leave. I'm counting on getting a lot of installs through this hottest period for Google Play apps. If my game turns out to be a flop, I might just start a new project. Otherwise, I'll improve it even more, add new settings and game modes. I have plenty of ideas on how to make it more fun, so I hope that people will like it.

Stay tuned for the last (or last but one) progress report before Christmas next week. Another interview with an Android developer will get published in a couple of days as well. Let the countdown begin!

No comments:

Post a Comment