• entries
    8
  • comments
    0
  • views
    8,034

About this blog

Progress updates for the Blamite Game Engine.

Entries in this blog

haloman30

00461.10.28.26.0311.blamite


Pre-Alpha

Engine:

+ Added new bgfx renderer, with most code generated by Claude (Sonnet 4.6, Opus 4.7, Sonnet 5.5, and Opus 5.5) - uses deferred pipeline with a separate forward pass for transparent objects, only OpenGL is available at this time
+ Added tag class: render_model [mode] - used to store model/mesh data to be rendered in 3D space
+ Added tag class: sky_atm_parameters [skya] - used to configure basic sky and atmosphere parameters (ie, fog, sun position/angle, ambient light)
+ Added tag class: camera [camr] - used to configure basic camera parameters (projection type, FOV, clipping)
+ Added tag class: tile_map [tilm] - used to display a grid of preconfigured tiles in 3D or 2D space
+ Added tag class: tile_set [tils] - used to provide tiles usable for a given tile map
+ Added tag class: model [hlmt] - currently unused
+ Added tag class: shader [rmsh] - used to create custom shaders (either surface or raw)
+ Added tag class: shader_program [rmsp] - used for custom shaders in OGRE only
+ Added support for object and scenario scripts - currently only supports C++, any scriptable tag can have one script class attached
+ Added transform gizmo - displayed in editing tools and engine to allow for objects to be repositioned and rotated
+ Added grid gizmo - visual gizmo used to indicate base height level
+ Added 3D cursor gizmo - used to visualize 3D cursor location
+ Added basic shadow support (ogre)
+ Added scenario load screen - displayed when loading a scenario
+ Added init_world_state command - Used to initialize a new world state
+ Added "compiling shaders" dialog, displayed only under bgfx when default shaders are being compiled
+ Added support for "surface shaders" - simpler shader programs with pre-defined input/output parameters
+ Added support for fully custom shader programs - requires C++ code to use and should generally only be needed in very specific cases
+ Added support for spot, point, and directional lights (bgfx)
* Light [ligh] tags are now implemented
* Discord integration reintroduced via Discord Game SDK
* Win32 menu bar is now hidden by default, can be re-enabled in config for now, though it may be removed in the future
* Font packages are now loaded automatically, rather than relying on font_table.txt
* Engine extensions can now register custom tag classes
* Engine extensions can now perform tag postprocessing
* Engine now tracks TPS (ticks per second) for previous 10 seconds, 1 minute, and 5 minutes
* Renamed h2print command to old_print (h2print remains as an alias)
* Director now has springiness/bouncing by default, can be disabled selectively (movement, turning, zooming) or entirely
* Ogre debug output is now written to ogre_debug report file
* Updated Ogre to 4.0.0 dev build
* Fixed a possible crash caused by console updating output from a different thread other than render thread
* Fixed an issue where debug director could sometimes "jump" unexpectedly when first capturing mouse input
* Fixed an issue where console would add blank/invalid entries to history when using tab completion
* Fixed an issue where console would not display multi-line messages correctly
* Render model tags now support tangent and bitangent data
* Render model tags now support a default scale modifier - used to alter a model's base scale, ideal in cases where imported models are too small/too large
* Various internal refactoring
* Various other bugfixes
- Removed support for ascii tag fields
- Removed native D3D11 renderer and related code
- Removed original bgfx renderer and related code
- Removed imgui-based halo( prompt
- Removed the following imgui debug tools: d2d_test, bgfx_test, geometry_test, render_stack_editor, gl_shader_editor
- Removed dx_render_target_clear console command - modify the render_target_clearing global instead to change this setting
- Removed eula.dll

 

Guerilla:

+ Added Run Tool Command window (not yet usable, very wip)
* Minor visual improvements to firstboot dialog
* Tag Designer now exports headers which are able to be natively used by engine extensions and C++ projects
* Float/Real fields now use QSpinBox controls by default
* Other changes/fixes

 

Sapien:

+ Added scenario palette editor - allows direct configuration of scenario object palettes
+ Added "Toolbar" window - currently just allows for simpler object placement without manually configuring palettes
* Scenario loading dialog no longer has a 1 second delay between loading stages
* Sapien now prompts for a project on startup
* Sapien now only allows for scenarios within the current project to be loaded
* Other changes/fixes

 

Tool:

+ Added generate-script-project command - generates a Visual Studio solution and Visual C++ project for the current Blamite project
+ Added generate-game-stub-project command - generates an internal Visual C++ project used to build a Blamite game
+ Added build command - used to build the game for a particular configuration and platform
+ Added parse-scripts command - used to scan for any valid C++ script classes within the current project, used to allow editing kit to be aware of available scripts
+ Added list-projects command - displays a list of all detected projects
+ Added choose-project command - selects a project from its ID in list-projects
+ Added render-model command - imports a mesh as a render_model tag
+ Added set-project-root command - sets a project root directory manually (prefer choose-project instead as this may be removed in the future)
+ Added bulk-import-model-folder command - unused
* Other changes/fixes

 

Editing Kit (All tools):

* Color configuration fields now display a color picker
* Tab document mode now works properly
* All applications now require a project to be loaded (Guerilla, Sapien, Foundry prompt for a project - Tool can set a project using set-project-root or choose-project commands)
* Projects can now create and manage their own tag classes (and they no longer require manual tag class registration)
* Other changes/fixes

haloman30

00399.09.23.23.1048.blamite


Pre-Alpha

Engine:

+ Added tag class: light [ligh]
+ Added tag class: material [mat]
+ Added tag class: scenario [scnr]
+ Added tag class: cache_file_resource_data [zone] (equivalent to cache_file_resource_gestalt)
+ Added ogre scene editor utility (imgui)
+ Added real console again (for the first time since the DX11 render woot - open with ~)
+ Added "cool magic numbers"
+ Added coordinates display
+ Added extremely basic extension system
+ Added option to tie director camera turning to game tick - defaults to off since it seems to cause more problems than it solves at present
+ Added placeholders for accessing engine and user folders
* Fixed tag block, bitfield, and enum fields not being generated properly in plugins - the opening node was closed within the same node, rather than staying open and properly containing its children
* Fixed a crash during shutdown caused by event listeners being deleted prior to being unregistered
* Director now has separate horizontal/vertical look sensitivity options, rather than a single sensitivity for both
* Decreased director near clip distance
* Improved engine logger performance
* Implemented OGRE-next 2.3 renderer
* Changed Fieldset version to 5
* Data reference fields have been increased in size, with new value hints (a 4-character string that can be used to identify the data being stored, only used in Editing Kit for now), and 8 bytes of reserved space for future use
- Removed standalone OpenGL renderer
- Removed standalone Vulkan renderer
- Removed bgfx renderer

 

Guerilla:

+ Added support for vector2, vector3, and vector4 fields
+ Added support for color fields
+ Added support for fieldref fields - These are fields which allow tags to self-reference other fields within a tag
+ Added a warning dialog when closing a modified tag
+ Added support for "input hints" to some fields - this is a piece of text that will display to the right of some fields, indicating valid input
+ Added support for opening the game viewport, currently used for previewing material changes in real-time
+ Added Tag Designer - A new visual, drag-n-drop editor for creating and modifying tag definitions
* Fixed "Editing Compiled Tag" warning being present in a newly created tag
* Fixed a crash when opening certain tags (seemed to be tags that weren't part of a project)
* Renamed float32 field to real
* Changing any tag field will mark the tag as having been modified
* Fixed a bug where closing tool windows (output, style editor, explorer bar) with the X button on the window itself would not properly update the check state in the View menu
* Improved classic theme styles for tag blocks and comments
* Fixed several fields not having their UI widgets disabled when viewing as a template (ie, when viewing the contents of a block with no entries)
* Data reference fields now provide an option to view and edit data using the new built-in Hex Editor (which is more in-line with a standard hex editor) or Code Editor (which provides syntax highlighting for many languages)
* Style Editor now has syntax highlighting support

 

Sapien:

+ Added WIP Hierarchy View
+ Added early WIP workspace support
+ Added loading dialog when opening a scenario
+ Added Properties Palette
+ Added configuration file support
* Fixed About dialog closing immediately after opening
* Sapien now requires that scenarios be part of a project - opening scenario tags directly is no longer supported
* Fixed a crash caused by a race condition when updating the Game View status bar

 

Foundry:

+ Added configuration file support

 

Editing Kit (All tools):

* Editor tick rate now runs at 30TPS (was 10TPS)
* Minor Output window performance improvements
* Windows Classic (modified) theme improvements
* Settings dialog no longer blocks the main window thread

haloman30

Untracked Version (1/15/2022)


Pre-Alpha

 

Notice

All versions of the Blamite Game Engine from this point and prior, proper changelogs were not accurately tracked. As such, this changelog, as well as all others before, will likely be inaccurate and incomplete. Numerous overhauls and changes were made between this build and the most recent previous changelog (from 2018).

 

+ Added early versions Editing Kit tools: Guerilla, Foundry, Sapien, FontExtractor, Tool

* Significant engine codebase overhauls

* Engine configurations expanded from Debug and Release to: cache debug, cache test, cache release, tag debug, tag test
* Rendering is now handled primarily through bgfx (though the earlier DX11 renderer is still usable via configuration changes)
* Editing Kit tools are now handled using Qt5
* Other changes too numerous to list

haloman30

00003.04.29.18.0001.blamite


Pre-Alpha

This version introduces support for CSC and HSC. It focuses primarily on command-based scripting. It also introduces BlamPhyLib and BlamMathLib, both of which are preperations for a basic phyiscs engine. It also introduced a special crash screen that are displayed on asserts.