Motivation

I was always the kind of person who started a project only to find out that there is a much better idea around the corner that will blow everyone’s mind. The cycle kept repeating. With DOG at home I challenged myself to build a full clone of the popular swiss board game DOG during Covid in March 2020. It was different compared to previous projects, because there was direct use and need.

Honestly, I had no prior experience in (modern?) Web Development at that point. The last thing I heard were people annoyed by the new Angular 2 (and its breaking changes) and endless discussions among peers how Vue.js is the next big thing. Yeah… Turns out that things have yet again completely changed.

Starting Off

Starting from scratch is boring, and I honestly had no clue where to start and find a suitable toolset. Luckily I stumbled across an implementation of the card game Set. Bulls eye! I copied the authentication and lobby parts almost entirely and learned from the code to figure out the syntax of React. I had to consult the documentation for more profound concepts: React Hooks, Firebase Security Rules and the Material UI.

Sooner or later I got confronted with the main visual UI. My prior knowledge of SVG from graphics work proved really great.

The most interesting part from there were the game rules, marble animation with React Spring and lots of graphic design.

Waiting Room

R.I.P. to the players still waiting for v2.0.0 to release.

Statistics

Up to May 2021, 1924 games have been completed. Over the year, much data has been gathered which reflects common strategies (card 4 from home field, split card 7 to finish marble). Due to performance and storage optimizations only the current state of the game is stored, which does not allow to replay the whole game.

Fun fact: Statistically, the team BLUE-GREEN won 5% more often ( 982 vs. 942)

We can also extract information about the cards played. Most of them seem very logical. I was surprised that the card 5 was played so often as last of the game, especially since the (K|A),4,5 finish is often stopped by the enemy team in advanced games.

A big Thanks

Big thanks to my flatmates and friends for intensive testing and all who played! Felt pretty cool to go from 0 to 100 in around one month of work.