Ultra Engine 1.0.1 Released
Ultra Engine 1.0.1 is released, with a host of improvements and fixes, as we prepare to exit early access.
A new game menu system has been added into the default project template, for both C++ and Lua. This will enable a menu system for your game, along with options for graphics settings, and automatic save and load of your game's settings in a JSON file. Since all the code is included in the project, you can modify it, remove it, or use it as-is.
The Lua entity scripts system has been updated to allow attaching of properties and functions directly to entity objects. This eliminates the need to flip back and forth between the script and entity object, and allows a more straightforward approach to game programming that takes full advantage of Lua's dynamically typed design. Additionally, the need to call RegisterComponent() in your entity scripts is eliminated.
The screen-space ambient occlusion post-processing effect has been improved with faster performance and a cleaner image quality.
Entity UUIDs (Universal Unique Identifier) are now displayed in the entity properties, in-editor. You can copy the entity UUID and use it with Scene::GetEntity to retrieve a specific entity in code from a loaded map.
Many other small enhancements have been added:
- In Lua, the World:GetEntities command can now accept additional parameters to filter entities by Lua fields.
- The model editor now allows you to load a dynamic (convex hulls) or static (polygon mesh) collider from a model file.
- Thumbnails for prefabs are now generated in the editor.
- Lua execution speed in debug builds is much faster now.
- Added Entity::SetMassCenter command.
- ParticleEmitter:SetParticleRadius is replaced with SetParticleScale. Values sent to this method should be double the radius.
- Shader family file structure is simplified. The engine is still backwards-compatible with the old shader family format. No changes to your existing shader family files are needed, but the default files have been updated.
- The Lua code folder has been changed from "Source" to "Scripts", in preparation for future plans for modding support with Lua, for games written in C++. The editor will attempt to automatically correct your existing projects when they are opened.
- FPSPlayer script now includes an option to start with the flashlight turned on.
- CreateTile can now accept a World instead of a Camera, so tiles can be created without a specific camera
- CreateInterface can now accept a world for the first parameter so it doesn't have to be tied to one specific camera.
- Added new events EVENT_WORLDUPDATE, EVENT_WORLDRENDER, EVENT_WORLDPAUSE, and EVENT_WORLDRESUME. The first two do not go into the event queue, but can be used with ListenEvent() to add hooks
- Display.graphics modes is now an array of iVec2s instead of iVec3s
- The Lua Import command now works with relative paths, which is more consistent with most programming languages
- ACES tone mapping is now integrated into the lighting shaders by default, and no longer requires an extra post-processing step
- Undo / redo system is now fully working and finished
This update also resolves many bug reports. Out of a total of nearly 1000 bug reports filed during early access, 99% of issues have been solved, giving you an extremely well-tested platform to build on as we prepare for the full release.
-
1
-
1
0 Comments
Recommended Comments
There are no comments to display.