Unity Port for A Clockwork Brain – DevLog #11

DevLog Header 11 SmallMulti-week Devlog 12/12/14 – 26/1/15

Hi folks.

Besides a much-needed holiday break, we have been working almost non-stop at A Clockwork Brain.

A Clockwork Brain on the Amazon Appstore

In early December we launched a paid version of A Clockwork Brain, with 12 mini-games, on the Amazon Appstore. This makes A Clockwork Brain available to all Kindle Fire devices of 2nd generation and up, including the Kindle Fire phone. Since then, it has already been featured twice, which is really great!

Continue reading

Designing Missing Tiles

Counting items is not an uncommon mechanic in brain training applications. In A Clockwork Brain, however, the logic is reversed; players have to count what is missing, without being distracted by what is there. This can lead to very interesting gameplay, as the boundaries between the tiles are lost and the border-less shapes that are created become more homogenous and more difficult to process than in a typical count-the-blocks game.

Missing Tiles mini-game from Prototype to Final version

Continue reading

Unity Port for A Clockwork Brain – DevLog #10

DevLog Header 10 SmallBi-weekly Devlog 24/11 – 5/12

We’ve skipped reporting last week’s progress, as we were much busier than normal. In general, we’ve been working on finalising a number of peripherals and polishing the rest of the game.

We encountered a serious issue with the Facebook Unity SDK integration caused by a critical bug in the Android version of the SDK itself. In summary: if a user wants to login in FB (e.g. to share their score) and then cancels their action, on a retry attempt, the app will crash. You can fix it in two ways:

  1. Getting the newest (6.1 beta) version of the SDK or
  2. Using this easy patch for the current (6.0) version.

In other news, we finalised importing all custom borders for the game, and they actually look very nice on widescreens! Besides that, we’ve been working on an asynchronous texture loading method which should improve loading times.

Moving to new features, we have started working on the Store and Upgrades screen, which should be finalised this coming week.

Stay tuned!

Designing Chase the Numbers

Several years ago I watched a video of a chimpanzee playing a memory game on a touch monitor and performing astonishingly well, even better than humans that tried the same task.

The game was created by scientists, who wanted to study the memory of chimpanzees and how it compared to humans’. (There is also a longer video of a similar experiment, which gives more information). It was a really impressive, to say the least! The chimp in the video plays really fast, and succeeds 90% of the time.

When I started designing mini-games for A Clockwork Brain, I remembered that video and decided to do a game that was based on it. So, I started working on the game design, and came up with a set of attributes and twists that shaped up the final game.

Chase the Numbers mini-game from Inspiration to Final version

Chase the Numbers mini-game from Inspiration to Final version

Continue reading

Designing Directions

As I’ve mentioned before, in A Clockwork Brain we are using hundreds of items taken from The Clockwork Man games. Among these items were some swords, daggers and various tools like a screwdriver and a pair of scissors. In Clockwork Man they were mainly used in hidden object scenes, where players had to find them among other items in cluttered rooms, such as a blacksmith’s workshop, an engineer’s lab and a basement.

Directions mini-game from Prototype to Final version

Directions mini-game from Prototype to Final version

All the items I mentioned above share a common attribute; they are long and pointy. If you look at each one of them, it is obvious that they points to a certain direction. This attribute was the base of one of my favorite mini-games in A Clockwork Brain: Directions.

Continue reading

Unity Port for A Clockwork Brain – DevLog #9

DevLog Header 9 Small17/11 – 23/11


Last week we kept working on the analytics and social elements of the game. This means we finalised some Flurry events, implemented Facebook sharing, leaderboards, and achievements. We completed our framework abstraction regarding leaderboards and achievements, as well as sharing to media such as Facebook & e-mail. Until now all of our leaderboards and achievements were working with dummy scores, but last week we moved to actual score submission and checks for achievement completion.

Integrating the Facebook SDK took longer than expected. In the beginning, wanting to avoid adding another plugin, we thought we could just link to the Facebook app through the game. We expected that this would launch a user’s already installed Facebook app. However, the link only opened a browser page, which was not what we wanted. So we integrated the official Facebook Plugin for Unity. This unfortunately added 7 more MB to the project and has been under implementation for 2-3 days now, longer than expected.

We also finished the client-side functionality that handles user authentication for our back-end. After that we began work on the synchronisation component, that sends local data to the server when a user goes from offline to online state. Finally, we implemented some low level abstractions and functionality like retrieving the app bundle version and the current session ID.

On another note, we have also been busy working on a dedicated site for A Clockwork Brain. We can’t wait to show you the end result!

Designing Sculpt Away

