BGE development

After a long day of blending in the game engine, I almost cried after watching this.

So when (if ever) will we start seeing real improvement in the BGE? I’ve been a fan of blender for about three years now, and I’m not about to switch to another engine, like Unity. Hell, I’d be willing to start a fundraiser specifically for BGE development. But for now my hopes lie in what this year’s GSOC will bring.

This years GSOC is only bringing bug fixes, which is needed, but not enough. I was hoping for inferred lighting but I guess it was too big of a project. I just wish the BGE gets upgraded before it get too outdated. Right now there is too much competition to start slacking, unity, the UDK, cryengine 2 (or is it 3) all free.


I’m also very interest in BGE, I love it, but sometimes the one who is limited is the propper user and not only the program, have a look to martinish’s works, I couldn’t believe how he pushed BGE to the limits.

We’re going to need a lot more developers to match that UDK video, matching that in the next couple of years even may not be totally realistic unless the number of BGE developers doubles or triples even.

However, some graphical enhancements for the BGE are pending (waiting to be merged into trunk), Moguri’s GSoC branch from last year, anisotropic filtering, PCF soft shadows ect…

Also, this year’s GSoC is bringing more to the BGE than just bugfixes, Moguri is participating again with the plan to bring animation enhancements (like allowing the use of material F-curves), there’s another project too this year which I can’t quite remember.

Kupoman talked about implementing inferred rendering for faster lighting - it would definitely be a great additional tool.

I agree with Ace that there will need to be a far larger number of developers, who would need to work on the BGE for a lot more time than a few months to achieve what the UDK currently sports.

While the commercial engines look nice, these engines are usually ‘free’ only for hobbyist / personal use. To implement your project commercially would require that you purchase a license, which can cost hundreds, or even thousands of dollars. I do agree that these engines are much more advanced than the BGE in terms of graphics and audio power, but they aren’t really in the same class as the BGE right now. However, I do feel that the BGE can and will expand, as the Apricot project has shown. Just the new features that are already waiting to be added now that Ace mentioned are good additions.

P.S. That video looks nice, but it was probably made over the course of months (not the development, just the actual scene).

Maybe someone could organize another blender noobs project or something, and sell it with all the proceeds going towards the development of the blender game engine?

Such development funding could help, as it might allow the BF to hire a programmer to help build the BGE up. That’s probably Blender’s weakest point (though I’m sure the modeling side of people would beg to differ).

yes this looks nice,
but are you sure you can really use this features?
I mean there is no “make my game” button. You still need to create all the content, with its awfull lots of details.

If I see this, I really think it is much more realistic to complete a cartoonstyle game rather than a “realistic” looking game, especially as one-man-show. Yes, I could be surprised, there were already some real cool demos out there (bow in front of the genius).

anyway: A warm welcome to each new feature, bugfix and improved setting :smiley:

Monster makes a good point that these features don’t really mean that your game will be better. Just because you make your game in the UDK doesn’t mean that it will be better-looking, or that you will even be able to take advantage of the new features that it offers.

Sure, the features look nice, but could one really implement it into their game? Wouldn’t it take even longer to make their game, which probably is already taking ‘too long’ to them? That’s why certain game engines like Game Maker and RPG Maker are still around - while they aren’t the best looking engines, they’re easy to use, and they allow people to make games simply and quickly.

In any case, a faster and better BGE means better games for everyone, so new features are indeed welcome.

Imagine what would happen if every user wrote 10 lines of code. As a reward for blender. Only 10 lines. Imagine that. Imagine 1000 users doing this. The code would not even need to be top notch. It would not even need to be in c/c++ , python api is extremely easy to figure out.

Imagine 10.000 lines of code in blender game engine python scripts expanding the engine in ways that could make UDK cry.

The secret recipy the XFACTOR is crystal clear.


I agree with Monster and SolarLune, also I can’t image that is running on a common 512MB adapter. You have to remember the common user in this equation. While most people can afford $50 for a real cool game, most can’t afford a fancy PC and adapter to run it. The company wants to sell high end ATI and Nvidia cards that is why the software is offered free of charge. Do you really think they do that out of kindness?

Note to potential any game developer: Please remember to make your software “backwards compatible” and you could actually see more purchases.

Do you know that joke?

A man has an expensive car. One day the car does not drove anymore.
He went to the garage … but they didn’t find anything.
He went to another one an expensive one … no help either
He went to an even more expensive one … no luck.

