How the default look was chosen, and why a skin is a data file
· 4 min read · Tyamka team
Three concepts, one that still looked machine-made, a plain paper theme that became the default, and a skin format where most work was layout, not color.
The first design task for Tyamka was the default theme, the one every player sees before buying anything. We started with research. We went through about 40 titles from the category charts of the US App Store and put together a moodboard of 36 references. Both pointed the same way. The big brain-training apps look alike and dated, while the premium puzzle games hold on to one material idea and use color to carry meaning.
Three concepts, then a plainer one
From that we drew three concepts. One was a newspaper puzzle page, one a measuring instrument with some weight to it, one cut paper. Each had its own layout, and only the logic of the Schulte table was shared. An earlier draft went in the bin before them. It was one layout recolored three times, with purple neon in it.
Looking at the three side by side, we felt the newspaper version still read as AI-made. We wanted something more even and clean, without italics or extra emphasis. That became the plain paper theme the game uses now. In the end none of the three concepts was dropped. All of them turned into paid skins, and the clean one became the default. They are in the game today as Instrument, Cut Paper and Puzzle Page.
Small numbers that changed the design
- The first font, Schibsted Grotesk, has no Cyrillic, and the game ships in Ukrainian too. We replaced it with Onest.
- The gray text of the first version, #8b8882, failed the WCAG AA contrast check. It is now #6f6c66.
- The brief asked for a Schulte grid of up to 50 numbers. On a 375 pt wide phone, 7×7 is the largest grid that keeps each cell at 44 pt, and 8×8 already drops to 42.9 pt. So the last level of the Schulte table is 7×7.
- On a 375×667 phone in a mobile browser the 7×7 grid came out at 30 px per cell. A compact mode for low screens fixed that.
- In the Stroop test the four ink colors sit on a dark panel, and a right or wrong answer is shown by shape and motion, never by red. The answer buttons are words only.
A skin is a data file
The skin system was specified before the first screen was built. The rule is that a new skin is data, not code. A skin that changes only colors, fonts and spacing is one data file. A skin that changes layout replaces only the parts it needs, such as the timer, the cells or the results screen, and takes everything else from the default. No game knows which skin is on.
We expected layout skins to be rare, and it went the other way. Of the 21 skins planned on 25 September, only 3 could be made with tokens alone. So the layout parts were made cheap to write, and the things that must never break stay in the game shell rather than in the skin. Input, tap areas and accessibility labels live there. The three token skins, Paper, Night and Pop, do fit in one file each, but not for free. All three failed the contrast checks in their first form, two had fonts without Cyrillic, and Night lost its gradient and glow to stay a single file.
Checks instead of taste
Every skin goes through the same automatic checks. The script exports the web build, runs eleven checks on every skin and saves screenshots at seven screen sizes in English and Ukrainian. Right and wrong must not rely on color alone, tap targets must be at least 44 pt, the numbers in the HUD must have equal widths, nothing may be clipped in a phone browser, and the smallest text must stay readable on a Steam Deck screen.
The checks win over taste. The red we first used for error text had a contrast of 3.96, and the rule asks for 4.5. On 26 September we decided not to bring the red back, so error text stays in the ink color.
Where it stands
On 26 September the game had the default and seven paid skins, from Paper to Puzzle Page, and full references for more skins were waiting for approval. All fifteen games are on the games page.