I gave myself two gifts for Christmas: A set of new bathroom rugs, and a few guilt-free days to learn the LibGDX game framework so I can eventually rewrite my football game. (Usually I think, “You need to finish writing XYZ,” so “a few guilt-free days” means not having those thoughts, or having them but ignoring them.)
This image shows a very early (ugly) prototype of the next version of my Android football game. The orange boxes on the bottom-left let you choose the formation, then the “run,” “pass,” and “other” icons stand for tabs that let you choose different plays. I may put the formations inside a tab as well ... that would be more consistent, and it will be something I’ll need to do as the game grows.
A major new feature in the game is that you can can create your own custom teams, with each player on the team having a collection of ratings. For instance, a running back will have rating categories of a) running, b) blocking, and c) pass-catching abilities. Therefore, the running plays will let you choose to run left or right, and passing plays will let you choose the intended receiver.
I’ll write more as time goes on, but this ugly little prototype is one of the first steps in the redesign/upgrade.
Following up on the “keep learning” theme I wrote about a little while ago, I also encourage you to explore any personal interests you have, in technology or otherwise. In my case, over the last few weeks I’ve been working on my Android football game, and while it currently pisses me off more than it makes me happy, I can see its potential. And beyond that, I’ve learned a lot more about Android than I would have learned any other way. I don’t know where this will ever lead, but I do enjoy the game, and it has laid a foundation for the future changes I know I want to make to it.
P.S. A strong running game and third-down efficiency are also important. ;)
It has a extraordinarily long way to go before it’s where I want it to be, but my “XO Play” football game is now available on the Google Play Store.
Note: The code below is based on the Wikipedia formula, which is not correct. The correct algorithm seems to be at this page. I’ll update the code below once I verify this for sure.
In working on my “XO Play” Android football game, I just created this Java method to calculate the NFL Passer Rating for my quarterbacks:
These screenshots show the UI for the third version of my XO Play Android football game. The UI for when I’m playing offense is shown on the left, and the UI for when I’m playing defense is shown on the right.
The defense is pretty limited — you can only choose from three current defensive plays — but that actually inspired me to show the history of previous plays called by the computer on the lower-right of that screen, which can be useful to see the computer’s tendencies.
I’m still not blown away by the UI, but it is getting better. I like the idea of having the “Hike” button close to the playing field, as that’s where your eyes will want to be when the button is pressed, but I’m not blown away by my implementation.
One thing I learned last night about my XO Play football game is that even in a “thinking man’s game” like this, visual perspective is important. I thought I would like the game as I showed it yesteday, as if you were looking at it from a coordinator’s box or sideline seat, but even though this image is a poor mockup and the perspective isn’t great, I like it better. (And of course now this makes me want to show real players (with depth) instead of Xs and Os.)
In my “free time” lately I’ve been working on an Android football game that I’ve named XO Play. Earlier today I launched an Indiegogo project to see if people are interested in funding further development of the game. Please see that web page for more information and details.
I took some time today to work on the UI for the second version of my Android football game. This is my current best-guess, rough-sketch of what it should look like:
The basic idea is that when you’re on offense you (a) choose the formation, (b) choose the play, then (c) press Go to run the play. This gives a chance to change the formations and plays, especially once the defense gets smart enough to respond to what you’re doing.