Simple Sprite Routines Ease Handheld Gaming DIY

Making your own handheld games is made much easier with [David Johnson-Davies’] simple sprite routines for the Adafruit PyBadge and PyGamer boards. Sprites can be thought of as small, fixed-size graphical objects that are drawn, erased, moved, and checked for collision with other screen elements.

xorSprite() plots an 8×8 sprite, moveSprite() moves a given sprite by one pixel without any flicker, and hitSprite() checks a sprite for collision with any screen elements in a given color. That is all it takes to implement a simple game, and [David] makes them easy to use, even providing a demo program in the form of the rolling ball maze shown here.

These routines work out-of-the-box with the PyBadge and PyGamer, but should be easy to adapt to any TFT display based on the ST7735 controller. The PyGamer is the board shown here, but you can see the PyBadge as it was used to create an MQTT-enabled conference badge.

If you really want to take a trip down the rabbit hole of sprite-based gaming graphics, you simply can’t miss hearing about the system [Sprite_TM] built into the FPGA Game Boy badge.

Pinball Machine Needs No Wizard

Ever since he was a young boy, [Tyler] has played the silver ball. And like us, he’s had a lifelong fascination with the intricate electromechanical beasts that surround them. In his recently-completed senior year of college, [Tyler] assembled a mechatronics dream team of [Kevin, Cody, and Omar] to help turn those visions into self-playing pinball reality.

You can indeed play the machine manually, and the Arduino Mega will keep track of your score just like a regular cabinet. If you need to scratch an itch, ignore a phone call, or just plain want to watch a pinball machine play itself, it can switch back and forth on the fly. The USB camera mounted over the playfield tracks the ball as it speeds around. Whenever it enters the flipper vectors, the appropriate flipper will engage automatically to bat the ball away.

Our favorite part of this build (aside from the fact that it can play itself) is the pachinko multi-ball feature that manages to squeeze in a second game and a second level. This project is wide open, and even if you’re not interested in replicating it, [Tyler] sprinkled a ton of good info and links to more throughout the build logs. Take a tour after the break while we have it set on free play.

[Tyler]’s machine uses actual pinball machine parts, which could quickly ramp up the cost. If you roll your own targets and get creative with solenoid sourcing, building a pinball machine doesn’t have to be a drain on your wallet.

Continue reading “Pinball Machine Needs No Wizard”

Force Feedback Mouse Really Shakes Things Up

This is a very exciting time for those who like to spend their downtime exploring virtual worlds. The graphics in some big-budget titles are easily approaching photorealism, and immersive multi-channel sound can really make you believe you’ve been transported to another place or time. With another generation or two of GPU development and VR hardware, the line between gaming and reality is bound to get awful blurry.

That said, we’re still a far way off from the holodeck aboard the Enterprise. A high-end PC and the latest in VR can fool your eyes and ears, but that still leaves your other senses out of the fun. That’s why [Jatin Patel] has developed this clever force-feedback mouse using an array of solenoids.

The idea is pretty simple: a Python program on the computer listens for mouse click events, and tells an attached Arduino to fire off the solenoids when the player pulls the virtual trigger. It’s naturally not a perfect system, as it would seem that clicking in the game’s menus would also start your “gun” firing. But as you can see in the video after the break, when it works, it works very well. The moving solenoids don’t just vibrate the mouse around, the metallic clacking actually accentuates the gun sound effects from the game.

With this kind of tactile feedback and an omnidirectional treadmill to keep us moving, we’d be pretty close to fooling our senses into thinking we’re actually somewhere else. Which frankly, sounds quite appealing right about now.

Continue reading “Force Feedback Mouse Really Shakes Things Up”

The DOOM Chip

It’s a trope among thriller writers; the three-word apocalyptic title. An innocuous item with the power to release unimaginable disaster, which of course our plucky hero must secure to save the day. Happily [Sylvain Lefebvre]’s DOOM chip will not cause the world to end, but it does present a vision of a very 1990s apocalypse. It’s a hardware-only implementation of the first level from id Software’s iconic 1993 first-person-shooter, DOOM. As he puts it: “Algorithm is burned into wires, LUTs and flip-flops on an #FPGA: no CPU, no opcodes, no instruction counter. Running on Altera CycloneV + SDRAM”. It’s the game, or at least the E1M1 map from it sans monsters, solely in silicon. In a very on-theme touch, the rendering engine has 666 lines of code, and the level data is transcribed from the original into hardware tables by a LUA script. It doesn’t appear to be in his GitHub account so far, but we live in hope that one day he’ll put it up.

