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”

Checking The Weather Without A Window

Making a weather display is great because it’s a simple project that shows off some skills and has an obvious daily use. So [ACROBOTIC Industries] decided to make an easy kit for the Hackaday Prize to make weather displays even more accessible.

Calling it the ESPecter, [ACROBOTIC Industries] wanted to make this a simple project for anyone, regardless of skill with a soldering iron or Arduino toolkit. So they decided to base the guts on common components that can be put together easily, specifically a Wemos Mini D1 with an OLED shield as a bright display. They also designed a cool tiltable 3D-printed enclosure for this small device so that you can orient it to your eye level.

ESPecter breadboarded prototype.

While they already have a breadboarded prototype, and a 3D printed case, some software work remains to make the project really shine. They plan to add nice features like a web interface to configure location and network information, alerts, additional locations, and historical weather data. They also want to create a weather library to display well on a low-resolution screen and add battery operation.

We look forward to seeing the final version later in the Hackaday Prize!

This isn’t the first weather project we’ve seen around here. Other variants include mirror weather displays, an ESP8266-based weather monitoring station, a very low-power weather station, and this roundup of weather displays which might give you some inspiration.

Google Lowers The Artificial Intelligence Bar With Complete DIY Kits

Last year, Google released an artificial intelligence kit aimed at makers, with two different flavors: Vision to recognize people and objections, and Voice to create a smart speaker. Now, Google is back with a new version to make it even easier to get started.

The main difference in this year’s (v1.1) kits is that they include some basic hardware, such as a Raspberry Pi and an SD card. While this might not be very useful to most Hackaday readers, who probably have a spare Pi (or 5) lying around, this is invaluable for novice makers or the educational market. These audiences now have access to an all-in-one solution to build projects and learn more about artificial intelligence.

We’ve previously seen toys, phones, and intercoms get upgrades with an AIY kit, but would love to see more! [Mike Rigsby] has used one in his robot dog project to detect when people are smiling. These updated kits are available at Target (Voice, Vision). If the kit is too expensive, our own [Inderpreet Singh] can show you how to build your own.

Via [BGR].

Microsoft Secures IoT from the Microcontroller Up

Frustrated by the glut of unsecured IoT devices? So are Microsoft. And they’re using custom Linux and hardware to do something about it.

Microsoft have announced a new ecosystem for secure IoT devices called “Azure Sphere.” This system is threefold: Hardware, Software, and Cloud. The hardware component is a Microsoft-certified microcontroller which contains Microsoft Pluton, a hardware security subsystem. The first Microsoft-certified Azure Sphere chip will be the MediaTek MT3620, launching this year. The software layer is a custom Linux-based Operating System (OS) that is more capable than the average Real-Time OS (RTOS) common to low-powered IoT devices. Yes, that’s right. Microsoft is shipping a product with Linux built-in by default (as opposed to Windows Subsystem for Linux). Finally, the cloud layer is billed as a “turnkey” solution, which makes cloud-based functions such as updating, failure reporting, and authentication simpler.

Continue reading “Microsoft Secures IoT from the Microcontroller Up”

Assemble Your Own Modular Li-Ion Batteries

Low-voltage DC power electronics are an exciting field right now. Easy access to 18650 battery cells and an abundance of used Li-Ion cells from laptops, phones, etc. has opened the door for hackers building their own battery packs from these cheap cells. A big issue has been the actual construction of a pack that can handle your individual power needs. If you’re just assembling a pack to drive a small LED, you can probably get by with spring contacts. When you need to power an e-bike or other high power application, you need a different solution. A spot welder that costs $1000 is probably the best tool, but out of most hackers’ budget. A better solution is needed.

Vruzend v2 Battery Caps.

Enter [Micah Toll] and his Vruzend battery connectors, whose Kickstarter campaign has exceded its goal several times over. These connectors snap onto the ends of standard 18650 cells, and slot together to form a custom-sized battery pack. Threaded rods extend from each plastic cap to enable connection to a bus bar with just a single nut. The way that you connect each 18650 cell determines the battery pack’s voltage and current capability. There are a couple of versions of the connector available through the campaign, and the latest version 2.0 should allow some tremendously powerful battery pack designs. The key upgrade is that it now features corrosion-resistant, high-power nickel-plated copper busbars allowing current up to 20A continuous. A side benefit of these caps instead of welded tabs is that you can easily swap out battery cells if one fails or degrades over time. Continue reading “Assemble Your Own Modular Li-Ion Batteries”

Bent PETG Fills A Nixie Gap

Have you ever thought that Nixie tubes are cool but too hard to control with modern electronics? And that they’re just too expensive? [david.reid] apparently thought so and decided to create his own version of a Nixie tube, and it doesn’t get much cheaper than this.

PETG Nixie Tube

While working on a 3D printed locomotive with his son, [david.reid] used clear PETG (Polyethylene Terephthalate Glycol) 3D printer filament to move light from LEDs to various parts of the locomotive. He found this was a success, but roughed up the outside of the filament to see what would happen. Lo and behold, a warm glow appeared on the surface of the tube! Like any good hacker, his next thought was of Nixie tubes, as you have seen in many clocks.

His basic idea is that with a little heat you can bend the filament into any shape that you like ([david.reid] uses custom molds). You then use some sandpaper to roughen up the outside wherever you’d like light to show, and add an LED at the bottom to light it up!

[david.reid] isn’t the first person to modernize Nixie Tubes. Over the years, we’ve seen them combined with Wi-Fi boards, individual LED segments, or even laser cutters & WS2812s!

Now’s a great time to get started on a project for the Hackaday Prize! If you’re looking for somewhere to start, we’d love to at least see your own take on a clock!

Unlock & Talk: Open Source Bootloader & Modem

During the early years of cell phones, lifespan was mainly limited by hardware (buttons wearing out, dropping phones, or water damage), software is a primary reason that phones are replaced today. Upgrades are often prompted by dissatisfaction with a slow phone, or manufacturers simply stopping updates to phone software after a few years at best. [Oliver Smith] and the postmarketOS project are working to fix the update problem, and have begun making progress on loading custom software onto cellphone processors and controlling their cellular modems. Continue reading “Unlock & Talk: Open Source Bootloader & Modem”