• Register









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 or follow our progress on Trello to get real time development progress updates!


  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles


After a trying few months, we are finally ready to unveil the next update for Bright Engine. As we stated in our last patch notes, this update series is all about moving the engine away from world editing, toward gameplay systems. As such strap yourself in, because we are about to go through a whirlwind of new features, improvements and bug fixes!

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!


New Features

Before we dive into the technical stuff, we’d like to give a shout out to our awesome community who have helped get Bright Engine working on Linux! While there is yet to be a dedicated build for the Linux platform, if you are using it, you can now play with Bright Engine without having to wait any longer!
First up, a brand new Project Launcher. Over the last few months, we’ve had growing complaints from the community over having to constantly search for the project file when booting up the engine. These were well founded since even we, the developers found it annoying. Thankfully those days are over!


The project launcher allows you to quickly open your projects in an instant, while also making the process of creating a new project simpler to understand!


With a more streamlined project loading system in place, we next turned our attention to world building tools. While this is not the primary focus of this update series, we noticed a rather glaring problem: You could only select one object at a time. Well, not anymore! Multi-object selection is now fully functional, along with a brand new Grouping System and Rotation Methods!



By holding the Shift Key (Default) you can select multiple objects of different types at the same time and perform transformations on them concurrently. To further extend this, enter the Grouping System. This is a method of saving previous selections if the user wishes to, that way in the future, if they think they might need to edit that specific collection of objects again, they can select the group instead which will select all the objects for them!


In addition to this, new Rotation methods have been implemented, that allow for a more extended transformation tool box! (This subsequently meant we had to rewrite the code for the 3d cursor and in doing so were able to remove 120 lines of code)

There are three rotation methods:

  • Median Point



  • Individual Origins



  • Primary Point



We recently introduced Reflection Probes in version 0.1.5b which were adjusted slightly so that their indicators in the world aren’t so huge anymore while also fixing the weird visual bug where strange shadows from the SSAO pass were still being applied



But more importantly, that came with a Baking Suite which has now been extended to Shadows. You can now Bake your shadows on any light source placed in the world! This has plenty of optimisation opportunities for developers and is completely optional per light source. Meaning that you could have a combination of baked and dynamic shadow light sources!


In terms of bringing the world more alive, enter Waypoints. Waypoints are a method of creating paths for objects to follow, when used in combination with scripting they allow for all sorts of crazy creations, from NPC’s walking along a road, to advanced camera movements in a cutscene!


Each waypoint can be a part of an unlimited amount of paths which any object can follow, switch to or jump off of.



The shape of the paths can be determined by the user, with the options between Linear straight lines, great for mechanical movements for something like a robot, and Bezier which gives a more natural smooth movement which humans or cameras tend to follow!

Currently only lights can be attached to paths since this is part one of the waypoint implementations, but by the end of this update series, we intend to have any object capable of using a path. This would include: Lights, Models, Cameras, Emitters, Sound Sources, Reflection Probes, Collision Fields and so on.


When developing the waypoint system we wanted to keep its design compatible with our future scripting update and therefore a new tool had to be created: The Property Manager.


The property manager is a tool which allows you to assign… well… properties to an object. These properties can then be accessed and edited by scripts. An example would be something like a Characters health points. All you would need to do is create a new property set in the Property Manager, add a Property called “Health” and then assign that property to the object in question, either in the Editor or via a script. It takes about 15 seconds by our count.

But what has this got to do with Waypoints? Well, objects moving along a path require a speed value which is set via the Property Manager, the advantage in doing this, is you could have two objects moving along the same path at different speeds.


Alternatively, you can enable the override speed on the path itself which will force all objects on the path to move at the set speed.


Our last new addition to the engine, was one to improve user experience, specifically when it came to color selection. In older versions you had to manually enter an RGB value each time, which for most wasn’t a problem, but it slows things down. To get around this, we have introduced a proper color selection tool!


Aside from making color selection much more visual, you are now able to copy+paste hexadecimal color codes, as well as use a color picking tool that allows you to select a color from anywhere on your screen, whether it be a color from the scene you are editing in Bright, or a reference photo you have open on the side!



