WorldSlate · v1.0 · Available on itch.io
A procedural world studio
that ships with your game
Author the algorithm with sliders and brushes. Open in Unity or Godot for a walkable starter project, with the live generator as readable source.
Players hit "new world," your game runs the algorithm, fresh layout every time.
Launch pricing locked in for early buyers.
Full feature tour — World Gen, Editor, Export, then the exported starter game running in Unity.
You don't ship a map.
You ship the algorithm that makes them.
Most map tools export a single layout. WorldSlate exports a generator. The recipe (biomes, partition mode, river rules, scatter) ships as .gd or .cs source inside your game. Every "new world" is one roll of those rules.
The recipe is yours to read and modify. The runtime that consumes it is yours to read and modify. Nothing about your world generation is hidden behind a sealed binary, a service call, or a black-box DLL. The whole thing is source code in your project, by design.
using UnityEngine;
using WorldSlate.Runtime;
using WorldSlate.Shell;
public class Game : MonoBehaviour
{
RecipeWorldData _data;
WorldSlateWorld _world;
void Start()
{
// Load the algorithm shipped inside the game.
_data = RecipeWorldData.LoadFromResources("WorldSlate/world_data");
_world = gameObject.AddComponent<WorldSlateWorld>();
_world.SetWorldData(_data); // chunk-stream, minimap, POIs are wired.
}
// Player hits "new world": fresh seed, same recipe.
public void OnNewWorldPressed() =>
_world.RegenerateWithSeed(Random.Range(int.MinValue, int.MaxValue));
}
extends Node2D
var _data: WorldSlateRecipeWorldData
var _world: WorldSlateWorld
func _ready() -> void:
# Load the algorithm shipped inside the game.
_data = WorldSlateRecipeWorldData.load("res://world_data/world_recipe.worldslate.worldrecipe.json")
_world = WorldSlateWorld.new()
_world.set_world_data(_data)
add_child(_world) # chunk-stream, minimap, POIs are wired.
# Player hits "new world": fresh seed, same recipe.
func _on_new_world_pressed() -> void:
_world.regenerate_with_seed(randi())
Your recipe sets the rules.
A seed is one roll of those rules.
Your favourite games don't ship a map. They ship a recipe (the rules of how a world should generate) and let the runtime roll a fresh one on every save. Terraria, Don't Starve, Caves of Qud: same recipe, eightieth run, still surprising.
Recipes
Build the rules. Each recipe is a different kind of world.
Seeds
Roll the recipe. Each seed is a fresh layout. This is what your players get.
One studio.
One workflow.
Launcher to World Gen to Editor to Export. The recipe lives in World Gen. The brushes live in the Editor. Every screen reads from and writes to the same project file.
Press F5,
and you're walking around.
"Open in Unity" or "Open in Godot" scaffolds a starter project: player controller, chunk streaming, world map, minimap with fog-of-war, zone flags, POI markers. All pre-wired. The live generator is right there in your project tree, as source you can read.
Walkable player
Player controller with a placeholder sprite, ready to move. Drop in your own art whenever.
Chunk streaming
Regions load and unload around the player automatically. Large worlds stay smooth.
World map & minimap
Press Tab for the world map. Corner minimap reveals as you explore.
Zone flags
"No spawn." "Boss arena." "Safe zone." Queryable from your code in two lines.
POI markers
Landmarks and quest hooks tagged at design time, queryable by name or kind at runtime.
Readable source
Generator ships as .gd / .cs. Read it, modify it, refactor it. It's your project now.
Buy the studio, own the engine. Perpetual royalty-free commercial license. No revenue share, no per-player fees, no attribution required. Includes 1200+ bundled royalty free SVG sprites.
Want this in your game?
Available now on itch.io. Drop your email for news on updates.
Or skip ahead to the Discord.