Discover more from hrbrmstr's Daily Drop
Watabou's Procgen Arcana; Haxe & OpenFL
You only get two sections today, since the theme is procedurally generated spaces, with a focus on one set of fantasy role-playing environment builders.
Even if you aren't "into" things like Dungeons & Dragons, you should take some time this weekend and explore the various "worlds" and perhaps give the tools used to build these worlds a go.
I would have added more environment captures, but Substack keeps yelling at me that the post is too long, so definitely give the links a tap to see them all.
Watabou's Procgen Arcana
Watabou's Procgen Arcana [GH] is a collection of free map generators for tabletop role-playing games and world-building. They are all actively developed, insanely cool, and fun to play with even if you're not heading down to raid a virtual dungeon.
Perilous Shores is a fantasy region generator, with the scale of resulting maps ranging from an area around a single town to a small continent. While the maps are built on a hexagonal grid, the generator tries to be subtle about that underlying geometry. It was designed to produce hand-drawn looking maps, but now it is capable of displaying them in a variety of styles.
Medieval Fantasy City Generator (MFCG) is the most developed and most popular generator of this set, and has progressed from simple city-shaped Voronoi diagrams to being able to generate much more detailed and realistic maps with scads of customization options.
You can view a generated city in 3D by exporting its map as JSON and opening it in City Viewer.
Procgen Mansion initially was designed to generate simple 3D models of relatively small residential buildings. The algorithm responsible for stitching roofs of different building parts turned out to be useful for producing floor plans, and this feature is what really makes this generator useful.
Unlike cities in the city generator, villages in the Village Generator are made of roads, not buildings. Houses are placed sparsely along these winding roads and complemented by fields and plenty of trees to make the resulting maps look rural.
Relatively small Neighbourhood Generator is the most recent addition to this family of generators, and it is arguably the most visually detailed. This generator was created as a testing ground for the idea of "twisted bisection" but turned out to be popular enough for developing beyond that.
One-Page Dungeon Generator generates meaningful dungeon plans and also provides short descriptions for some of its locations. This is supposed to induce the feeling of the place having a story, even if a very vague one.
Fiddling with these generators is way more satisfying than staring passively at a glowing rectangle.
Haxe & OpenFL
Haxe is an open source high-level strictly typed programming language with a fast, optimizing cross-compiler. If you're familiar with Java, C++, PHP, AS3, or any similar object-oriented language. It has all the fundamentals:
general-purpose programming language
strictly typed, with type inferencing
compiled (to multiple language targets/platforms, including VM bytecode)
lexically scoped [direct PDF]
everything is an expression
exceptions for error handling
standard library includes modules specific to the target-platform, in addition to modules common to all targets
supports object-oriented, generic, and functional programming
The language was purposely kept fairly simple, elegant, and practical to accommodate compilation to the large number of different target platforms. It was also designed to integrate well with the native running platform/OS Haxe programs are run in. And, it's not just for building games.
OpenFL stands for "Open Flash Library" and was designed for creative expression on the web, desktop, mobile and consoles. It's designed to work with Haxe (so you can also build cross-platform applications with it). It shares many (all?) of the fundamental constructs of ActionScript, and it also has a playground and a great set of tutorials.
Unlike Adobe Flash, OpenFL is not evil/unsafe.
If you generate some cool worlds or build (even a super tiny thing) in Haxe/OpenFL over the weekend, drop a note/link in the comments. ☮