Attika World Ranking

This page is intended for the World Ranking of Attika. As soon as the first tournaments have been you will find a list with the best players here.

Results after March, 2018

Match 1:
1: Egoitz Campo 3 points (2 – 12)
2: Ander López 2 points (1 – 11)
3: Imanol García 1 point (1 – 9)

Match 2:
1: David Avilés 4 points (1 – 7)
2: Egoitz Campo 3 points (1 – 7)
3: Jon Rozas 2 point (1- 5)
4: Imanol García 1 point (1- 5)

Current World Rating below.


Results on February 2nd, 2018 (in parenthesis first the shrines connected, and second the buildings)

Match 1:
1: Guille Delgado 3 points (2 – 10)
2: Nuria Arenal 2 points (1 – 8)
3: Jon Rozas 1 point (1 – 0)

Match 2:
1: Antony Burgos 3 points (1 – 14)
2: Egoitz Campo 2 points (1 – 13)
3: Kepa Sánchez 1 point (1- 12)

27484347_1605170779566173_1819093024_o 27536761_1605171542899430_1906454695_o-1 27535560_1605170662899518_985949031_o 27479834_1605172012899383_881398082_o-1

World Ranking of Attika                               Updated 02-April-2018



Rank. Player Name Matches Win Shrines
Points for the ranking Nation
1 Egoitz Campo 3 1 4/32 8 Basque Country
2 David Avilés 1 1 1/7 4 Basque Country
3 Guille Delgado 1 1 2/10 3 Basque Country
4 Antony Burgos 1 1 1/14 3 Venezuela
5 Imanol García 2 0 2/14 2 Basque Country
6 Ander López 1 0 1/11 2 Basque Country
7 Nuria Arenal 1 0 1/8 2 Basque Country
8 Jon Rozas 2 0 2/5 2 Basque Country
9 Kepa Sánchez 1 0 1/12 1 Basque Country


  • Order is determined (in decreasing importance) by points, win, buildings built and shrines connected
  • Points for 4 player matches: Winner (4), second player (3), third player (2), fourth player (1)
  • Points for 3 player matches: Winner (3), second player (2), third player (1)
  • Points for 2 player matches: Winner (2), second player (1)
  • All matches will be ranked that are written down by an official organizers and sent to me
  • It is intended to organize a national tournament every year at Basque Country. If there are players around Europe who want to participate in that ranking the organizers of the Basque Country tournament will try to gather with them every two years to play the european tournament of Attika. In that international tournaments the winner of the tournament will get 20 extra points, second 15, third 10 and 4th 5.


Veröffentlicht unter Brettspiele | Verschlagwortet mit | Hinterlasse einen Kommentar | 47 views

Unity Skybox Gradient Shader without Banding


Last week I’ve been tweaking a three color gradient skybox shader. It works fine with bright colors but when you go dark, ugly banding appears. The visibility of the artifacts depends on light conditions. You may not see it in bright daylight but if you’re looking at it in the evening it becomes quite obvious:


The original shader code just lerps between colors which leads to banding.  Believe me. It can really stick out on your iPhone.

Noise to the rescue

Thankfully Matthew VanDevander pointed me in the right direction and after searching the web I found a playground dedicated to banding elimination on shadertoy.

I extracted the ScreenSpaceDither noise function and transcribed it to Unity:

const float noiseScale = 240;
const half noiseIntensity = 1;

float2 wcoord = (i.worldpos.xy/i.worldpos.w) * noiseScale;

float4 dither = ( dot( float2( 171.0f, 231.0f ), wcoord.xy ) );
dither.rgb = frac( dither / float3( 103.0f, 71.0f, 97.0f ) ) - float3( 0.5f, 0.5f, 0.5f );

I didn’t test performance and maybe simpler noise functions are sufficient as well but I am really pleased with the result. By the way: You can tweak noiseScale and noiseIntensity to your liking.


without dithering


with dithering

Complete shader

Shader "BOX/3 Color Dithered Gradient Skybox" {

Properties {
_ColorT ("Top Color", Color) = (0.0, 0.0, 0.0, 0)
_ColorB ("Bottom Color", Color) = (0.0, 0.4, 0.4, 0)
_ColorR ("Right Color", Color) = (0.73, 0.34, 0.34, 0)

_IntensityR ("Right Color Intensity", Range (0, 1)) = 0.5

_Direction ("Direction Bottom", Vector) = (0.18, -1.64, -0.19, 0)
_Direction2 ("Direction Right", Vector) = (1.42, -2.26, -0.50, 0)



#include "UnityCG.cginc"

struct appdata {
float4 position : POSITION;
float3 texcoord : TEXCOORD0;


struct v2f {
float4 position : SV_POSITION;
float3 texcoord : TEXCOORD0;
float4 worldpos : any;


half4 _ColorT;
half4 _ColorB;
half4 _ColorR;
half3 _Direction;
half3 _Direction2;

half _IntensityR;
half _Exponent;

v2f vert (appdata v) {
v2f o;
o.position = mul(UNITY_MATRIX_MVP, v.position);
o.texcoord = v.texcoord;
o.worldpos = o.position;
return o;

half4 frag (v2f i) : COLOR {
const half exponent = 2;
half d = dot(normalize(i.texcoord), _Direction) * 0.5f + 0.5f;
half d2 = dot(normalize(i.texcoord), _Direction2) * 0.5f + 0.5f;
float4 gradient = lerp (_ColorT, _ColorB, pow(d, exponent));
gradient = lerp (gradient, _ColorR, pow(d2, exponent) * _IntensityR);

const float noiseScale = 240;
const half noiseIntensity = 1;
float2 wcoord = (i.worldpos.xy/i.worldpos.w) * noiseScale;
float4 dither = ( dot( float2( 171.0f, 231.0f ), wcoord.xy ) );
dither.rgb = frac( dither / float3( 103.0f, 71.0f, 97.0f ) ) - float3( 0.5f, 0.5f, 0.5f );

return gradient + (dither/255.0f) * noiseIntensity;


SubShader {
Tags { "RenderType"="Background" "Queue"="Background" }

Pass {
ZWrite Off
Cull Off
Fog { Mode Off }
#pragma fragmentoption ARB_precision_hint_fastest
#pragma vertex vert
#pragma fragment frag

Another tidbit: You can’t use SV_POSITION directly on iOS because it will always be (0, 0, 0, 0). It took me a day to find out why the shader worked fine in the editor but did nothing at all on the device. The workaround is to write the position to another variable in the vertex shader.

Veröffentlicht unter Allgemein, Indie Games, Unity | Verschlagwortet mit , | 1 Kommentar | 1803 views

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 | 135 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 | 286 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 | 50 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 | 50 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 | 49 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 | 114 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 | 80 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 | 48 views