Docker-Powered Remote Gaming With Games On Whales

Cloud gaming services allow even relatively meager devices like set top boxes and cheap Chromebooks play the latest and greatest titles. It’s not perfect of course — latency is the number one issue as the player’s controller inputs need to be sent out to the server —  but if you’ve got a fast enough connection it’s better than nothing. Interested in experimenting with the tech on your own terms? The open source Games on Whales project is here to make that a reality.

As you might have guessed from the name, Games on Whales uses Linux and Docker as core components in its remote gaming system. With the software installed on a headless server, multiple users can create virtual desktop environments on the same machine, with each spawning as a separate process on the host computer. This means that all of the hardware of the host can be shared without needing to do anything complicated like setting up GPU pass-through. The main Docker container can spin up more containers as needed.

Of course there will obviously be limits to what any given hardware configuration will be able to support in terms of number of concurrent users and the demands of each stream. But for someone who wants to host a server for their friends or something even simpler like not having to put a powerful gaming PC in the living room, this is a real game-changer. For those not up to speed on Docker yet, we recently featured a guide on getting started with this powerful tool since it does take some practice to wrap one’s mind around at first.

Spinning Magnets Do Your Dice Rolling For You

Dice are about the simplest machines possible, and they’ve been used since before recorded history to generate random numbers. But no machine is so simple that a little needless complexity can’t make it better, as is the case with this mechanical spinning dice. Or die. Whatever.

Inspiration for the project came from [Attoparsec]’s long history with RPG and tabletop games, which depend on different kinds of dice to generate the randomness that keeps them going — that and the fortuitous find of a seven-segment flip-dot display, plus the need for something cool to show off at OpenSauce. The flip-dot is controlled by an array of neodymium magnets with the proper polarity to flip the segments to the desired number. The magnets are attached to an aluminum disk, with each array spread out far enough to prevent interference. [Attoparsec] also added a ring of magnets to act as detents that lock the disk into a specific digit after a spin.

The finished product ended up being satisfyingly clicky and suitably random, and made a good impression at OpenSauce. The video below documents the whole design and build process, and includes some design dead-ends that [Attoparsec] went down in pursuit of a multiple-digit display. We’d love to see him revisit some of these ideas, mechanically difficult though they may be. And while he’s at it, maybe he could spice up the rolls with a little radioactivity.

Continue reading “Spinning Magnets Do Your Dice Rolling For You”

Portable, Full-Size Arcade Cabinets

Believe it or not, there was a time when the only way for many of us to play video games was to grab a roll of quarters and head to the mall. Even though there’s a working computer or video game console in essentially every house now doesn’t mean we don’t look back with a certain nostalgia on those times, though. Some have turned to restoring vintage arcade cabinets and others build their own. This hackerspace got a unique request for a full-sized arcade cabinet that was also easily portable as well.

The original request was for a portable arcade cabinet, and the original designs were for a laptop-like tabletop arcade. But further back-and-forth made it clear they wanted full-size cabinets that just happened to also be portable. So with that criteria in mind the group started building the units. The updated design is modular, allowing the controls, monitor, and Raspberry Pi running the machines to be in self-contained units, with the cabinets in two parts that can quickly be assembled on-site. The base is separate and optional, with the top section capable of being assembled on the base or on something like a tabletop or bar, and the electronics section quickly drops in.

While the idea of a Pi-powered arcade cabinet is certainly nothing new, the quick build, prototyping, design, and final product that’s mobile and quickly assembled are all worth checking out. There is even more information on the build at the project’s GitHub page including Fusion 360 models. If you need your cabinets to be even more portable, this tabletop MAME cabinet is a great place to start.

Torment Poor Milton With Your Best Pixel Art

One of the great things about new tech tools is just having fun with them, like embracing your inner trickster god to mess with ‘Milton’, an AI trapped in an empty room.

Milton is trapped in a room is a pixel-art game with a simple premise: use a basic paint interface to add objects to the room, then watch and listen to Milton respond to them. That’s it? That’s it. The code is available on the GitHub repository, but there’s also a link to play it live without any kind of signup or anything. Give it a try if you have a few spare minutes.

Under the hood, the basic loop is to let the user add something to the room, send the picture of the room (with its new contents) off for image recognition, then get Milton’s reaction to it. Milton is equal parts annoyed and jumpy, and his speech and reactions reflect this.

