Playing Doom on Keysight Oscilloscope via Windows CE

We all know the drill when buying a digital oscilloscope: buy the most hackable model. Some choose to void the warranty right away and access features for which the manufacturer has kindly provided all the hardware and software but has disabled through licensing. Few of us choose to tap into the underlying embedded OS, though, which seems a shame.

When [Jason Gin]’s scope started giving him hints about its true nature, he decided to find a way in. The result? An oscilloscope with a Windows desktop that plays Doom. The instrument is a Keysight DSOX1102G which [Jason] won during the company’s “Scope Month” giveaway. Relatively rare system crashes showed the familiar UI trappings of Windows CE.

Try as he might, [Jason] couldn’t get the scope to crash on cue — at least not until he tried leaving an external floppy drive plugged into the USB port on startup. But in order to use the desktop thus revealed, a keyboard and mouse were needed too. So he whipped up a custom USB switch cable, to rapidly toggle in the keyboard and mouse after the crash. This gave him the keys to the kingdom, but he still had a long way to go. We won’t spoil the story, but suffice it to say that it took [Jason] a year and a half, and he learned a lot along the way.

It was nice to hear that our review of the 1000X series scopes helped [Jason] accomplish this exploit. This hack’s great for bragging rights, as one way to prove you’ve owned a system is telling people it runs Doom!

Doom Battle Royale Mod with 64 Players Hurts Plenty

Sixty-four players are dropped into a map, but there can be only one that emerges victorious…heard that before, right? Thanks to PC Game modder [Bambamalicious] there is yet another entrant into the rapidly growing videogame genre. The difference this time, however, is that their 64 player DooM Royale (with cheese) mod is ready to show all those other also-ran games how the granddaddy of FPS games does it.

Doom Battle Royale WIth Cheese Mod Screenshot

According to the announcement post the mod is “…a 64 player Battle Royale using Doom 2 as the IWAD, and the Zandronum engine as it’s base. The speed of gameplay will be unchanged from normal Doom, and when you die, that’s not the end for you!”. There is a respawn system, but each player is given a limited number of lives. To ensure no server feels like a ghost town [Bambamalicious] included bots that will spawn in matches with low participation. Each game inevitably results in a “last man standing” face off that has the victor coming away with the coveted “Royale with cheese”. Other than the aforementioned changes, this is still the seminal classic Doom (1993).

Do note that in order to play the mod, the Zandronum engine is a required in order to take part in the fun. The engine is the backbone that allows for leaderboards as well as hopping between custom servers. Zandronum additionally supports many other multiplayer match types for instance: Team Deathmatch, Capture the Flag, Possession, and Skulltag. Up to 64 players are supported in those match types as well.

From the looks of the DooM Royale (with cheese) map, there should be frequent enemy player encounters and no respite for those seeking to just “hide in a bathtub”. The multiple levels should supply plenty of opportunity to take advantage by attacking from above. Test footage of the mod in action can be seen in the video below.

For more on the DOS game that just won’t die, check out Doom running on an ATM.

Continue reading “Doom Battle Royale Mod with 64 Players Hurts Plenty”

Neural Networks Using Doom Level Creator Like It’s 1993

Readers of a certain vintage will remember the glee of building your own levels for DOOM. There was something magical about carefully crafting a level and then dialing up your friends for a death match session on the new map. Now computers scientists are getting in on that fun in a new way. Researchers from Politecnico di Milano are using artificial intelligence to create new levels for the classic DOOM shooter (PDF whitepaper).

While procedural level generation has been around for decades, recent advances in machine learning to generate game content (usually levels) are different because they don’t use a human-defined algorithm. Instead, they generate new content by using existing, human-generated levels as a model. In effect they learn from what great game designers have already done and apply those lesson to new level generation. The screenshot shown above is an example of an AI generated level and the gameplay can be seen in the video below.

The idea of an AI generating levels is simple in concept but difficult in execution. The researchers used Generative Adversarial Networks (GANs) to analyze existing DOOM maps and then generate new maps similar to the originals. GANs are a type of neural network which learns from training data and then generates similar data. They considered two types of GANs when generating new levels: one that just used the appearance of the training maps, and another that used both the appearance and metrics such as the number of rooms, perimeter length, etc. If you’d like a better understanding of GANs, [Steven Dufresne] covered it in his guide to the evolving world of neural networks.

While both networks used in this project produce good levels, the one that included other metrics resulted in higher quality levels. However, while the AI-generated levels appeared similar at a high level to human-generated levels, many of the little details that humans tend to include were omitted. This is partially due to a lack of good metrics to describe levels and AI-generated data.

Example DOOM maps generated by AI. Each row is one map, and each image is one aspect of the map (floor, height, things, and walls, from left to right)

We can only guess that these researcher’s next step is to use similar techniques to create an entire game (levels, characters, and music) via AI. After all, how hard can it be?? Joking aside, we would love to see you take this concept and run with it. We’re dying to play through some gnarly levels whipped up by the AI from Hackaday readers!

Continue reading “Neural Networks Using Doom Level Creator Like It’s 1993”

Hack Excel for 3D Rendering

[C Bel] teaches Excel and he has a problem. Most of us — especially us Hackaday types — immediately write a VBA (Visual Basic for Applications) macro to do tough things in Excel. Not only is this difficult for non-technical users, but it also isn’t as efficient, according to [C Bel]. To demonstrate that VBA macros are not always needed, he wrote a 3D game engine using nothing but Excel formulae. He did have to resort to VBA to get user input and in a very few cases to improve the performance of large algorithms. You can see his result in the video below or download it and try it yourself.

