EzEngine Versions Save

An open source C++ game engine.

release-23.12

4 months ago

This is a maintenance release for ezEngine that fixes a few small but important usability bugs in the editor.

All Changes

See the Release 23.12 milestone for the full list of closed issues and pull requests.

release-23.11

5 months ago

Highlights

All Changes

See the Release 23.11 milestone for the full list of closed issues and pull requests.

Contributions

This release contains contributions by:

  • @dimhotepus
  • @PlasmaDev5
  • @DavidJones011
  • @ananace
  • @mafaldag1
  • @TheophilusE

release-23.4

1 year ago

Highlights

All Changes

See the Release 23.04 milestone for the full list of closed issues and pull requests.

release-22.11

1 year ago

This month ezEngine is already 10 years old! 😱 In November 2012 our small group of people decided to build a new engine from the ground up and apply all the knowledge that we had learned over years of working on various projects and engines. The goal was not to compete with other engines, but just to have a shared project that we enjoy working on and make it free for the rest of the world.

Today that same team is still very actively working on ezEngine. We have made great progress and implemented lots of features. Of course, there is still a lot missing, building a modern engine is a gargantuan task. But we still very much enjoy working on it, and improve it every day.

Here's to another 10 years! 🥳🎉

Release Highlights

All Changes

See the Release 22.11 milestone for the full list of closed issues and pull requests.

release-21.10

2 years ago

Highlights

All Changes

See the Release 21.10 milestone for the full list of closed issues and pull requests.

release-21.6.1

2 years ago

This release adds a brand new skeletal animation system. Also the RmlUI integration has been improved quite a bit. As usual there are also many smaller improvements, bugfixes and more documentation.

See the Release 21.6 Milestone.

Editor

  • #402: Added a splashscreen with our new logo.
  • #404: The asset browser can now show in which other assets an asset is referenced.
  • #401: Generalized sky light options across asset documents.
  • #303: Improved mesh material assignment workflow.
  • #304: Reduced screen space required by asset type filter list.

Runtime

  • #378: Resources can now be created asynchroneously.
  • #373, #315: Added support for blackboards.
  • #372: Added image data resource + asset
  • #370: Added a 'random seed' value to every game object.
  • Added support for tracking which input device is in use (controller vs. mouse/keyboard).

Infrastructure

  • #356: Added infrastructure to self-document available command line options.
  • #345: Added support for custom variant types.
  • #338: Allow using an 'ezSdkRoot.txt' redirection file to point to the SDK dir.
  • #316: Added new small array container class.

Rendering

  • #407: Added option to modulate fog with sky color.
  • #401: Metallic materials can now reflect the skybox.
  • #374: Added a basic heightmap terrain component.
  • #358: Refactored RendererFoundation to make a Vulkan port easier.
  • #350: SPIR-V shader compiler support.
  • #348: Early draft of vulkan implementation.

Physics

  • #330: Added option to decompose collision mesh into convex pieces.
  • #301: Static collision meshes can now use surfaces from the render mesh.

VR / AR / XR

  • #365: OpenXR Remoting support.
  • #332: OpenXR upgrade.

Tools

  • #389: Add support for .vox MagicaVoxel models.
  • #322: Rewrote the ModelImporter.

Third Party Integrations

  • #398: Update ZStd to latest, includes the 1.5.0 release which brings speed improvements.
  • #396: Updated ads (Advanced Docking System) to version 3.7.1.
  • #394: Updated to RmlUi 4.0.
  • #371: Significant improvements to the Kraut integration.
  • #362: Added RmlUI blackboard binding.
  • #320: Updated assimp to latest (5.0.1+).

Samples

  • #403: Added demo scene for animations.
  • Added a sample scene for terrain and vegetation to the Testing Chambers project.

release-20.8

3 years ago

A major new feature in this release is the integration of RmlUi. Apart from that, a lot of work was put into fixing bugs, polishing existing features (such as the PhysX integration) and writing documentation. Lots of documentation.

Tickets closed: Release 20.8 Milestone

Highlights

  • #274: Added support for RmlUi.
  • Wrote over 100 new pages of documentation.

Editor

  • #259: The editor now uses a dashboard to open projects, and show which samples are available. It also contains links to all the available online resources.
  • #264: Added feature to make editing certain component enum properties much easier. For example, surface interactions.
  • #253: Improved user experience for exporting and running a scene. It's now one button, instead of two, and by default it will ensure all assets are transformed.
  • #228: Fixed opening Visual Studio Code, when it was installed not to the user directory.
  • #269: Changed asset buttons to not use right-click, but left-click for showing all the options.
  • #220: A new release is now automatically detected and the user gets an information popup.
  • #233: 'Create Prefab' is now possible even when having multiple objects selected. This restriction has been lifted a while ago, but was still imposed in this workflow.
  • #232: 'Create Prefab' now centers the objects within the created prefab.
  • #294: Added the ability to align certain visualizers (capsule, box, sphere, ...) at their edges, instead of their centers.
  • #203: Fixed incorrect culling of objects after undoing a parenting operation.
  • #262: Fixed that creating an asset from an asset button did not work anymore.
  • #263: Fixed opening an asset document from the asset curator.
  • #234: Fixed 'Convert to Editor Prefab' to work again.
  • #217: Fixed that closing an inactive document would change the active document.

