Lets talk about blender interactive

Well, as no-one is saying that the BGE is incapable of graphics from something released ten years ago, I don’t think you’ll have much argument with that comparison. That said, it will not help your argument that the BGE is capable of enough to be worth the maintenance effort going forward.

Actually it looks like one of the newer developers is ready to start a refactor, however the response has not been a warm one.

Mail -

"So, it’s time to show Ketsjii some love.

First things first: I’m not proposing to make a new engine that will
crush all AAA proprietary code multibillion companies out there. I only
secretly wish that :D.

As a matter of fact I’m not even proposing to make a new engine.

What I’d like to do is to refactor the code of bge. From jargonese to
human, refactor here means to take the existing code and move, rename or
split existing classes and functions, in a way that preserves at 100%
the current set of functions, as perceived by the user. Bugs included.

The purpose of this bare transformation of code lines is not only to
make the code “easier” to read (easy is a relative thing) but also to
prepare the engine for future upgrades.

For some of the issues with the code I link to the blog post written a
while ago by Moguri here

https://mogurijin.wordpress.com/2014/06/12/why-is-the-blender-game-engine-difficult-to-maintain/

As targets for the refactoring I would also point the several 400+ line
functions that have no performance reasons to be there or the use of
instance members as result buffers for callback functions that make the
code flow pretty hard to follow.

What do I mean with “prepare the engine for future upgrades”. Simply
put, to give to the code a more standard layout. One can take Game
Engine Architecture, get the functional units that compose a (modern?)
Game Engine, try to superimpose that schematics to the bge and he will
find himself with a bit of a puzzle.

I firmly believe the uncommon structure has quite some responsibility in
the slow pace of the development. I make two examples - to make it short.

Game engines have assets managers. The asset manager is the unit
responsible of feeding the engine with static informations about the
world it has to simulate. It takes resources of all kind and formats
(models, relationships, scripts, images and so on), translates them into
data that the engine can read and manipulate if necessary, feeds the
engine with that data when required.

So where’s the AssetManager of bge? There is some of it in the Converter
package, some in the Physics/Bullet package, some in the Ketsji
package… data conversion happens a bit everywhere. That is not a
problem, at all. Until you want to change things a little. Let’s say
that I want to add a function that updates the material displayed in the
engine when the material changes in blender. You go to the AssetManager,
because conversions happens there and links between asset materials and
engine materials can be registered and found. In bge is quite a task to
find out who’s converting the data, who has a reference to the converted
material and who knows where the link between the two is.

Game engines have input managers. The input manager that signals from
external processes and converts them into semantic events for the
engine. Usually it’s for the hid devices (mouse, keyboard,
controllers…) but is can also be used to parse network inputs.
BGE has not input manager. Input management is a stage of the engine
loop that acts directly on input devices. Input devices are both input
devices and logical managers of inputs. If you want to add a source of
input, you go to the InputManager, to capture the raw input and
translate it into meaningful signals that the engine will query later
on. In bge it is a little different.

So here’s the proposal. We find out a more common architecture for the
engine. We can take one of the many examples (well, not so many really),
strip out unwanted things - like AI Management Units, Multiplayer
Network Managers, GUI Layers, specialized renderers and so on, we keep
what matches the current set of functions and we push the current code
in that new layout.

I think that the functions bge currently has can be constrained into the
following units:

  1. GameLogic (but some will forcibly remain in the objects, due to the
    python mappings)
  2. Rasterizer (Renderer)
  3. SceneGraph
  4. AssetManager
  5. InputManager
  6. PhysicsManager
  7. Engine

And each unit will further organized to match some sensible structure to
be defined.
The layout should take into account what is going on with other parts of
blender (like the viewport and I don’t know what else).
I have no problem taking care of the coding part.
Because it is quite a big transformation, I’d like to do it in chunks,
periodically submitted to review.
Being quite obnoxious with diagrams, I will start by writing down the
schematics of bge as it is - a thing that might come handy in any case
and that will help me bashing the keyboard.

I’d like to have some feedback, resoucers or articles to check for,
ideas and and (mandatory) agreement on the new layout of the engine.
Or a slap in the face, I might very well be wrong on my assumption that
the current design is a mess. But I could point out that it has been
probably a data driven design because I see the logic of it and its
typical problems.

Cheers, all the best and stuff
https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"

if new developers show up, offer to help, and are received with a cold shoulder, this does not help.

Free Qualified, and ambitious help cold shouldered is not good.

That’s great. No-one is arguing that there are people talking about making changes. If he wants to refactor the code, he can have at it… but many developers start a large job only to peter out when life, priorities, etc change.

