Sponsored By

Featured Blog | This community-written post highlights the best of what the game industry has to offer. Read more like it on the Game Developer Blogs.

Mini-Postmortem: Causality - Classic Puzzle Game Reimagined

What went right and what went wrong with "Causality - Classic Puzzle Game Reimagined", an iOS remake of the classic puzzle game, "Lights Out". Download and revenue data is also shared in this article.

Edmund Ching, Blogger

July 14, 2014

16 Min Read

About The Game

"Causality - Classic Puzzle Game Reimagined" is a modern remake of the classic puzzle game, "Lights Out". For the uninformed, in the original game, given a board, usually a 5x5 grid, some grids are lighted up while others are unlit. Pressing a grid would toggle its light state on or off and at the same time toggle the adjacent grids' light state. The objective is to toggle all the grids into the "unlit" state. In Causality, the base gameplay of toggling "grids" (or "tiles" in Causality) is the same, while the objective has changed to "toggle all the tiles into the same color". The following states what differs Causality from Lights Out

  • Causality is stage based

  • Each stage has the tiles arranged in various shapes instead of a sqaure grid as per Lights Out

  • Causality currently has a total of 240 stages, split into 8 chapters. Each chapter beyond the first introduces a new mechanic, or "special tile" that changes up how the tiles affects one another.

  • 5 special tiles will be introduced throughout the course of the game. (The last two chapters consist of "Challenge" stages of higher difficulty instead of introducing new mechanics)

  • All 240 stages are hand-designed rather than being randomly generated

About Unexpect3rd Developments

"Unexpect3rd" is a moniker that I, Edmund Ching goes by when identifying myself with the games I make. By "games I make", I do mean games that were designed and developed solely by me. Why I would highlight this is because I do have a day-job as a game developer for a game studio. I am most fortunate to have bosses who understand my circumstances and allowed me to work on and release my own games (outside of working hours, of course). As such I would also take care not to have any of my own games overlap or conflict against the games that are produce by my employing company. I have worked on multiple mobile titles for 3 different start up game studios in Singapore over the past 4 years. Each of these studios has at least one hit game on either the App Store or Facebook. As for my own games, I have previously released two other games onto the Apple App Store, Causality is the third game released to the public.

What Went Right

Reducing Difficulty

Aside from other attributes and variables, the most visible attribute that would define the difficulty of a stage in Causality is the "Minimal Required Move". Players are not forced to meet the minimum move in order to clear a stage, stages can be cleared as long as all the tiles can be toggled into the same color. Each chapter would always start off with a few stages of "Min. Move 1" to allow the players to get the hang of anything new being introduce in that chapter, before stages progress to require increasing number of moves as the minimal move count. 

During alpha, I had 3 chapters (base mechanic plus 2 introduced mechanics) worth of stages designed before I showed it to people around me for play testing. At that point the highest difficulty each chapter would have would run up to "Min. Move 8". At this level of difficulty, even those with minimum move 6 or 7, playtesters found the game to have reached "frustrating hard". On the design side, these levels also posed problems as I had trouble trouble testing for alternative solutions that actually uses lesser than the intended minimal moves, due to the increased complexity of those stages.

I redesigned those 90 stages and decided to stick to a chapter's highest difficulty at "Min. Move 6". Even amongst the 30 stages of a chapter, only the last 2 stages are of "Min. Move 6". This freed up more slots for me to have stages of lower difficulty which consequently added a greater amount of positive experience for the players. Players have more stages at the beginning of each chapter to understand the new mechanics, and many would experience the "joy" of breezing through a good number of stages before encountering something relatively more challenging in the second half of the chapter. Around minimal moves of 4-5, the stages have been feedback as challenging rather than frustrating, thus somewhat proving the experience turned from negative to positve.

Visual Style Iteration

My disclaimer here is that I have no background nor training in graphics design. Designing the visuals for any of my games had always been a long and tedious challenge, many times more so than actually coding the game. My initial look-and-feel for Causality was based off saturated contrasting colors as you can see from the following image (which was my very first mock up for Causality) and video.


If anything, from the video you can tell I really needed a lesson on color theory. I also went through many iterations on the tile designs.

Without much design experience, my alternative source of idea will be referencing other games. I began downloading and referencing games that uses such styles. 

Taking cue from the referenced games, wanting to be minimalistic, I cleaned out as many components from my in game screen as possible, cut out texts and went for the "flat" look with the tiles. Overall I achieved a rather flat and clean look which resounded positively from most players (or at least all of those who provided me with feedback either through the forums, social media or store reviews). 

