Fopull LLC · Free & Open Source · Game Engine

Online multiplayer for indie games, without running servers or port forwarding. Early access · engine v0.117.0

Floptle is a free, open-source game engine. Host a game with one line of Lua and your friends join with a six-character code, through our relay, from anywhere. Nobody opens a port and you rent no server. Around that sits a whole engine in one native binary for Windows, macOS and Linux: worlds you can carve, an editor, Lua, shaders, physics and audio, and a command line an AI assistant can drive.

Multiplayer is one line, free for 100 players, and nobody port-forwards.

  1. 1Download the Hub and make a project.
  2. 2Register the game free and paste its key into Project settings ⏵ Networked.
  3. 3Host: net.host{ relay = "cloud" }, then show net.lobbyCode().
  4. 4Your friend joins: net.join("cloud://" .. code).

Pre-1.0 and moving fast · MIT OR Apache-2.0 · no account required

Floptle Editor · retro mode
A stone-block ruin surrounded by hand-painted pine trees, rendered in Floptle's retro low-resolution mode with modern soft lighting

Retro mode renders the whole frame at a low internal resolution, post-processing and all, then upscales it. You get a PS1/N64 look running on top of modern lighting. It is the default aesthetic I designed the engine around, so lead with it when you show the thing off.

Made with Floptle

Games shipped from the engine.

Not tech demos. Finished games on real deadlines, each one with a page of its own.

Devlog · I had 4 Days to Develop a Horror Game Where the Entity is Among You..
Brackeys Game Jam 2026.2 · built in 4 days

Forgery

A short first-person PSX-style horror game. You and several strangers wake up inside a mysterious mansion, but not all of you are human. Written from nothing in four days and shipped on Windows, macOS and Linux the same weekend, free on itch.io.

Learn

New to game development? The tutorials check your work.

The editor has a Learn tab with follow-along projects, a 3D platformer, a top-down RPG, Flappy, and each step ticks itself off as your project comes to match it. You are never left wondering whether you did a step right, and the docs one tab over always match the version you are running. It is the way I would want to learn an engine from zero.

Start learning Read the tutorials online
Command line

Your CI and your AI assistant can drive it.

Ask whether a project loads, play it headless and get every error with its file and line, render a frame to a PNG, read a scene tree, or change a project through the editor's own scripting API, all without opening the editor. Every command reports whether it needs a display and whether it writes to your project, and floptle help --json describes the whole surface, so an assistant reads the interface once instead of guessing at it.

See the command line Why we built it
Carvable terrain

Carve terrain, down to whole planets.

Most engines hand you a heightmap. Floptle stores terrain as a real 3D signed-distance field, so caves, overhangs, tunnels, and floating islands all work, and you can edit any of it while the game is running.

Diggable at runtime

Players can dig, sculpt, and reshape the world at runtime, not just me in the editor. The edits get written into the save file, so a tunnel you carve is still there after a reload.

Whole planets are terrain

The demo builds spherical worlds you can walk on, tunnel through, and hollow out. You can drop several terrain volumes into one scene and they blend together on the GPU with a smooth-min.

Streamed to disk

Save checkpoints stream terrain edits to disk in the background so the framerate holds. A floating-origin world keeps planet-scale scenes from getting jittery.

Multiplayer built in

Online multiplayer is one component and one line of Lua.

Add the 🌐 Networked component to a node, call net.host{ maxPlayers = 4 }, and you have a real client talking to a real server. No plugin, no service to sign up for, no separate networking library to learn. You pick a replication mode per node and a project that does not use a mode never pays for it.

Three modes, per node

Server authority is the default: cheat-proof and it needs nothing from your scripts. Predicted keeps the player's own avatar snappy. Rollback re-simulates every peer every tick for fighting games, GGPO style, with mandatory desync checksums. Mixing them in one scene is normal.

Rehearse a bad connection at your desk

Press Play, then host and join a local client inside one process, with sliders for latency and packet loss. Turn it up to 200 ms and 10% loss before you ship, and find the bug that only appears on a bad hotel wifi without leaving your chair.

Lobby codes, and replays for free

A host gets a five-letter lobby code and a joiner types it in, through a tiny open-source relay you can run on any box with cargo run -p floptle-relay, or connect direct over LAN. Inputs and the seed are the match, so a full replay is kilobytes and plays back by re-simulating.

Fofighter, mid-match in the editor
A Floptle editor Play session running a fighting game round: two low-poly fighters in a cathedral stage with health bars and a round timer, and a console below printing per-second netcode telemetry lines
A best-of-two round in the Cathedral stage, running under Play. The health lines in the console are the netcode telemetry printing while it runs: ping, input delay, rollback depth, guessed frames, and stalls.

The rollback mode is being hardened against a real fighting game built on the engine, and the whole model is written up in the docs, from the five-minute server-authoritative version to the strict rollback contract. Read "Making a multiplayer game".

Built with the engine

A Kerbal-style solar sandbox, built in Floptle with Lua.

Everything below is one game project I scripted in Lua against the engine's public APIs. None of it is baked into the engine. Generate a system, fly out to it, land, and dig.

A ship on an escape trajectory away from a dark planet, with a flight HUD showing orbit velocity, escape velocity and a navball
01 · Fly to orbit

Real orbital mechanics.

Patched-conic trajectories, sphere-of-influence transfers, clickable maneuver nodes on the map, SAS hold modes, and time warp. It all reads off the ship HUD as you climb out of the gravity well.

An astronaut standing on a hilly planet surface at sunset, with volumetric clouds and a low sun
02 · Land and step out

Walk around under local gravity.

Transfer to a moon, land, get out, and walk. Gravity volumes hold you to the surface of a small body instead of a flat plane. The loading screen builds your starting planet first and drops you somewhere safe on it.

A ship inside a glowing molten cavern carved into a planet, with a flight HUD and SAS panel
03 · Dig in

Tunnel into the planet and it stays dug.

Carve into the world with the ship tools and drop below the surface. The shadows and ambient occlusion down there come straight off the distance field. Quicksave, come back later, and the tunnels are still where you left them.

Try it yourself

Download the Solar demo and add it to your Hub.

Grab the full solar-system project, the same one in the shots above, and open it in the Floptle Hub. It is a real Floptle project scripted in Lua, so you can crack it open, read the source and remix it. The project has its own repository, Fopull-LLC/Solar, where the Lua is readable and issues go.

  1. 1
    Download & unzip. Grab the demo above and unzip it anywhere. It is a normal Floptle project folder named Solar.
  2. 2
    Add it in the Hub. Open the Floptle Hub, choose Add existing project, and point it at the unzipped folder.
  3. 3
    Open and play. The project pins the engine version it was built on; the Hub fetches that one (or anything newer on stable) and launches it. Hit play and fly.

New here? You'll want the Floptle Hub first — it installs the engine and runs projects like this one. The demo is the project; the Hub is what opens it.

One binary

Everything to build a world, in one download.

Terrain

Carvable SDF worlds

Volumetric signed-distance terrain with runtime editing, GPU smooth-min blending between volumes, and planet-scale scenes.

Rendering

Retro-mode renderer

Hybrid raymarch and raster, so SDF terrain and meshes share a scene. SDF-derived soft shadows and AO, plus bloom and vignette, rendered low-res and upscaled for the PS1/N64 look.

Shaders

Node-graph .flsl editor

A text shader format with a visual node editor. Live per-node previews, drag a value to change it, no recompile. Nodes can define raymarched SDF geometry that still takes shadows and AO.

Scripting

Lua, plus VSCode

Lifecycle hooks, collision and trigger events, prefab spawn and destroy, raycasts, layers and tags, and Inspector-editable script parameters that read back both ways. In-engine API docs, plus bundled EmmyLua annotations for autocomplete in VSCode.

Physics

Rigidbodies and gravity volumes

