Solids is a puzzle game for iOS and Mac that I spent a lot of time making. The idea is simple: The game starts with a board of partially filled circles. Each circle gets filled only if it matches the colour of the top header dots. You swipe horizontally or vertically to move each row or column of circles, and the objective is to make them all solids.

Concept

We are all influenced by what has come before and this game is no exception. I think my initial inception was from one of the chapters in Math Circus1. I didn’t want any fancy graphics and I knew I had to use gestures for interactions on a small screen. However one small problem with removing the seals is that it also takes out the indicator for where circles need to be placed. I experimented with labeling each circle with numbers, so players need to arrange them in increasing order. But this was a bad idea in many ways, as it is (1) hard to read, (2) not clear without instructions and (3) ambiguous whether the ordering should be horizontal vs vertical. I also didn’t want to incorporate too many colours because it would be hard to differentiate between them. Using the header dots was a good alternative in my opinion.

Good ideas and inspiration lay the groundwork, but continuous improvement and hard work are required to create something that stands out. As simple as the concept was, it took a lot of experimentation in different directions to finally get to that point. Overall I think I spent a lot of time on polishing the game UI and interactions with the player. There’s often the idea of shipping the most bare-bones app possible in order to gauge the market, and push out updates as fast as possible. However I think that most games are an exception to this rule, especially games that are defined by the experience.

Feedback

Nevertheless, one of the most important things that I did was to get feedback from others. As developers, it is so easy to get “used” to testing an app that we get biased into thinking that everyone will be able to easily pickup the game. There was a fine line between being too complicated and too trivial, and it would have been very hard to gauge without the feedback of others. I want to thank everyone who beta tested and provided their thoughts!

Development

One thing I did from the start was to experiment and not worry too much about efficiency and code quality. This was also early in my Swift career and I didn’t have too much experience with its coding style/organization. I used simple UIViews to display the circles/dots and this worked well up to and including the final concept. However it was then that I realized that, aside from the UIViews, I could easily port the game to the Mac. I remember watching a couple of WWDC videos on how the iWork team created a shared codebase. I rewrote the game using CALayers, which also allowed me to animate how much a circle was filled in (a lot more easily). I have to say, one of the benefits in the Apple ecosystem is that many of the Foundational frameworks are cross-platform and this makes it very easy to target multiple platforms.


Solids is something I spent a lot of time experimenting, building, and polishing. The game is simple to pick up and each level is uniquely intriguing. I would appreciate greatly if you can check it out and would love to receive any feedback that you might have! I usually read tweets @hweetty.

1. I remember playing Math Circus in elementary school (as well as those typing tutors, etc). I guess its my version of Chris Liscio's growing up with computers.