Personally, I have the urge to further tweak the visuals to make it look slightly more polished, because it feels like the "clean flat" look I got is treading very close to "lazy amatuer programmer art", which in a way, is still true.

Complimenting Sounds

This was as hard as I had imagined. I had always wanted this game to be played relaxingly. There was no countdown timers, no combo meters whatsoever, I wanted the players to enjoy the game at their own pace. To compliment that "feel" and to stay true to being "minimalistic", I decided to not have a looping background music and instead let the sound effects of a tapped tile reverberate into ambience. To my ears, acoustics sounded the least aggressive or peircing and weirdly therapatic when reverberating. The way I designed the sound was more of "What I like" than what it should be, but surprisingly (or not), I was not the only one who appreciates that and the sounds was well received most of the players.

What Went Wrong

Editor Not Fully Functioning

It is almost common sense that when developing a stage based puzzle game, one should always have a level editor. With hundreds of levels, an editor would greatly speed up the churning out of stages. Unfortunately, the stage editor I had was missing crucial functions that was supposed to speed things up. My stage editor allowed me to design stages as per expectation: placing tiles, setting colors, setting special tiles, playtesting, etc. It was however missing a data output function. Having designed the data I/O  in the game without thoughts of a editor first landed me with much technical difficulty when implementing the editor. Then, rather than overcoming this difficulty, I chose to jump straight into designing stages with what I had. This shortsightedness resulted in the following work flow:

  1. Design a stage using the editor

  2. Playtest it in the editor

  3. Write down the stage layout and solution coordinates in a notebook (above-right pic)

  4. Repeat steps 1-3 until X chapters are filled up

  5. Manually entering the noted-down stage data into the data file

  6. Play through all the stages to ensure correctness

  7. Go back to step 1 and repeat until 240 stages are completed

  8. Play through every stage again to ensure correctness

Without the data output function of the editor, steps 3 and 5 resulted in plenty of human errors in addition to a much slower overall design speed. It was a very painful procedure, and i deserved the pain for my laziness.

Naming Without Researching

If you had watched the video above, you would notice the game was originally titled "Singularity". That title was loosely based on the effect that the objective of each stage was to turn all tiles into the same color, a single color. At the eleventh hour, I decided to change the title to "Causality - Classic Puzzle Game Reimagined" instead. Firstly, I thought "Causality" fits the theme better, as each cause (tapping a tile) would result in an effect that would affect others. Cause and effects! Secondly, I thought having a few more generic descriptive gaming terms in the title would help with SEO. Oh boy how wrong I was. I did no research beyond my understanding of the word and submitted the game with it's current title. 

Only when the game was officially available on the Apple App Store, I realized searching for the one word "Causality" returned me a different game, with my game buried below. Even searching for "Causality iOS" on google returned a giant list of the other game. And that thing about including more words in the title? I had to search exactly for "Causality - Classic Puzzle Game Reimagined" in order for my game to show up, I am pretty sure that is not good SEO at all. I believe the other "Causality" was a one word title and was much more popular and that was why my "Causality" got buried.

Failing to research and ended up getting buried, cause and effect!

Not Localizing

For one of my previous released game, Rotapix, a photo-rotation puzzle game, I localized it into Chinese and made it a seperate game from the English version. It received pretty good download counts from the Chinese speaking countries particularly China, even much of the "tail" before the game flatlined came from China. Even much of the Ad revenue earned via Admob came from China.

With that precursor, I told myself I would always try to localize my games, at least into the Chinese language. Causality was designed with minimal texts, the only text you would see are: the title, the chapter names, the "next stage" label and the most texts being in the "Extra" section where the IAPs are. This set up was almost heaven-made (actually I made it) for localization, especially when I could perform the Chinese translation without cost, but my eagerness to release the game drove me to push the game out without any other languages included.

This resulted in missed opportunity in earning more downloads. As of today, Causality received the most downloads from two countries that does not have English as their main language: Germany and China. And the spike in download counts came after the following articles and videos was published and got circulated:

GameMob: Indie Spolight - Causality - Classic Puzzle Game Reimagined


炎炎夏日里的一丝清凉 - Causality <loosely translate to "A sliver of coolness in this hot summer">


I believe it is still not too late for me to implement the localization module and it can be expected in a future update.


Marketing, Marketing, Marketing