Runtime

  • #284, #279: Hashes for strings are now also computed using xxHash instead of MurmurHash, including the ones computed at compile-time.
  • #261: ezTasks are now reference counted.
  • #261: Added ezArgSensitive to be able to censor sensitive user data in certain scenarios.
  • #261: Added ezHashStreamWriter to compute a hash through for data serialized through a stream.
  • #261: Improved quality and size of converted textures.
  • #272: Added a rational data type.

Rendering

  • #235: The debug renderer can now be used to render textured triangles.

Physics

  • #286: Added component to grab physical objects.
  • #283, #280: Added many features to physics joints, fixed several issues and improved how they can be anchored. Also wrote lots of documentation.
  • #295: Refactored the character controllers. Added support for teleporting and move the CC's origin to the capsule bottom.
  • #182: Fixed that character controllers would stick to the ceiling when they touched it.
  • #210: Fixed that the PVD would crash upon connection, if any joint was in a scene.

Particle Effects

  • #293: Particles are now always aligned with the surface that they are dropped onto.

Decals

  • #293: Decals are now always aligned with the surface that they are dropped onto.

TypeScript

  • #287: Add GameObject.SendEventMessage().

VR / AR / XR

  • #265, #212: Worked on OpenXR support.

Components

  • #207: The SpawnComponent now allows you to set values for the prefab's exposed parameters.

Tools

  • #261: The ArchiveTool can now extract ezArchives that use a non-default file extension.

Third Party Integrations

  • #288: Update Lua to version 5.4.0

Samples

  • Many additions to the Sample Game Plugin to demonstrate various features.
  • Various additions and fixes in the Testing Chambers sample, such as an improved character controller and lots of new things in the Physics scene to show the various joint types.
  • The RTS Sample now uses the new Rml UI.

Build System

  • #223: Added support for detecting Visual Studio 2019 properly.

Platforms

  • #266, #225: Made it possible to build the editor with LLVM/Clang (on Windows).
  • #285: Various fixes for building for Android.

release-20.5

3 years ago

This release focuses on bug fixes and polishing as well as documentation.

Tickets closed: Release 20.5 Milestone

Editor

  • Logged errors and warnings are now displayed in the status bar for a few seconds. A button shows the number of new errors and warnings.
  • Added live resource update to color gradient and curve assets
  • Action tooltips now show the action shortcut
  • Snap object position when pasting
  • Marquee selection does not select top-level objects anymore
  • Allow to cancel marquee selection with ESC
  • Added preference to always enable background asset processing
  • Asset processing and background transform is now much more reliable and faster
  • Editor objects are not rendered in camera previews anymore
  • #144: The editor can now open projects provided by the command line
  • e6b3ecb: Added Group attribute to allow grouping properties

Runtime

  • Performance improvement for posted messages
  • #173: Refactored the task system to fix some issues
  • #163: Added ezSimdVec4u
  • b3c2507: Fixed various issues pointed out by the static code analyzer 'Semmle'
  • 658e7c9: ezWorld performance improvements
  • d667255: Added support for long file paths on Windows

Rendering

  • #193: Added support for color grading
  • Optimized vertex data by using smaller formats for normals, tangents and texcoords

Particle Effects

  • #188 Several fixes for particle effects
  • #189 Added particle 'bounds' behavior

Decals

  • #158: Added support for roughness, metallic and occlusion maps

Components

  • PlayerStartPointComponent now exposes the prefab parameters
  • The main direction for decals and particle effects is now configurable

Tools

  • 7dcc0c6: Added search to the ingame console
  • 7c71b8a: Added support for ETW profiling

Third Party Integrations

  • Upgraded PhysX to version 4.1.
  • #185: Fixed PhysX crashes with high frame rates

Documentation

  • Added high-level documentation

Build System

  • #165: ezEngine can now be integrated into other projects as a CMake sub-module

Platforms

  • ac77380: Added ability to compile for arm64 from Visual Studio open folder workflow
  • a8f3f4a: Added basic support for Android debugging. Note: Android support is limited to low level libraries.
  • 34ec12d: Added Android JNI wrappers

release-20.2

4 years ago

Highlights

The biggest new feature is the integration of TypeScript as a proper scripting language. With great workflow when using Visual Studio Code as the script editor.

Editor

  • Improved asset transform performance.
  • Added support for 'template asset documents'.

Runtime

  • GameObjects now have an 'enabled' state that affects the entire sub-tree.

Scripting

  • Finished a new scripting system that uses TypeScript as the scripting language.

Samples

  • The 'Testing Chambers' project now demonstrates the new scripting system with various features. See the 'Corridor' scene.

Components

  • Added a BeamComponent for laser effects.
  • Added a RaycastComponent to move an object to the closest hit surface. Works well with the BeamComponent.