What Game Should Replace Doom As The Meme Port Of Choice?

DOOM. The first-person shooter was an instant hit upon its mrelease at the end of 1993. It was soon ported off the PC platform to a number of consoles with varying success. Fast forward a few years, and it became a meme. People were porting Doom to everything from thermostats to car stereos and even inside Microsoft Word itself.

The problem is that porting Doom has kind of jumped the shark at this point. Just about every modern microcontroller or piece of consumer electronics these days has enough grunt to run a simple faux-3D game engine from 1993. It’s been done very much to death at this point. The time has come for a new meme port!

Good Game

Doom became a popular meme port for multiple reasons. For one, it’s just complex and resource-intensive enough to present a challenge, without being so demanding as to make ports impractical or impossible. It’s also been open-source for decades, and the engine has been hacked to death. It’s probably one of the best understood game engines out there at this point. On top of that, everybody plays Doom at some point, and it was one of the biggest games of the 90s. Put all that together, and you’ve got the perfect meme port.

However, you can always have too much of a good thing. Just as The Simpsons got old after season 10 and Wonderwall is the worst song you could play at a party, Doom ports have been overdone. But what other options are there? Continue reading “What Game Should Replace Doom As The Meme Port Of Choice?”

You Can Now Play DOOM In Microsoft Word, But You Probably Shouldn’t

DOOM used to primarily run on x86 PCs. It later got ported to a bunch of consoles with middling success, and then everything under the sun, from random embedded systems to PDFs. Now, thanks to [Wojciech Graj], you can even play it in Microsoft Word.

To run DOOM inside Microsoft Word, you must enable VBA macros, and ignore security warnings, to boot. You’ll need a modern version of Word, and it will only work on Windows on an x64 CPU. As you might imagine, too, the *.DOCM file is not exactly lightweight. It comes in at 6.6 MB, no surprise given it contains an entire FPS. It carries inside it a library called doomgeneric_docm.dll and the whole doom1.wad data file. Once the file is opened, a macro then extracts all the game data and executes it.

If you think that Microsoft Word doesn’t really have a way of displaying live game graphics, you’d be correct. Instead, that DLL is creating a bitmap image of the game state for every frame, which is then displayed inside Word itself. It uses the GetAsyncKeyState function to grab inputs from the arrow keys, number keys, and CTRL and space so the player can move around. It certainly sounds convoluted, but it actually runs pretty smoothly given all the fuss.

While this obviously works, you shouldn’t get in the habit of executing random code in your word processor. It’s just not proper, you see, like elbows on the dinner table! And, you know. It’s insecure. So don’t do that.

Continue reading “You Can Now Play DOOM In Microsoft Word, But You Probably Shouldn’t”

Pixel mashup with Wasm-4 logo and retro graphics

WASM-4: Retro Game Dev Right In Your Browser

Have you ever dreamt of developing games that run on practically anything, from a modern browser to a microcontroller? Enter WASM-4, a minimalist fantasy console where constraints spark creativity. Unlike intimidating behemoths like Unity, WASM-4’s stripped-back specs challenge you to craft games within its 160×160 pixel display, four color palette, and 64 KB memory. Yes, you’ll curse at times, but as every tinkerer knows, limitations are the ultimate muse.

Born from the WebAssembly ecosystem, this console accepts “cartridges” in .wasm format. Any language that compiles to WebAssembly—be it Rust, Go, or AssemblyScript—can build games for it. The console’s emphasis on portability, with plans for microcontroller support, positions it as a playground for minimalist game developers. Multiplayer support? Check. Retro vibes? Double-check.

Entries from a 2022’s WASM-4 Game Jam showcase this quirky console’s charm. From pixel-perfect platformers to byte-sized RPGs, the creativity is staggering. One standout, “WasmAsteroids,” demonstrated real-time online multiplayer within these confines—proof that you don’t need sprawling engines to achieve cutting-edge design. This isn’t just about coding—it’s about coding smart. WASM-4 forces you to think like a retro engineer while indulging in modern convenience.

WASM-4 is a playground for anyone craving pure, unadulterated experimentation. Whether you’re a seasoned programmer or curious hobbyist, this console has the tools to spark something great.