“Will it run DOOM” is almost a standard for new hardware, but it conceals the immense legacy of this game. It wasn’t the first to adopt a 1st-person 3D gaming environment, but it was the game that defined the genre of realistic and immersive FPS releases that continue to this day. We first played DOOM on a creaking 386, we’ve seen it on all kinds of hardware since, and like very few other games of its age it’s still receiving active development from a large community today. We still mourn slightly that it’s taken the best part of three decades for someone to do a decent Amiga port.

Original Zork MDL Source Code Has Been Released

Though mostly known for its releases on countless 8-bit personal computers from the 1970s and 1980s, the game of Zork began its life on a PDP-10 mainframe. Recently, MIT released the original source code for this version of Zork. As we covered a while ago, the history of Zork is a long and lustrous one, a history that is based on this initial version written in MDL.

To recap, MDL is a LISP-derived language that excels at natural language processing. It was developed and used at MIT’s AI and LCS (now CSAIL) departments for a number of projects, and of course to develop games with. The use of MDL gave Zork as a text-based adventure a level of interaction that was far ahead of its time.

What MIT has made available is the source code from Zork as it existed around 1977, at a time when it was being distributed to universities around the US. For purely educational purposes, obviously. This means that it’s a version of Zork before it was commercialized (~1979), showing a rare glimpse of the game as it was still busily being expanded.

Running the game will take a bit of effort, however. These files were retrieved from an original MIT backup tape that was used with their PDP-10 machines. Ideally one would use a 1970s-era PDP-10 mainframe with an MDL compiler, but in a pinch one could run a PDP-10 emulator as well.

Let us know whether you got it to run. Screenshots (ASCII or not) are highly encouraged.

Scopetrex Is A Game Console… For Your Oscilloscope!

You’ve always wanted a game console at your bench, but maybe you haven’t had space for a monitor or TV set? Wouldn’t it be useful if the screen you do have on your bench could also play games? [Tube Time] has fixed this problem, with Scopetrex, a vector graphic console for your oscilloscope. In fact, it’s better than just a console, because it’s a clone of the legendary Vectrex, the vector-based console with built-in CRT screen from the 1980s.

The board itself is a slightly enhanced version of the original, offering not extra functionality but the ability to substitute some of the parts for more easily found equivalents. It gives full control over display size and brightness, can use the cheaper 6809E processor and AY-3-9810 sound chip if necessary, and only needs a single 5 volt supply. There’s also a custom controller board, which is handly Vectrex-compatible. All you will need to play Vectrex games on your ‘scope once you’ve built this board, are a copy of the Vectrex ROM, and some games.

The Vectrex holds an enduring fascination for our community, and has appeared here many times. Particularly memorable is a CRT replacement, and then of course there’s the never-released mini Vectrex prototype.

Thanks [Justin List] for the tip.

An Open Hardware Sega Genesis Cartridge Dumper

You might be wondering why anyone would build device to dump Sega Genesis and Mega Drive cartridges. Perhaps they want to play their well-worn copy of The Lost Vikings on their phone, or they want to keep their QVC Limited Edition Maximum Carnage box set in near mint condition. Maybe. But we’re betting that [tonyp7] was just looking for a challenge, and as an added bonus, the world gets another cool open hardware gadget in the process. Sounds like a good deal to us.

Based on the ATmega324PB, the GenDumper can take those dusty old Sega cartridges and back them up to an image file on your computer. Right now the hardware depends on a Windows program, but according to the documentation, [tonyp7] is working on a platform-agnostic Python script so everyone can play along. What you do with the image file after you’ve dumped it is your business, but presumably loading it up in an emulator would be the next step.

Considering how easy it is to find ROMs for these old games online, do you actually need a GenDumper of your own? Probably not. But it’s still an interesting piece of hardware, and if you look close enough, you just might learn a thing or two from the design. For example, [tonyp7] shows how a relatively easy to work with 12 pin USB-C connector can be used on your USB 2.0 projects to embrace the new physical connector without diving into a full USB 3.0 implementation. The keen-eyed reader might also note there’s a lesson to be learned about finalizing the name of your project before sending off your PCBs for manufacturing.

A perusal of the archive uncovered a similar project from 2012 that, believe it or not, was also tested on a copy of Madden 96. Whether that means the game is so beloved that hackers want to make sure its preserved for future generations, or so despised that they are secretly hoping the magic smoke leaks out during testing, we can’t say.