To newcomers to this thread: Read the first page or two, then skip to this post
“We understood from your keynote last year that the BGE was going to be removed, and were surprised to hear something different this year”
Ton: “Remove the Game Engine? I didn’t say that? Really? Naaahhh.”
Also, if you’re interested, there was a BConf talk about using BGE to create an overlay for the TV coverage of a cycling race. (and the powerpoint was done in BGE).
So, at BConf 2017, we had a meeting with Ton to find out what the plan for the BGE was (we is the company I work for and another company. This included community members such as martins and olm-z).
Disclaimer: I am just a human being. This post is based on what I heard, scribbled down, and remember from the conversation. It is in no way an “official” post by anyone. However, I’d like to think it gives a relatively accurate picture of where Ton pictures the GE is going.
First up, who is Ton?
For some the name “Ton” will mean nothing to you, so: he is the BDFL for blender (Benevolent Dictator For Life). In short, he is the person who was the lead programmer when blender was not open source (back in 1995), lead the drive to open source it in 2002, and now organises the direction in which blender is developed. His is (essentially) the final word about what comes and goes in blender. So, if we want to find out about what’s happening to the Game Engine, Ton is a good person to ask!
The Good News:
As can be seen in the quote at the top, Ton was extremely surprised when we posited the idea that the GE was going to be removed. So at the very least, blender will continue to contain a real-time engine. However, he is aware that the GE was written a long time ago, and hence he wants to create a new game engine. To distinguish it from the old game engine, he called it (in his roadmap post) an interactive engine.
What does Ton want from the “new” GE:
He wants the next GE to use as much of blender as possible. His “Interactive Engine” is a layer on top of the viewport and blender depsgraph that allows user input, timed events and so on. All of the rendering, the animations, the modifiers, everything from blender itself will be part of the GE. And really, why does the GE need it’s own renderer and depsgraph? If the one in the viewport isn’t fast enough, isn’t it better to work on improving the ones in blender than to maintain a separate one? In this way, we ensure that the experience using blender is as fast as possible - because if you optimise the GE, you also optimise blender itself. It also help ensure that a new GE is not a massive development as many of the features a game engine need are already in blender.
Ton is not concerned about competing with AAA game engines. His aim for the GE is the same as it is for the rest of blender: Allow artists to make things. In this case “things” is interactive content. If it competes with AAA game engines and people produce games and sell them, great. If not, well, people are having fun using the tool. The focus is on the ability for artists to build interactive content.
Speculation Warning: This does suggest (though it wasn’t asked) that the ability to export created games may or may not be a feature in the new GE, but even with the current blender it is possible to have a blend file that auto-opens to a running game taking the entire blender window. With the new changes to the viewports and workspace system, this should allow the creation of “standalone” applications - with far more compatibility than the current GE. And think about it, there will be no more “why no bpy in the game engine.”
What about UPBGE?
Sorry to say this guys, but it looks like the UPBGE is not going to feature in any way in the GE’s future. Why? The goals of the UPBGE team do not meet the vision that Ton has for the interactive engine. The UPBGE team is maintaining and adding feature to an engine that is rather old. Ton is wanting to replace the entire engine with something new so it doesn’t get stuck in the past the way the current engine is. He views the UPBGE project as a bunch of developers having fun on their own little bit of code. He has nothing against it (and indeed supports people having fun programming), but it does not align with his view for blender. He is willing to work with the UPBGE team, but only if they come across to his (as the BDFL of blender) view - to use as much of blender as possible, and have as little GE-specific code as possible. Yes, it is harder than continuing to upgrade the current GE, but in the long run - which is better? As an example: the UPBGE team are porting EEVEE’s shaders to BGE.'s renderer Ton would rather they use the EEVEE directly. [edit Jan 2018: Youle has created a branch of UPBGE that uses EEVEE directly]
How about logic brisks and visual programming.
Ton laughed at me asking about these. He mentioned that he programmed them initially in … 1996, and he looks at them as something useful at the time, but no longer sufficient for the job at hand. The good news is that he is does want to keep visual programming - his goal is to let the artists make interactive content. As such, things like nodes are not off the table, though he seemed (in my opinion) to be looking for an even better solution. We know there are issue with scalability of nodes for programming, and to me it seems he is trying to find a system that will allow higher levels of abstraction. I am keen to see what he comes up with.
Why have we seen no progress on the GE for 2.8 then?
I mean yes, the GE is there in 2.8 builds - but I couldn’t get it to do anything. And in Tons words, “it’s not the priority.” With a multithreaded depsgraph in the pipeline, and the EEVEE renderer nearing completion, and the rework of the scene and layers and engines system, that’s hardly surprising. It really shouldn’t be as these things that are being added in 2.8 are the features we will see in the new interactive engine. We will see multithreaded animation updates, we will see the EEVEE renderer inside the GE. So until those are “more complete” it isn’t surprising that the GE has been left alone somewhat for now.
Additionally, the BF needs someone to take care of the GE - to supervise it’s development full time. They need someone who can dedicate a year or so of development to ensuring that the GE meets the goals of the BF. Until this person appears, or someone currently working on other things becomes available (there is someone in mind), then the GE will likely stay much as it is now.
***So hopefully this will end some of the speculation about the GE’s future, in particular, this post counters the myths:
- BGE is going to be removed - well, yes, but there will be a new interactive engine added when it is
- UPBGE is the new BGE - no it’s not (though it is great to use while we wait for the new engine. I enjoy using UPBGE, so don’t stop guys!)
If you have any questions, you can ask in this thread and I will try to answer. Bear in mind we did not ask technical questions, so if you want to know “Will it support feature x?” - sorry, but I have no idea.