Even though I don’t really recall when or how I came up with the idea for this mini-game, I remember that I really enjoyed designing it. Based on a simple idea, it turned out to be very fun to play. The Mayan theme we designed for its graphics fits the game mechanics perfectly and creates a memorable experience.

Scuplt Away mini-game from Prototype to Final version

Scuplt Away mini-game from Prototype to Final version

Continue reading

Unity Port for A Clockwork Brain – DevLog #8

DevLog Header 8 SmallWeek 10/11-16/11

Well, another week has flown by, and boy, have we been busy! You might have noticed a slight delay in the releases of our dev logs. Work has piled up, to the detriment of the log’s punctuality. But here we are! :)

Last week, we worked a lot on the Leaderboards and Achievements side of the game. We included both Amazon Game Circle and Google Play Services; they both have official plugins for Unity so the integration was not very difficult. We also created abstractions in our custom Framework, so now we can just say:

 public void OpenAchievements() {

We don’t specify any specific provider (Amazon/iOS/Google Play), our Framework handles the rest.

Another task that we finished this week was the setup of the Daily Rewards panel. This panel awards the Player with an increasing number of Tokens for every consecutive day she logs in the game.

We also solved our problems with Flurry – it turns out that the culprit was none other than the android manifest file and our sloppy copy/paste. Prime 31’s plugin overrides Unity’s default native activity, and for the plugin to work, it should be the only native activity authority in the android manifest file. For example:

<activity android:name="com.prime31.UnityPlayerNativeActivity" android:label="@string/app_name" android:screenOrientation="sensorPortrait">
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
 <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
 <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />

Our mistake was that we had also forgotten to erase the default Unity activity:

 <activity android:label="@string/app_name" android:name="com.unity3d.player.UnityPlayerActivity" android:screenOrientation="sensorPortrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale">
 <action android:name="android.intent.action.MAIN" />
 <category android:name="android.intent.category.LAUNCHER" />
 <meta-data android:name="unityplayer.UnityActivity" android:value="true" />
 <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />

So remember, only ONE can handle UnityPlayerActivity. Sort of like Highlander, really.

As we’re nearing the end of the porting project, our QA process is becoming more and more rigorous. Each time we do QA, we try to follow each platform’s Core testing guidelines:

We have an Excel file where we tick off the passed tests for each build target. That helps a lot.

So that’s all for last week, thanks for reading!


Designing Logic Tiles

This mini-game was directly inspired by one of the puzzles in another Total Eclipse game, The Clockwork Man: The Hidden World. In that game, the player entered a Steampunk submarine and had to solve a puzzle in order to activate the engines. It was a unique and challenging puzzle, based on logic operations and pattern matching.

Logic Tiles relies on the same concept, while introducing additional attributes that create a somewhat different mechanic.

Logic Tiles mini-game from Prototype to Final version

Logic Tiles mini-game from Prototype to Final version


There are two sets of tiles at the top of the screen and an addition sign (+) between them. At the bottom of the screen there are 2 to 4 options for the player to choose from. The player has to mentally perform the logic addition on the top two cards and select the option that corresponds to the result of the operation.

Difficulty & Progression

The difficulty of the game is affected by several parameters, which allow for a great variety of difficulty levels. The size of the grid reduces as the levels increase, which means that the tiles are getting more in number and smaller in size. Also, the fill rate can significantly make the game more challenging; the fuller the shape, the more information to process. Another attribute is the options the user can choose from also increase, starting from 2 and going up to 4.

Symmetry in Logic Tiles

Levels of symmetry in Logic Tiles (horizontal, vertical, both, none)

A very important factor is the symmetry level of the shapes produced by the filled tiles. The more symmetrical the shapes, the easier for the brain to process and make operations on. The symmetry can be on one axis (vertically or horizontally), on both axes, or there can be no symmetry at all. The higher the symmetry, the easier the level, because the brain can infer parts of the shape just by processing half or a quarter of it. When the symmetry breaks completely, the brain needs to process the whole shape.

A final parameter is the type of operation. I mentioned that players have to add the two shapes together, but there is another option as well, which appears in more advanced levels; subtraction. Players have to visually subtract the second shape from the first. This is significantly harder than adding the two shapes together, so it can make the game very challenging.

Subtraction Operation in Logic Tiles

Subtraction Operation in Logic Tiles

Insane Round

During the most difficult levels of this game, the tiles become very small and the grid fills up to a large percentage. There is no symmetry in both the cards and the options and the frequency of the subtraction operation increases significantly.

Until next week!

Dimitrios Bendilas
Lead Game Designer