A simple app with clever gameplay. A collection of eight 2D games and two 3D games that are well implemented, supporting human vs human or human vs AI (with difficulty levels).
The key feature differentiating this from many other games is the addition of different topological options. The exact options vary between games, but most include a torus and a Klein bottle.
The special thanks section include a mention of the National Science Foundation, and to be honest, the presentation of the app certainly has an… academic feel to it. But what it lacks in visual style it makes up for in speed, cleanness, and just being very to-the-point.
As a final note, it is available on Android, iOS, Windows and macOS (I tried the Android version), is free, and has no ads.
- Many games.
- Many options.
- Actual 3D.
- Localized in 15 languages.
- Quick AI.
- Small and quick to load.
- Not particularly polished (but apparently reliable and robust).
Game features missing from Tic-tac-toe Collection
- Topology options.
- 3D tic-tac-toe.
- Other games quite unlike tic-tac-toe.
App features missing from Tic-tac-toe Collection
- Sound effects.
The big feature is lots of new unlockable icons, along with some improvements around icons. Specifically:
- Fireworks icons.
- Hallowe’en icons.
- Valentine’s Day icons.
- Earth Day icons.
- Zodiac sign icons.
- Show icon locked status in more places.
- Icon selection screen layout improved.
- Unlockable icons screen layout improved.
- Icon license screen layout improved.
- SVG icons centered and scaled better.
- Improved Gomoku AI.
A while ago I announced that Tic-tac-toe Collection would no longer support Android Jelly Bean.
The reason was the desire by the Xamarin Forms team to drop support for it. That doesn’t seem to have happened. At least not explicitly.
Instead, more features are being added that require Android Lollipop (5.0). So at some point in the future that will become the minimum requirement for Tic-tac-toe Collection, and devices running 4.4 or lower will no longer receive updates. Existing installations will not be affected.
The server component for Tic-tac-toe Collection has always been based on Azure Functions, a serverless compute platform by Microsoft. It is currently used to run the cloud AI and the game simulation used for fairness estimation, and does this by running the exact same code as the app. And, pretty much like the blog, deploying it was a slightly error-prone mostly manual process.
But like the blog, I’ve automated the deployment using an Azure pipeline.
The first update deployed with the new system is an improvement to the fairness estimation.
The fairness estimation is performed by simulating a game for a few moves, and then seeing how each of the AI rates its best possible next move. A big problem with this method is that the AI is probabilistic, so for a single simulation it is unlikely to be accurate (and some times it will end up being terrible). And, since the result for each combination of settings is cached, if an estimate is bad, it will stay bad.
With the update however, each subsequent request for a fairness estimation queues another one to run, and the results are averaged. So hopefully over time the estimation will actually become accurate.
Another change is draws are now considered. For example, previously, the estimation for standard tic-tac-toe gave the first player a score of 0.91 (on a scale of 0 - 1). Which more or less means a 91% chance of winning, assuming draws aren’t possible. Now, the first player gets a score of 0.68, which is closer to what your intuition would suggest your chances of winning tic-tac-toe is.
A while ago I switched the blog from Wordpress to Hugo. Since the switch updating the blog has had a few steps to it:
- Write the new content.
- Commit to the git repo.
- Run the
hugocommand to generate the site.
- Upload to Azure Blob Storage.
- Purge the CDN.
I’ve been running those steps manually up until now. But then I discovered this guide to deploying Hugo using Azure Pipelines by Michael Brinkman.
After a long hiatus, this release is mainly about cleaning things up internally before more serious work begins. However, the following should be apparent:
- Fixed in-app purchases not working for some users.
- Fixed “Setup local game” part of modify game flow.
- Fixed “Quickplay” with human players in modify game flow.
- Hide AI thinking details while panning or zooming to improve performance.
- No longer show the AI as “thinking” when browsing a game’s history.
- Improved startup performance.
A small release to fix some iOS issues that only became apparent after launch, including:
- Fixed some screens that did not with certain regional settings (including Arabic and Thai).
- Significantly reduced app size.
- Fixed the modify game flow not working in some cases.
- Improved layout of the modify game page on tablets.
Tic-tac-toe Collection is now available to download for iPhone and iPad on the App Store.
All existing game modes and features are available, including cross-platform multiplayer.
Prime is not yet supported, but will be coming soon.
- Removed Google Advertising ID from Analytics.
- Made network games work if you start the app without a network connection.
- Fixed startup issues on iOS.
What is Google Advertising ID
This link explains it quite well, but basically it is an identifier stored on your device that identifies you to Google when using different apps and when browsing websites. This allows Google to determine a lot of information about users.
This information is not directly available to people who operate apps or websites (like me), but is available indirectly in an aggregate form. For example, I can see a report that says what percentage of my users are male or female, what their age ranges are, and even their interests broken down into various categories.
While this is all quite interesting, I realised I’m not making any decisions based on it, so I decided to disable it.
What does this have to do with advertising
One of the main uses of the data is to provide more relevant advertising. That will still be enabled for Tic-tac-toe Collection for users who have personalized ads enabled. It functions based on information already collected about you (from other places that have Google Advertising ID enabled for their analytics).
With regards to Google, Tic-tac-toe Collection will no longer be a source of information about you, but will still use it if it is available.