A 2.5D game engine with its own IDE: from an empty project to a finished isometric game – design scenes, build sprites and materials, write game code in Delphi and swap it live.
ISOlDE is a game engine for isometric games together with its IDE – both written in Delphi. Drawing goes through a renderer layer on Direct3D 11 – currently 11 only, because we test in a VM; on the host, Direct3D 12 would be possible.
Terrain is made of sprites with a per-pixel depth image, characters and objects are meshes – our own FBX import reads static models and animated characters. Light, time of day, weather and effects like fire, smoke, water and fog are part of the engine. Materials are created in the shader graph, sprites in the sprite editor, scenes in the scene designer. We have also run our tests with tile sets from Kenney.
Game code is Delphi: if a Delphi compiler is present, the IDE builds the game DLL and swaps it into the running game on save (hot reload). Without a Delphi compiler the game code runs as Delphi Script (planned). The game runs in the runner – on the same machine or on a host in the network.
The engine is built for speed: the goal is 400 fps as headroom, and we currently measure over 2000 fps on our measurement platform (RTX 5090) – without optimisations. The RTX 5090 is the basis of our measurements, not a typical target.
The IDE is a FireMonkey application built on our own components: the MVVM framework D.MVVM, our FMX ribbon controls and our FMX source code editor in SynEdit style.
It works like Delphi: the key bindings follow the Delphi model 1:1, but live in a table of their own and are 100% customisable. Presets: Delphi, standard (CUA) or empty. All interfaces are bilingual (German/English), the design follows light, dark or Windows.
ISOlDE stands on frameworks we have built over the years and use in other projects as well.
Our MVVM framework for Delphi – FMX, VCL and unit tests: views, view models and bindings; the foundation of the IDE interface.
Feature list followsOur ribbon controls for FireMonkey: tabs, groups, galleries, backstage.
Feature list followsA source code editor for FireMonkey in SynEdit style: highlighting, bookmarks, jump to declaration, Delphi key bindings.
Feature list followsThe FireMonkey Development Kit: over 100 units for cross-platform apps and VCL – threading (pipeline, async/await, timers), logging, database (FireDAC ORM, SQLite, JSON store), REST, factories and singletons, event bus, state machine and much more.
Info pageThe list is alive and updated with every integration. Each entry carries its status: done, partial, planned or idea.
Create, open and save a game project. Like Blender the IDE starts with an editable scene – a meadow instead of a cube.
5 done · 2 partial · 1 plannedBuild the world: infinite tile map of ground pieces, tile kinds, heights, placing objects – in the designer like a Delphi form or from the command line.
10 done · 3 partial · 4 plannedBinary assets versioned outside hg, imports of 3D kits, FBX and sprites, asset index with thumbnails, packages for the runner.
6 done · 2 partial · 1 planned · 1 ideaIso 2.5D sprite and pixel editor as IDE plugin and standalone SpriteEditor.exe: paint in iso planes, surfaces with normals for dynamic light, patterns, layers, directions.
12 done · 2 partial · 10 planned · 1 ideaShader graph as IDE document, node library with ~300 nodes, HLSL codegen, baking into materials and sprite sheets.
8 done · 4 partial · 6 plannedSun, time of day, lit sprites with point lights and shadows; smoke, fire, lava as baked sheets. Weather and particles follow.
3 done · 3 partial · 4 plannedFigures in two ways: animated 3D models (FBX) and image sprites with facings.
2 done · 2 partial · 1 planned · 1 ideaGame logic in Delphi as a DLL against a stable contract (as Delphi Script without a Delphi compiler), hot reload on save, code editor in the IDE.
3 done · 2 partial · 1 planned · 3 ideaWhat a game needs beyond graphics: input, behaviour, collision, pathfinding, HUD, sound, save games. The biggest gaps are here.
1 done · 6 planned · 3 ideaF9 builds and runs the game in the local runner (also embedded in the IDE), Shift+F9 on the measurement host (our basis for measurements, not a typical target) – with deploy, self-update and remote control.
9 done · 4 partial · 1 plannedFMX IDE after the Delphi model: ribbon, command registry with rebindable keys, docking, two languages, no Windows dialogs, plugin API.
15 done · 2 partial · 3 planned · 1 ideaTurn the project into a standalone game per platform: statically linked, assets in an archive, shaders precompiled. Not built yet.
3 plannedEverything a developer can do with mouse and keyboard an agent should do via MCP – today via command line tools and self-tests, tomorrow via an MCP module.
3 done · 2 plannedPlatform-neutral engine library (Source\*) with thin RHI, D3D11 backend, iso sorting, culling, job system – target 400 fps as headroom – currently over 2000 fps on our measurement platform (RTX 5090), without optimisations.
9 done · 1 planned · 1 ideaPictures from the IDE, the sprite editor and the runner. Click an image to enlarge it.