Manifest-Driven Design
Hyperscape uses a manifest-driven architecture where all game content (NPCs, items, world areas) is defined in external data files rather than hardcoded in logic. This separation enables:- Easy content updates — Edit JSON, restart server
- Community modding — No code changes required
- AI generation — Generate content with Asset Forge
- Clean separation — Data vs logic isolation
All manifests are loaded from
world/assets/manifests/ at runtime by the DataManager.Data Architecture
Manifest Files Location
NPCs & Mobs
NPCs are loaded from JSON at runtime into theALL_NPCS Map:
NPC Data Structure
Each NPC has these properties (fromtypes/entities/npc-mob-types.ts):
Available 3D Models
NPCs:NPC Helper Functions
Spawn Constants
Items
Items are loaded from JSON into theITEMS Map. Items are now organized into separate files by type for better organization:
Item Types & Organization
Tier-Based Equipment
Items now use a centralized tier system defined intier-requirements.json. Equipment references their tier (e.g., “bronze”, “steel”, “rune”) and the system looks up requirements automatically:
- Melee: bronze, iron, steel, black, mithril, adamant, rune, dragon
- Tools: Same as melee (with different skill requirements)
- Ranged: leather, studded, green_dhide, blue_dhide, red_dhide, black_dhide
- Magic: wizard, mystic, infinity, ahrims
Item Helper Functions
Shop Items
The game now features multiple specialized stores with comprehensive inventories: Available Stores:- General Store - Tools, ores, bars, logs, and basic supplies
- Torvin’s Weaponry - Melee weapons (daggers, shortswords, longswords, scimitars, 2H swords) across all tiers
- Zamorin’s Magic Emporium - Runes, staves, wizard robes, mystic robes, and essence
- Archer’s Armoury (Lowe) - Bows, arrows, fletching supplies, and ranged armor
- Pete’s Fishing Supplies - Fishing tools, bait, raw and cooked fish
- Armor Emporium (Horvik) - Helms, platebodies, platelegs, shields, boots, gloves, capes, and jewelry
- Crafting Supplies (Dommik) - Needles, thread, chisels, moulds, leather, gems, and crafting materials
Bank Notes
The system supports bank notes for stackable versions of items:Drop Tables
NPCs have tiered drop tables:Drop Calculation
World Areas
World areas define zones, biomes, and spawn points:Zone Properties
Banks & Stores
- Bank — Item storage facility
- General Store — Basic equipment vendor
Stations
Crafting stations are interactive objects that enable processing skills like smithing, smelting, and cooking:Available Stations
Station entities (Altar, Bank, Range) now load 3D models from the manifest system with automatic fallback to placeholder geometry if models are unavailable.
Station Model Loading
Station entities load 3D models from the manifest system usingStationDataProvider:
- Altar: Purple (
0x9932cc) - Bank: Black (
0x111111) - Range: Red (
0xcc3333)
MeshStandardMaterial for consistent lighting behavior.
Crafting Stations
Stations are defined instations.json:
- Anvil - Used for smithing bars into equipment
- Furnace - Used for smelting ores into bars
- Range - Used for cooking food (reduces burn chance compared to fires)
- Bank Booth - Used for accessing bank storage
Tool Metadata
Thetools.json manifest defines tool-specific properties:
- Skill - Which skill the tool is used for
- Tier - Tool tier (bronze, iron, steel, etc.)
- Priority - Tool selection priority (higher = better)
- Roll Ticks - For mining pickaxes, ticks between roll attempts
Skill Progression
Crafting Stations
Stations are defined instations.json and represent interactive objects in the world used for processing skills:
Available Stations
Stations are placed in world areas and interact with the corresponding recipe manifests (
recipes/smithing.json, recipes/smelting.json, etc.).
Tool Metadata
Thetools.json manifest defines tool-specific properties separate from item definitions:
Tool Priority System
When multiple tools are available, the system selects the highest priority tool: Woodcutting Hatchets:
Mining Pickaxes (also includes
rollTicks for mining speed):
Vegetation & Biomes
Vegetation Assets
Thevegetation.json manifest defines procedural vegetation assets for world generation:
tree- Large treesbush- Small bushes and shrubsfern- Ground fernsflower- Decorative flowersgrass- Grass patchesrock- Decorative rocksfallen_tree- Fallen logsmushroom- Giant mushrooms (added in recent update)
Biome Vegetation Layers
Biomes inbiomes.json define procedural vegetation layers that reference vegetation assets:
- Mushroom vegetation added to all biomes with varying densities (2-30)
- Tree density reduced in plains biome (8 → 5)
- Mushroom clustering varies by biome (cluster size 3-8)
- Firemaking fire 3D model added (
models/firemaking-fire/firemaking-fire.glb)
Recipe Manifests
Recipe manifests define crafting, processing, and production activities for artisan skills. All recipes follow a consistent structure with inputs, outputs, tools, level requirements, and XP rewards.Fletching Recipes
Therecipes/fletching.json manifest defines bow and arrow crafting:
arrow_shafts- Knife + logs → arrow shafts (15-90 per log)headless_arrows- Arrow shafts + feathers → headless arrowsshortbows- Knife + logs → unstrung shortbowslongbows- Knife + logs → unstrung longbowsstringing- Bowstring + unstrung bow → finished bowarrows- Arrowtips + headless arrows → finished arrows
Crafting Recipes
Therecipes/crafting.json manifest defines leather, armor, and jewelry crafting:
leather- Needle + thread + leather → leather armorstudded- Leather armor + steel studs → studded armordragonhide- Needle + thread + dragon leather → dragonhide armorjewelry- Gold bar + gems + mould → jewelry (at furnace)gem_cutting- Chisel + uncut gem → cut gem
Runecrafting Recipes
Therecipes/runecrafting.json manifest defines rune crafting at altars:
- Air (level 1, 5.0 XP) - Accepts rune essence or pure essence
- Mind (level 2, 5.5 XP) - Accepts rune essence or pure essence
- Water (level 5, 6.0 XP) - Accepts rune essence or pure essence
- Earth (level 9, 6.5 XP) - Accepts rune essence or pure essence
- Fire (level 14, 7.0 XP) - Accepts rune essence or pure essence
- Chaos (level 35, 8.5 XP) - Requires pure essence only
Quests
Quests are defined inquests.json and provide structured objectives for players:
Available Quests
Quest Stage Types
- dialogue - Talk to an NPC
- kill - Defeat a specific number of NPCs
- gather - Collect items through skilling
- interact - Use items or stations (cooking, smithing, etc.)
Adding New Content
1
Choose the right manifest
- Items: Add to appropriate file in
items/directory - Gathering: Add to
gathering/woodcutting.json,mining.json, orfishing.json - Recipes: Add to appropriate file in
recipes/directory - NPCs: Add to
npcs.json
2
Follow existing patterns
Use the same structure as existing entries. For tiered equipment, specify the
tier field.3
Generate 3D model (optional)
Use Asset Forge to create a new model, or use existing models
4
Restart server
The DataManager loads manifests on startup
5
Test in game
Verify the new content appears correctly
Recent Changes
New Skills & Recipes (Week 5: Jan 31 - Feb 1, 2026)
Three new artisan skills added with complete OSRS-accurate recipe manifests:- Fletching: Arrow shafts, headless arrows, shortbows, longbows, bow stringing, arrow tipping (40+ recipes)
- Crafting: Leather armor, studded armor, dragonhide armor, jewelry, gem cutting (25+ recipes)
- Runecrafting: Air, mind, water, earth, fire, chaos runes with multi-rune level thresholds
- Firemaking fire 3D model (
models/firemaking-fire/firemaking-fire.glb) - Comprehensive armor manifest with 80+ armor pieces across all combat styles
Manifest Refactor (PR #3)
The manifest system was recently refactored for better scalability and organization:- Items split by type: Weapons, tools, resources, food, ammunition, runes, armor, and misc are now in separate files
- Gathering resources: Woodcutting, mining, and fishing data moved to dedicated files
- Recipe system: New recipes directory for smelting, smithing, cooking, firemaking, fletching, crafting, and runecrafting
- Centralized requirements:
tier-requirements.jsonprovides OSRS-accurate level requirements - Skill unlocks:
skill-unlocks.jsondocuments progression milestones
New Vegetation (PR #4)
Mushroom vegetation added to biomes with configurable density, clustering, and spawn parameters.GitHub Integration
The repository now includes Claude Code GitHub Actions for automated assistance:.github/workflows/claude.yml- Responds to@claudementions in issues and PRs.github/workflows/claude-code-review.yml- Automated code review on pull requests.github/workflows/update-docs.yml- Automatically updates documentation when manifests change
Detailed Documentation
NPC Data Structure
Complete NPC schema, aggro types, drop tables, spawn constants, and helper functions.
Item Data Structure
Item types, stats, requirements, equipment slots, noted items, and shop items.
Gathering & Crafting
Woodcutting, mining, fishing, smelting, smithing, cooking, and firemaking systems.
Tier Requirements
Centralized equipment and tool level requirements by tier.