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:

Very roughly, the game levels are:

  • Normal — You and the computer compete with basically the same rules.
  • Difficult — The computer offense is better.
  • Ludicrous — The computer offense is ludicrously better.
  • Inconceivable — The computer offense is so hard to stop it’s inconceivable. (I’ve beaten it only once, 28-27.)

Version 1.3

As I mention in the XO Play Help docs, I’d call this Version 0.3 if I could, but the Google Play Store makes me start version numbers with a “1”, so the new version released in July, 2019 is Version 1.3. Here’s what’s new:

  • The data has been changed to reflect more modern offensive statistics, and scoring by both you and the computer should increase
  • The computer play is smarter on both offense and defense
  • You are now rewarded for having diverse play calling on offense
  • You are similarly penalized for not having a diverse offense
  • New icons help to show your predictability on passing plays, running plays, and run/pass ratio
  • Starting in the second quarter, a numeric predictability indicator is shown in the bottom of the screen
  • The number of times you’ve called each play is shown on each offensive button
  • The game should be faster on devices with older processors or less memory

This image shows the new visual features in the game:

XO Play Version 1.2 visual features

The following documentation provides more information about how to play the game. Please note that everything below was written for Version 1.0 of XO Play.

First release

The first release of XO Play is now available for Android phones and tablets.

Current football game images

At some point I’ll add some more details here about how the game works, but I really hope it’s pretty obvious after the first few taps. Because of that, I’m just going to share some images here at this time.

Here are some images that help to show what XO Play looks like, and how to get started with it.

First, this is what the current XO Play app icon looks like:

XO Play app icon

Once play begins, this is what it looks like when you call a Deep Out on the first play of the game:

Android Football Game - Deep Out on 1st Down

To call a play like that, all you have to do is (a) tap a desired formation, and then (b) tap the play button, in this case the “Deep Out” button. Once you’ve selected a formation and a play the “Hike” button will appear; just tap it to run the play.

A little while later, this is what a Screen Pass play call looks like:

        Football Game - Deep Out on 1st Down

This is the main screen for when you’re playing on defense:

        Football Game - Defense UI

When you’re on defense, the computer will select an offensive play, and once you tap the defense you want, the play will be run. (There is no “Hike” button on this side of the ball, not yet, anyway. I’ve spent much more time working on the offense than I have spent on the defense.)

Images from the previous version of the football game

From the user interface of the previous version of the app, this is what a 2 WR, 1 TE, 2 RB formation looks like with a “Slam” play called:

1st down Slam

Here’s what a Draw play called on 3rd Down looks like:

3rd Down Draw

Current football game bugs and features

You may have noticed that the game has a timekeeping bug, or “feature,” as I prefer to call it:

Timekeeping bug

This bug/feature is just a result of the limited time I’ve had to work on the game so far. Right now the game doesn’t really have four quarters — it’s just a 60-minute long game. (But even then, you can keep playing the game after the first 60 minutes, if you want to do that for some reason.)

Throughout the game, and at the end of the game, you can currently see running and passing statistics like this:

End of game stats


As you’ll see in the images below, this will be greatly improved during the Version 1 development of the app.

Football game stats

The game is heavily based on statistics. Right now I’ve estimated the statistics for each offensive play vs each defensive play/formation. The data for Off-Tackle runs currently looks like this:

Data for off-tackle runs


The data for Slant passes currently looks like this:

Data for Slant passes

Getting back to game stats, during the game and at the end of the game you’ll be able to see stats like this:

Basic stats

And this:

Matchup stats

You’ll be able to see play-calling stats like this:

Basica play-calling stats

Eventually you’ll be able to see detailed “Heat Map” play-calling stats like this:

Play calling heat map

Inside the game these stats will be available through popup windows like this one:

In-game stats window

As I mentioned, the game is driven by statistics, and in the future it will use real data sources like these:

Real NFL stats

(Those images come from espn.com, grantland.com, and other sites I can’t remember at the moment.)

The “Talent Cap”

On the Indiegogo website I mention that Version 2 of the game will use a “Talent Cap.” While it’s not complete, and I don’t know what the exact categories will be yet, this prototype will give you a little idea of how you can assign “Points” to different positions on your team:

Talent Cap UI

Version 0.2 Limits and “Features”

Version 0.2 of the game — the current version — is a long way from my vision of the game. As a result it has many limitations and features/bugs, including:

  • The game does not have four quarters, it just starts at 60 minutes and time keeps ticking.
  • Each play currently takes 24 seconds. In most games this yields about the right number of plays for you and the computer, but when Version 1 is released it will use “real” timekeeping for each play.
  • There are no timeouts in the current game.
  • The defense currently has only three plays/formations. Many more will be added in Version 1.
  • The offensive formations don’t have any effect on the game at this time. In the future they will, but right now they’re just a visual effect — they have no result on the outcome of a play. (Sadly, you can ever use a 5 WR set with no RBs, and still call a running play. Again, not a “bug,” but an “I don’t have enough free time to make this work right” feature.)
  • Currently the data for a “Slam” run is the same as for an Off-Tackle run. (Again, just a lack of time.)
  • The computer play-calling algorithms are “okay” right now, and I occasionally do lose to the computer, but they can be made much, much better.
  • There are a handful of “quirks” in the current data that need to be ironed out.
  • Each sack currently yields a five-yard loss.
  • There is no way to turn off the computer voice/announcer, other than to turn down the volume on your Android phone or tablet.
  • Speaking of Android, XO Play is currently only available on the Android platform.
  • Of course the graphics need a lot of work.
  • There are no real animations in Version 0.2; I’d like to improve that situation. I find that even though there is a joy in the play-calling, it’s still nice to see the play unfold.
  • Speaking of the play-calling, I want to do a lot more with the UI to let you know what the computer opponent is “thinking,” both on offense and defense.

There’s probably much more to say about the current game, but those are the points that come to mind immediately.


In Version 1 I’ll also add “Help” and other forms of documentation to the game. For instance, one thing that comes to mind is that it would be nice for you to know the accuracy of your field goal kicker by distance. This is built into the game, but it’s something that you currently can’t see.

More Information

XO Play is created by Alvin Alexander of Valley Programming.