🕹️ Multiplayer as Simplicity Code multiplayer games as simple as single-player. No more worrying about client-server state sync or lag compensation. Just one loop, everywhere. ⚡ Primitive Streaming We stream drawing primitives instead of heavy pixels or complex state objects. It's faster than cloud gaming and lighter than traditional networking. 🚀 High Performance All performance-critical logic (Physics, Pathfinding) runs in Native Rust. Communication is powered by WebRTC for sub-frame latency. 🛡️ Impossible to Cheat Since the game is entirely server-rendered, the client has zero knowledge of the game state. No wallhacks, no aimbots, no compromise. 🤫 Hide Your Secrets Keep your game's internal logic and secrets safe. Since your script never leaves the server, players can't reverse-engineer your code or find hidden content. 🌍 Host Anywhere Total freedom. This version of the engine is free for personal or commercial use on your own infrastructure. No lock-in, no per-player fees. Cleoselene Manual A Multiplayer-First Server-Rendered Game Engine with Lua Scripting. Game Structure A minimal game script (main.lua) must implement these callbacks: -- Called once when the server starts function init() -- Initialize physics, load assets, setup state db = api.new_spatial_db(250) phys = api.new_physics_world(db) api.load_sound("jump", "assets/jump.wav") end -- Called every server frame (typically 30 TPS) function update(dt) -- Advance physics simulation phys:step(dt) -- Handle collisions local events = phys:get_collision_events() for _, pair in ipairs(events) do -- Handle game logic (damage, score) end end -- Called for EACH connected client to generate their frame function draw(session_id) api.clear_screen(20, 20, 30) -- Draw player-specific view (camera, HUD) local p = players[session_id] if p then api.set_color(255, 255, 255) api.draw_text("HP: " .. p.hp, 10, 10) -- Use db:query_rect to draw visible entities end end -- Network Events function on_connect(session_id) print("Pl...
First seen: 2026-01-04 21:21
Last seen: 2026-01-05 03:22