Dynamic, kinematic, and static bodies, trigger sensors, SDF and mesh colliders, a collision-layer matrix, and raycasting. Gravity volumes let you walk around a small planet, and kinematic platforms carry the player.

Particles

DAW-style timeline

Tracks, clips, bursts, automation lanes, curve editing, random ranges, and mesh particles, with a deterministic scrub preview. It works like an audio or video timeline.

Audio

Spatial sound and a mixer

Spatial 3D voices and a project mixer with 11 effect types and an EQ curve editor, driven from a Lua audio API. Skeletal animation clips import from glTF and play from Lua.

Distribution

The Floptle Hub

The launcher and version manager. It installs engine versions, creates projects pinned to a version, does one-click upgrades, shows a banner on new releases, and can sign in with your fopull.com account if you want.

That is the shape of the engine, not a changelog. For what landed most recently, read the release notes — they are the engine's own.

Inside the editor

A full editor, gizmos and all.

A component Inspector modeled on Unity, prefabs you drag in and out of the asset browser, multi-select hierarchy, undo, and play-in-editor with the inspector staying live. There are dedicated tools for shaders and effects too.

Floptle's timeline-based particle editor with tracks, clips, and size and colour automation lanes below a bright particle burst

Particle timeline. Tracks and clips with size and color over-life automation lanes and curve editing. This burst is authored on a timeline you can scrub.

Floptle's in-editor Lua script editor showing a planet_walker script with update logic, alongside the project's script assets

Lua scripting. Write gameplay in Lua right in the editor, or open it in VSCode with the bundled autocomplete. This is the controller that walks the astronaut around a planet.

Making backrooms level in the editor

Making backrooms level in the editor

Story mode cutscenes made in engine with dialogue system

Story mode cutscenes made in engine with dialogue system

Floptle's node-graph shader editor with .flsl source, connected nodes, and a live molten-sphere preview

Dissolve Shader Shader graph

In-Engine scripting API docs

Forgery S S3 In Engine In-Engine scripting API docs

Horror game main menu

Forgery S S1 In Engine Horror game main menu

Open source

Free, open, and staying that way.

Floptle is dual-licensed MIT OR Apache-2.0, and the README has a permissive-forever pledge. No royalties, no fees, and you do not need an account to use the engine. Read it, fork it, file an issue, or send a pull request. Watch the Releases page if you want to know when a new version lands.

View on GitHub All releases © 2026 Fopull LLC

▹ What is being worked on right now comes straight from the engine.

Get started

Download the Floptle Hub.

The Hub installs the engine and keeps it updated. Grab it for your platform, then install an engine version and create a project. Everything runs locally on your machine.

Heads up, the binaries are not signed yet. On macOS, right-click the app and pick Open the first time. On Windows, if SmartScreen shows up, pick More info then Run anyway. Signing is on my list. For a young open-source project this is normal.

Every version and its full checksums Source on GitHub
FAQ

Common questions.

What is Floptle?

Floptle is a free, open-source game engine I build for making stylized 3D worlds. It stores terrain as a volumetric signed-distance field, so you can dig into and reshape whole planets while the game runs. The download includes the editor, Lua scripting, a node-graph shader editor, a particle timeline, spatial audio, and physics, all as one native binary for Windows, macOS, and Linux. The Floptle Hub installs it and keeps it updated.

What makes it different from other engines?

The terrain is a real 3D signed-distance field rather than a heightmap, which gets you caves, overhangs, tunnels, and floating islands, and lets you edit all of it at runtime. Players can dig and sculpt the world live, and those edits persist in the save file. Whole planets are terrain, so the demo builds spherical worlds you can walk on, tunnel through, and hollow out. Put that together with the retro-mode renderer and that combination is the main reason to pick it.

Which platforms does it run on?

Desktop. Windows on x86_64, macOS on both Apple Silicon and Intel, and Linux on x86_64, each as a small native binary. There is no console or mobile support.

Is it really free? What is the license?

