Skip to main content

VIVIA: Beyond the Known (formerly NV2 Engine)

🧪 View animated test results — 224 passed / 225 total →

A complete voxel survival sandbox with AI-powered terrain, multiplayer networking, and a custom neural network — built from scratch in Rust. Premiering on Epic Games Store, August 2026.

VIVIA: Beyond the Known (internally NV_ENGINE, repository: NV2_ENGINE) is a shipped commercial voxel game written in Rust (47 source files, 15,800+ lines). It features procedural terrain generation with real-world NASA climate data, an embedded neural network (MeMLP) that learns vegetation placement while you play, a full mob system with AI-generated 3D models, multiplayer TCP networking, procedural audio, and a survival gameplay loop — all rendered on GPU via wgpu.

Developer: Terra Nova Gameworks · Version: 1.0.0 · Price: $9.99 (launch $7.49) Platforms: Linux, Windows · Stores: Epic Games Store, itch.io

Stack: Rust 2021 · wgpu 0.20 · winit 0.30 · cgmath 0.18 · OpenSimplex2 · rayon · tokio · ndarray · meshopt · bincode · rodio · fontdue · bytemuck · Epic Online Services · C#/.NET 8 (content tools) · Python (AI/texture tools)


Feature matrix

World & terrain

FeatureDetail
Procedural generationOpenSimplex2 heightmaps, caves, ores, water-aware column sampling
Chunk dimensions16×512×16 — double-height chunks (raised from 256) for tall mountains & deep caves
Biomes9 climate-driven biomes: Ocean, Coast, Plains, Forest, Dark Forest, Swamp, Taiga, Desert, Mountains
Climate modelTemperature + humidity drive block distribution, vegetation density, fog and ambient color
Generation channelsDedicated OpenSimplex channels + seeds for continent shape, temperature, humidity, erosion, peaks/relief, height/detail, warp, caves, ores, water
Async generationBounded work queue, in-flight dedup, rayon parallel generation, mpsc delivery to main thread

AI-driven vegetation — MeMLP

FeatureDetail
ArchitectureMeMLP (Modular embedded Multi-layer Perceptron Model) — modular, in-process, pure CPU, one JSON checkpoint
Vegetation headDeep MLP 8→24→16→4, ~0.3 µs/prediction (3.4 M/s)
Biome head8→12→9 — biome classification driving biome-aware decorations
Texture head8→12→6 — procedural texture-style selection
Input features8 terrain features: height, slope, temperature, humidity, water distance, plant density, light, noise seed
Output classes4 vegetation classes: flowers, ferns/water plants, sticks/decorations, pebbles/rocks
Background trainingContinuous thread, 240+ samples/epoch across all heads, <1% CPU overhead
Training methodOnline SGD + cross-entropy, backprop through all layers; trains on player feedback, online climate data (offline-safe) and synthetic samples
CheckpointsSingle JSON file; legacy 8→16→4 checkpoints migrate automatically
Vegetation blocks22 new block types: roses, tulips (4 colors), dandelions, cornflower, allium, azalea, ferns, lily pads, seagrass, kelp, moss carpet, vines, sticks, pebbles
Confidence threshold0.40 — only high-confidence predictions place blocks

Rendering (wgpu 0.20)

FeatureDetail
Per-chunk GPU buffersA block edit re-uploads only that chunk (previously ~81 chunks per change)
Frustum cullingGribb–Hartmann plane extraction with safety margin + protected 3×3 area around player
Packed vertices72-byte CPU vertices → 36-byte GPU format (Snorm8x4/Unorm8x4)
Incremental water meshingOnly changed chunks rebuild; interval-based simulation
Separate pipelinesSolid world, water, flat UI panels, sprite UI icons, text rendering
Texture atlasDynamic atlas, switchable texture packs, top/bottom/side variants
Text renderingfontdue rasterization, custom text layers

Gameplay

FeatureDetail
Block interactionDDA raycast targeting, held-break mining, right-click placement
Tool tiersHand → Flint → Stone → Iron → Diamond → Netherite, with power values and durability
Inventory36-slot inventory + 9-slot hotbar, stack merging, drag-and-drop
Crafting2×2 player grid + 3×3 NVCrafter station, shaped & shapeless recipes
Recipes18 recipes: planks, sticks, NVCrafter, wooden pickaxe/axe/shovel/hoe, torches, chest, door, trapdoor, ladder, fence, fence gate, workbench upgrade, flint/stone/iron pickaxes
MovementWalk, sprint (FOV kick), jump, flight, water gravity/sinking, AABB collision, foliage movement modifiers
Commands/locate <biome> [--tp], /tp <x> <y> <z>, /attack
PersistenceJSON world saves (seed, chunk blocks, water metadata, NVCrafter states)
Left-click attackattack_nearest() with 0.4s cooldown — default mouse button when cursor locked

Mob system

