0.19 finally brings Prime support to iOS. This includes all the current features of Prime, including the removal of ads, unlimited campaign skips, two extra icons, and two extra colors.
If you’re interested in trying it as soon as possible, please join the beta on Testflight. Purchases made on Testflight versions will not actually charge you, but will also not be available outside of Testflight versions.
The Prime in-app purchase is now available to all iOS users.
- Fixed a crash issue that could occur on multiplayer setup game, depending on the state of the host.
- Fixed a crash on iOS 13 when closing popups.
Preliminary release of topology options. Currently only available from custom game > advanced options. Also
- Made hosting a multiplayer game more robust.
- Game simulation is now triggered when a multiplayer game settings change remotely.
The next version of Tic-tac-toe Collection will include support for playing on different topologies. Other games have done this before but probably not with so many options. To be specific, the options available will be:
- Horizontal cylinder
- Vertical cylinder
- Horizontal Möbius strip
- Vertical Möbius strip
- Horizontal Klein bottle
- Vertical Klein bottle
- Real projective plane
The ones that have horizontal and vertical versions are basically the same, but it does make a difference for how Drop Four is played.
A cylinder is formed by repeating the play space in one direction, and a torus is formed by repeating it in both directions.
A Möbius strip is like a cylinder, but each repeat is flipped (so a horizontal Möbius strip repeats horizontally, but each copy of the board is flipped vertically relative to its neighbours).
A Klein bottle is like Möbius strip, but also repeats (normally) in the opposite direction.
The real projective plane is like a Möbius strip in both directions. That is, vertical copies flip horizontally and horizontal copies flip vertically.
That last item, the real projective plane is interesting and led to a new game option being added. One of its odd features is it makes all the corner squares diagonally adjacent to themselves. This means, for instance, you can get three-in-a-row with just two moves. This seemed odd to me so I did a bit of investigating. The corners are not really adjacent to themselves, but just appear that way because trying to render the real projective plane on a flat surface is very misleading. The end result, is a new game option:
“Allow cell reuse” determines whether the same cell can be used more than once in the same line. For example, imagine playing on a 3×3 torus with a winline size of 4. If you get three-in-row horizontally, it would appear you have also have four-in-row (and five-in-a-row and six-in-a-row etc.) if you allow cells to be reused. Whether allowing it or not makes for better gameplay or not, I don’t know yet. But the option is there.
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.