Advertisement

Blender Game Engine - is it worthy?

Started by September 07, 2013 07:50 PM
8 comments, last by wodinoneeye 11 years, 5 months ago

Hey!

I tried that engine today, seems quite okay but is it good novadays? Can it be compared to more popular engines like UDK and Unity?

Or is it just extra feature for great animation and modeling tool?

Is it worth of time or it's better to spend it for ex on Unity?

Not sure about Blender, but Unity programmers are on huge demand right now in casual game development segment.

Advertisement

First off, it's free, and it has been used to produce actual games. Those points are a huge deal.

These questions all ultimately come down to the same point: you get out of a toolkit exactly what you put into it. If you are willing to spend the time and effort to learn, you can produce great results with any toolset on the spectrum from GameMaker to CryENGINE.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

As a 3d artist I use the Blender game engine, for a fluent workflow.

I can create a model in blender, see what it will look like in the game, make large changes to the mesh, animations and textures and just hit the P key to run the game.

I have used both the UDK and Unity in the past.

For UDK I found that it takes some time to add objects to the game and get them into a working state, however once you loaded them you can easily use them.

UDK is a professional game engine and worth using, the only true drawback I can think of is that it is hard to make a game with it if you work alone.

Unity has a few advantages over blender:

Unity uses DirectX where Blender uses OpenGL, this gives unity better frame rate even if directx is a bit harder to use.

Unity uses Javascript and Blender uses Python that is easy to use but slow at times.

Unity has build in particles where for Blender you will have to code your own workaround(OpenGL) or download one.

These are mid points:

Unity has a Lod manager build in (Pro Only), Blender will soon have a build in Lod manager or you could code your own.

Unity has a nice terrain mesh, but it is a lot more fun creating terrains using Blenders sculpt tools and you can manage the level of detail with a OpenGL shader.

These are low points:

No build in 3d modeling tools, this means you will still have to learn a external modeling tool to make your own models, or you will have to use models made by others.

A lot of useful features can't be used till you buy Pro.

You will probably have to find and install a lot of addons to get unity to work the way you want and thy aren't all free.

It is a pain to fix even small bugs from imported 3d models.

Blender Game Engine is going to be changing in the future.

What should then be dropped is the idea to make Blender have an embedded “true” game engine. We should acknowledge that we never managed to make something with the portability and quality of Unreal or Crysis… or even Unity3D. And Blender’s GPL license is not helping here much either.


It's going to become far more integrated with Blender, something they'll be calling Interactive Mode or somesuch. It won't be the partially-in, partially-out semi-standalone that it is now. So outside of walk-throughs or quick proto-typing, I don't think it will really be as useful for general games once that happens. If you intend to make games commercially, I'd personally recommend something other than BGE.

I'm learning Blender really hard now so I think learning its engine is good choice - there's fast option to try 3D objects in game.

As you've said it's harder to do it in Unity, but I'll use BGE just for prototypes of 3D game ideas. Thanks for answers :)

Advertisement

There have been some fantastic games made with Blender, as in fun and enjoyed by many people. Blender is powerful, has very active development and community following, and is actually being used by both professionals and amateurs. The game making aspects of Blender are very capable for making most types of games in my opinion. For 3D graphics art creation, Blender has almost everything that most people will need.

Unity and UDK have levels of features for no cost version, indie and pro versions, but even the no cost version has been used to launch games which actually earned good money for the developer. These two here generally demand a lot of coding and art skill, being that they are a framework after all. You would need to collect a bunch of outside tools to make your workflow pipeline according to your personal game dev goals.

Blender on the other hand has most of the tools right inside, which many find simpler to make a workflow pipeline and the dynamic content creation means that you see the results of your work almost immediately in most situations. By the time you go profession in a couple years or so, the fast pace of Blender development will be right with you in added features and improvements just like Unity and UDK.

In my opinion, Blender can work for the pro indie developer quite well-depending on the type of game to be made, but Unity and UDK allow the potential to develop very high performance and complex games which only a team can handle with intense coding in the process-probably their strongest points compared to Blender. I am not saying that Blender can't let you do that, too, but Blender in my opinion seems to rely so heavily on Python coding with its garbage collection and the features tend to lend more to the indie developer that I believe these are the two main reasons why huge development companies almost never touch Blender, though some of their artists use it for 3D content creation and animations.

Just like choosing a coding language, the best one really depends most on your objectives more than the thing itself, in regard to development frameworks. On the other hand, some ingenious developers have used a less than ideal framework for their games but with innovation and passion that resulted in a popular game.

