01 — A platform, not a playlist
Don't just play Luderra. Build your own game on it.
Most games hand you a list of modes. Luderra hands you the engine. Every server can
run a game nobody has played before, with its own rules, objectives, physics, interface, maps,
models and sounds, and it doesn't have to be a shooter. The hard parts are done: netcode,
movement, anti-cheat, hosting. What's left is the part that's yours.
1
Write the rules
JavaScript or TypeScript on Node.js, npm packages included, typed from end to end. Hook any
moment of the game: spawns, shots, damage, deaths, zones, the map's own triggers, every tick.
Change gravity and air control, give one player a faster rifle, burn, slow or stun, walk bots
along the map's paths, build parts while the game runs and make them move, break or float.
2
Design the experience
Your own interface in HTML: shops, scoreboards, skill trees, a whole card table.
Your own maps, made in the game's own editor, with your own tools for it in JavaScript.
Your own models, weapons and sounds, and a client script for what runs on the player's side.
3
Open the server
Players join and get everything automatically, verified on the way in. No mod manager,
no installs, no patching the game. Your mode is live the moment your server is.
In practice
A new game in a dozen lines.
Low gravity, auto-hop, a night sky and headshots only. Not a preset, not a settings
screen: rules you wrote, running on your server, played by anyone who joins.
- No hidden engine features. Every mode that ships with Luderra, from bomb defusal to a full poker table, is built on the same public API you get.
- Change it while it runs. Save the file, reload the mode, and the game goes on with the new rules. No restart, nobody kicked.
- Start anywhere. Fork a shipped mode and change what you want, or start from an empty file.
- Players stay safe. Your client scripts run sandboxed on their machines: their own folder and the game's API, nothing else.
modes/moonshot/mode.ts
// A game that didn't exist five minutes ago
mode.on_start = () => {
mode.physics = { gravity: 250, airaccelerate: 100, autobhop: true };
mode.environment = { sky: [0.02, 0.02, 0.05], fog_density: 0.015 };
};
// headshots only: every other hit does nothing
mode.on_player_damage = (victim, attacker, damage, hitgroup) =>
hitgroup === 1 ? 1000 : 0;
mode.on_player_death = (victim, attacker) => {
mode.message(-1, `${mode.name_of(attacker)} took the shot`);
mode.schedule(2, () => mode.respawn(victim));
};
Island royaleA plane over the island, a glider, chests by rarity, a storm in stages, squads that revive each other.
BlocksAn endless generated world to explore, mine and build, with block characters and their faces.
FortFloors, walls and ramps that snap to a grid, cost wood and break into splinters when shot.
ObbyA parkour course of moving parts, a cutscene to show it and a board of the best runs.
SlopesSnowboard, ski or sled down a park of kickers and rails, scoring air, spins and grinds.
FootballA physics ball, two goals built of parts, dribble and kick along your view.
Top-down arenaA twin-stick shooter seen from above, at an angle or from the side.
VillageCharacters to talk to, a guard on his round and a lost boy who runs from strangers.
Your ideaAn RPG, a heist, a race, a survival server: if you can describe the rules, you can script them.