The game is a bit of a concept demo for Open Souls whose “thing” is providing AIs with far more personality and relatable behaviors than one typically expects from large language models. Maybe this is just what’s needed for AI opponents in things like the putting game of Connect Fore! to level up their trash talking.

2024 Business Card Challenge: Integrated Game Card

[Dan Schnur] has a simple strategy to ensure their business card stays on the client’s desk and doesn’t just get lobbed in a drawer: make it into a simple gaming platform. This entry into the 2024 Business Card Challenge is based around the tinyjoypad project, integrating an SSD1306 OLED display, joypad, and push button.

Powered by the superstar ATTiny85, the electronics are really not all that much, just a sprinkling of passives to support the display and the six switch inputs from the joystick and push button. Or at least, that’s how much we can glean from the PCB images, as the PCB design files are not provided in the project GitHub.

Leaving the heavy lifting of the software to the tinyjoypad project, the designer can concentrate on the actual job at hand and the reason the business card exists to stay at the forefront of the client’s mind. In the meantime, the card can be a useful distraction for those idle moments. A few such distractions include a tiny version of Missile Command (as shown above), tiny tris, and a very cut-down Q-bert.  Sadly, that last game isn’t quite the same without that distinctive sound.

Easy Retro 3D Look With Voxel Displacement Renderer

Voxels are effectively like 3D pixels, and they form an integral part of what is commonly referred to as a ‘retro 3D’ look, with pixelated edges sharp enough to cut your retinas on. The problems with modeling a scene using voxels come in the form of creating the geometry and somehow making a physics engine work with voxels rather than conventional triangular (or quad) meshes.

The same scene in Blender (above) and in the voxel-based renderer (below). (Credit: Daniel Schroeder)
The same scene in Blender (above) and in the voxel-based renderer (below). (Credit: Daniel Schroeder)

The approach demonstrated by [Daniel Schroeder] comes in the form of a Voxel Displacement Renderer implemented in C++ and using the Vulkan API. Best part of it? It only requires standard meshes along with albedo and displacement maps.

These inputs are processed by the C++-based tools, which generate the voxels that should be rendered and their properties, while the GLSL-based shader handles the GPU-based rendering step. The pre-processing steps required make it a good idea to bake these resources rather than try to process it in real-time. With that done, [Daniel]’s demo was able to sustain a solid 100+ FPS on a Radeon RX 5700 XT GPU at 1440p, and 60+ FPS on a Steam Deck OLED.

In a second blog post [Daniel] goes through his motivations for this project, with it originally having been intended as a showpiece for his resume, but he can imagine it being integrated into a game engine.

There are still questions to be resolved, such as how to integrate this technique for in-scene characters and other dynamic elements (i.e. non-static scenery), but in terms of easing voxel-based rendering by supporting a standard mesh-based workflow it’s an intriguing demonstration.

Continue reading “Easy Retro 3D Look With Voxel Displacement Renderer”

Tight Handheld CRT Asteroids Game Curses In Tuscan

How many Arduini does it take to make a tiny CRT Asteroids game? [Marco Vallegi] of MVV Blog’s answer: two. One for the game mechanics and one for the sound effects. And the result is a sweet little retro arcade machine packed tightly into a very nicely 3D printed case.

If you want to learn to curse like a Tuscan sailor, you can watch the two-part video series, embedded below, in its entirety. Otherwise, we have excerpted the good stuff out of the second video for you.

For instance, we love the old-school voice synthesis sound of the Speak and Spell. Here, playback is implemented using the Talkie library for Arduino, and [Marco] is using the BlueWizard software on a dated Macbook for recording and encoding. (We’d use the more portable Python Wizard ourselves.) Check out [Marco] tweaking the noise parameters here to get a good recording.

And since the Talkie Arduino library uses PWM on a digital output pin to create the audio, the high-frequency noise was freaking out his simple transistor amplifier. Here, [Marco] adds a feedback capacitor to cancel that high-frequency hash out.

The build needs to be quite compact, and the stacked-Arduino-with-PCB-case design is tight. And the 3D-printed case has a number of nice refinements that you might like. We especially like the use of thin veneers that cover the case all around with the build-plate’s surface texture, and the contrasting “Asteroids” logos are very nice.

All in all, this is a really fun build that’s also full of little details that might help you with your own projects. Heck, even if it just encourages you to play around with the Talkie library, it’s worth your time in our opinion. And while you’re at it, you can turn on the subtitles and pick up some vocab that’ll make your nonna roll over in her grave.

Continue reading “Tight Handheld CRT Asteroids Game Curses In Tuscan”