J. Rogers, SE Ohio
The code is here: https://github.com/BuckRogers1965/Mega-Mappers/tree/main/CodexProject
Today's Progress: A Multi-Layered Simulation
Fractal Foundation: We threw out the old noise logic entirely. The new generator now uses a periodic sine-based fractal noise that naturally wraps seamlessly. It uses coordinates from 0 to 2π. This creates the large-scale, low-frequency structures that form the basis of continents and ocean basins. It's no longer a random field of static; it's a coherent landmass. There are still some lines between edges, so the world is not yet overlapping correctly.Simulated Weathering: A raw fractal is still too perfect. We implemented two critical physics passes as per the specification:Hydraulic Erosion: By simulating thousands of virtual "raindrops," the system now carves realistic river valleys and deposits sediment to create smooth coastal plains.Thermal Erosion: This pass simulates gravity, collapsing slopes that are too steep into natural, weathered angles. This crucial step eliminated the "bed of nails" look and produced believable mountain ranges.We had to reduce these two techniques to a less abrasive method to keep detail in the world.
Real-Time Physics in the Viewer: The map is no longer just a pretty picture; it's an interactive model.Dynamic Water Level: The sea level is now a plane that rises and falls over the fixed geometry of the heightmap. The normalization process ensures the slider is intuitive: 0% is a dry world, 100% is a water world.Dynamic Lighting: We implemented a real-time hillshading engine. The GM now has full control over the sun's direction, height, and intensity, allowing for the creation of dramatic shadows that reveal the topography. This is ok, but we can improve the simulation to make the design better.
The GM's Toolkit: A simulation is useless without tools for strategy.The Annotation Layer: GMs can nowShift-Click to place persistent markers on the map. These markers can be moved by dragging, edited, and deleted. This is the first step in turning the map from a piece of art into a campaign dashboard.The Viewport Grid: The Hex/Square grid is now a trueviewport overlay . It remains a fixed size on the screen, acting as a tactical reference that is independent of the map's zoom level. The scale bar in the corner provides instant context for travel distance.We want to add more overlays, political boundaries, god maps, lay lines so we can keep tract of the world.
The Plan for Tomorrow: Drilling Down
Node Hierarchy: Clicking a marker will query the database for achild node linked to that location.On-Demand Generation: If no child node exists, the system will call the appropriate generator plugin—theTactical Dungeon Generator for a dungeon marker, or aSettlement Generator for a town. This generation will be saved to a new .png heightmap and linked in the database.Seamless Transition: The MapViewer will load this new node, automatically switching its RenderStrategy from the world-scale ImageMapStrategy to a new GridMapStrategy designed for square-grid tactical maps.
The code is here: https://github.com/BuckRogers1965/Mega-Mappers/tree/main/CodexProject
No comments:
Post a Comment