v0.3 adds new map types and grid types
Atlas Arcana v0.3 is live with lots of new features!
Version 0.3 was all about expanding the BASIC GENERATION features to go beyond the original prototype of island maps and voronoi polygons. In addition to Island map type, you can now make the following:
- Mainland Map Type - A inland map, far from the ocean but scattered with lakes:
- Coastline Map Type - Ocean transitions gradually into land:
- Isthmus Map Type - A point of land juts out into the ocean:
In addition to these more diverse map types, version 0.3 introduces new, more structured grid types for users who don't want the more organic Voronoi polygons (which can be more difficult to integrate into tile-based designs):
- Square Grid Type - Perfect for games with a vintage 8-bit style:
- Hexagon Grid Type - Valuable for a lot of strategy and combat games that use this sort of grid for it's more flexible movement:
I found adding the grid types to be easier than adding the map types, as squares and hexagons are just subsets of Voronoi polygons that emerge naturally from less random input. For optimization purposes, I had already swapped out my earlier Poisson Disk sampling method for a faster and more reliable grid-based randomization for my Voronoi polygons, so I was able to keep much of my current pipeline intact and just focus on the relatively simple problem of choosing a non-random place within each cell to place my region.
Adding the new map types was harder as I had kinda fallen in love with my system for generating island maps. It layered 3 different random landmass points into the noise plus a radian layer to get those really stylish islands. But none of that really translates to the other map types, which really need a system predicated on manipulating height along the four distinct map boundaries, plus the center. I tried implementing the islands with 4 water edges and a land center, which seems logical, but the results were extremely disappointing compare to my earlier version. In the end, I for the less efficient, less standardized approach that routes island maps through my old heightmap code and and the three new map types through the new system.
The new map types also required a lot of fine tuning of the heightmap values to get them to feel right. And the changes also rippled through to other systems. Ocean, which was previously defined as water that could reach the map boundaries, needed to be turned into lakes along the landbound edges of the new map types. And lake outflows, which always flow toward the nearest ocean region, suddenly had no oceans to flow to in the Mainland map and needed to be redirected toward the map boundaries instead. And then rivers didn't know not to spawn or flow along the map boundaries, so that needed to be corrected as well. And the spawning system for river sources was predicated on the fairly limited amount of land available in the island maps. Given the abundance of land on the new map types, there were rivers everywhere, which led to a bunch of fine-tuning for the different map types. While I was doing that fine-tuning, I figured it made sense to further leverage those modifiers by adding a River Density control to the BASIC GENERATION interface, which you can set to High, Medium, and Low. And then, on the Mainland maps, all of the lake outflows meant that even a Low River Density map had a lot of rivers, so I circled back to the heightmap code, adding a small boost to the height of Mainland maps set to Low River Density, thus reducing the number of lakes... So, yeah, the new map types were a bit more than I initially bargained for. But I'm mostly happy with the results and I know you'll appreciate the added variety.
As for what's next, I feel these maps are now variable enough to be officially screenshot-worthy. I've had a "Press 1 for screenshot" functionality on my end since the initial v0.1 prototype but, as that doesn't extend to the web version, it's no help to all of you. I've read up on what I need to do, however, and it looks like it will be fairly straightforward to implement using the Screenshot button that's currently greyed out in by interface. I'll then use that knowledge to begin putting together an equivalent export method for data files (e.g. JSON or XML). That, in turn, will probably be a good kick in the pants to get me thinking more formally about my underlying data structures and what I actually need to export to accurately represent the map.
As always, let me know if you run into any problems with the new version or have any ideas about what you'd like to see moving forward. You can find me on both Itch (https://arcane-games.itch.io/) and Reddit (https://www.reddit.com/user/Consistent-Focus-120/). And, while I'm at it, let's take a moment of silence to honour some of my old BioWare colleagues (particularly my fellow narrative designers), who've been going through a tough round of layoffs and reallocations this past week. Hopefully EA's loss can be another great RPG or Adventure studio's gain.
Atlas Arcana
the magical 2D map generator
Status | In development |
Category | Tool |
Author | Arcane Games |
Tags | 2D, Backgrounds, Generator, Godot, Indie, Level Editor, PNG, Procedural Generation, Project template, Vector |
More posts
- v0.2.1 Hotfix released3 days ago
- v0.2 Released4 days ago
Leave a comment
Log in with itch.io to leave a comment.