Changes & Improvements

For those who have been following our progress so far, you may have noticed we like to get our lighting as advanced as possible. Afterall, so much of modern PBR rendered is dependent on good lighting. So as usual we still weren’t happy with our lighting system.

We started out with some basic improvements. Lights now slowly fade out as they reach their maximum render range rather than popping out of existence (which is optional for those who like the pop) and we changed how the color data was passed on to the GPU resulting in a small performance boost.


But those are not the star of the show, for we added something much more special: The Timeline Editor.


Previous versions of the engine had a collection of flickering settings. These allowed for variations in light strength to create a flickering effect for more atmospheric lighting. The Timeline Editor has replaced this system entirely. It actually does the same thing as the older system, the difference however, is now every light setting can be varied, including color!


This new tool opens up a whole new collection of design opportunities and lighting once again has been drastically improved. Despite this, I'm certain in the future we’ll find more ways to improve lighting even more!

Next on the improvement list was Terrain. Our existing terrain painting system is rather decent (we think so anyways) but there were some old school tools which never made it into the original terrain painting update, specifically Vertex Color Painting. While it's not a tool used by many, used well and subtly, it can create some really impressive results…. Or you can do what we did, and make Repulsion Gel from Portal 2 :P


This vertex painting suite was further extended into the Dynamic foliage system. Using vertex colors you can add subtle variations in color across a single foliage layer which adds an extra layer of realism!



But aside from that fun stuff, the texture painting needed more work. We want Bright Engine to be able to create photo-realistic results and terrain in its current form, just couldn’t quite do that and we pinned it down to one thing: Blending. Up to this point Terrain has been rendered with linear blending between layers, which in-combination with alpha masks, can create good results. We we want great results and so we’ve added an entirely new blending method for you to use, if you so wish. Height Based Blending.



This method takes the data from a heightmap for each texture layer and uses that to calculate which layer should be on top (unlike linear where layer 2 is on top of layer 1, layer 3 is on top of layer 2 etc). The result allows for much more realistic blending results. Effects like sand filling up the cracks between rocks is now completely possible!



But adjusting height map data can be a pain, so we’ve added height modifiers to the settings which allow you to move layers forcibly on top of each other. If used in conjunction with scripting, effects such as snow or puddle accumulation is now completely possible and the results look great!


Using brush strength, you can get a nice variation of height throughout your layer, so if you want a specific patch where snow fully covers rocks and another where it doesn’t, that's perfectly possible as well!



The last system that got some TLC this update is the Hierarchy Panel. Up to this point, it was more of a nuisance than a helpful tool and we think it was due to the fact that it became a clustered mess in complex scenes with 1000’s of objects. So we gave it a complete makeover!


It's got a much more fluid interface which fits better with the rest of the editor, as well as a brand new collection of organisational tools! You are now able to create folders within the Hierarchy and organise your objects accordingly. Furthermore whenever placing objects within the scene you can select which folder they should be placed in, within the hierarchy to automate the process in future.


In terms of editor performance, despite this not being the primary focus of the update, we did make some improvements. After adding more barrels to the stress test scene, the fps dropped to 43. We tweaked the methods of which data was being accessed and cut the number of cpu cycles along with altering how Vertex Buffers were being created for dynamic foliage, diagnostic, and instancing render calls. The result was a lovely boost back up to 62 fps!


We were also able to adjust the time of day calculations along with the auto saving system. All these changes put together amounted to around 400 lines of code being removed and each system subsequently working more efficiently.

As a final tweak, we updated New Zone creation to have a default skybox set up so new users aren’t met with a black screen, and fixed the bug where clouds weren’t being affected by the time of day modifiers



