xikka

A collection of things I have made and things I find interesting.


A reflection on Square Worlds

Friday, 3rd July 2020 ◆ Pig-tail girl's mirror (5)

Square Worlds has had more success than other mobile games I've made. It still rests solidly in the "losing money" zone, but regardless I'm happy with how it went. I want to mention a few of the things I am specifically pleased with.

Secrets

The game has several secrets in it whose presence is not advertised before their discovery. I was really happy to see that people enjoyed finding and uncovering them. I am a big fan of secrets and always appreciate games which have them. The Witness and Cinco Paus are two of my favourite games, both full to the brim with mind-blowing discoveries to be made.

The secrets I included in the game were (spoilers, obviously):

Achievements

Initially, the game shows you that there are 5 achievements to unlock. You can tap and hold on an icon to find out the name of the achievement, and how to unlock it.

Achievements

Once you unlock an achievement, it tells you that the corresponding "golden" tile is now available. This was my attempt at staggering the more complicated concepts, so as not to overwhelm a player with the golden tiles from the beginning. I did enjoy gathering these 5 achievements. However, the process can be frustrating to a player who is only interested in getting a good score. In future I will try to separate hidden content with content which is necessary for scoring.

Goldens unlocked

There are also 5 hidden achievements. When you unlock any one of them, a new row is displayed on the main menu. People got excited when a whole new row of achievements appeared. I love it when new elements in a UI appear after discovering something, so was delighted to recreate this feeling.

Hiddens

Before unlocking these hidden achievements, you are told only the name - not how to unlock them. This creates an exciting challenge: can you work out how to unlock the hidden achievements?

Midas

I received a few questions from players asking how to unlock some of the more obscure ones, so I gather people were able to work most of them out. If you can't work one out though, it might be a bit annoying. All in all, the achievements went down really nicely. I like achievements which encourage you to play completely differently, and allow you enjoy the same game in a new way.

Metagrid

The biggest secret of the game is the presence of a metagrid. I didn't tell people about the grid, so was delighted when people discovered it - and even began competing to get a good position on the leaderboards. The leaderboards are only visible after you complete your first metagrid, which I think makes the player feel they've achieved something exciting.

The game consists of placing tiles in a 5x5 grid. However, after completing 25 games, all of those grids combine to form a bigger 25x25 grid which scores using exactly the same rules. This changes the way the game works, and will encourage players to prioritise different tiles.

Metagrid scores

Working towards a good metagrid score can be a bit of a grind, however. One person described getting a good metagrid score as intense bookkeeping, and I'm not sure that's a compliment!

Highscores

I was unsure whether to invest the time in implementing the leaderboards at first, but I am so glad I did: the highscores were a massive part of people's enjoyment of Square Worlds. Scores add a lot of replayability and interaction to the game, so for puzzle games in the future I will put a lot more weight on this. I opted to create and use my own API and server for this, as I didn't want to fragment the scores between platforms. So far the server is holding up, and there haven't been any dodgy submissions.

I was thrilled to see some friendly competition on Twitter, too.

Web version

The web version of the game was an afterthought, even though LibGDX supports HTML5 export using GWT. The mantra for LibGDX's GWT export is compile early and often, but being an afterthought meant I was bitten by this. Exporting to GWT was not straightforward, and I had to swap out some unsupported classes and features of Java.

However, this turned out to be massively important again. People are able to find and play the game on itch, and can download it on mobile if they enjoy it. This means there's a very little investment to trying the game out - and I will 100% keep making web versions for games I make in the future.

Monetisation

It is unlikely that any game will make me a real amount of money, but I wanted to have some form of monetisation in the game to allow people to show support if they wish. And, you never know, maybe the game would be a hit!

The game is free, with a single IAP to unlock more content. A previous game I made (Spellsmith) was initially priced at a couple of quid - this made the barrier to entry too high, the number of people downloading the game after visting the store page was dismally low. With Square Worlds, people are much more likely to try the game out. I will stick with this model going forwards.

I would have liked to add...

I think weekly challenges with their own leaderboards could have suited Square Worlds well. It would encourage people to come back and checkout each week's challenge. They could include twists, such as "you don't have to place next to the last tile", or "placing a blank tile only gives 1 coin". In the end, this would have been a lot of work - and there aren't enough players right now to warrant it.

I initially wanted to make four game modes, however I struggled to come up with enough interesting scoring mechanisms - and my artistic skills were really being pushed to the limits as it was. I think three is certainly sufficient for now, and I think the two extra modes feels a fair reward for the small price of the IAP.

Summary

In summary, I'm pleased! I have received some lovely 5-star reviews on the app stores, and people have really enjoyed playing the game. That's all I can ask for. If I can carry on making games of a similar scope I will be happy.

Comments

tann ◆ Friday, 3rd July 2020 at 11:35

Insightful post, this is what I've been thinking about recently too. I can't believe you didn't mention your celebrity endorsement ;)