By the way, with Blender, UDK, and Unity, almost any shortfall has the potential to be overcome with your own coding add-on, but read the license agreements which may weigh heavy in your decision, too.

Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

Blender Game Engine is going to be changing in the future.



What should then be dropped is the idea to make Blender have an embedded “true” game engine. We should acknowledge that we never managed to make something with the portability and quality of Unreal or Crysis… or even Unity3D. And Blender’s GPL license is not helping here much either.


It's going to become far more integrated with Blender, something they'll be calling Interactive Mode or somesuch. It won't be the partially-in, partially-out semi-standalone that it is now. So outside of walk-throughs or quick proto-typing, I don't think it will really be as useful for general games once that happens. If you intend to make games commercially, I'd personally recommend something other than BGE.



JTippets,

I fully respect your plausible view on this.

A couple of things to remember is that the next version series will be in discussion for a while and even after 2.7~ is released, things are subject to addition, revision, or even elimination - judging by the nature of the strong community feedback loop with the Blender development team. They had expressed a desire to continue expanding and improving the game development aspects of Blender in previous versions, but my sense is that they are taking a cautious stance with the upcoming threading efforts in the coding, though threading issues are being discussed in the community at this point. At least exploring the threading areas would be a logical next stage in development in my view since the existing code base showed enormous flexibility in features but somewhat at the expense of end-user game performance. Perhaps expansion of game development areas of Blender need to be temporarily put aside for the most part to handle processor issues. After these are satisfied then maybe we will see a refocusing on the previous objectives expressed by the Blender development team. To cover everything in the next version would be a great challenge.

Another subject to hash (among many for any framework) is improving the ability of indie developers to create their own add-ons, though the direction seems to go against this at the moment to, as you say, more "integration". There must be ways to move toward more integration while at the same time improving the ability for third-parties to create add-ons, I believe, but obviously doing both will require a lot of coding. They might have had a vision for doing so in an orderly way all along or we might see rebuilding of the source code on the next version. This will be interesting to watch.

Clinton

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer

The Blender Game Engine is at least as good as, if not better than all the other options currently available to beginners.

All the tools are integrated, and there's no paywall to get the "real" features. You can run your scenes from day one, and iterate quickly. Yes, it takes some time to learn, and you'll need to know Python to do anything more complex, but it's all there for you to use.

Some points I need to correct:


Unity uses DirectX where Blender uses OpenGL, this gives unity better frame rate even if directx is a bit harder to use.

I very much doubt that, but even if it were true, it would only be true on windows, and the overall fps delta would probably be negligible; OpenGL is the standard on all other platforms, and its performance is on par with directx (when used properly).


Unity uses Javascript and Blender uses Python that is easy to use but slow at times.

Python is a better language overall, and enables faster development, which is far more important than general execution speed.

To quote myself from this thread:

I think it basically reduces down to "the speed of light vs the speed of sound" argument: The speed of sound is ~880991x slower than the speed of light, but this is only obvious in specific circumstances, and it's only then that it actually matters.

Overall, I would recommend to focus on something that doesn't require "the latest and greatest in game technology", because those are projects that you could conceivably complete by yourself, or with a small team - Everything else is basically banging your head against the wall, until you finally realize that you were too ambitious, and that game development is generally difficult, even when making relatively simple games.

And look at some of the most successful indie games in history: How many of them are 2D games?

More than a few ... Think about it, and you'll understand what really matters (hint: it's not the technology).

PS:

In response to "the BGE is changing into a prototype-only environment" comment: I'm pretty sure that Ton made those comments just to "rattle the developers" a bit, in order to encourage discussion, and set more direct goals. In truth, no one really knows what's going to happen, but in general, the community wants to keep the engine in one form or another (there's no way to just "remove" open source software - it will always be around). Worst case scenario: The BGE is deprecated out of the mainline trunk code, and there's a version lock for a specific BGE build, which everyone will still be able to use. Best case scenario: The new prototype features are strong enough to serve as a better alternative, and everyone can simply use those, shipping their games with blender itself as a dependency.

+---------------------------------------------------------------------+

| Game Dev video tutorials -> http://www.youtube.com/goranmilovano | +---------------------------------------------------------------------+

I suggest looking at the example/'people have created these with our gamemaker" games to see if they are anything like what you would want your game to be. (Even the screen shots).

They will try to show fairly good ones (as a selling point) , but depending on your expectations/plans what you see may or may not be sufficient.

I keep looking in at these things from time to time and for what I would want even the most advanced/complex ones fall way short.

--------------------------------------------[size="1"]Ratings are Opinion, not Fact

This topic is closed to new replies.

Advertisement