All Activity
- Past hour
-
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
-
Blamite Game Engine - October 2026 Progress Update
LKComputes commented on haloman30's announcement in News & Announcements
damn, helloman turning blamite into slopmite smh my head -
Blamite Game Engine - October 2026 Progress Update
haloman30 posted an announcement in News & Announcements
Hey, everyone! As you may have noticed, this took quite a bit longer than we expected, for a variety of reasons. We'll get into some of that later - for now, we've got some pretty big changes and updates to share! Renderer Switch (the sequel) You may recall in our previous announcement that a large focus was placed on switching to Ogre (specifically Ogre-NEXT). At the time - again, keeping in mind that so far, this is still a one-man show - I felt that writing shaders from the ground up was a bit too far outside of my skillset, and given my general challenges with math stuff in the first place, I wanted something that had native support for materials and PBR and such. So it may come as a bit of a surprise that, after all of that time - we're now switching away from Ogre entirely, and going with a fully custom renderer built on top of, once again, bgfx. This decision was not taken lightly and came as a result of a number of things all converging together that tipped the scales. Why switch? First and foremost, there was a bit of ongoing issues that kept cropping up with Ogre, mainly crashes here and there, as well as a persistent crash during shutdown. These are almost certainly something that I've done wrong and part of an issue of how I'm using it - but that pretty cleanly takes us to the next issue. Given that we wanted to have our own classes and objects in many cases that abstract Ogre away - this resulted in a lot of cases where there was always this additional layer between the game engine and Ogre. For instance, any object in 3D world space inherits from BlamWorldObject, and each one would reference an Ogre::SceneNode - with attached meshes or lights or whatever else depending on the type of object. This works, but also due to how Ogre itself is built, presented some challenges of its own too. One of our goals is to make as much of the engine as thread-safe as possible, the goal being that the engine won't thread-lock or crash when manipulating objects or running code from various threads, allowing developers to take advantage of multi-threading as much as they see fit, and ensuring the engine itself doesn't make this process a painful one. Ogre is not designed as such - and so often there were many cases where we just had to build these things in ourselves. Abstracting away object positions/rotations/scales behind Get/Set methods is one example - as if you tried to modify an Ogre SceneNode transform from anywhere other than the render thread (or even if you did so later in the render process), you'd get an assertion failure or other error. Another big issue came up when we started exploring 2D rendering - we wanted to implement support for tilemaps, which we wanted to be able to support multiple texture sources. Trouble is, this is where Ogre's high-level material system actually becomes a hindrance. In bgfx, this process would be as simple as a single function call before submitting the geometry. Ogre makes it so that, seemingly, we'd need to create an entirely new HLMS specifically for this use case. Custom shaders suffer from a similar problem too - we were having to modify Ogre to have better error handling for invalid shaders, the idea being that the engine shouldn't crash if a shader is broken, it should just warn or fall back to something else - which would at a minimum be required for having a proper shader editor with a preview, as if you messed something up at any point - the entire engine would go down. These issues gradually crept up over time, and it eventually reached a point where I decided to once again explore the possibility of building a new renderer with bgfx. Something where I can avoid a lot of this extra complexity, and something where even if it wasn't perfect, it'd be good enough that it could be iterated on and improved over time. AI (non)-Slop The last thing that fell into place that ultimately enabled this plan - is the ongoing progression of AI/LLMs. This may or may not be a bit controversial depending on your stance - but given the capability of some frontier models (particularly Claude in our case, especially Opus 5.5 - though we started this back when Opus 4.7 was the latest version), we've found that it's been extremely capable and competent. It may also be worth clarifying - while I will often write "we" out of habit and to refer to the studio, in reality - "we" is really just me. There are no other developers on the project (though we'd love to have some if you've got some time!) - and I don't exactly have the budget to hire people properly, nor the free time I had a few years back. And in areas like this - where it's very math-heavy stuff that I just have a tough time with - I felt the best move ultimately was a purpose-built renderer designed for the engine itself, that can be iterated upon down the line, rather than a heavy library that is mostly out of my hands. The time savings alone are, for me, one of the biggest draws to these kinds of tools. It took probably ~6 months or so of off-and-on work, with me working ~48hrs a week otherwise to keep myself afloat, and in that time I was able to, using Claude, build a renderer from the ground up on top of bgfx that, while imperfect and isn't quite as performant as I want it to be, is already outperforming Ogre in some tests I've done - and is something that is small enough that it can be iterated on. And if I'm being honest - after 10 years since the engine's C++ project was created on my old computer, at the rate things were going - there was no world in which I was going to be able to achieve this on my own in any reasonable timeframe. I'll also add - this renderer was not vibe-coded, at least not in the typical sense. A lot of code was written and authored solely by AI, but it was done so following the existing code style guidelines and organized/structured how I would've done it myself (in terms of what classes/types are named, how stuff is broken up across files, etc). It was a much more involved process than the stereotypical "hey claude write me a PBR renderer" - this has been thoroughly tested as much as I can as one person, and has been designed around an engine and feature set that is entirely my own. Going forward, I'll likely continue leveraging these AI tools in order to hopefully have development be a bit quicker than it has been thus far. We hopefully also won't be doing any major changes to the engine's tech stack anytime soon - since now its on a foundation that exists within the engine itself. We will however be continuing to flag any new classes, methods, or functions that are AI-written with an @author attribute, which is visible in both the code itself as well as Doxygen. If you're one of the folks who are disappointed reading this, due to finding deep moral issues with AI stuff - I do understand - especially given that the most visible cases of AI are either intrusive or of poor quality. I would however encourage you to reconsider, particularly for cases like this - a lone developer with a fairly tremendous scale of a project, using such tools to essentially make up for the lack of resources. The alternative in this case wasn't going to be hiring a developer - it was going to be me, independently continuing this project on my own free time, a resource which has only become more scarce in the past few years. I'll also make it clear that we will never be using AI for art or visual assets - those will continue to be either created by me or will be acquired from some 3rd-party site (either an asset store, online web source, or a marketplace like Fiverr, or something of the sort). When it comes to the programming side of things, however - we don't expect to stop using such tools. We'll be using them more conservatively than some - we aren't looking to create the AI Slop Game Engine®™© - we're just looking to build Blamite, but at a rate where it might be usable for real game development within the next decade . If even that is a deal-breaker for you - then fair enough - in that case I'd highly encourage you to check out Godot, as I've found it quite capable and dead simple to use - and it's free and open-source as a nice bonus. The New Renderer As mentioned before, our new renderer is built from the ground up on top of bgfx. Right now, we're primarily supporting OpenGL, but we're already working on getting some refinements in place to ensure that D3D11 and Vulkan are up and running as well. We did consider making this more of a priority for this release, but we felt that getting a release and a development update out first was a bit more important given just how long it's been. The new renderer is a proper deferred renderer, with Forward, GBuffer, Lighting, Postprocess, Shadow, SSAO, and UI passes as of now. We'll likely be continuing to expand things over time as well. Either way - let's go a bit more into some of the features it has! PBR (Deferred Shading + Forward Pass) and Instancing First and foremost - the backbone is, as we've mentioned earlier, a deferred renderer. Its implementation of PBR has many of the same features as Ogre (though not all as of yet). The existing material tags are still used and behave in much the same way, though a handful of fields are no longer used by bgfx. Most of these fields will likely be removed entirely, as they were setup based on the various properties of Ogre's PBS HLMS datablocks. Instead of the datablock system that Ogre uses, this renderer instead is a bit more simplistic - material parameters are "baked" when first loaded and/or when reloaded, and get used that way - which avoids repeating texture or tag lookups. Additionally, multiple instances of a mesh are batched together and submitted in one draw call, massively improving performance when drawing many of the same object. This is also a use case where we actually achieve better performance than the equivalent with Ogre. For transparent materials, a Forward pass is also implemented. This is the newest and roughest addition - it functions quite well, but performs poorly - though this is something we'll be working to rectify as we continue development. SSAO (Screen Space Ambient Occlusion) Another fairly immediately obvious feature that we've added in, is SSAO - which all on its own helps improve visual quality. You can compare a couple screenshots below with it turned off and on: Fog Another feature now supported is a simple one - fog. Available in Linear, Exponential, and Exponential Squared varieties (pictured is linear and exponential squared, with different options): Surface Shaders (Custom Shaders) A fairly significant introduction is the surface shader system. This is essentially equivalent to how other engines (with Godot being a fairly close example) handle custom shaders. These surface shaders allow for vertex and fragment shaders to be written which run inside the deferred pipeline. Truly custom shader programs are partially supported too - but will initially be limited to the forward pass (though we hope to see if we can change this later on) and are intended primarily for advanced use cases. Other New Features Despite the renderer being the star of the show - it isn't the only change we've made since our last update, far from it. Some of the big highlights include (but are not limited to): Faster scenario loading - There was actually a leftover artificial delay between load stages, forcing scenarios to take longer to load for no actual reason Prefabs - These work essentially the same as you'd expect them to in Unity - they're collections of objects which can be created and then later reused as a single standalone object Project Tag Classes - The engine now properly separates built-in tag classes and project-specific tag classes automatically, and will automatically ensure tag classes are registered in the engine - meaning you can simply author them in Guerilla, save and export, and get to using them right away So... why did this take almost 3 years? A fair question - and with a pretty wide range of answers. First and foremost, I had some personal life events come up starting in 2023 - mainly that my financial situation got a lot more dire, and I had to get some proper employment after taking arguably a bit too long of time being unemployed. This was a bit of added stress for one, and also of course meant I didn't just have an endless amount of free time to work on things. This has been ongoing of course through the present, and there really isn't gonna be much room for that to change anytime soon. Additionally, fairly shortly after the last development update, we started development on Sandbox - which is a 2D top-down sandbox project, as the name implies - which ended up with a substantial amount of development time being spent towards it as well. And of course - we have been continuing to work with Ogre during this time as well, only relatively recently deciding that it was time to make the switch. What's next? This is the real exciting part. First and foremost - we've released a new build of the engine today. Similar to how last time, where we left in the legacy D3D11 and bgfx renderers in place as an option, for this new release, the Ogre renderer has been left in as well. The first thing we're doing after this release is completely removing Ogre from the engine - leaving only our new renderer. From there, we'll be continuing to iterate and make some additions and refinements to 3D and 2D. We want to add a bit more visual effects, refine some of the existing systems (such as UI), and likely explore other features that Ogre had but that we didn't use yet - such as decals, particles, and terrain. On the 2D side, we'll be working on refining tilemaps, getting support for other 2D objects like sprites, as well as working on expanding support for UI controls and having some good starter widgets (like more layout boxes, buttons, panels, etc). On the editor side - it's still pretty far from being a fully-featured editor that you could actually use effectively. It can work for some stuff, but its very clunky in some areas and is nowhere near game-ready - and so this too will be an area of focus. One other thing that we've also decided on with this, that sort of started this whole renderer migration again - is Sandbox. Originally, our plan was to build it using Godot - as we felt that this would be the easiest/fastest approach to get a game developed and released within a good timeframe. At the time, we felt we could get from start to finish in a year or so (). However, we ran into some of the same threading and performance issues there as well. In particular we wanted to have a multi-threaded chunk generator - but turns out Godot doesn't really let you modify tilemaps from other threads, so this ended up killing off that idea. And ultimately the solution we decided on was to actually start fresh and build Sandbox in Blamite. This gives us a chance to fix some of these issues, allows us to use C++ for scripting (as that's currently all we have - though we'll be adding C# in later), allows us to maybe clean some of the codebase up and do things a bit better than we did last time in that regard, and - of course - gives us a real project in the engine that we can start building fairly soon. We've got some other ideas too for 3D projects that we want to develop concurrently - but those are a bit too rough for us to commit to at this time (and realistically is gonna be a lot further out). To close out, we've provided a link at the bottom of this post to the Blamite gallery page, which contains a bunch of screenshots that we've captured during the engine development. All of the ones recently that show the warehouse environment are ones taken with our new renderer (barring ones where things look very broken - those would've been tests to see how ogre dealt with the same scenario), and gives you an idea of what's possible today, right now. We absolutely plan to get some fancier stuff in the future, with some real outdoor environments - but there's a lot of work yet to be done for such environments to be achievable, so we started with this. At some point we do hope to release the tags for this environment as well - however it relies heavily on Quixel assets and materials which we can't just freely redistribute. We're looking to see what we can do to work around this (maybe releasing the non-asset tags, plus a script that can take all the zips from Quixel and extract them to the right spots and import them into the engine, allowing users who own those assets to grab them and get everything back). When we do so, we'll either leave a comment on this post or make a separate announcement somewhere. For now, though, that's all we've got! Be sure to check out the gallery, as well as the link to the latest engine build to check it out for yourself! Blamite Gallery Latest Development Build - Yesterday
-
Version 1.0.0
0 downloads
This is an early build of the Blamite Game Engine. Please be aware that there WILL be bugs, crashes, inconsistencies, and other weird things as this build is extremely early in development. Everything shown is subject to change at any time. This particular build contains a variety of new features from the previous build, including but not limited to: Implementation of the new bgfx-based deferred renderer The final version of the OGRE-Next renderer before its removal Numerous improvements and changes to the engine, editing kit, and more Switching Renderers This build is the final build that contains the OGRE-Next (4.0.0) based renderer. To switch to this renderer, open the engine settings by starting the engine (either from Sapien or blamite_tag_test.exe) and choosing Settings > Configuration Editor from the menu bar. From there, switch to the engine.cfg tab and find the rendering section, and expand it. You will find the rendering_engine setting. You can set it to the following options to change the renderer: bgfx - bgfx OGRE - ogre This build originates from the Elaztek Jenkins, and is tracked in version control. -
Version 1.0.0
0 downloads
This is an early build of the Blamite Game Engine. Please be aware that there WILL be bugs, crashes, inconsistencies, and other weird things as this build is extremely early in development. Everything shown is subject to change at any time. This particular build was "leaked" (released) publicly to any user of the Elaztek Studios Discord server. Due to the release of a later build, this build has also been released. This build originates from the Elaztek Jenkins, and is tracked in version control. -
Version 1.0.0
0 downloads
This is an early build of the Blamite Game Engine. Please be aware that there WILL be bugs, crashes, inconsistencies, and other weird things as this build is extremely early in development. Everything shown is subject to change at any time. This particular build was distributed to specific users for testing purposes during the development of the new bgfx renderer. Due to the release of a later build, this build has also now been released. This build originates from the Elaztek Jenkins, and is tracked in version control. - Earlier
-
Sanding joined the community
-
haloman30 started following cylinder wireframe in bgfx doesnt match with solid render , surface shader fixups and stuff , refactor/rework globals and 7 others
-
haloman30 has created Card: surface shader fixups and stuff in Blamite Game Engine
-
medicglpbewertungen joined the community
-
medicglpcapsules joined the community
-
Lara Hawkins changed their profile photo
-
Harakiri changed their profile photo
-
Jamie changed their profile photo
-
Espente joined the community
-
ameliathomas joined the community
-
haloman30 has left comment on Card: bitmap file formats are horrifically inefficient in Blamite Game Engine
-
haloman30 has created Card: refactor/rework globals in Blamite Game Engine
-
Jamesbliss joined the community
-
kingschains joined the community
-
Jamie joined the community
-
markcathed1 joined the community
-
TenableTerror87 joined the community
-
haloman30 has created Card: bitmap file formats are horrifically inefficient in Blamite Game Engine
-
-
-
+ Added small and large rocks which generate across the surface (will be covered in snow or moss at times depending on biome) + Added Snowball (dropped when breaking snow, and can be obtained by shoveling snowy rocks) + Added Sandstone item + Added small bushes which generate on grassy surfaces (can also have snow overlay), dropping wood when broken + Added Char biome (name subject to change), a volcanic biome + Added Ash tile + Added Copper Tools (Axe, Hammer, Hoe, Pickaxe, Shovel Sword) + Added Copper Ingot + Added Tin Ingot + Added Iron Ingot + Added Bronze Ingot + Added Gold Ingot + Added Copper Ore + Added Tin Ore + Added Rusty Pickaxe + Added Rusty Pickaxe Head + Added volume settings + Added player jump/land grunt sounds + Added biome noise preview UI - similar to standard noise preview debug UI, used to visualize parameters used to generate overworld terrain + Added noise_preview command: opens noise preview UI + Added biome_noise_preview command: opens biome noise preview UI + Added cave entrances - used to travel from overworld to caves * Default spawn point is now adjusted to avoid spawning in water * Updated Cave Wall appearance and collision * Updated Stone item texture * Trees are now larger, and become semi-transparent when the player is behind them, and slightly sway in the wind (visuals are very wip) * Item slots now display count in yellow if item is at max stack size, and red if item count exceeds max stack size * Tools now have durability * Fixed an issue where caves generate on top of each other * Most items are no longer directly placeable, now requiring the hammer to place (with some exceptions, such as torches) * Terrain generation improvements * Worlds now autosave every 15 minutes (with icon display in hud) * Changed default inventory from various items to just starting with Rusty Pickaxe * World selection screen now sorts by most recently played * Fixed plains grass appearance being broken in the world sometimes * Pressing F9 now opens biome noise preview instead of normal noise preview * Various bugfixes - Removed 1.5 second cooldown before a dropped item can be picked up
-
haloman30 has created Card: detail weight map does not get used properly under bgfx in Blamite Game Engine
-
haloman30 has created Card: cylinder wireframe in bgfx doesnt match with solid render in Blamite Game Engine
-
Any screenshots of the Blamite Game Engine can be found here. Screenshots of the various tools within the engine can be found in separate albums.