Bug Fixes

  • Fixed bug where particle IDs were not being correctly written to the dat file
  • Fixed various shader bugs where some shaders were unable to compile correctly on AMD cards
  • Fixed bug where the UI for Reflection Probes was not updating correctly when a state was selected
  • Fixed bug where Reflection Probes could not be Removed from a scene
  • Fixed bug where deleting an emitter would cause a crash
  • Fixed bug where the Project Emitters file wasn't being closed by the Editor after reading causing a memory leak
  • Fixed bug where toggling the visibility of certain objects wasn't being saved
  • Fixed bug where scaling a Terrain Object with the 3D cursor would cause a crash
  • Fixed bug where clicking on the Reflection Probe UI components sometimes caused the camera to stop working
  • Fixed bug where circle Brush does not fill in the cross, giving wrong results when sculpting and when painting
  • Fixed bug where circle Brush caused a crash if it was used on the East edge of an Unrotated Terrain Chunk
  • Fixed bug where changing a terrain texture would not update the Icon box unless the mouse hovered over it
  • Fixed bug where weather sun light color modifier is incorrectly loaded
  • Fixed bug where newly created reflection probes are still being fed the texture data of the last reflection probe in the render loop
  • Fixed bug where a Model which wasn't casting AO was still being fed incorrect AO data
  • Fixed bug where reflection probes were receiving incorrect AO data
  • Fixed bug where the Panels were not being resized correctly when the Editor window was resized.
  • Fixed bug where the group box order of settings kept being mixed up when selecting different types of objects after each other
  • Fixed bug where clicking on an item in a drop down menu would trigger object selection in the scene
  • Fixed bug where switching off point light shadows sometimes caused weird visual artefacts
  • Fixed bug where switching off point light shadows would also disable spot light shadows
  • Fixed bug where performing a right click on the Editor UI while object placement mode was entered caused strange results
  • Fixed bug where mouse button processes were still being triggered outside the viewport area
  • Fixed bug where objects would move incredibly quickly when being transformed with Grid Movement Enabled
  • Fixed bug where the 3D cusor's position didn't update when an object was moved via the UI rather than the 3D cursor
  • Fixed bug where moving a Model using the UI rather than 3D cursor did not update the position of the object in the SSAO pass giving strange shadow results
  • Fixed bug where the camera speed and camera view range were inverted
  • Fixed bug where cancelling a move operation with a Right Click didn't reset the position of the 3D cursor
  • Fixed bug where deleting a terrain that was created using a Heightmap and then immediately removing it caused a crash
  • Fixed bug where creating a new terrain then closing the editor, would cause the terrain to double in size the next time the zone was loaded.


What's Next?

We have made some excellent progress in this latest update but the mission continues. We plan on continuing the toolbox beyond world building. Aside from the continuation of waypoints, audio and cameras are going to be next on the list along with a complete overhaul for the particle system and some further improvements to post processing!

Bright Engine v0.1.5c Patch Notes! - Performance & Optimisation

Bright Engine v0.1.5c Patch Notes! - Performance & Optimisation

News

Here we are at the final update of 015 update series, happy to present a significantly more stable engine! We bring this update series to a close with...

Bright Engine v0.1.5b Patch Notes! - Shadows & Effects Expanded

Bright Engine v0.1.5b Patch Notes! - Shadows & Effects Expanded

News 2 comments

After two months of vigorously sweeping through thousands of lines of code, ripping out old systems with new ones and altering the architecture of the...

Bright Engine v0.1.5a Patch Notes! - Performance & Optimisation

Bright Engine v0.1.5a Patch Notes! - Performance & Optimisation

News 3 comments

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...

Bright Engine v0.1.4c Patch Notes! - Semi-Procedural Environment Toolbox

Bright Engine v0.1.4c Patch Notes! - Semi-Procedural Environment Toolbox

News

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...

Comments  (0 - 10 of 17)
LanceJZ
LanceJZ

Looks cool, I'm going to join the Alpha. Give it a spin.

Reply Good karma Bad karma+2 votes
Cysis145 Creator
Cysis145

Wow thanks! Hope you like what we've got so far! :D

Reply Good karma+1 vote
Apollyon094
Apollyon094

Looks sick. Might use this.

Reply Good karma Bad karma+2 votes
Cysis145 Creator
Cysis145

Awesome! :D I see you have already joined the Discord Server, Welcome to the Community!

Reply Good karma+1 vote
CrikeyMate
CrikeyMate

Very promising, I love the concept. Keeping a tab on it.