White pieces on a teal and white chess board. The line of pawns shows three segmented queens in the foreground, one piece being pressed by a man's hand from above in a state between queen and pawn, and the remainder of the pawns in the background in the pawn state.

Transforming Pawn Changes The Game

3D printing has allowed the hobbyist to turn out all sorts of interesting chess sets with either intricate details or things that are too specialized to warrant a full scale injection molded production run. Now, the magic of 3D printing has allowed [Works By Design] to change the game by making pawns that can automatically transform themselves into queens.

Inspired by a CGI transforming chess piece designed by [Polyfjord], [Works By Design] wanted to make a pawn that could transform itself exist in the real world. What started as a chonky setup with multiple springs and a manually-actuated mechanism eventually was whittled down to a single spring, some pins, and four magnets as vitamins for the 3D printed piece.

We always love getting a peek into the trial-and-error process of a project, especially for something with such a slick-looking final product. Paired with a special chess board with steel in the ends, the magnets in the base activate the transformation sequence when they reach the opposite end.

After you print your own, how about playing chess against the printer? We’d love to see a version machined from metal too.

Thanks to [DjBiohazard] on Discord for the tip!

Continue reading “Transforming Pawn Changes The Game”

Hackaday Links Column Banner

Hackaday Links: October 27, 2024

Problem solved? If the problem is supplying enough lithium to build batteries for all the electric vehicles that will be needed by 2030, then a new lithium deposit in Arkansas might be a resounding “Yes!” The discovery involves the Smackover Formation — and we’ll be honest here that half the reason we chose to feature this story was to be able to write “Smackover Formation” — which is a limestone aquifer covering a vast arc from the Rio Grande River in Texas through to the western tip of the Florida panhandle. Parts of the aquifer, including the bit that bulges up into southern Arkansas, bear a brine rich in lithium salts, far more so than any of the brines currently commercially exploited for lithium metal production elsewhere in the world. Given the measured concentration and estimated volume of brine in the formation, there could be between 5 million and 19 million tons of lithium in the formation; even at the lower end of the range, that’s enough to build nine times the number of EV batteries needed.

Continue reading “Hackaday Links: October 27, 2024”

Lunar Lander Game Asks You To Write A Simple Autopilot

Everyone likes a good lunar landing simulator, and [Dominic Doty] wrote a fun take on the idea: your goal is to write an autopilot controller to manage the landing. Try it out!

Virtual landers are far cheaper than real ones, thank goodness.

[Dominic] was inspired in part by this simple rocket landing game which is very much an exercise in reflex and intuition, not to mention being much faster-paced than the classic 1979 video game (which you can also play in your browser here.)

[Dominic]’s version has a similar classic look to the original, but embraces a more thoughtful approach. In it, one uses plain JavaScript to try to minimize the lander’s angle, velocity, and angular velocity in order to land safely on the generated terrain.

Want to see if you have the right stuff? Here’s a direct link to Lunar Pilot. Don’t get discouraged if you don’t succeed right away, though. Moon landings have had plenty of failures, and are actually very hard.

Turning Horrible Browser Controls Into A Game

With all of the various keyboards, mouses (mice?), and other human interface devices (HID) available for our computers, there’s no possible way for developers to anticipate every type of input for every piece of software they build. Most of the time everything will work fine as long as some basic standards are kept, both from the hardware and software sides, but that’s not always the case. [Losso] noticed a truly terrible volume control method when visiting certain websites while also using a USB volume knob, and used this quirk to build a Breakout game with it.

It turns out his volume control knob would interact simultaneously with certain video players’ built-in volume control and the system volume for the operating system, leading to a number of undesirable conditions. However, the fact that this control is built in to certain browsers in the first place led to this being the foundation for the Breakout clone [Losso] is calling KNOB-OUT. Unlike volume buttons on something like a multimedia keyboard, the USB volume control knob can be configured much more easily to account for acceleration, making it more faithful to the original arcade version of the game. The game itself is coded in JavaScript with the source code available right in the browser.

If you’d like to play [Losso]’s game here’s a direct link to it although sometimes small web-based projects like these tend to experience some slowdown when they first get posted here. And, if you’re looking for some other games to play in a browser like it’s the mid-00s again, we’re fans of this project which brings the unofficial Zelda game Zelda Classic to our screens.