Marketing has always been a nightmare for indies, especially when the indie is still a nobody and extra especially so for solo developers with practically zero fame and budget, and that, is who I am. For Rotapix, the only form of "marketing", if you can even call that, was sending out game review requests to a little above a dozen websites that covers mobile/iOS games. Even with that little effort, I managed to catch eyes at one website, which helped boost download for a brief moment. Compared to that previous attempt, this time I would consider myself having gone in with gun blazing.

I was inspired by a local fellow indie developer, WhiteSponge. When he released his first game, he took many marketing actions which I never had before (obviously, all I did was sending review requests). I took the time to research how to write up a passable press release and who and where to send it out to. I prepared my website with Causality related contents and for the first time, I dabbled a video editor to create a video trailer for Causality.


I made screenshots and the video viewable and downloadable from my website. When the game was approved by Apple, I held back the availability date. Doing so allowed me to use the generated promo codes to give "pre-release access" and together with all the other materials I prepared, screenshots, video trailers and writing a pitch based on my learnings from that interview with Erica Sadun as well as a few other articles, I sent out emails to as many websites as my account could generate the promo codes. To cut this part of the story short, none of them performed the pre-release review and only a small fraction of them even bothered to have an automated/tempplate reply sent back to me. Nope. Well, all except one kind soul, but that was more of a weekly game round up than a featured game review, still appreciate it though.


I also went around many mobile gaming or indie gaming related websites with forums to post about my game, both before and after release. I made sure to reply to any responses those threads received. I never was a Twitter person, more of a Facebook guy, but for the sake of reaching out, I started becoming like 100 times more active on my Twitter account. I really made use of related hash tags to get my messages out, spread my links and truly understand the marketing potential of the Twitter space.


At that point, I was still not getting downloads. I was not getting any further media eyes. I was not getting responses except for the occassional supportive messages on the forums. Nearly 6 months of work and Causality could not earn me a cup of coffee. What went wrong with my marketing effort? Honestly I have no idea. Does the game suck? It has it's flaws I know, but I have not received an outright negative feedback about it yet. Oh, maybe not getting the downloads IS the feedback. 


Numbers and Charts

This is the part where I bare all the numbers which perhaps some of you read a postmortem for. These are not numbers that I should be proud of, but I am not showing off here, I just want to let those who are interested to know more. Note that my native country is Singapore.

The above shows the total downloads to date and the top ten countries with the most downloads. Note the two spikes are results of the earlier mentioned articles and videos being circulated.

The above here shows the total revenue made from IAP. I provided two IAPs, one for hint packs (99 cents) and another instant unlock of the later chapters + ad removal ($1.99). According to AppAnnie, 95% of these purchases came from the level unlocks+ ad removal. I had also provided alternative means of getting free hints (at a smaller amount) as well as unlocking small chunks of the later chapters' stages by watching advertisement videos, but these alternative options seem surprisingly unpopular. From Adcolony, to date I have earned $1.00, and from Chartboost, there was this one weird day that brought in $11, otherwise it's median would have been $0. And from Admob's ad banners:

Roll or Fold

Now that the numbers has been revealed. These are the report cards of my 6 months of work. It is with such outcome that I border on whether to carry on refreshing and pushing this game or to call it quits with Causality and move onto a new project.

Some may think 6 months is not a lot of time, or that 6 months is too long for such a game, but do understand that I am working 9 to 5, and was clocking an extra 4-6 hours daily just to work on this, forgoing pretty much everything else in life. I was not expecting a jackpot runaway hit game, but I had definitely expected better results than this.

I can make this better, or I can learn from this and make my next one better. Either way I am far from giving up on making games.

Take Aways

  • Reseach your choosen game title

  • Localize, especially if your game is not text intensive

  • Play test early and get a good gauge on game balance

  • Always listen to your graphics/art designers (unless you are one yourself)

  • Marketing can be way, way, way much harder than developing the game itself. Prepare yourself.

  • "It does not matter how much time or effort you put into making something, people judge only the final product, if there is even one" 

Data Box

Developer: Unexpect3rd Developments

Game: Causality - Classic Puzzle Game Reimagined

Released Date: 17 June 2014

Length of Development: 6 Months (4-6 hours daily off office hours)

Platform: iOS (Universal)

Engine Used: Cocos2d-x 2.1.4

If there is anything in the article that I should censor do contact me, edmund.ching ( at ) unexpect3rd ( dot ) com 

Read more about:

Featured Blogs

About the Author(s)

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like