Python Settles Bet About Best Strategy In Children’s Board Game

Simulating a tabletop game can be done for several reasons: to play the game digitally, to create computer opponent(s), or to prove someone wrong. In [Everett]’s case, he used Python to prove which adult was right about basic strategy in a children’s game.

[Everett]’s 5-year-old loves a simple game called Hoot Owl Hoot! in which players cooperatively work to move owls along a track to the safety of a nest. Player pieces move on spaces according to the matching colors drawn from a deck of cards. If a space is already occupied, a piece may jump ahead to the next available spot. The game has a bit more to it than that, but those are the important parts. After a few games, the adults in the room found themselves disagreeing about which strategy was optimal in this simple game.

It seemed to [Everett] that it was best to move pieces in the rear, keeping player pieces grouped together and maximizing the chance of free moves gained by jumping over occupied spaces. [Everett]’s wife countered that a “longest move” strategy was best, and one should always select whichever piece would benefit the most (i.e. move the furthest distance) from any given move. Which approach wins games in the fewest moves? This small Python script simulates the game enough to iteratively determine that the two strategies are quite close in results, but the “longest move” strategy does ultimately come out on top.

As far as simulations go, it’s no Tamagotchi Singularity and [Everett] admits that the simulation isn’t a completely accurate one. But since its only purpose is to compare whether “no stragglers” or “longest move” wins in fewer moves, shortcuts like using random color generation in place of drawing the colors from a deck shouldn’t make a big difference. Or would it? Regardless, we can agree that board games can be fitting metaphors for the human condition.

Laser Galvos And An ESP32 Recreate Old-School Asteroids

Playing Asteroids now isn’t quite what it used to be when it came out 40 years ago. At the time, the vector-scan display was part of the charm; making do with an emulator running on a traditional raster display just doesn’t quite do it for purists. But if you manage to build your own laser-projector version of the game like [Chris G] did, you’re getting close to capturing some of the original magic of the game.

There’s a lot to unpack about this project, and the video below does a good job explaining it. Where the original game used a beam of electrons flashing inside a CRT to trace out each object in the game, [Chris] substituted an off-the-shelf two-axis galvanometer from eBay and a 5-mW laser LED. This can project a gamefield on a wall up to two meters on a side, far bigger than any version of the machine ever built. The galvos are driven by op-amp drivers and an SPI DAC on a custom PCB. And in comparison to the discrete logic chips and 6502 running the original game, [Chris] opted for an ESP32.

As interesting as the hardware for this is, the real story is in the software. [Chris] does an excellent job running through his design, making the bulk of the video feel like a master class in game programming. His software is from scratch — no emulations here. As such it doesn’t perfectly reproduce the original games — no flying saucers and no spaceship explosion animations (yet) — but when coupled with the laser vector display, it certainly captures the feel of the original.

Being devoted Asteroids fans from back in the day, this one really pushes our buttons. We’ve seen laser-based recreations of the game before, but this one makes us think we can finally afford to recapture the glory of our misspent youth.

Continue reading “Laser Galvos And An ESP32 Recreate Old-School Asteroids”

Restored Dreamcast Is A SEGA Fan’s Dream Come True

[Bren Sutton] has been a long time fan of SEGA’s Dreamcast, eagerly snapping one up right around its October 1999 European release. But after years of neglect and a somewhat questionable paint job a decade or so back, he decided it was time to spruce his old friend up. He could have just cleaned the machine and been done with it, but he took the opportunity to revamp the console’s internals with both practical and cosmetic trickery.

The first step was getting the system looking a bit fresher. Removing the silver metallic paint he applied in his youth with a rattle can wasn’t going so well, so he ended up buying a broken donor console on eBay so he’d have a new shell to work with. The donor was yellowed with age, but a coating of peroxide cream and a few hours under a cheap UV light got it whitened up nicely. Now that he had a fresh new case, [Bren] turned his attention to the internal components.

Those who might be plugged into the active Dreamcast homebrew scene may already know that several upgrade modules exist for SEGA’s last home game console. One of the most popular replaces the optical drive with an SD card filled with your favorite game ISOs. You can also get a modern high efficiency power supply, as well as a board that replaces the original soldered-on clock battery with a slot that fits a CR2032. [Bren] threw them all in, ensuring several more years of gaming bliss.

But he wasn’t done yet. He also wanted to add some visual flair to his new and improved console. After some consideration, he gingerly cut the logo out of the Dreamcast’s lid, and installed an Adafruit CLUE board underneath it. With a few carefully crafted GIFs installed onto the CircuitPython-powered board, the console now has a gorgeous fully animated logo that you can see in the video after the break.

[Bren] could have really taken his console to the next level by doubling its available RAM to an eye-watering 32 MB, but considering the limited software support for that particularly bodacious modification, we’ll let it slide. Continue reading “Restored Dreamcast Is A SEGA Fan’s Dream Come True”

This Joy-Con Grip Steers Its Way To Sweaty Victory

Here at Hackaday we’re always exited to see hacks that recycle our favorite childhood consoles into something new and interesting. In that context, it’s not so uncommon to see mods which combine new and unusual control methods with old devices in ways that their manufacturers never intended. What [Mike Choi] has built with the Labo Fit Adventure Kit is the rare hack that combines radically new control schemes with a modern console: without actually modifying any hardware.

Face button pusher in blue

In short, the Labo Fit Adventure Kit lets the player play Mario Kart on the Nintendo Switch by riding a stationary exercise bike, steering with a wheel, and squeezing that wheel to use items. The Fit Kit combines the theme of Labo, Nintendo’s excellent cardboard building kit for the Nintendo Switch with the existing Ring-Con accessory for the unrelated Nintendo game Ring Fit Adventure plus a collection of custom hardware to tie it all together. That hardware senses cadence on the stationary bike, watches for the user to squeeze the handheld wheel controller, and translates those inputs to button presses on the controller to play the game.

