From Castle Game Engine: link to original post
I’m happy to announce a feature that may forever change how you use Castle Game Engine! Simply recompile your game with the latest engine version, press F12 and behold… a powerful tool to see your log and hierarchy of objects in the game.
Watch a presentation:
Yes, this looks effectively like a (very minimalistic) editor-at-runtime. It is cross-platform and automatically available for all your games. Invoke it at any point, and inspect (soon: even edit) the visible CGE objects (UI, transformations, scenes…).
Features:
- View the hierarchy of TCastleUserInterface and TCastleTransform at runtime (just like in CGE editor)
-
Select any component (by picking it from hierarchy, or hovering mouse over it with various “Auto-Select” options) to see its properties, updated in real-time
-
View logs (each time you press F12, we show 10 last logs, and we’ll collect any more logs that will be submitted while the inspector is open)
-
All panels (hierarchy, properties, profiler, log) can be hidden and shown independently
-
Inspector opacity can be controlled, to better see your game content underneath. The current opacity and panels are remembered when you toggle inspector by F12 repeatedly.
-
Powerful frame profiler shows where do you spend most of the time each frame: update, render, physics, swap. It also shows FPS history.
-
The key to invoke the inspector can be configured, you can also make it available in the release mode. By default, we assign
InspectorKey := {$ifdef DEBUG} keyF12 {$else} keyNone {$endif};
.
Note: long time ago I had a plan for a different approach to “editor at runtime” : compile with CASTLE_WINDOW_LCL
backend, and add LCL UI — reused between “editor at runtime” and actual CGE editor. Downside: it would work only on desktops. For Delphi devs, it would also mean that we need to compile the game with FPC too. Upside: It would be easier to support 100% of editor features. What is the ideal approach? We’ll see For now we develop CGE editor using LCL, and in-game inspector using CGE UI, and we’ll see how these 2 approaches converge.
You must be logged in to post a comment.