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 freesound.org.
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.