The game is somewhat Doom-like. Somewhat. As you might expect it isn’t blindingly fast, and the enemy is a big red blob, but as the old Russian proverb goes, “The marvel is not that the bear dances well, but that the bear dances at all.” (And thanks to [Sean Boyce] for recalling that quote.)

Continue reading “Hack Excel for 3D Rendering”

Doomed Incandescent Light Blinker

[Jānis]’s entry for the Flashing Light Prize was doomed from the start. Or should we say Doomed? It was a complicated mess of Rube-Goldbergery that essentially guaranteed that he’d have no time for making a proper video and submitting and entry. But it also ran Doom. Or at least ran on Doom.

(Note: [Jānis] sent us this hack in the e-mail — there’s no link for this blog post. You’re reading it here and now.)

It starts with a DC motor salvaged from a DVD player that spins a wheel that flips a switch back and forth, which in turn flips the polarity of the power on the motor. It’s like a most-useless machine, but with no human involved. This contraption periodically presses a button on a gutted mouse.

Pressing the mouse button on one computer fires a rocket in a multiplayer Doom game, and triggers a light on a wall when it does. A second Doom player, on another computer, sits facing the wall. Solar cells dangled in front of Player 2’s monitor emit high and low voltages as the LCD blinks on and off. That output goes into the ADC of an Arduino clone that drives a transistor that drives a relay that turns on and off a lightbulb.

We had a lot of fun watching all of the entries for the Flashing Light Prize, and we were also stoked by the presence of so many Hackaday regulars in the Honourable Mention list. (Sad to see [Sprite]’s ping-flasher didn’t make the cut!)

If you, like [Jānis] are still sitting on a design, don’t fret. It looks like the prize will make a return next year. Woot!

Continue reading “Doomed Incandescent Light Blinker”

Hackaday Links: July 9, 2017

Doom is now running on the ESP32. This is some work from [Sprite_tm], and the last we heard about Doom on the ESP32 is that there was a silicon bug or something. Now we’re knee deep in the dead on a tiny WiFi and Bluetooth-enabled microcontroller.

Loading animations have a long and storied history. What originally began as an hourglass quickly turned into a hand counting to five and progress bars. There were clocks, the Great Beach Ball of Death, and now loading animations are everywhere. However, the loading animation has still not been perfected — until now, that is. This is a fidget spinner loading animation. It’s beautiful.

Just a quick reminder that a Minecraft scholarship exists. Yeah, I know what you’re thinking, but there is a scholarship from the Klingon Language Institute for studying any language, and last year’s winner built a redstone computer from scratch,

[8bit generation] recently released a documentary, about the rise of Atari. Easy to Learn, Hard to Master is about the rise of Atari under [Nolan Bushnell]. Now [8bit generation] is working on a new documentary: Firing Steve Jobs. The [Steve Jobs] story is fascinating, and no matter what you think of him, he probably knew what he was doing.

Want to build and sell some hardware? Over on Tindie, we’re taking a look at some of the most successful designers of custom crafted hardware. This time it’s [Albertas Mickėnas] of Catnip Electronics who has sold five thousand soil moisture sensors.

You can just go out and buy a CNC machine, but that doesn’t quite underscore the difficulty in getting a CNC machine running. Our ‘ol pal [Jeremy] recently picked up a Romaxx CNC machine and put together a video of its commissioning. There’s a lot of work here, from building a shelf/stand for a rather beefy machine to cutting into the bed for t-tracks, and figuring out how dust collection is going to happen.

Before there was KiCad and Eagle and a ton of web-based PCB design tools, there was Autotrax. Want to know what PCB design and GUIs look like in DOS? I did a walkthrough for designing a small PCB in the DOS version of Autotrax late last year. There are thousands of designs locked up in discontinued EDA suites, and [Erich] has a way to revive them. He’s developed an Autotrax/Easytrax layout import/export plugin for pcb-nd. Now legacy Protel designs can be imported into software released in this century. This is really cool, and you can check out some screenshots here.

Doomed Thermostat

It is amazing how the game Doom has been ported to so many things. Enter one more port, where the hardware in question is a Honeywell Prestige thermostat.

In his video, [cz7asm] shows us the game running quite nicely on the 480 x 272 LCD with an NES controller plugged into the USB port originally intended for software updates. The thermostat runs on a STM32F429 which is an ARM9 processor that has the juice to pull it off. The Doom engine being used is based on Chocolate Doom, an open source port of the game, and the binaries can be downloaded for Windows and Mac. The source code is also available as a download for your tinkering pleasure. This project by [cz7asm]  is extended from a code on GitHub by [floppes] that was meant for the STM32F429IDISCOVERY evaluation board.

The author shares his code for the STM32F4 on Dropbox as a zip and in order to compile it, the Atmel BSP for GNU GCC is used. The video below demonstrates the hack in action and, though there is no sound yet, the satisfaction that comes from such modifications is its own reward.

What else can you run Doom on? How about a calculator or maybe the Intel Edison or even an ATM machine! If there is a processor with enough muscle power, hackers will find a way to run Doom on it. So have you seen any alien computers lately that you think can be hacked? Continue reading “Doomed Thermostat”