I’m guilty of the same - I have a 25% of an MIT licensed plugin interface that would allow Blender to have commercially licensed plugins. Still working away on it, but I think telling the Blender Foundation they should hold off on restructuring their code because of my personal (and slow moving) project would be the height of unfairness. Same applies to the periodic email from someone that says they want to refactor the BGE.

Actaully, Just got an email,

The BF plans on integrating most of the BGE into the new engine,

there will be a “legacy” logic , however it will just be nodes apparently, so rather then removing the logic bricks, they
are extending them.

Also, they don’t think they will be removing the stand alone ability :smiley:

if all of the stars align, and the bge rises from it’s own ashes…

I will be happy.

Also, 25% of greatness, is better then never starting. (keep at it man!)
that sounds like a worthwhile goal.

BTolputt, with all due respect, what you get directly offending those who have different opinion of her and want to continue with the integrated BGE Blender? It is so hard like that? Why not just keeps meeting with your personal options and shows some respect to the options of other human beings. Nor do I agree with the aggressiveness of the AceDragon comments about the possible future of BGE, but at least do not see him attacking the other simply because they do not agree with their point of view.

In addition to the subject of this topic is NOT to ‘kill or save the BGE’ but speculate or try to glimpse what will come to be that such ‘Interactive Mode’, since Ton just planted the initial seed of the idea and said little later.

Unit 3D like, admire the work they in Godot and other possibly promising engines. But to come screw up with other people just because my opinions are irreducible, this is too much.

Returning to the topic, what do you think, in his unbiased opinion, what will be the one interactive mode?

To me this is very much what was suggested in 2013 by Ton:

I wouldn’t be surprised if the viewport rendering was used for the BGE in one or the other way too at a certain point. That would exactly meet the goal to bring the BGE closer to the rest of Blender, such that improvements made in other areas would have a positive impact on the BGE as well.
In my opinion this is a very good plan overall, because it is not possible to maintain and develop both a rendering platform for various fields and a game engine at the same time with this amount of developers.

In my personal opinion, spreading ridiculous falsehoods deserves to be met with, at the very least, ridicule. It was not a difference of opinion that had BPR served up with ridicule, it was when he went beyond that into stating that his video looked better than Battlefield 3 and then, later, claimed that an artist with enough time & money could make a BGE game that looked like the Battlefield 3 screenshots I provided to his earlier response. It was complete and total twaddle which deserves to be called such.

When it gets to the point that one side of the discussion is relying on pure fantasy to support their argument, I will stridently point that out. Even if that offends them, I’m neither sorry for nor dissuaded from doing that. Respect is earned and it’s not earned by making stuff up when your argument has no facts on which to rest.

The blender game engine is a piece of code,
if I paid the right person what they paid to make frostbite, the bge could be equivalent,

it’s not where you start, it is where you finish.- re-coding

Battlefield bad company 2 was the game I had in mind actually,
It was 1 of my favorite games of all time,
but I have not played a game in quite some time… :frowning:

Also, pointing at differences, and being a douche are not the same. FYI.

You would have to pay multiple persons what was invested to make Frostbite 3 and what you have wouldn’t be the BGE - it would be a new engine. Kind of the point.

We’re not talking about what the BGE could possibly, maybe, perhaps one day become in the hypothetical case someone invests buckets of money and hires a team of skilled/interested developers to improve it. We’re talking about what the BGE is right now and the case where the Blender Foundation/Institute is not able or willing to dedicate the funds / developers necessary.

It’s, however, not what you said and you stuck to your guns in the face of multiple screenshots showing you were wrong. As soon as you conceded you had the wrong game, you will notice that I didn’t disagree with your contention that the BGE could deliver the graphics of games released ten years ago. Not to mention that fact was already agreed upon by myself and others earlier in the thread, as it is one of the foundations of the argument against dedicating more resources to the BGE.

Well aware of that. Know what’s also not the same? Feeling & showing no respect for someone’s claims and calling them names like “douche”. See if you can spot the first person to do the latter :wink:

At one point I really cared what you think,
however I was in a discussion, not a debate.

my opinion is that the engines logic and design could be salvaged.

I presented a game that looked good, and said it looked as good as a game or better,
I did not mean to say Battelfield 3… I dont even own a xbox anymore, and have not played in over a year, its just been a while.

when I retracted, you still attack.

in fact you attack the game engine any chance you get…

Did you know I am on these forums for fun? I also write games for fun.

the blender game engine is actually fun to me, and any talk of removing it upsets me.

where you see bagage … I see just about the only peace I have in a day…

Sure people write code for the engine.
not paid people.
I am not sure why it pisses you off.

and also I said there was a difference, between explaining and bieng a douche,
you chose what catagory you live in :wink:

No, I don’t. I agreed with you and pointed out that your revised point doesn’t make a convincing argument for continued/increased investment by the Blender Foundation. I’m not even attacking you now despite your passive aggressive name-calling.

