[Bf-committers] Blender game transition

Ton Roosendaal ton at blender.org
Fri Dec 1 19:23:51 CET 2017


For the record, I copied the mail here. Pasteall.org texts (might) disappear after a while.
And btw: it's an interesting proposal, worth checking on. :)

I'd like to submit a proposal for a transitional bge before interactive mode.
Here are some videos taken with this engine:
- https://www.youtube.com/watch?v=KgUF1ItaAtk&feature=youtu.be
- https://www.youtube.com/watch?v=pcpgKCZNt_Q&feature=youtu.be
- https://www.youtube.com/watch?v=XcfUJHppm2A&feature=youtu.be
- https://www.youtube.com/watch?v=quyhdyZiLYE
I wrote an editable document about which I shared with Clément Foucault and Campbell Barton.
The proposition is to use the existing bge, using eevee's rendering, but not Depsgraph. The reason why I didn't use Depsgraph is that I don't know it enough to play with it.
Here is the non editable document I shared about the proposal: http://pasteall.org/688506
Some points I have to say:
- I want to say that I do this proposition on my own initiative. I informed panzergame about my intention to do this but he didn't say if he agreed or not. I didn't talked about this to the other upbge team members but I'll send them that file.
- If I do this proposition, it is because I thought Blender foundation would not accept a game engine keeping bge render, but I though that maybe there was a chance that Blender foundation accepts a gameengine which uses eevee's rendering (but not Depsgraph) as transition before interactive mode.
- Panzergame did an amazing work when we begun to work on eevee to put all in place in bge, but since a moment I have the impression he prefers to code on 2.7. The first approach was to keep using bge rendering and integrate eevee features to bge render pipeline.
- But the more I worked on eevee, the more I realized that we could use directly eevee rendering to replace bge render.
- Each approach has his benefits and its disadvantage: If we use bge render, we keep maximum bge features but it requires a big work to integrate eevee into bge. If we use eevee's rendering, we can easily integrate eevee's features but we loose important parts of bge (More details in the doc)
I choosed the second approach, so many things are broken in bge but we have an important part of logic working, physics too, animations without deformers work. I think the render is faster and I think finally it will make our life easier in the future works.
- Some times ago, still in the hope we could maybe have a chance to join Blender Foundation, I did a "special merge": I kept upbge gameengine, blenderplayer, moto (our maths lib (now I prefer to use BLI_math)), and a lib panzergame added to print colored text for console errors and I removed everything else. Based on the same commit, I took the rest of the sources in BF sources folder and copied it in my upbge folder. The goal of the operation was to remove differences in code outside games folders between upbge and Blender. When I did that I had to remove important stuff we did (like lordloki work on joysticks, and many panzergame works, and some TwisterGE works). After that I repaired bge trying to put as less code as possible outside game folders.
Now, there are very few differences between upbge and Blender outside game engine folders.
See: https://github.com/UPBGE/blender/commit/944ab972607c7b1275553ebae716bef7598fb0b4 for reference
- Now in my branch we have a partially working game engine, it's not very stable, but it's amazing to play with it.
I hoped we could merge this small/transition game engine into Blender official 2.8 waiting for interactive mode. The goal would be to keep bge community/devs involved in Blender. I think it is better to have something, even if it is not fully working, than nothing as game engine at 2.8 start.
I propose to tag the code outside gameengine folder with some balises like //Game engine transition so it would be easy to remove when the interactive mode will be ready. And as anyway I guess the gameengine folder will be removed, I propose to take upbge gameengine folder to make the merge easier.
This engine would be proposed/and remain as a transition game engine, no feature request would be allowed. Only module teams would be allowed to report bugs (as for 2.8 while BF is developping it). Only volunteers or interested devs would manage the bug tracker.
If this proposal is not accepted, I'd like anyway to contribute on interactive engine later in the limit of my competences.
And if someone is interested by panzergame and other bge devs work, all is available on upbge github. And if BF is interested to restore joysticks work (sensor + rumble actuator) for example, this wouldn't be too complex too as all the code is in upbge sources.
Best regards, youle

> On 1 Dec 2017, at 17:19, yul brynner <you.le at live.fr> wrote:
> Hello, I submit a proposal for a game engine transition before interactive mode: http://pasteall.org/698195
> This is still a WIP but I think this could be ~ready for 2.8 release to make the transition between old bge and future interactive mode. But it would only work if some devs are interested to help. Thanks for your attention.
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> https://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list