Procedurally Generating Random Medieval Cities

With procedural content generation, you build data algorithmically rather than manually — think Minecraft worlds, replete with all the terrains and mobs you’d expect, but distributed differently for every seed. A lot of games use algorithms similarly to generate appropriate treasure and monsters based on the level of the character.

Game developer [Oleg Dolya] built a random city generator that creates excellently tangled maps. You select what size you want, and the application does the rest, filling in each ward with random buildings. The software also determines the purpose of each ward, so the slum doesn’t have a bunch of huge mansions, but instead sports a tangle of tiny huts. [Oleg] shows a little of how the application works, using polygons created with the guard towers serving as vertices. You can learn more about the project on Reddit.

As new as this project is, it’s limited. All the maps feature a walled community, each has one castle within a bailey, and none of the cities includes a river or ocean port. [Oleg] designed it to make cool-looking maps, not necessarily accurate or historically realistic ones. That said, he’s already tweaked the code to reduce the number of triangular buildings. Next up, he wants to generate shanty towns outside the city walls.

ESP32 Hamster Wheel Tracker Tweets Workout Stats

Even with all the hamster wheel trackers out there (and on this site) there’s room for improvement. [Bogdan] upgraded his hamster wheel from an Arduino and datalogging shield to an ESP32, and unleashed some new capabilities one does not ordinarily associate with hamster wheels.

[Bogdan]’s project logs distance in feet, duration of current session in time, RPM, overall revolutions, speed in MPH, and overall number of sessions, as well as a couple of system monitoring stats. It also tracks multiple wheels, as [Piontek] (the hamster) has two. However, thanks to the ESP32, [Bogdan]’s wheel tracker tweets its stats and updates a ThingSpeak dashboard with [Piontek]’s workouts.

In addition to its functionality, [Bogdan] made a point to make the project look and feel FINISHED. He designed custom 3D parts including a front plate, hooks for attaching the control box to the cage, and mounts for attaching the sensor to the wheel.

Continue reading “ESP32 Hamster Wheel Tracker Tweets Workout Stats”

Making an Inexpensive DRO

[Andrew] wanted a digital readout (DRO) for his mini lathe and mini mill, but found that buying even one DRO cost as much as either of his machines. The solution? You guessed it, he built his own for cheap, using inexpensive digital calipers purchased off eBay.

The DRO he created features a touch screen with a menu system running on an LPCXpresso, while smaller OLED screens serve as labels for the 7-segment displays to the right. The DRO switches back and forth between the lathe and mill, and while the software isn’t done, [Andrew] hopes to be able to transfer measurements from one machine to the other.

In a very sweet touch, [Andrew] hacked cheap digital calipers to provide measurements for each axis, where they provide a resolution of 0.01mm. There are six daughter boards, one for each caliper, and each has a PIC that converts from serial to I2C, freeing the main firmware from dealing with six separate data streams.

The DRO doesn’t have a case, [Andrew] has it positioned out of chip-range from either machine.

A previous DRO we featured in 2012 used an Android tablet as its display.

Hackaday Prize Entry: Underwater Glider Offers Low-Power Exploration

[Alex Williams] created his Open Source Underwater Glider project as an entry to The Hackaday Prize, and now it’s one of our twenty finalists. This sweet drone uses motor-actuated syringes to serve as a ballast tank, which helps the glider move forward without the use of traditional propellers.

Unlike most UAVs, which use motors to actively move the craft around, [Alex]’s glider uses the syringes to change the buoyancy of the craft, and it simply glides around on its wings. When the craft starts getting too deep, the syringes push out the water and the glider rises toward the surface until it’s ready for another glide.

This low-power solution allows for long-term science projects and research. In addition to conserving power, the glider’s slow travel does not disturb the water or sea life.

[Alex]’s goal is to make his glider open source and 3D printable, combined with off-the-shelf hardware and ArduSub under the hood.

Continue reading “Hackaday Prize Entry: Underwater Glider Offers Low-Power Exploration”

Zombie Badges Take Over Security Con

We can’t get enough of hacker-con badges. BSides Cape Town, held Last December, featured an IR-equipped badge that immersed attendees in a game while they chatted.

A group led by [AndrewMohawk] and [ElasticNinja] designed the badge around an ESP8266 and 128×64 OLED display, with eight buttons, an IR receiver and transmitter, five “level” LEDs, an RGB LED, and a 600 mAh LiPo that charged over USB.

The hardware was designed specifically to play an organic game so that the organizers could watch the interaction between the badges in real time. Each badge was randomly sorted into a faction, either red, blue, or green—identifiable by an RGB LED glowing on the badge. There was also a series of five LEDs signifying your level in the game. When two or more badges got close to each other, enough for the IR to link, the badge with the lowest level was converted to the faction of the winner.

Of course, the badge displayed attendees’ handles and contained a list of convention programming. It also presented attendees with a series of challenges, which could be unlocked to play Pong or Rock/Paper/Scissors/Lizard/Spock, scan for wireless networks, and run animations.

Continue reading “Zombie Badges Take Over Security Con”

Synthesizing Strings on a Cyclone V

Cornell students [Erissa Irani], [Albert Xu], and [Sophia Yan] built a FPGA wave equation music synth as the final project for [Bruce Land]’s ECE 5760 class.

The team used the Kaplus-Strong string synthesis method to design a trio of four-stringed instruments to be played by the Cyclone V FPGA. A C program running on the development board’s ARM 9 HPS serves as music sequencer, controlling tempo and telling the FPGA which note to play.

The students created versions of four songs, including “Colors of the Wind” from the Pocahantas soundtrack, “Far Above Cayuga’s Waters” (Cornell’s alma mater) and John Legend’s “All of Me”. A simple GUI allows the viewer to select a song and to choose which instrument or instruments to play, providing multiple variations for each song.

Thanks, [Bruce]!

Continue reading “Synthesizing Strings on a Cyclone V”

LEGO Train Explores a World of Sparkling Light

[bananenbuurman] converted his studio apartment into a glorious four-minute LEGO train course equipped with lights, motorized effects, and creative displays.

The train car sports a 360-degree camera, giving us a minifigure’s view of the whole course: a series of themed “rooms”—one papered in what appear too be Euro notes, while others have laptops, power supplies, motherboards, and other pieces of old hardware. You’re reminded of the train’s small size when it passes by various LEGO-scale elements like minifigures, looming as if they were six feet tall.

There are lights everywhere, from the LED indicators from various pieces of equipment, to holiday lights and an an impressive collection of novelty lighting. It’s almost like a Katamari Damacy level in terms of detail—the gate made of floppy drives is killer.

You can see more of [bananenbuurman]’s projects at Banana Neighbor.

[Thanks, MarkoeZ!]

Continue reading “LEGO Train Explores a World of Sparkling Light”