Adding AI To NPCs Is Easy, Doing It Well Is Hard

Adding natural language interfaces to software is easier than ever, and that led [creikey] to prototype a game that hinges on communicating with NPCs. The prototype went through multiple iterations during which he mainly discovered things that did not work well. Ultimately, it led to [creikey] settling on a western-themed game called Dante’s Cowboy which he hopes to release as an experiment. He begins talking about the game around the 4:43 mark in the video, which directly precedes a recording of a presentation he gives at as an indie developer.

Games typically revolve around the player manipulating entities in an environment in order to make things happen. This interaction drives engagement and interesting decisions. But while adding natural language AI to NPCs makes them easy to talk with, talking by itself is a shallow interaction. Convincing NPCs to do things? That’s complex and far more difficult to implement. [creikey] realized the limitations large language models (LLMs) had and worked to overcome them to make a unique game experience.

The challenges boil down to figuring out how to drive meaningful interaction, aligning AI behavior with the gameplay context, and managing API costs. In his words, “it’s been a learning experience to figure out where [natural language AI] even belongs in a game, if it belongs at all.”

We’ve previously seen ChatGPT used to grant NPCs the ability to communicate naturally which is a fascinating tech demo, but gameplay-wise can boil down to being a complicated alternative to pressing a button. As [creikey] discovered, adding this technology into games in a way that feels meaningful takes a new kind of work.

Continue reading “Adding AI To NPCs Is Easy, Doing It Well Is Hard”

The controller after the rebuild, looking just like the stock controller but with an external antenna attached

An Extensive Walkthrough On Building Your Own KSP Controller

Having a game-tailored controller is a level-up in more ways than one, letting you perform in-game actions quickly and intuitively, instead of trying to map your actions to a clunky combination of keyboard and mouse movements. [abzman] took the Pelco KBD300A, a DVR-intended camera controller panel with a joystick, reverse-engineered it, and then rebuilt it into a Kerbal Space Program controller. What’s more, he documented every detail along the way!

The write-up is so extensive, it’s four separate posts — all of them worth reading without a doubt. In the first post, he describes the original hardware, the process of reverse-engineering it, and a few tips for your own RE journeys. Next, he covers about making his own board, showing all the small decisions he’s had to make, with plenty of KiCad screenshots. If you are on the lookout for designing such a board, there’s plenty to learn!

The original hardware didn’t go down without a fight — the third post talks about taming the seven-segment displays, the onboard joystick, and fighting with the key matrix wired in exactly the way you wouldn’t want. In the end, he shows us how you could tie a controller easily into Kerbal Space Program.

One more piece of hardware liberated, one more win for the hacker world. Whether it’s a Macintosh SE, a classic ThinkPad, or even a generic rotary tool, these upgrades are always a joy to see. If you wanted to learn to do such an upgrade yourself, here’s us showing how you can pull this off with a classic Sony Vaio!

Pinball With No Computers

Pinball machines were the video games of their day. Back when they were king, there were no microcontrollers — everything was electromechanical. We know from experience that fixing these was difficult but we imagine that designing complex play behavior with a bunch of motors, relays, clutches, contacts, and more would have been excruciatingly difficult. [Technology Connections] has several videos about an old Aztec machine and he promises more to come. You can watch the first two below.

To give you an idea of what’s involved, imagine a very simple pinball machine that supports a single player and a handful of targets. When the ball hits a target, that could trigger a micro-switch. The switch closure could trigger a relay that closes a contact for a short period of time. That contact energizes a solenoid that advances the score wheels. So now, when a ball hits a target, the score wheel will spin enough to award ten points. To make sure there is enough time for the score to advance, the relay uses something like a mechanical flip flop.

Sound complicated? That’s nothing. Don’t forget, the machine also has to reset the score at the start of the game, count the ball in play, and end the game when the last ball returns. Then consider a real game. There will be multiple players and fancy sequences (e.g., hit the red target three times to award double scores for other targets).

While we knew a fair bit about the design of pinball machines already, we did learn a lot about their history and where the idea came from. The video also explains why it is called pinball since modern machines don’t really have pins — these were like relay-based computers with strange electromagnetic I/O devices.

While pinball machines were the best example of this sort of thing, there were also things like bowling machines and ladder-logic industrial control systems. We’ve even seen an electromechanical phone answering machine.

Continue reading “Pinball With No Computers”

Gyro-Controlled Labyrinth Game Outputs To VGA

This gesture-controlled labyrinth game using two Raspberry Pi Pico units does a great job of demonstrating how it can sometimes take a lot of work to make something look simple.

