football game

XO Play (Android football game)

XO Play is a “thinking man’s” football game that I created for Android devices. It’s for those of us who enjoy thinking about football strategy, of how to take advantage of our strengths and our opponents’ weaknesses, and how to call plays to win games. If you’ve ever watched a football game and thought, “I can call plays better than this guy,” XO Play is for you.

Version 1.4

Version 1.4 introduces four game levels you can choose from:

XO Play help text

This is the “help” text for my Android football game XO Play.

Changes in Version 1.4

Released on July 14, 2019, Version 1.4 introduces four new game levels:

A Java JFreeChart x/y plot/chart/graph example

In an effort to share some source code (but without taking the time to explain it), here’s some Java source code that I just used to create a JFreeChart chart/graph of some data that I use in my Android football game:

The gift of a few guilt-free days alvin December 28, 2017 - 9:07am

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.)

Next version of my Android football game alvin January 28, 2017 - 5:41pm

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.

Follow your interests alvin January 21, 2016 - 5:07pm

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. ;)

My “XO Play” football game, now in the Google Play Store alvin January 20, 2016 - 7:44pm

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.

A Java method to calculate the NFL Passer Rating alvin January 16, 2016 - 3:58pm

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:

Third UI version of my football game alvin January 14, 2016 - 9:13pm

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.