Skip to content

0.12.0 - Headless, networking, fixes and improvements#20

Merged
NiklasJohansen merged 48 commits into
masterfrom
dev-0.12
Aug 31, 2025
Merged

0.12.0 - Headless, networking, fixes and improvements#20
NiklasJohansen merged 48 commits into
masterfrom
dev-0.12

Conversation

@NiklasJohansen
Copy link
Copy Markdown
Owner

@NiklasJohansen NiklasJohansen commented Aug 31, 2025

PulseEngine 0.12.0 Release Notes

Networking

  • New network module with client and server implementations. Supports TCP and UDP for reliable and fast transport.
  • Message-based API with support for custom codecs.

Headless & Timing

  • Headless mode: run the engine without window, graphics, audio, input, or asset IO. Perfect for servers.
  • Timing: replaced glfwGetTime() with a high-resolution timer used across both normal and headless modes; improves stability of delta and fixed updates.

Engine & Lifecycle

  • onStart in PulseEngineGame: runs right after engine init/assets loading.
  • Updated PulseEngine.run<Game>(headless = true)

Configuration

  • saveDirectory moved to the config module makes the save path configurable from config files.

  • Config file parser: now accepts comments and empty lines, making long configs readable.

  • Ticks & deltas renamed/typed:

    • fixedTickRate: Float (was Int).
    • fixedDeltaTimefixedDeltaTimeSec.
    • deltaTimedeltaTimeSec.

Rendering & Platform

  • macOS: improved compatibility by lowering the required OpenGL version (below 4.1).
  • Bloom: quality and tuning improvements.
  • Texture tiling for lights and occluders: proper support for repeating patterns in lighting pipelines.
  • Mip derivative fix when tiling: resolves blurring/aliasing artifacts on repeated textures.
  • Render pass API: refined for clearer composition and easier chaining.

Camera & Scene

  • Camera:

    • Smoother origin interpolation to reduce jitter.
    • Zoom behavior improved and decoupled from target tracking so following targets doesn’t fight the zoom.
  • Scene:

    • New query function for finding entities at a point.
    • Scanning improvements for systems/entities; The game should be put in its own package (not default package) to reduce scanning and startup time..
    • All SceneEntity and SceneSystem implementations moved out of core into a dedicated scene module to keep responsibilities clean.

UI & Text

  • UI components:

    • Buttons can be disabled.
    • Text input supports max length.
    • Labels support custom alignment.
    • Scrollbars expose fraction control.
  • Text rendering: newline (\n) support for multi-line labels.

Primitives

  • New lightweight vector types: Vec2f and Vec2i.

Stability & Diagnostics

  • Error handling improved: writes a crash log file on fatal errors, and includes a history of recent loggs.

Build & Project

  • Cleaned up build file. Now uses the shadow plugin to create fat jars.

Bug Fixes

  • Correct mip-map derivative selection when tiling textures. Removes borders at tile edges.

NiklasJohansen and others added 30 commits July 6, 2025 02:58
@NiklasJohansen NiklasJohansen changed the title PulseEngine 0.12.0 — Headless, Networking, Timing overhaul, and lots of polish 0.12.0 — Headless, networking, fixes and improvements Aug 31, 2025
@NiklasJohansen NiklasJohansen changed the title 0.12.0 — Headless, networking, fixes and improvements 0.12.0 - Headless, networking, fixes and improvements Aug 31, 2025
@NiklasJohansen NiklasJohansen merged commit 26fe918 into master Aug 31, 2025
1 check passed
@NiklasJohansen NiklasJohansen deleted the dev-0.12 branch August 31, 2025 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant