0.5.2 - Game Control Programmables
Released on May 20, 2023
This update added a brand-new feature - game control spawnables. The game control spawnable includes Checkpoint and Endpoint. Placing them in the world can control the respawning and flows of the game in the play mode.
- Added drop damage in Play Mode
- Added dead state and respawn in Play Mode
- Added Game Control Programmable - Checkpoint, Endpoint
- Upgrade Programmable System with storage fields
- Dynamic Loading performance improvement
- Upgrade Map Metadata and Game State to contain the game progress
0.5.1 - Spawnables and ChatGPT Terminal
Released on May 6, 2023
This update added some great features like AI Terminal, Weather, and Spawnable System, bringing efficiency and more immersive experiences. Also, this update patches the version conversion bug.
- ChatGPT Terminal: GPT-powered conversation box that enables the creator to quick spawn natural environments, change weather, and change time of the day.
- Weather System: added weather support, random rotations, and area weather.
- Spawnable System: all the object instances in the game can be modified individually. Now support physics properties.
- Patch the version conversion system, fix freezed main screen bug.
- Add map version conversion system.
- Increase internet stability and error handling.
- Fix some marketplace loading bugs.
0.5.0 - Marketplace and New Asset System
Released on Apr 12, 2023
This is the biggest update since the launch on Steam. Now, everyone will be able to share and download map from other users in a public marketplace. Latest Asset System will be supported, and will be fully connected to marketplace in the following update.
- Updated login screen to include marketplace and searching capability
- Added the edition of map name, description, and screenshot the poster
- Added functions to download and upload the map and its depending assets in the marketplace
- Fixed the Asset Board display issue
- Tutorial is updated with new animation
- Improvement on error handling and internet stability
0.4.6 - AI Material Generator
Released on Feb 21, 2023
We updated the asset system so that user can define customize block asset in F Panel. We also integrate stable diffusion service to allow user to generate new material based on natural language description.
- Partial implementation of new asset system, enabling creation, storage, synchronization of user-generated blocks
- Updated Asset Board UI experiences
- Integration of Stable Diffusion server call and material asset creation and import
- Fixed the graphic bugs in High setting in some dedicated graphic cards
- Added mouse Y inverse and improved setting experiences
- Optimized the internet connection stability and error handling
0.4.5 - Multiple Map Support
Released on Feb 4, 2023
We updated the map saving system to support multiple maps. We also enabled online synchronization of map files. Users can create new map from one of our six templates.
- Updated map saving system and loading system to support multiple maps
- Updated server communication system to support multiple map synchronization
- Updated internet detection and error handling
- Partial implementation of map save converting system that automatically upgrade the old map save
0.4.4 - Day Night Cycle and Performance
Released on Jan 20, 2023
We added day night cycle support, so that user can experience a more realistic virtual worlds. When switching back to editor mode, the sun will rise temporarily to assist user creating.
- Added day night cycle in play mode and day night exchange when switching mode
- Updated map loading screen and added loading progress bar
- Updated dynamic terrain collider system and improve performance in map loading
- Fixed size scales for some cyberpunk assets
0.4.3 - Steam API Support
Released on Jan 14, 2023
We added Steam API support which allow anyone on steam can automatically create an ST account.
- Added Steam API support
- Improved login screen and internet handling
0.4.0, 0.4.1, 0.4.2 - Public Alpha Versions
Released on Nov 17, 2022
This is the first publicly available version. We changed changes the basic structure of scene section and enables cross octree editing among all loaded scene section. Now all the building tools are cross-section with much higher performance. Additionally, we updated UI and UX to improve overall experiences.
- Updated Octree, MatOctree data structure
- Updated Scene Section and basic map structure to achieve larger range of building
- Updated building tools to support cross-chunk editing
- Updated F Panel UIs and building tools UIs
- Improved Freeform tool's user interaction
- Added Volume tool to enable fast volumetric editing
- Added tutorial to instruct user to use asset system, magic cursor, and building tools
0.3.x - Private Alpha Versions
Released on Sep 15, 2022
This is the first alpha version. We re-designed all the UI/UX to improve building experiences. Additionally, we improved the rendering performance.
Re-design entire user interaction method. Added UI Manager to control game modes and setting panels. It interacts with Asset slot to enable the system needed for current asset.
Asset system introduce the concept of Template-and-Instance or Serializable-and-Instance. The asset is the template of all the instances that spawned in the map. An asset can be null (empty), material, MOGO, PGO, or model. It includes Asset Board UIs and connection with editor slot.
It also called Asset Slot. This is a slot system in editor mode that controls which asset to be used by enabled tools. The Asset slot is compatible with drag-and-drop or double-click interaction with Asset Board.
PGO Panels are independent panels on each PGO. It can be toggled by Magic Cursor and control the movement, rotation, and deletion of the PGO that has already spawned in the scene.
We implemented MatOctreeGameObject2 with full threading support. The Octree rendering is fully separated from the UI thread, resulting a much smoother editing experience. The Octree edition is not adopted because it has interaction with Unity Physics.
Loading Manager controls the loading and saving of maps and user profiles. It switches the path between different system environment - Editor, Windows, and MacOS.
Login and Backend
Login System enables the user authorization. It includes a functional login screen that connects with backend.
0.2.x - Virtual Reality Trials (Pre-Alpha)
Released on Jan 30, 2022
Virtual Reality Support
In this update, new UI board and Input Method Manager are created for virtual reality. The UI board includes multiple sliders and material selectors. In addition, the game system started to use new Input System instead of old Input Manager. Input Method Manager is designed to manage VR controller logics. OpenXR backend and XR Interaction Tookit is used for compatibility. (instead of OVR Manager)
Building System is a new concept that replace the building tool. In MatEngine, the building system manager can handle and switch among multiple building systems. All the systems are more independent and customizable. The system manages UIs, editor size, materials, and so on. The only shared property is the definition of the map editor.
Controller and Instruction System
Instruction system is a system in virtual reality mode, providing the instruction of the VR controller. It contains a state machine that handles multiple conditions and controls the appearance and animation of the controller.
0.1.0 - Programmable Engine (Pre-Alpha)
Released on Dec 7, 2021
Programmable Engine enables the creator to add custom script to game object. The custom script uses callback functions that can execute in the engine as fast as soon, by time, or by frame. High-level Interface is designed to simplify the process of scripting by templates and UI.
High-definition Render Pipeline Support
High-definition Render Pipeline is supported in the engine to increase graphics fidelity. New physical simulated sky, new material texture, new physical camera, post processing volumes, and shadow settings are updated.
0.0.3 - Smooth Rendering & Plant (Pre-Alpha)
Released on Sep 30, 2021
Smooth Voxel Renderer
The Smooth Voxel Renderer is built on Dynamic Voxel Renderer to generate mesh without sharp corner. Inheriting the feature of Dynamic Voxel Renderer, it only renders the octree branch that has modified. But it still works slow without parallel computing or GPU.
Plant GameObject System
Plant GameObject System allows builders add regular mesh on the MatOctree system. It integrates state transition simulating the growing of different plants. Each plant has own water consumption and minimum interval to grow.
MatOctree Attachment System
MatOctree Attachment System allows Element GameObject System to set attachment to MatOctree node. Related methods are implemented.
0.0.2 - Infinite World (Pre-Alpha)
Released on July 19, 2021
Dynamic Voxel Renderer
The dynamic voxel renderer visualizes the octree data structure with different materials with high efficiency. The rendering is basic voxel cube. The renderer will minimize the computation logarithmically after octree structure changes.
Infinite Chunk Loading and Compression
The infinite chunk loading is implemented in the Game Controller which loads the forward chunks from disk and saves the back chunks into disk when player is moving forward. The data compression is implemented to minimize JSON file size.
Building Tool UI and Size Settings
The new building tool controller can display the brush size and current tool on User Interface. The maximum and minimum of the brush size can now be customized in different tool.
MOGO Custom Shape and Dynamic Renderer Support
The new MatOctree Game Object add support of building custom shape defined by a function. All the tree editing methods are updated to support dynamic renderer.
Renderer Attributes on Octree Node
The new MatOctree can handle the attributes from renderer on every node. The serialization and deserialization are also implemented.
0.0.1 - Basic Voxel (Pre-Alpha)
Released on July 4, 2021
The octree data structure supports the mass voxel world. The tree structure maintains the shape completeness and the material weights at different level of details.
MatOctree Game Object (MOGO)
The Monobehaviour class handles the holding of octree data, renderer, and in-game object attachment relations. It has tree types: terrain, individual, object, which means the terrain base, user-built object, disconnected object respectively. It can be serialized.
The voxel renderer visualizes the octree data structure with different materials. The rendering is basic voxel cube and fully computed at every editions by user.
The scene section stores a chunk of game map. Every scene section contains an 2-dimensional array of terrain, a list of individual MOGO, a list of object MOGO. It can be serialized.
A set of four building tools help player edit the voxel world. It includes: sprayer for spaying small amount of voxels, vacuum for removing small amount of voxels nearby, filler for building voxels with rectangular cube shape, cut for removing voxels in a rectangular cube range.
Game controller handles the parameters and generation of MOGO in game. It builds the initial terrain and triggers renderer after every user edition.