To play, one tilts an MPU6050 inertial measurement unit (IMU) attached to one Pico to guide a square through a 2D maze, with the player working through multiple levels of difficulty. A second Pico takes care of displaying the game state on a VGA monitor, and together they work wirelessly to deliver a coherent experience with the right “feel”. This includes low latency, simulating friction appropriately, and more.

Taking a stream of raw sensor readings and turning them into control instructions over UDP in a way that feels intuitive while at the same time generating a VGA display signal has a lot of moving parts, software-wise. The project write-up has a considerable amount of detail on the architecture of the system, and the source code is available on GitHub for those who want a closer look.

We’ve seen gesture controls interfaced to physical marble mazes before, but two Raspberry Pi Picos doing it wirelessly with a VGA monitor for feedback is pretty neat. Watch it in action in the video, embedded just under the page break.

Continue reading “Gyro-Controlled Labyrinth Game Outputs To VGA”

Air Hockey Table Embraces DOOM, Retro Gaming

[Chris Downing] recently finished up a major project that spanned some two years and used nearly every skill he possessed. The result? A smart air hockey table with retro-gaming roots. Does it play DOOM? It sure (kind of) does!

Two of the most striking features are the score board (with LCD screen and sound) and the play surface which is densely-populated with RGB LED lighting and capable of some pretty neat tricks. Together, they combine to deliver a few different modes of play, including a DOOM mode.

The first play mode is straight air hockey with automated score tracking and the usual horns and buzzers celebrating goals. The LED array within the table lights up to create the appearance and patterns of a typical hockey rink.

DOOM hockey mode casts one player as Demons and the other as the Doom Slayer, and the LED array comes to life to create a play surface of flickering flames. Screams indicate goals (either Demon screams or Slayer screams, depending on who scores!)

In retrogaming emulation mode, the tabletop mirrors the screen.

Since the whole thing is driven by a Raspberry Pi, the table is given a bit of gaming flexibility with Emulation Mode. This mode allows playing emulated retro games on the scoreboard screen, and as a super neat feature, the screen display is mirrored on the tabletop’s LED array. [Chris] asserts that the effect is imperfect, but to us it looks at least as legible as DOOM on 7-segment displays.

This project is a great example of how complex things can get when one combines so many different types of materials and fabrication methods into a single whole. The blog post has a lot of great photos and details, but check out the video (embedded below) for a demonstration of everything in action. Continue reading “Air Hockey Table Embraces DOOM, Retro Gaming”

NHL 94 Sega Genesis ROM hack playing on LCD monitor.

NHL ’24 ROM Hack Reimagines Classic Game, Zamboni And All

Thirty years is a long time to keep a piece of software alive, but there aren’t many pieces of software like NHL ’94 for the Sega Genesis. Despite new annual iterations of publisher Electronic Arts’ NHL hockey video game some players never connected with it like quite like they did in 1994. For years now it’s been a tradition for members of the NHL ’94 forums to incorporate the hockey league’s current players into the Sega Genesis original, however, the work [Adam] contributed this season goes beyond a mere roster update. This NHL ’24 ROM hack is more like a complete overhaul. Everything that was old is new again. Continue reading NHL ’24 ROM Hack Reimagines Classic Game, Zamboni And All”

Raspberry Pi Does Its Best Retro PC Impression

The Raspberry Pi is a popular choice if you’re looking to put together a simple emulation box — it’s relatively cheap, small enough to tuck into pretty much any entertainment center, and benefits from a large and vibrant development community. You can even get enclosures that will dress the Linux single-board computer up like a miniature version of your favorite retro console. But what about the old school PC gamers who want to relive their glory days in a palm-sized package?

Well, if you’ve got a 3D printer, [fantasticmrdavid] might have just the solution for you. This second iteration of his printable Raspberry Pi enclosure is designed to look like the 286 desktop that he had in his youth, complete with a functional “floppy drive” in the front that takes an SD card. With a 3.5 inch MPI3508 LCD up in the “monitor” and a copy of DOSBox on the SD card, you’re well on your way to booting up a copy of Windows 3.11 or building some contraptions in The Incredible Machine.

While the external aesthetics of the design are impeccable, we appreciate that [fantasticmrdavid] didn’t skimp on the internals. There’s mount points for dual 25 mm fans to keep the more powerful variants of the Raspberry Pi cool, and a speaker expansion board that plugs into the GPIO header to provide era-appropriate bloops and bleeps. The tiny details here really shine, like the fact that the face plates for the dual drives are designed as separate pieces so they can be printed in a different color than the main case.

If you’re not interested in the classics, don’t worry. We’ve seen the Raspberry Pi stand in foraa modern gaming PC, complete with the RGB LEDs you’d expect in a contemporary rig.