Reply Good karma Bad karma+1 vote
Cysis145 Creator
Cysis145

Thanks! We'll continue to work hard and post plenty of updates as we do! :)

Reply Good karma+1 vote
SyazAmirin
SyazAmirin

HI! Everything looks really cool! Just wanna ask, what's unique about this engine than the others? Unity is easy to use and Unreal... well, beautiful graphic. Yours?

Is it sounds rude? If it is, SORRY!!

Reply Good karma Bad karma+1 vote
Cysis145 Creator
Cysis145

No need to apologise its a perfectly valid question!

Unity and Unreal are undoubtedly powerful tools but have become very unfocused by trying to attract every project possible (meaning that extra steps have been forced into the pipeline in order to account for everyone using it). Our goal is to try make the process of achieving desired effects and systems more streamlined and simple without forfeiting capability and power to the user. For example setting up a day and night cycle in Unity or Unreal requires messing around with scripting (or nodes) and can cause confusion as you try to make the system more complex. In Bright with a few clicks in the Editor you have Skybox blending, lighting transitions, fog, sun/moons & weather all ready and done for you. And if the Engine hasn't got a setting you want to adjust, there is nothing from stopping from using custom shaders to achieve the desired effect until its implemented into the engine by the dev team. So far we think we're on the right track and a few of our testers agree, though there is a lot of work left to go.

Aside from all that, we simply wanted to create a tool for our own projects in the future and share it with our growing community who have been helping from day one to improve the engine! :)

Reply Good karma+2 votes
SyazAmirin
SyazAmirin

Thanks for the detailed explanation! As I don't really like to develop games in 3D, I just keep looking at your engine. Sorry! Although, if you do start to focus on 2D, do tell us(The community...)!

Reply Good karma Bad karma+1 vote
Cysis145 Creator
Cysis145

Well technically speaking a 2D game is actually in 3D space with an orthographic camera system. We're currently focused on developing all the 3D side of things but once we introduce a comprehensive camera system for in Editor Game Testing, it really won't be difficult to add the 2D support with the way everything has bee set up so far! :)

Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Report Profile
Platforms
Windows, Linux
Company
Gajatix Studios
Contact
Send Message
Licence
Commercial
Release date
Engine watch
Follow
Share
Community Rating

Average

10

1 vote submitted.

You Say

-

Ratings closed.

Twitter

Latest tweets from @gajatixstudios

RT @GajatixStudios: We've just released the latest update for our Engine! Come and see what we've been up to! :D… T.co

Jul 21 2019

We've just released the latest update for our Engine! Come and see what we've been up to! :D… T.co

Jul 20 2019

We've just released the latest update for our Engine! Come and see what we've been up to! :D… T.co

May 4 2019

We've just released the latest update for our engine! Come and see what we've been up to! :D… T.co

Mar 5 2019

The latest update for Bright Engine is out! :D Indiedb.com #indiedev #gamedesign #gamedevelopmentT.co

Jan 5 2019

The latest update is out! Come see what our Dev's have been up to! :D Indiedb.com #indiedevT.co

Dec 5 2018

RT @GajatixStudios: The latest update is out and its the biggest one yet! Come see what our Dev's have been up to! :D… T.co

Jun 16 2018

The latest update is out and its the biggest one yet! Come see what our Dev's have been up to! :D… T.co

Jun 15 2018

RT @GajatixStudios: Bright Engine v0.1.2a Patch Notes have been released! Come see what our Dev's have been up to! :D… T.co

Apr 7 2018

Embed Buttons
Link to Bright Engine by selecting a button and using the embed code provided more...
Bright Engine
Statistics
Rank
191 of 813
Last Update
Watchers
24 members
Articles
14
Reviews
1
You may also like
SAGE (Strategy Action Game Engine)
SAGE (Strategy Action Game Engine) Proprietary
Source
Source Commercial
GameMaker Studio
GameMaker Studio Commercial
Blender Game Engine
Blender Game Engine GPL
RPG in a Box
RPG in a Box Commercial
Adobe Flash Professional
Adobe Flash Professional Commercial