He got a tip from a friend, there is an old mechanics who can repair every thing.
He called the mechanics. The mechanics came in, lokked at teh engine. Then he took a small hammer and hit somewere on the engine. “Now you can start, everything is fixed” .
The man was surprised, but the car was running like new.
The mechanic pressented the bill 10000$.

“Wow that is much, all you did was hitting the car with your hammer. I need the cost’s details”

  • 20$ coming in
  • 10$ hitting the engine with the hammer
  • 9970$ knowing where to hit

(free translation of a joke that I can’t remember very good)

You know this theory that you just need enough monkeys to type on typewriters, one will end with Shakesbear’s “Hamlet” ;)?

I agree completly :smiley:

Their software is free for students, because after you use it for free for learning purposes, they don’t have to spend any money training you and you can produce from the first day they hire you.

Monster, I think you have taken a gigantic step in making BGE easier to use, for users that know or don’t know python.
But I still think it can be taken a step further, and that step is to take the code out of Blender.
A lot of users don’t know anything about python but they try to use it, and they end up getting all kinds of funky error because of that.
I think we should make scripts and distribute them in .pyc format and provide a documentation with an example usage with it.

That way, no user can mess up the code, and it takes all the text files out of Blender.

Maybe its time for another open game project?

The fact remains that almost half of the people use Blender for pure Outsourcing and they only want to see some export scripts and modeling and other features.

I think BGE can surely bankrupt unity if there was one full time dedicated pro coder.

Having said that BGE still can makes 3d games faster than most. i have never seen any other 3d software like Blender , especially 2.5 which has a good UI and workflow.

Josip, I think You are completely wrong. We want more devs, step one is to get users to tinker with code. Improvements in python don’t have to wait on acceptance in to trunk and a new release - they can be easily distributed between users and speed up progress.

But new users should not need to code to make basic stuff. Moguri’s components concept is intressting. I think he not hit the right spot jet - but the general concept - pack script with a set of recognizable settings, run them on events, and make them installable and configurable through gui is endlessly powerful. Users can do amazing stuff without coding by using the right component. But the code are there if they need to god further. If they improve stuff they can share there improved components that other can use. When they get more advanced they can write completely new components. That way we can build a developer community and get rapid progress in BGE usability - both for coding users and other users.

C++ coding should focus on stability, optimization, basic features and making ‘everything’ accessible from python and preferably with a nonblocking api for heavy tasks. Python components that proves useful should go in the main release (just like add-ons) and if a computation intensive useful component can benefit from a C++ implementation that can be considered but the main usability development should be in python - much easier to get developer and much faster turnaround on development.

I’m currently hacking on a component implementation in python. First idea was to stay compatible with Moguri’s implementation but I’m not so sure anymore. Some stuff can be made more flexible, some stuff in Moguri’s C++ implementation can be done equally well and efficient in python while ther is some other stuff that probably would benefit from being done in C++. But I’m making it in python first - python is great for prototyping and identifying the spots that might need optimization in C++. But I think it all will work well in python - it is just some part that could handle more complex and big scenes if it was optimized in C++.

LaH, all I wanted to say is that the code shloud be available for enyone who want so see it or modify it, but the scripts should be writen so that users who don’t know python can use it.
I don’t know how to say what I want, basically I want users to be able to use our scripts in the same way we use bpy.ops. We know what they do but we don’t need to know the source code.
For example, user wants to test some entvironment he made, we don’t need to bombard him with a huge amount of logic or python, we can do it like this:
Sensor:Always -------> Controller:third_person_setup
And if the user wants to change some properties in the script he can add a property to the object, otherwise the script will use default settings.

I hope it makes it a bit more clear.
And the thing about Blender needing more devs, I think Blender needs more devs willing to make tutorials on how to implement the simplest features, and we can take it from there.

isn’t there a wiki already available describing how to use the blendergame engine?..

Josip: Yes, but with the component consept can tell what the settings are and the user can get a nice gui to make the settings.

What I protested against what distribution as .pyc… We don’t want users to need to code just to use the code we already written. But we want it to be easy to access the code if they want to change, improve or expand it (or just tinker to learn).

Hey, I totaly support components, its the future man. But for now, we have to figure our ways.

We can implement that gui as a blender add-on all in python… but I newer done or looked on any add-on so for now I am using that set parameter methode… A bit messy as a object can have allot of components and there can be a allot of parameters…