Posts
Blog

From 0.16.2 onwards, the app will not collect your Google Advertising ID as part of the analytics the app uses. The privacy policy has been updated appropiately.

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

You can opt-out of Google’s advertising tracking completely.

TLDR;

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.

  • Enabled iPad, landscape iPhone, and iOS 9 devices.
  • Fixed some screens not handling safe area insets (i.e iPhone X) properly.
  • Enabled rewarded ads for skipping campaign levels on iOS.
  • Improved layout on tablet and landscape phone screen sizes.
  • Improved campaign skip dialog.
  • Hide the add remote player button when not in a network game.
Game results on iOS in 0.16

I am happy to announce the beta version of Tic-tac-toe Collection is now available on iOS via TestFlight.

The game was always intended to be multi-platform, and the iOS version has been mostly functional the whole time. My recent work has been polishing things up and adding some platform specific features.

Platform specific features sounds more exciting than it really is - I was actually fixing analytics, crash reporting and adding ads. For the time being, I have not added in-app-purchase support so that means no Prime just yet.

Additionally, the app is limited to iPhones (no iPads) in portrait mode (you can still install on an iPad like any other iPhone app). The Android version does technically support tablets and landscape, but it has been a little half-hearted, so I decided to wait until I had improved it before enabling it for iOS.

But apart from that, all existing features are supported, including cross-platform multiplayer.

  • Fixed an issue that could break progression in campaign mode.
  • Updated “Show AI thinking” to support panning and zooming.
  • Preparation work for the launch of iOS.
  • Fixed an issue that would prevent multiplayer games being browsable.
  • Fixed an issue with the new modify game flow not loading settings correctly.
About page in 0.15.1
  • Fixed multiplayer games not being launchable without existing settings.
  • Changed the About page to use bottom tabs.
Modify campaign game in 0.15

0.15 brings a new flow for starting or loading a game based on other games.

It is currently accessible from the load game page, as well as relevant items on the main page, and provides a number of options depending on the source.

  • First is quickplay, which is always available. This lets you start a new game with all human players, or one human player and AI of a specified difficulty.

  • Setting up a new game (with the normal setup options) is also always available.

  • If it is a campaign game, you can continue the campaign. You can also load the game as a normal game (this won’t affect campaign progress).

  • If the game has existing game data (i.e. you are loading a game) then you can load the game but edit the players. This could be useful if you were playing against a human and want to continue with the AI for instance.

  • Finally, all these options can be used for local games and network games. This was a big part of the motivation since network games can normally only be continued with the exact same devices. If you need to continue with a different device, you can load and host the game and then change the players.

This is all part of a wider effort of general quality-of-life improvements. The next thing will be a revamped game selection screen which will make significant use of the new game buttons.

Modify game in 0.15
  • Added a new game launch flow that allows you to modify a game, or quickly launch a new game with the same settings.
  • Fixed a bug that would prevent game simulation results from displaying.
  • Fix release notes not showing a loading indicator.

Tic-tac-toe Collection has been in development for nearly a year and the version number is still less than 1.0, suggesting the game is not yet “complete”. Although my intention is to continue updating the game while ever I can think of interesting things to do, there are specific features that I feel are required that are yet to be implemented.

Online multiplayer

Local network multiplayer has been a feature for a while, but online multiplayer has always been my plan. This includes private matches and matchmaking.

Matchmaking in particular has a lot of interesting issues associated with it because of the large number of game options available.

Ultimate Tic-tac-toe

Ultimate Tic-tac-toe is one of the most well known Tic-tac-toe variations that is actually possible to play competitively. As well as the traditional 9×9 grid with the normal rules, my plan would be support various sizes as well as many of the existing game variations as make sense.

One particularly interesting idea would be to support different rules for the inner and outer grids (like each sub grid being misère while the outer grid is not) and perhaps even different rules for each of the grids. The hardest part of this may well be coming with sensible UX for selecting the options and then communicating them in-game.

Other game variations

There are other game variations I’ve had in mind since I first started. These are probably not absolutely required for 1.0.

As with Ultimate Tic-tac-toe the aim would be to support as many variations as possible.

Multi round matches

Simple best-of-n setups, as well just an ongoing match that keeps track of the score as you keep playing games.

Time limits

A simple time limit per move as well as a chess clock option.