Shoulder button pusher in green

The most fascinating element of this project is the TAPBO module which adapts the Joy-Con controller to remote input. The module includes electronics, actuators, and a clever mechanical design to allow it to be mounted to the Ring-Con in place of an unmodified Joy-Con. Electrically the components will be familiar to regular Hackaday readers; there is a breakout board for a Teensy which also holds an XBee module to receive inputs remotely and drive a pair of servos. The entire module is described in detail starting at 4:42 in the video.

Mechanically the TAPBO relies on a pair of cam-actuated arms which translate rotational servo motion into linear action to press shoulder or face buttons. The module directly measures flex of the Ring-Con with an added flexible resistor and receives cadence information from another module embedded in the stationary bike via Zigbee. When these inputs exceed set thresholds they drive the servos to press the appropriate controller buttons to accelerate or use an item.

We’ve focused pretty heavily on the technical aspects of this project, but this significantly undersells the level of polish and easy to understand documentation [Mike] has produced. It includes a TAPBO Amiibo in customized packaging, and more. Check out the full video to get the complete scope of this project.

Continue reading “This Joy-Con Grip Steers Its Way To Sweaty Victory”

Linear Pong Loses A Dimension But Remains Challenging

When Pong hit the scene in the early 70s, there was something about the simplicity of the 2D monochrome tennis game that made it engaging enough that enthusiastic proto-gamers shorted-out machines by stuffing their coin boxes to overflowing.  But even with the simplicity of Pong’s 2D gameplay, the question becomes: could it by made simpler and still be playable?

Surprisingly, if this one-dimensional Pong game is any indication, it actually seems like it can. Where the original Pong made you line up your paddle with the incoming ball, with the main variable being the angle of the carom from your opponent, [mircemk]’s version, limited to a linear game field, makes the ball’s speed the variable. Players take control of the game with a pair of buttons at the far ends of a 60-LED strip of WS2812s. The ball travels back and forth along the strip, bouncing off a player’s paddle only if they push their button at the exact moment the ball arrives. Each reflection back to the opponent occurs at a random speed, making it hard to get into a rhythm. To add some variety, each player has a “Boost” button to put a little spice on their shot, and score is kept by LEDs in the center of the play field. Video of the game play plus build info is below the break.

With just a Neopixel strip, an Arduino Nano, and a small handful of common parts, it should be easy enough to whip up your own copy of this surprisingly engaging game. But if the 2D-version is still more your speed, maybe you should check out the story of its inventor, [Ted Dabney]. Or, perhaps building a clock that plays Pong with itself to idle the days away is more your speed.

Continue reading “Linear Pong Loses A Dimension But Remains Challenging”

3D Printed Pi Arcade Is An Emulation Horn Of Plenty

Let’s be honest, building a home arcade cabinet isn’t exactly the challenge it once was. There’s plenty of kits out there that do all the hard work for you, and they even sell some pretty passable turn-key units at Walmart now. If you want to put a traditional arcade cabinet in your home, it’s not hard to get one.

Which is why this wild build by [Rafael Rubio] is so interesting. The entirely 3D printed enclosure looks like some kind of art piece from the 1970s, and is a perfect example of the kind of unconventional designs made possible by low-cost additive manufacturing. Building something like this out of wood or metal would be nightmare, especially for the novice; but with even a relatively meager desktop 3D printer you’re only a few clicks away from running off your own copy.

Removable side panels allow access to the electronics.

Inside the nautilus-like enclosure is a Raspberry Pi running Retropie, a 10″ LCD panel from Pimoroni, and a GeeekPi interface board that connects up to the 8-way joystick and arcade buttons. [Rafael] has included a Bill of Materials and an assembly overview that you can follow along with, though the cavernous internal dimensions of the enclosure certainly give you ample of room for improvisation if you’d rather blaze your own path.

Like the retro-futuristic computer terminals created by [Oriol Ferrer Mesià], this arcade machine completely reinvents a traditional design that most people take for granted. Is this layout actually better than the standard arcade cabinet? It’s not really our place to say. But it’s certainly a new and unconventional approach to “solved” problem, and that’s what we’re all about.

Handheld Farkle Really Sparkles

Farkle is a classic dice game that only requires 6 dice and a way to write down scores based on the numbers rolled. Even so, this type of game isn’t inherently portable — it would be fairly difficult to play on a road trip, for instance. [Sunyecz22] decided that Farkle would make an excellent electronic game and got to work designing his first PCB.

This little game has everything you could want from a splash screen introduction to a handy scoring guide on the silkscreen. After choosing the number of players, the first player rolls using the momentary button and the electronic dice light up to indicate what was rolled. As long as the player rolled at least one scoring die, they can take the points by selecting the appropriate die/dice with the capsense pads, and either pass or keep going. The current player’s score is shown on the 7-segment, and the totals for each player are on the OLED screen at the bottom.

The brains of the operation is an Arduino Pro Mini. It controls two MAX7219s that drive the 42 LEDs plus the 7-segment display. A game like this is all in the code, and lucky for us, [Sunyecz22] made it available. We love how gorgeous the glossy 3D printed enclosure looks — between the glossy finish and the curved back, it looks very comfortable to hold. In the future, [Sunyecz22] plans to make a one player versus the computer mode. Check out the demo and walk-through video after the break.

The capsense modules are a great touch, but some people want a little more tactility in their handheld games. We say bring on the toggle switches.

Continue reading “Handheld Farkle Really Sparkles”