Crazy tech stunt: Solita arkade

Jouni Erola Solution Architect, Solita

Published 29 Apr 2024

Reading time 3 min

One warm afternoon in August 2023 me and Teemu Polvi were sipping some soda at the Tampere office terrace. Teemu told me that our Dev unit was looking for a crazy tech stunt project: something crazy and tech. We immediately had a brainstorming session as we both thought this was something we should attend to. The idea for our stunt came out of nowhere and we both loved it from the first day. It was so stupidly crazy that we thought it should be done!

Let’s build a physical arcake machine with hand cranks as the controls and let’s make it a platform on which every Solitan could develop a game. By limiting the control to this odd scheme, you would have to think outside of the box.

We created some material and Teemu designed the cabinet in Blender based on our rough sketches. We were delighted to hear a week later that this project was accepted! We were excited and knew that this would be 110% fun. Spoiler: it was even more fun than we realized.

Let’s just do it!

The physical machine was manufactured from Finnish Baltic birch plywood by a local subcontractor and contains very Commercial-Of-The-Shelf (COTS) parts. Inside the cabinet, we are running a standard Ubuntu laptop, Arduino Due for the controls and lights and a square(’ish) Dell display. There is also a hefty 4.1 sound system inside! The wheels and buttons are interfaced with Arduino Due, and the game receives signals when buttons are pressed. The wheel positions are readable in ”real-time” – meaning the output and responsiveness is just super, super sharp.

The platform

As the idea was to do something crazy, we ended up choosing Qt as the platform and writing the platform with C++. Yes, an odd choice, but crazy, eh? And hey, your JavaScript engine is written in C or C++, so perhaps not so crazy after all? There had been an internal push towards having a bit more embedded systems knowledge, and we immediately thought that this system could act as a bridge way there.

We wrote the game platform in a way that it would be easy to write a new game. No need for a deep dive into C++, OpenGL or Qt. Just a friendly interface for graphics, sounds and controls. If wanted, of course, one can dive more deeply into the language and framework. The current code base contains lots of example games that you can steal code from if needed.

Graphics and sounds

Along with good-old Photoshop, we used GenAI to generate many of the graphics and especially the album art to save time. Sounds are partly written by us, but we used a lot of Public Domain music and effects from

The games

We wrote some games as a base so that the machine would have something to try out. The games vary from classics to ”crazy and strange” and that is on purpose.

The current game set includes:

  • Solenoid – classic ping-pong style game with four paddles around the screen. Very cool shader programming and captivating music.
  • Crankenoids – retro-style asteroids clone with four spaceships and some rocks to be destroyed.
  • Cranky Crawlers – snake game for four. Probably the hit game of this platform. That game tune will stick in your head for the rest of the day.
  • Tug-of-War – 2 vs 2 wheel rotating mayhem. Your elbows will be hurting before you even know it.
  • Crankshaft – retro-style car driving game with synth wave neon style vibe.

The result

As we were between projects at that time, this was a perfect chance to work on our crazy tech stunt and use our expertise in a meaningful way. We learned new things after all!

Yeah, I know – I have been using superlatives here too much but oh boy I’m proud of what we did. The response from people outside the project has been overly positive.

The machine will be on display in our Finnish internal & customer events and for sure it will be playable and – most importantly – programmable by every Solitan. The code is totally open in our internal git repository and anyone can write their own games for it.

Join our upcoming events for more craziness!

  1. Culture
  2. Tech