Overview
Worlds Unbound is a passion project years in the making—an isometric world-building sandbox where players create, script, and share their own virtual worlds. I built everything from scratch: a full world editor, a custom scripting language with its own compiler pipeline, and a multiplayer system with client-side prediction and server reconciliation.
Key Features
-
Isometric World Editor: Comprehensive tools for placing floors, walls, items, portals, and defining regions. Build everything from cozy homes to sprawling dungeons.
-
Fabrication Scripting Language: A custom natural-language-inspired programming language with a full compiler pipeline. Script NPCs, create interactive objects, and bring your worlds to life.
-
Hub-and-Spoke Multiplayer: Scalable architecture where players can host their own worlds while connecting to a central hub for discovery and social features.
-
12-Layer Character Customization: Deep character creation with 12 distinct customization layers, from body type to accessories and clothing.
-
Hotbar Inventory System: Intuitive inventory management with full Fabrication integration, allowing scripted items and tools.
Fabrication: The Scripting Language
I built Fabrication from scratch—a natural language-inspired scripting language with its own lexer, parser, and interpreter. Here's what it looks like:
protocol "locked_door" {
when architect enters tile (5, 10)
and architect carries item "golden_key"
then
show message "The door unlocks!" to architect
remove item "golden_key" from architect
teleport architect to (5, 15)
}
protocol "welcome_back" {
when architect joins
and persistent architect_variable "has_visited" == true
then
show message "Welcome back, friend!" to architect
}
Features include triggers, conditions, multiple variable scopes (world, player, tile, persistent), conditionals, reusable behaviors with parameters, and math expressions.
Technical Highlights
- Custom Compiler Pipeline: Lexer, parser, and interpreter for Fabrication, all implemented in GDScript
- Event Bus Pattern: Clean, decoupled architecture for handling game events across systems
- Position Interpolation: Smooth networked movement with client-side prediction and server reconciliation
- JSON Persistence: Flexible save system storing worlds, characters, and scripts in human-readable format
- ENet Networking: Reliable UDP networking for responsive multiplayer gameplay