FeatureDetail
Enemies36 hostile mobs across 11 families: Frost Hound, Sand Reaper, Bone Colossus, Void Wraith, Ash Crawler, Lava Brute, Swamp Toxin, Plague Mother, Wretched Flyer, Shadow Stalker, World Serpent, Iron Golem, Night Wisp, Deep Maw, Sand Hydra
Animals41 passive mobs: Deer, Rabbit, Wolf, Bear, Eagle, Chicken, Horse, Pig, Cow, Sheep, Cat, Dog, Turtle, Frog, Snake, Bat, Mouse, Fox, Boar, Bee
AIMelee/ranged/hunter/guardian behavior per family, 15-attack damage spread, attack_nearest(), attack_closest_enemy(), attack_weakest()
3D models11 GLB mesh files (ARACHNID, BOSS, BRUTE, CANID, CRAWLER, FLYER, GOLEM, HUMANOID, WISP, WORM, WRAITH) with meshopt optimization, tint + scale in shader
Families11 base shapes cover 77/100 mobs; 23 small animals use voxel fallback

Multiplayer

FeatureDetail
NetworkingTCP (tokio async), length-prefixed bincode serialization, 20Hz tick rate
Protocol18 packet types: Join, Leave, GameState, Input, Chat, Ping, etc.
ServerHeadless TCP server (--server --port 26400 --seed 42), server authoritative
Client--connect <addr> --name <nick>, crossbeam channels (sync ↔ async)
NAT traversalplayit.gg — zero cost, 4-100 players
Remote playersRendered as humanoid cubes with blue tint
Shared seedServer and client use identical world generation seed

Special gameplay logic

FeatureDetail
Flint dropsGravel can drop flint via deterministic seeded logic
Tree harvestingDestroying a trunk harvests the connected trunk/leaves cluster
Leaf dropsLeaves drop saplings and sticks with deterministic odds
Crafter flushBreaking an NVCrafter flushes stored contents into world drops
Placement guardBlocks cannot be placed inside the player AABB

Quick start

Requires a Rust toolchain (stable is enough) and a GPU with Vulkan/Metal/DX12/GL support.

cd Core
cargo run --release

The game opens a window with the main menu:

Menu itemAction
New GameStart a new procedurally generated world
Load/SaveLoad the saved world
Low-End-PCToggle the low-end performance profile
QuitExit

Note: cargo run in dev mode already builds third-party crates at opt-level 3, so even a debug build plays smoothly.

CLI flags:

FlagAction
--serverRun headless multiplayer server (no GPU/okna)
--port <N>Server port (default: 26400)
--seed <N>World generation seed
--connect <addr>Connect to multiplayer server
--name <nick>Set player nickname
--autostartSkip main menu, start new game immediately
--nightStart at night (for testing)

First minutes in-game: spawn near a forest → punch trees with your bare hands → gather wood → open the 2×2 crafting grid (E) → craft wooden planks → sticks → a wooden pickaxe → mine stone → craft a stone pickaxe → mine iron → eventually craft an NVCrafter for 3×3 recipes.

Multiplayer (local):

# Terminal 1 — server
cargo run --release -- --server --seed 42

# Terminal 2 — player 1
cargo run --release -- --connect 127.0.0.1:26400 --name Alice

# Terminal 3 — player 2
cargo run --release -- --connect 127.0.0.1:26400 --name Bob

Multiplayer (internet via playit.gg): see MULTIPLAYER.md


Documentation index

PageContents
ArchitectureFull runtime, renderer, world, UI layering — module by module
GameplayControls, interaction, inventory, crafting, commands, persistence
Blocks & BiomesComplete 97-block registry, tool tiers, 9 biome definitions, ores
Crafting ReferenceEvery recipe with exact patterns
Water SimulationLiquid encoding, solver, and rendering internals
AI Vegetation SystemNetwork math, training loop, hyperparameters, integration
PerformanceGPU bandwidth, culling, meshing budgets, profiles
DevelopmentBuild, module map, testing, extending the engine
Roadmap & ChangelogHistory, Phase 2 plans, known limitations

🚀 VIVIA: Beyond the Known — Epic Games Store Launch

Premiere: August 2026 (Monday) · Price: $9.99 (launch promo $7.49) Publisher: Terra Nova Gameworks · Stores: Epic Games Store + itch.io

The project was renamed from NV2 Engine to VIVIA: Beyond the Known for the commercial release. The internal engine code retains the NV_ENGINE prefix; the game title on all store pages and marketing material is VIVIA.

Build pipeline

  • Linux + Windows builds via build.sh
  • GitHub Actions CI (.github/workflows/windows-build.yml)
  • Epic Games Store submission kit: EGS/ directory with manifest, build, store assets
  • Store assets: capsule art (5 sizes) + gameplay screenshots in store_assets/

Engine stats at launch

MetricValue
Source files47 .rs files + 10 .wgsl shaders
Test cases224 passed / 225 total (3 ignored)
GLB models11 AI mesh families, ~45 MB total
Block types97
Biomes9 climate-driven
Mob families11 base shapes, 77/100 mobs covered
MultiplayerTCP, 20Hz tick, headless server mode