One Button Travel Trailer

Aga Lison and I are working hard on finishing One Button Travel our new game for iPhone, iPad and Apple Watch. Like with Rules! we are working together with TheCodingMonkeys as a publisher again.

Veröffentlicht unter Indie Games | Hinterlasse einen Kommentar | 80 views

Swift 2.0: Pitfalls mixing protocol extensions and inheritance

This post refers to Swift 2.0, beta 6:

Protocol extensions are great to provide default behavior for a protocol. But beware. They expose some dangerous traits when used in combination with inheritance.

//: Playground

import UIKit

protocol Winable:class {
    func win() -> String

extension Winable {
    func win() -> String {
        return ("You won")

class BattleDelegate:Winable  {
    func win() -> String {
        return ("You won this battle")

class EpicBattleDelegate:BattleDelegate {
    override func win() -> String {
        return ("You won this epic battle.")

class LotteryDelegate:Winable {

class LotteryBigPrizeDelegate:LotteryDelegate {
    func win() -> String {
        return ("You won the big prize")

class Game {
    weak var delegate:Winable?

    init (delegate:Winable) {
        self.delegate = delegate
        print (self.delegate?.win())

let commonBattleGame = Game(delegate:BattleDelegate())
//prints "Optional("You won this battle.")"
let extraordinaryBattleGame = Game(delegate:EpicBattleDelegate())
//prints "Optional("You won this epic battle.")"

let commonLotteryGame = Game(delegate: LotteryDelegate())
//prints "Optional("You won")"
let extraordinaryLotteryGame = Game(delegate: LotteryBigPrizeDelegate())
//prints "Optional("You won")

My assumption was that LotteryBigPrizeDelegate would print:

"Optional("You won the big prize")

Well. I was wrong. I didn’t win the big prize.

Conclusion: If you want to subclass your next fancy class that conforms to a protocol with an extension be careful: You have to implement all protocol functions the subclass wants to change in the root class, too. If you don’t your subclass won’t be able to override the protocol’s standard behavior defined in the extension.

Note: Everything would work fine if I would instantiate LotteryBigPrizeDelegate with the type „LotteryBigPrizeDelegate“ instead of „Winable“. But that would defy the notion of using a delegate protocol at all, wouldn’t it?

Update: @jckarter states „Protocol extensions can’t extend a class method table. The subclass method shadows the extension method.“

Veröffentlicht unter Mac | Hinterlasse einen Kommentar | 247 views

Rules! hits the iOS App Store


After six month of hard work Rules! is ready for launch.

On it’s first day it has been number 1 of all paid apps in Germany and we were featured all around the world.

It’s an exciting time.


Reviews are pouring in.


Rules! is that sort of lightning in a bottle that only comes along every so often. I’d rank it right up there with Threes!, and not just because both games so gleefully abuse exclamation points. – Gamezebo

Veröffentlicht unter Indie Games, Mac, Rules!, Text | 1 Kommentar | 25 views

Short notes

2 Dreams will be shown at AmazeFest next week. It made the Shortlist for the „Most Amazing Game“ by the way.

I am working on a new project: Rules! If you want to learn more about it you can meet me at AmazeFest or watch the first episode of „Monkey Business“ where Martin Pittenauer (@map) is documenting the work at German Game Studio TheCodingMonkeys (Carcassonne, Lost Cities).


Veröffentlicht unter 2 Dreams, Allgemein, Indie Games, Rules!, Text, Video | Hinterlasse einen Kommentar | 16 views

2 Dreams – Game Design Dojo

The first reviews of 2 Dreams are coming in:

 writes for “Surreal, unique, and original, 2 Dreams is an intriguing narrative adventure puzzler that is a special kind of game.” I really love the depth of the review. It’s meaning a lot to me.

Owen Faraday did a little interview on Pockettactics and says: “We’re talking about 2 Dreams, his surreal new iOS game — his first video game — and 2014′s most inventive game yet.

On the German site they say: “2 Dreams ist nicht nur clever, der Nerd-Humor ist auch wirklich unterhaltsam.“ (2 dreams isn’t just clever the nerd humor is really entertaining).

There are some people who pointed out similarities to Device 6. I had not been aware of this app until very recently but I have to admit it is the same gerne. If anybody can claim this genre even exists: A narrative reality bending puzzle adventure.

Several weeks ago I gave a talk about the development of the game. I had caught me off guard that I had to hold it in English so please prepare for a bumpy ride.

P.S. I am working on my next project at the moment that maybe a fresh take on the infamous Eliza experiment. Stay tuned.

2 dreams support mail:

Veröffentlicht unter 2 Dreams, Allgemein, Indie Games, Text, Video | Hinterlasse einen Kommentar | 17 views

2 Dreams Trailer


2 Dreams is now complete (App Store) and ends with a grand finale.

Veröffentlicht unter 2 Dreams, Indie Games, Video | 1 Kommentar | 32 views

If my game would be a TV series it would have already been canceled

I am glad my episodical iOS game is not a TV show. It would have already been canceled.

When I started work on my puzzle adventure “2 dreams” several weeks ago I kept risks small. This was just a little side project that I wanted to hit the app store as soon as possible. The goal was to make a small but atmospherical app that would be a good test run for deploying to the app store, a little bit of marketing and seeing how the idea of splitting app development into parts. The plan was to release part 1 first and expand the app every few weeks with a free update.


Today I want to share my experiences.

“2 dreams” hit the app store on monday the 14th of october after developing for about a month. I made a German and an English version to gain interest in my home country as well as internationally.

I knew that episode 1 was kind of short. An experienced puzzle gamer could play it in about five minutes. That was the reason why I decided not to contact gaming blogs because I was felt there was not enough content for a proper review. I wanted to keep that option for later.

Instead I relied heavily on the twitter community. My German account @zeitweise has about 11,000 followers, the English counterpart @sightwise about 375. I also mentioned the game twice on the well established Apple centered fanboys podcast which I am part of. The third puzzle piece in getting the word out was an article in the news section of a German board game website: Spielbox. This article came right out of nowhere but I am rather well known as a board game designer so this might have been of interest to the board gaming audience.


Sales figures on the first day were nice. The app spiked at position 89 in Germany followed by Austria and Switzerland. App store reviews were mostly favorable but as expected people noted the game was quite short. The volume of tweets mentioning the app was rather small. I saw some retweets but it was clear people were not really talking about “2 dreams”.

While I was quite content with the sales in the first days it is more important how your app does in the long run. And if you have a look at the graph you will see that sales figures were dwindling soon.


But hey: This app is an episodical. Things would recover with the first update. Do you see the orange line? This is when the first update hit the store. Almost no effect.

Lessons learned:

I have sold 525 apps until now (about 50 for a non German speaking audience). I know this calculation is barely legit but this would mean about 4% of my German Twitter followers bought the app and about 13% of my English followers. That are great figures.

But customers did not get the word out. Maybe it was a mistake to release the app so early. Maybe I should have produced more content beforehand.

Social media was nice for an initial spike but not enough. So should I have reached out to the press? Obviously. But I am still thinking that is possible in the future.

About updates. With iOS7 Apple has changed its update policy. Updates now are seamlessly loaded in the background so nobody is aware of it. This is a problem for an adventure game because people just don’t get back to the app. For future updates I will change the color of the icon so there is at least an indicator that something changed.

Do I regret my decisions and how does the future of “2 dreams“ look? If the game would be a TV series I would have to cancel it. Future updates may only cost money. But this is not how to think if you are an indie developer. There is still a story to tell with this app and I will release updates until this is done. Risks are low because even if I’ll lose money by putting extra work into “2 dreams” it is not very much. Some spare time. Not more.

All in all I have to say: “2 dreams” was an interesting experiment for me. And it still is. It is my first step into indie gaming and I think you have to keep trying. If I learned something with this app than it is the wisdom that being an indie developer is much more hard work than the fairy tales of super successful developers tell. I can live with that.

Get in touch: @sightwise

Update  (Nov 14th): Episode 3 is now part of the App.
2 dreams
(Universal iPhone/iPad on the iOS App Store).

Screenshot 2013.11.09 13.55.25

Veröffentlicht unter 2 Dreams, Bild, Indie Games, Text | 3 Kommentare | 37 views

2 Dreams

2 Dreams“ is an episodical, atmospheric puzzle adventure in the world of dreams.


It’s available on the App Store now (in English and German).



There is the saying the hardest thing in making games is to finish them. I think that is true. So if you are starting a side project it is especially important to limit yourself. It felt natural to follow a minimal concept.

2 Dreams lives by its restrictions. It focusses on quite abstract art and design and concentrates on the crazy ideas dreams are made of. It takes you on a journey with the narrator who is experiencing a recurring dream. Where will it go? What does it mean?

Although the overarching story already seems to be there there, the development of 2 Dreams is ongoing.  2 Dreams is an episodical adventure. At the end of each episode the player is presented with a puzzle that is not solvable within the current episode. Instead (s)he can make creative suggestions on Twitter how to proceed. The best ideas will influence the direction the game will take.

It’s an experiment and I don’t know if it will work. But I am looking forward to it and I will be glad about everyone who will support it.

Veröffentlicht unter 2 Dreams, Bild, Indie Games, Text | Hinterlasse einen Kommentar | 27 views

Neues Sicherheitsfeature in iOS 7


Veröffentlicht unter Bild, Mac, Piraten, Politik, Satire | Verschlagwortet mit | Hinterlasse einen Kommentar | 28 views


Bad luck. The windmill is burning.

Bad luck. The windmill is burning.

I have taken a break from level design for the last two weeks in order to setup a more advanced sound system. I am using AudioToolkit from the asset store now. It was a little bit harder to setup than I thought but object pooling and managing audio groups like atmo, effects and music is great.

Atmo sounds are new to my project. I felt the scenery really profits from some atmospheric background.

Although AudioToolkit does some heavy lifting I had to write the music manager on my own. I don’t want to just stitch song after song but have the music react a little bit faster to the actions of the player. I am not really sure if this is too much detail so I don’t know if I’ll keep this idea.

Another thing to consider is putting in voice over for the titles between levels. My girlfriend heavily votes in favor of this so I will test this effect. But this would mean that I need a native speaker as a voice actor. Huh! Didn’t I plan to make a quite simple project?

On the release of the next beta: This will take a little bit longer than planned. I’ll have to get the audio system up and running and want the first two chapters of the game first.

Veröffentlicht unter Bild, Draft, Indie Games, Text | Verschlagwortet mit | Hinterlasse einen Kommentar | 18 views