Bright Engine is a Light-Weight C++ Rendering platform aimed towards, Real-time rendering for both Video Games and Cinematic Animations. It is still very early in its life-cycle, but has been designed with scalability in mind allowing for any form of project to be created. From a first person shooter to a Massively multi-player online game.
The mission is to create a robust development tool that acts as a viable alternative to other mainstream products by providing complete control and customisability, allowing the Engine to suit any project while still remaining simple and efficient to use. While the Editor does the heavy lifting, you can go into the heart of your project and edit the source code of the executable to achieve anything you want (including adding your own custom or other 3rd party libraries).
Bright Engine has undergone and still continues to be rigorously tested by a growing community of dedicated game developers who have ensured maximum stability with each new update.
If you are interested in Bright Engine and want to snag up a free copy you are welcome to join the Discord community to ask questions to existing testers, get real time development progress updates or even download the engine to try it out for yourself!
HAPPY NEW YEAR!
To kick start the first of many updates in 2019 we begin with the 0.1.5 series. As previously mentioned in the 0.1.4c patch notes, this series of updates is all about improving what already exists in the engine. We want to introduce better visuals, more stability and higher performance than ever before and for this update we begin with the most fundamental part of the engine. It’s core. We’ve added more compatibility with additional file formats, performed some usability prototyping and wiped out a lot of bugs!
If you are interested in Bright Engine and want to snag up a free copy you are welcome to join the Discord community Ask questions to existing testers, get real time development progress updates or even download the engine to try it out for yourself!
Sorry nothing here this time, but wait till you see what’s next! :D
We first drew our attention to the asset importers. Until now only .fbx and .obj file formats were supported. While these pretty much cover all grounds in terms of model file formats it felt quite restrictive, so we have expanded the capabilities to now also support Collada .dae. This brings in a second file format which supports animations along with a suite of other future potential options (such as camera animations and way-point paths)
Loading times is something that has particularly been steadily increasing with each update, which makes sense since there is a lot more going on. We identified that the longest parts of the loading system was models & terrain, although as it turned out these weren’t the problem, textures were. We started exploring exactly what was going on and discovered that the existing texture loading system was just plain awful. So we changed it.
We re-wrote the entire texture loading system and introduced drastic improvements, in both compatibility and speed. The supported formats haven’t changed (.bmp, .png, .jpg, .hdr, .dds, .psd) and upon loading are automatically converted to the DXT dds format which for those who don’t know, this is the most optimized texture format for modern GPU’s. This also fixed the problem where non-dds textures weren’t correctly generating mipmaps. If you are already loading a .dds texture (which we strongly recommend) this conversion process and mipmap generation are skipped which results in a much faster loading time.
While these figures are far from perfect we are happy with the results for now!
The dds texture loading system also got an upgrade and now supports a larger array of formats:
After some feedback from the community we wanted drastically improve the object editing tools. Last update we revamped the entire placement system which works like a charm but forgot about fast object movement and rotation. This update we addressed that by once again revamping the 3D cursor, introducing 2 new tools and adding a collection of new short cuts!
The first of the new tools is the Grab Tool! As the name would suggest, it grabs hold of the selected object and moves it along the surface of the terrain with the mouse.
We then also adopted the previously created align to ground algorithm so that as the object is being moved around it also rotates it self to be constantly in line with the terrain (this can be toggled on and off)
The second new addition is essentially an alternative means of accessing an existing one. When in scale mode, you can now perform uniform scaling along the xyz axis using the 3D cursor.
Lastly one annoyance that kept coming up is when adjusting the rotation of an object the editor would not allow you to go beyond the bounds of -180° to 180°. While these bounds are still in place (stops the math from breaking), the editor will simply jump from one end to the other if going beyond this range. Visually the object keeps rotating as normal instead of getting blocked like before, causing a few headaches.
Let's talk terrain. In the 014 update series we drastically upgraded the tools available to you in terms of world building, and yet we found more room for improvement! The blending algorithm used for each of the texture layers was creating some strange visual artefact errors. We actually traced this back to an error in our PBR shader which has been fixed, but before getting to that conclusion we rewrote the blending system within the Terrain shader to be significantly more optimised which helped remove 40 lines of code. Sadly the performance boost was negligible but better code is still better!
Terrain albedo textures can now support alpha information which the blending algorithm takes into account. This opens up a whole new avenue of detailing which is hard to explain in words but here is an example that shows what can be done:
Moving on, a few occasions when working on a large project, files get moved around or just simply go missing. One of our testers had this issue and kept wondering why the engine kept crashing. While we can do nothing to stop the disappearance of files, we can help you solve the problem. Thus enters the Dummy System. The Dummy System is a countermeasure against this problem, which simply inserts a dummy asset into the place of a missing one. In the engine, if a model goes missing, it will be replaced by a cube, if a texture goes missing, it will be replaced by a bright pink checkerboard pattern.
Aside from the visual aid of missing assets, the console will also print warnings, informing exactly which file has gone missing and the path it is looking for so you can investigate quickly. This approach not only helps fix the problem, but also prevents the engine from crashing allowing you to continuing editing other stuff and fix it later whenever you want.
The user interface got a face lift in 0.1.4b and with it came a lot of problems which we have been fixing as fast as possible. While all the nasty engine crashing issues have been resolved, a few components of the UI didn’t get upgraded while these issues were present. Now that everything is working as it should, all components of the main Editor have now been upgraded to the new UI system.
The only remaining UI components that still needs an upgrade is the Animation Manger and the Particle Editor, both of which will be completed in this update series!
On top of all that, we’ve thrown in a lot of under the hood improvements for general usage. Searching for a model in your project data files now remains in the last directory used, and the default max render range is 250m instead of the way too small 80m. (In future we’ll be introducing an options menu where you’ll be able to control all the default values for every aspect of the engine, as well as changing shortcuts etc.) The project updating system has also been completely re-written removing around 400 lines of redundant code that was dragging things down.
This has been our biggest Performance and Optimization Patch to date, and yet it’s nothing in comparison to what is coming. With general usage now much less clunky and loading times back to a reasonable level, it’s time to bring visuals on par. Lighting is being upgraded, and quite drastically. Over the next few weeks, we’ll be revamping shadows to make them more memory efficient, introducing Subsurface scattering for realistic skin and foliage, Area lighting, volumetrics, and a whole new suite of post processing options!
This series of updates have had the goal of creating comprehensive tools for world building and so we are finishing it off with two new tools: Dynamic...
Last patch we brought about a comprehensive sculpting system that allowed for complex terrain structures via easy to use tools. Now we take one step closer...
We’re kicking off this next series of updates with a smaller but necessary update. We’ve done a complete overhaul on the Terrain Sculpting system...
This final entry in the 013 update series has brought some closure to the missing settings of the world panel, with room & weather transitions to give...
No articles were found matching the criteria specified. We suggest you try the article list with no filter applied, to browse all available. Post article and help us achieve our mission of showcasing the best content from all developers. Join now to share your own content, we welcome creators and consumers alike and look forward to your comments.