Yes. Floptle is free and open source, dual-licensed MIT OR Apache-2.0, and the README has a permissive-forever pledge. No royalties, no fees, and you do not need an account to use the engine.

Is it production-ready?

It is pre-1.0, currently v0.117.0, and I am moving fast on it. It is young and it changes often, so treat it that way. If you like being early and reading the source, it is a good fit.

Is Floptle good for beginners?

Yes, and learning is a specific design goal. The editor has a Learn tab with follow-along tutorial projects, a 3D platformer, a top-down RPG, Flappy, and a squad pathfinding project, where each step verifies itself against your actual project and ticks off when it is really done. The complete documentation ships inside the editor too, so what you read always matches the version you are running. Scripts are written in Lua, one of the friendliest first languages.

How do I learn Floptle?

Download the Floptle Hub, create a project, and open the Learn tab in the editor. Start with the first-steps tutorial, which has something moving on screen in about fifteen minutes, then build Flappy for a first finished game. The same tutorials are readable on this site under Learn, published from the engine release itself.

What is the Floptle Hub?

The Hub is the launcher and version manager. It installs engine versions, creates and manages projects (each one pinned to an engine version), handles one-click upgrades, and shows a banner when a new release ships. You can also sign in with a fopull.com account, which is optional.

Does Floptle do multiplayer?

Yes, it is built into the engine rather than bolted on. You add one Networked component to a node and pick a replication mode: server authority (the cheat-proof default), predicted (for the player's own avatar), or rollback (every peer re-simulates every tick, GGPO style, for fighting games). Players connect with a five-letter lobby code through a small open-source relay you can self-host, or directly over LAN. The editor can host and join a local client in one process with latency and packet-loss sliders, so you can rehearse a 200 ms connection at your desk. The rollback mode is being hardened against a real fighting game built on the engine.

Are the installers signed?

Not yet, the binaries are currently unsigned. On macOS, right-click the app and choose Open the first time. On Windows, if SmartScreen appears, choose More info then Run anyway. Code signing is on my list.

What is the solar-system demo?

It is a game project I built in Floptle, scripted in Lua against the engine's public APIs, so none of it is hardcoded into the engine. It generates procedural solar systems from a seed and runs real orbital mechanics: patched-conic trajectories, sphere-of-influence transfers, clickable maneuver nodes, SAS, and time warp. You can fly from a planet's surface up to orbit, transfer to a moon, land, walk around under that body's gravity, and dig into the planet, and the edits are still there after a quicksave. It is there to show what one project on the engine looks like, since the engine itself is general purpose.

More from Fopull LLC

Floptle sits alongside the rest of what I ship.

I also build Storage Sifter, an open-source Linux disk-usage tool, Foduel, a real-time online trading card game, and Foverse, my blogging and community platform that hosts the free Connect Fo. If a Rust game engine is what brought you here, the rest is worth a look.

Floptle on GitHub Get Storage Sifter
Straight from the engine

What just shipped, and what is being worked on.

The current release and what is coming, written when the release went out and read straight off the engine. Everything older is on the release history.

v0.117.0 Whole Worlds 2026-10-27

. Whole planets with rivers, mountain ranges and weather that stream in without stalling, craft with hinges and wheels, water to float on, volumetric fog with light shafts, and meshes, pictures and compute shaders a script makes itself. Everything from the 0.117 betas.

Read the full release notes

Whole planets you can walk, dig, fly round and build on, with rivers, mountain ranges and weather, that stay smooth while they stream in around you. Craft with hinges, pistons and wheels. Water to float on. Volumetric fog with light shafts. Meshes, textures, pictures and now compute shaders a script makes itself. This is everything from the v0.117.0 betas, rc1 to rc38.

Worlds

  • Planets several times the size generate in seconds, with mountain ranges, rivers, lakes, rock belts and climates, and a built game can generate them too. Big planets hold only the ground near you and give back the memory they no longer need; terrain.stats() and terrain.setBudget() say what terrain holds and keep it to a budget.
  • Ground streams in wherever the camera goes, without stalling the frame, and new ground near you is drawn exactly the way it collides. Planets save only what you dug.
  • Digging and marks land without a hitch. Big batches of terrain edits are spread over frames under a budget a game can raise, and decals wait for the ground they belong on.
  • Solid ground stays where it is drawn on a world moving along its orbit, through every frame, so nothing falls through and a launch pad is where it looks.
  • Wind and lightning for scripts. Wind carries smoke and bends plants.
  • Water to float on and drift with. A water volume of density 0 is there for its look alone, for games that float things themselves, and freezing or thawing water is instant.
  • Scattered props keep their model's look, sway like the plant, and can be found and highlighted one at a time.

Craft and physics

  • Craft articulate, with hinges, pistons and gripping wheels, and keep their place and their hinges on a moving world.
  • Physics costs a fraction of what it did for big craft and vehicles on the ground. Craft, parked vehicles and light props come to rest and fall asleep, in the wind or with a thruster on, and a plane lifting off over terrain costs a tenth of what it did.
  • A mesh becomes a tumbling physics object in one step, every body's size follows its node, and a walker can no longer slip through a narrow post.
  • The floating origin distance is a project setting.

Looks

  • Volumetric fog worked out once for every four pixels, shared through plants like the rest of the view, with light shafts from the sun's shadow map at a fraction of their old cost.
  • Shaders that read the scene behind them, shader materials that draw together, and shaders that build beside play rather than in front of it.
  • Models keep their PBR maps and the filtering their files give their textures. Models in any common format convert themselves with every map in place.
  • First-person arms and tools drawn by a stacked camera are shaded by the terrain around them, and the sky keeps its sun through the fog.

Made at runtime

  • Meshes and textures a script builds itself, and pictures a script draws with image.new, many times faster than painting pixels from Lua.
  • Compute shaders: gpu.buffer, gpu.texture and compute.run run programs on the GPU that draw nothing, for procedural textures, particle swarms and simulations, on every platform Floptle ships to. See Compute shaders.
  • Players can hand a running game their own files: a picker the game opens, or files dropped on its window.

Smoother, and easier to tune

  • Saves never stall a frame or lose a player's data. assets.warm prepares a level before its first frame, and spawns a game can spread over frames keep busy moments smooth.
  • A profiler that names what a slow frame did, and new projects start with a catch-up budget, so an expensive moment slows the game for a moment rather than stuttering.
  • The refresh rate follows the window, and scripts keep running on a busy machine.

Scripting

  • Script suggestions fit what you are typing. Node handles compare equal, and a destroyed node's handle stays dead, never driving a node made later. findScript(kind, { quiet = true }) looks without a warning.
  • floptle check compiles every script, and fails on a syntax error at its file and line.

Building and the Hub

  • Exported builds draw textures the way Play does.
  • Beta updates are one switch in the Hub (Settings → Beta updates), and versions are listed in the right order. Updating to this release also moves a Hub that showed an old beta as the newest.

Upgrading

Projects upgrade themselves to keep their look. Nothing to change by hand.

Every release and its notes

Being worked on

Flying a ship you built. Compound vessels assemble, dock and come apart already. What's missing is a flight controller that handles a machine whose shape you invented — centre-of-mass and centre-of-thrust readouts while you build, and atmosphere that pushes back on the way up and the way down.

The arcade fighter. Fofighter is a real game being built on the engine, and it's where the netcode gets its hardest test. Nearly every rollback fix in the v0.10.x releases came from it — which is the point of building a game in your own engine.

Working towards

  • Terrain that's really geometry. Today's terrain is a distance field, which is why it has a size cap and why it goes faceted up close. Meshing it removes both.
  • Painting straight onto shader graphs, so a procedural material and a hand- painted one stop being separate workflows.
  • Particles on the GPU, for effects that cost what they look like they should.
  • Collision against shader-defined shapes, so a surface you wrote in a shader is a surface you can stand on.