Skip to content

Repository files navigation

Floptle

A lightweight, hyperoptimized game engine for surreal, otherworldly visuals.

Make games that look like they're from another dimension — without anyone else's restrictions.

— a Fopull LLC project · free & open source (MIT OR Apache-2.0) —


Status: early but very real. The editor, SDF/raymarch + mesh renderer, chunked diggable terrain with galaxy-scale streaming, custom physics, Lua scripting with an in-editor IDE, timeline particles, node-graph shaders (.flsl), skeletal animation, spatial audio + mixer, game UI, and the Floptle Hub launcher all work today — the Solar demo is a KSP-style playground built on it: fly a ship between procedurally generated planets, land, dig, and save per slot. Pre-1.0: expect sharp edges and breaking changes between versions. Start with docs/VISION.md, then docs/ARCHITECTURE.md.

Get started (players & game makers)

Download the Floptle Hub for your platform from Floptle-releases (floptle-hub-… archive), unpack, run. The Hub installs engine versions, notifies you when new ones ship, creates projects, and opens them in the editor — no toolchain needed. Building from source instead: see Building.

What Floptle is

Floptle is a game engine built around one belief: the most interesting games don't come from chasing photoreal graphics — they come from showing people something they've never seen. Floptle's renderer is designed to bend the conventional rules of light and geometry: real-time fractals you can fly into, meshes whose vertices shift and breathe, and a shader system meant to produce images that feel surreal, dreamlike, and a little nostalgic underneath.

It's also built to be a joy to make things in. The particle editor works like a video editor's timeline. The shader system is a node graph and editable text at the same time. UI is drag-drop-and-script. Object pooling is automatic. Blender models drop straight in. Nothing is buried under a thousand properties.

Pillars

  1. Otherworldly, not realistic. Surreal/dreamlike visuals via SDF raymarching, custom shaders, and reality-bending post.
  2. Lightweight & fast. Rust, no GC, data-oriented core, optimized by default.
  3. Cross-platform. Linux, Windows, macOS from one codebase.
  4. Made for makers. Opinionated, fast workflows for VFX, shaders, UI, and scenes — power without clutter.
  5. Yours. The renderer, shader language, and tools are ours top to bottom.

The stack (decided)

Layer Choice
Language Rust (edition 2024)
Window/GPU portability winit + wgpu
Scripting Lua (LuaJIT via mlua), hot-reload
Editor UI egui + egui_dock (dark/retro)
Scene model ECS core + Node/Component facade
Blender pipeline glTF 2.0
Shaders Custom IR: graph ⇄ text → WGSL
Pooling Engine-native automatic pools
Serialization RON
Physics/collision Custom SDF-first (collide morphing fractals)
Deformable matter Unified field substrate + opt-in tiers
Gravity & space Mass/density gravity fields (walk on fractals)
World scale Large-world / floating-origin (default-on)
Light Programmable light transport (light as a field)
Time Time as a rate field (local clocks)
World rules Lawset/Realm spine + field-interaction

Repository layout

Floptle/
├─ Cargo.toml              # workspace
├─ crates/
│  ├─ floptle-core/        # math, ECS, node facade, events, time, pools
│  ├─ floptle-field/       # implicit geometry: SDFs + CSG/blend ops (shared)
│  ├─ floptle-rules/       # Lawset/Realm meta-spine + field-interaction graph
│  ├─ floptle-render/      # wgpu render graph + the signature look
│  ├─ floptle-shader/      # shader IR: graph ⇄ text ⇄ WGSL
│  ├─ floptle-vfx/         # timeline particle system
│  ├─ floptle-anim/        # skeletal + state-machine animation
│  ├─ floptle-physics/     # SDF-first collision + character/vehicle movement
│  ├─ floptle-matter/      # deformable matter: morph, soft-body, stick, fracture
│  ├─ floptle-input/       # action mapping (kbd/mouse/gamepad)
│  ├─ floptle-ui/          # in-game UI + dialogue
│  ├─ floptle-assets/      # glTF import, textures, materials, asset DB
│  ├─ floptle-script/      # Lua host + hot reload
│  ├─ floptle-net/         # networking (deferred stub)
│  ├─ floptle-editor/      # the authoring tool (bin: `floptle`)
│  ├─ floptle-runtime/     # game player / export host (bin)
│  └─ floptle-proof/       # Beat 1: standalone raymarch "proof slice" (bin)
├─ docs/
│  ├─ VISION.md            # the north star
│  ├─ ARCHITECTURE.md      # how it all fits together
│  ├─ ROADMAP.md           # phased build plan
│  ├─ decisions/           # ADRs (why each choice was made)
│  └─ subsystems/          # per-system deep-dive designs
└─ assets/                 # default textures/materials/shaders

Building

# Requires the stable Rust toolchain (rust-toolchain.toml pins it).
# Linux also needs windowing/GPU/audio dev headers, e.g. on Debian/Ubuntu:
#   libx11-dev libxrandr-dev libxi-dev libxcursor-dev libxkbcommon-dev
#   libwayland-dev libgl1-mesa-dev libasound2-dev
cargo run --release -p floptle-editor   # the editor
cargo run --release -p floptle-hub      # the launcher / version manager

License

Free and open source, dual-licensed under MIT OR Apache-2.0 — use either, at your option (the Rust-ecosystem norm). Permissive forever: the engine will never be relicensed out from under you; Fopull LLC's revenue comes from optional hosted services and donations, never license terms. The "Floptle" name and branding remain Fopull LLC trademarks.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Floptle by you shall be dual-licensed as above, without any additional terms or conditions.

About

Floptle — a lightweight, hyperoptimized game engine for surreal, otherworldly visuals. (Fopull LLC, pre-release)

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages