v0.8.0 | Command and Control

HalfEngine v0.8.0 is here, marking the largest milestone released so far!
This update is another one of those ‘mostly under-the-hood’ releases, but a crucial one at that. It introduces protocol negotiation, server-side commands, and a new debugging tool — systems that fundamentally change how clients, tools, and even the engine itself interact with the simulation.
With these systems in place, HalfEngine now has a clear separation between observation, tooling, and authority. While much of this work isn’t immediately visible, it lays the foundation for real interactivity, automation, and future player-driven features.
New Features and Bug Fixes
Networking & Protocol
- Implemented protocol negotiation. Clients and servers now exchange version and capability information before any data is transferred.
- Unknown or incompatible clients are logged and disconnected
- Clients that fail to complete the handshake within a set timeout are disconnected
- Established the first version of the networking protocol. It’s experimental and expected to evolve
- Refactored the networking subsystem to support multiple simultaneous listen sockets
Server-side Commands & Tooling
-
Implemented server-side commands, enabling remote clients to interact with the server in controlled, predefined ways
-
Introduced a Debugger executable with elevated access to the server. The regular Client executable no longer has elevated access. In the future, it will also stop receiving full world snapshots (it still does currently).
-
The Debugger connects through a dedicated, privileged socket
-
The Debugger and Client windows are resizable now!
-
ImGui window docking has been enabled to make it easier to organize the window layout
-
Added simulation timescale controls (pause, slow-mo, fast-forward), available through the debugger
Debug access is disabled by default for security reasons and can be enabled via
Engine/Config/Debug.cfg
This system also lays the groundwork for some additional features not present currently, including:
- Scriptable servers and server automation
- Remote tooling (the debugger being the first example)
- Deterministic replays with control injection (“steerable replays”)
- Limited modding capabilities
Engine Infrastructure
- Upgraded the serializer to support missing fields during deserialization. Missing data is now default-initialized to reasonable values. This makes it easier to maintain backwards compatibility in the future
- Introduced a lightweight, deterministic PRNG system based on Xoshiro, replacing the standard library PRNGs for improved determinism, control and performance
- Minor internal refactoring to remove duplicated code. You might notice a new “System” channel in addition to “Client” and “Server” in the logs
Bug Fixes
- Fixed a serializer bug that made it impossible to handle modified fields
- Fixed a critical bug where the credits window could not be closed by simply clicking the “Credits” button on the toolbar
Breaking Changes!
- Snapshot format changes:
- The serializer was refactored to improve long-term compatibility; as a result, snapshots created by v0.8+ will not be compatible with older engine versions.
- Snapshots created by older versions can be loaded by v0.8 (the changes are backwards compatible)
- Network protocol changes:
- Older engine versions can no longer communicate with the current and future versions
- Cross-version behavior:
- New client → old server: the connection will be dropped by the client due to invalid handshake
- Old client → new server: the server times out waiting for the handshake
What’s Next?
The next release will build directly on the new commands system, introducing the first forms of direct, real-time interaction with the simulation — moving beyond observation and tooling.
If this sounds interesting to you, consider following the project to get notified of future updates!
You can download and test v0.8.0 below. If you encounter issues, please report them on our public GitLab Issues page or start a new discussion.
Files
Get HalfEngine
HalfEngine
Interactive Experiences Engine
| Status | Prototype |
| Category | Tool |
| Author | Halfworks |
| Genre | Simulation |
| Tags | 3D, custom-engine, Experimental, Game engine, Indie, Sandbox, tech-demo |
| Languages | English |
More posts
- v0.7.0 | Voices from Within10 days ago
- v0.6.0 | Hard Reset17 days ago
- v0.5.0 | Tactile Feedback34 days ago
- v0.4.0 | Visual Horizons43 days ago
- v0.3.0 | Vital Signs48 days ago
- v0.2.0 | Under the Hood49 days ago
- v0.1.0 | Systems Online51 days ago
Leave a comment
Log in with itch.io to leave a comment.