Our own game engine · v0.8.1 · free

FYN ENGINE

A lightweight C++ game engine with a visual editor and Lua scripting. Build a 3D level with the mouse, add grass, water, sound and your own models — now with real-time shadows, bloom and PBR materials — press Play — then export a Windows game or one HTML file for the browser.

  • –page visits
  • –demo plays
  • –downloads
  • C++20engine + editor
  • OpenGL 4.1WebGL 2 on the web
  • Lua 5.4scripting, hot reload
  • 1 exeno install
The Fyn Engine editor in the Deep sea theme: Place panel with shapes and water, 3D viewport with grass and glowing coins, Outliner, Details and Console
The Fyn editor in the new Deep sea theme — place, move, script and play in one window.

Made with Fyn · runs in this page

Play the starter level

This is a real Fyn export: the whole engine compiled to WebAssembly, plus the level, in one file. Walk with WASD, look with the mouse, Space to jump, Shift to run — collect every gem. On a phone: joystick on the left, look on the right.

What it can do today

Everything in one small editor

☀️

Shadows, bloom & lights

Soft real-time sun shadows, HDR with bloom so glowing things really glow, tone mapping and vignette. Day, Sunset and Night skies, fog and up to 8 coloured point lights. v0.6–0.7

🪙

PBR materials

Roughness and metallic sliders and normal maps on every object — shiny metal, rough stone, wet plastic. Works with your imported textures. v0.8

🔊

Audio

Play sounds, 3D sounds that come from a place in the world, and background music from Lua. Coins, jumps, hits, win and lose have built-in sounds. Drag in .wav, .mp3 or .flac. v0.8

🧱

Visual editor

Drag shapes, rocks, terrain, grass, water, lights and a player start into the viewport. Gizmos, snapping, Outliner, Details, undo for everything — in the new Deep sea theme, with an FPS readout. v0.8.1

📜

Lua scripting

Object scripts with Start, Update, OnPlayerEnter… Properties you can tweak per object, Game Mode and Game Instance, prefabs and multiple levels. Scripts hot-reload while you play.

🌊

Water

Lakes, rivers and oceans drawn with spline points. Flowing ripples, foam on shores and rapids, fresnel reflections, Gerstner waves — and the water carves the terrain. The player can swim.

🌾

Grass & terrain

GPU-instanced, wind-blown grass that sits on rolling terrain and moves aside as you walk through it. Hills, detail and colours are all sliders.

📦

Your own models

Drag FBX or OBJ models and PNG / JPG textures from Explorer straight onto the editor. Embedded textures are pulled out for you; drop a texture on an object to apply it.

🚀

Export anywhere

Export Game makes a Windows folder with your .exe. Export for Web makes one .html file — upload it to itch.io or any website. Touch controls are built in.

🏃

Ready-made player

First-person walking, running, jumping, swimming and collisions, collect-all-gems-to-win, a timer, HUD text, checkpoints, a pause menu and settings.

Scripting

Give anything a brain in a few lines

Add Script (Lua) to an object, write a small table of functions, and press Play. The values in Properties show up in the editor so you can tune every object without touching code. Errors show in the Console and only pause the broken script.

FynLikeUse it for
Object scriptUnity MonoBehaviourdoors, enemies, jump pads, pickups
Game ModeUnreal GameModescore, timer, win / lose of a level
Game InstanceUnreal GameInstancelives, total score, inventory between levels
PrefabUnity prefabreusable objects, Fyn.Spawn

📖 Read the scripting guide 🌊 Water, models & web export guide

-- Scripts/JumpPad.lua
local JumpPad = {}
JumpPad.Properties = { power = 13 }   -- editable in Details

function JumpPad:OnPlayerEnter()
    Fyn.LaunchPlayer(self.power)
end

return JumpPad

-- Scripts/Coin.lua
local Coin = {}
function Coin:Update(dt)
    self.entity:Rotate(0, 90 * dt, 0)
end
function Coin:OnCollected()
    Fyn.PlaySound("coin")
    Fyn.ShowMessage("+1 coin!", 1)
end
return Coin

Quick start

Your first level in five minutes

  1. Download & open. Unzip and double-click FynEngine.exe. No install. A starter level and a welcome guide open.
  2. Fly around. Hold the right mouse button and use WASD (Q/E down / up, Shift faster).
  3. Build. Drag things from Place into the viewport. Click to select, W/E/R to move, rotate, scale. Ctrl+Z undoes anything.
  4. Make it alive. Details → Add Component → Script (Lua), or drag a script from Content onto an object.
  5. Play. Press the coral Play button (Ctrl+P). Esc frees the mouse, Esc again stops.
  6. Share. File → Export Game for Windows, or File → Export for Web (HTML) for one file you can upload to itch.io.

Windows may say “Windows protected your PC” because the exe isn't code-signed yet — click More info → Run anyway. Needs a graphics card with OpenGL 4.1 (almost any PC from the last 10 years).

Change log

How it grew

  1. v0.8.1New Deep sea editor theme (navy panels, teal and sea-foam, a coral Play button) · Show FPS in the editor and in exported games · Fixed bloom washing the screen white with black specks on some Windows GPUs · version number in the title bar · a full changelog
  2. v0.8PBR materials (roughness, metallic, normal maps) · Audio: sounds, 3D sound and music from Lua, built-in game sounds, .wav / .mp3 / .flac import
  3. v0.7HDR rendering with bloom, tone mapping and vignette (World Settings → Camera effects)
  4. v0.6Real-time sun shadows with soft edges; choose which objects cast them
  5. v0.5.1Play in the browser: touch controls for phones (move stick, look pad, jump, run, full screen, restart)
  6. v0.5Water (lakes, rivers, oceans that carve the terrain, swimming) · FBX / OBJ and texture import by drag & drop · Export for Web (one HTML file, touch controls)
  7. v0.4Lua scripting · object scripts with properties · prefabs · Game Mode & Game Instance · multiple levels · hot reload
  8. v0.3The visual editor: docking panels, gizmos, picking, undo, .fyn scenes, Play mode, Export Game
  9. v0.2One exe with menus and settings
  10. v0.1Engine core, 2D and 3D renderers, instanced grass, sample mini games (Firefly Meadow, Meteor Dodge, Sprite Storm)

📜 Full changelog 🔬 R&D: how the engine works

Coming next

Roadmap

Ideas we're working toward — no dates yet.

Download

Fyn Engine v0.8.1 for Windows

Editor (FynEngine.exe), the web player for Export for Web, the samples (FynSamples.exe) and the guides. Free for your own games. Windows 10 / 11, 64-bit, OpenGL 4.1.

Made by DRIFFFYNS with AI assistance. Uses open-source libraries (GLFW, Dear ImGui, ImGuizmo, GLM, Lua, ufbx, stb, nlohmann/json, glad) — see THIRD-PARTY-NOTICES.txt in the zip. Found a bug? Tell us on Discord.

  • FynEngine.exethe editor · 5.4 MB
  • WebPlayer/needed for Export for Web
  • Samples/FynSamples.exe3 code-made mini games
  • Docs/scripting · water, models & web