Stating it’s limitations is not an attack. Pointing out that the Blender Foundation isn’t really interested in developing it further isn’t an attack. They are simply facts. It’s not an attack on trucks to point out they don’t fly, I fail to see why pointing out facts about the game engine is any different.

Sometimes facts are uncomfortable, sometimes distressing, but that doesn’t necessarily make them an attack.

It doesn’t. I;m not sure where you get the idea that someone deciding to write code for the engine in any way bothers me. If you read what I actually have written, you’ll note that I explicitly point out that the BGE staying or going doesn’t phase me, that it is people that spread blatant falsehoods that get me aggravated. Whilst you were claiming the BGE was as good or better than Battlefield 3 - yes, I ladled on the vitriol. Since your correction, I’ve been sticking to facts rather than my personal opinion of the person’s involved.

Let me repeat - I don’t have an issue either way if the BGE stays or goes. It’s not like the Blender Foundation always does what I think is best now, it’s likely not to do so in the future either. I simply understand and support the arguments that, given how much effort it will take to get it worth adopting for most indie developers, the Blender Foundation has ample justification for it’s merge into a simpler “interactive mode” that requires less maintenance and stops the pretence Blender is a player in the game engine field. shrug

Clearly the former. However, I don’t think anyone honestly believes that you brought that point up without having the alternative in mind. Not a big fan of the passive aggressive approach there. Either state your piece or don’t, insinuation is demeaning to everyone concerned.

You know what I like the most about the game engine?

The community.

second?
The idea.

Most of artists dont like to share their secrets.

The whole culture is different in the game engine section.

I give away resources, and help people learn the engine.

I code examples, and solve other peoples coding or logic problems.

So far I dont think I have seen many unanswered questions.

I have honestly never come across that. The vast majority of artists (professional, hobbyist, or amateur) I’ve ever met have been happy to share their techniques. Whereas, outside the open source world, I’ve found programmers tend to be a little more protective of their tricks. I always put it down to the fact that art requires talent and one can get away with being an untalented yet knowledgeable programmer for years.

I’ll give you that.

BTulputt, BluePrintRandom… I realize that it’s mostly died down now, but if you two wouldn’t mind, please continue your conversation via PM. The back-and-forth arguing about what you’re arguing about is off-topic for this thread.

[QUOTE = Dantus; 2810158] Para mim, isso é muito o que foi sugerido em 2013 por Ton: http://code.blender.org/index.php/2013/12/plans-for-2014-2015/ eu não retornaria ’ t se surpreenda se a prestação viewport foi utilizado para a BGE em uma ou outra forma também a um certo ponto. Isso seria exatamente cumprir a meta de trazer a BGE mais perto do resto do Blender, de tal forma que as melhorias feitas em outras áreas, teria um impacto positivo sobre a BGE bem. Na minha opinião este é um plano muito bom no geral, porque não é possível manter e desenvolver tanto uma plataforma de renderização para vários campos e um motor de jogo ao mesmo tempo com esta quantidade de desenvolvedores. [/ QUOTE]

Hmmm … I had not thought of that possibility.If indeed, the transition include this direction (not necessarily only in this direction) certainly users of BGE will have many benefits, including the so want stability in general fps.

Fweeb: Died down or not, could you split or delete their conversation? It’s hard to get a thread about Blender Interactive without this type of thing, which is made all the worse by the fact that they’re discussing the BGE, another topic altogether.

Not to say they’re both at fault, but this thread would be a lot more informative without it, that’s all.

Fweeb,
The bge is the past, of the new interactive mode.
deciding about the future, is impossible without understanding the past.

what did we like?

what did we hate?

what do we want in the interactive mode?

personally I loved the logic bricks, but logic nodes would be the same thing, except easier tto group , and flow.

I see one major possiblity with the new engine. Destructable environments…

another?

Making maps in game, painting in engine etc.

Another?

a network socket built in. both for multiplayer, and Verse style collaberation.

what about everyone else? where would you see the engine go?

I dont understand all this buzz/interest in logic nodes.
With nodes it is much easier to make the mistake of hooking a wrong node to an input.
They are not visual, they waste a lot of negative space.

Logic in engines like construct2 on the other hand is much clearer in terms of presentation and its tightly shown on the screen.

Condition(s)—>Action(s)

thats it.
It takes much less time to learn and it easier to just take a screenshot to show someone how it was done.
It’s less likely to mess up that way too.

I had the same argument with a programmer on godot’s github too:

using properties as inputs, allows the current node graph to do just about anything, but it would be hard to understand what was going on unless it was well documented and named etc.

FWIW, I have no issues with that at all. Delete or split.