Unity versus Blender Game Engine

start the game with P (though not in the current 3d view, but a new window) i don’t really see why not that wouldn’t be feasible,

Exactly, that is the plan: when pressing ‘P’ is saves the .blend and executes GameKit. That process should be faster than python exporters.

No converter is needed, GameKit reads .blend files directly. We just need to complete the GameKit logic manager and brick extraction. A starting point has been made to extract logic bricks, with a basic logic manager to execute those bricks. Expect the first logic bricks to work very soon. See http://code.google.com/p/gamekit/source/browse/trunk/gamekit/main.cpp#774

Once some logic bricks work, I likely play around with more full python control (not just within the logic bricks) and perhaps LUA.

.blend and could provide asset protection, that is something a lot of people like of unity.

Reading .blend files can be through readblend can be further optimized. Adding a second optimized format and asset protection would be important indeed.

GameKit is fairly early stages indeed, but it can already display textured meshes and rigid body simulation from a .blend on Windows, Linux, Mac (using Irrlicht graphics) and iPhone (using Oolong Engine). I might play around with Ogre, as comparison with Irrlicht.

Anyway, the discussion is drifting away from Unity and BGE :slight_smile:
Thanks,
Erwin

No thank you, that sounds absolutely awesome. You are writing bge history Erwin!:smiley:

I meant manager. :smiley:

Yea, I was just making a point that the .blend doesn’t store the functionality provided by the BGE, and that this is something that the GameKit will have to provide for all the bricks/scripts.

Is that right?

Unity is game engine special built to make games. Blender however is not built to make games. Unity wins in the fact that it has a lot of real-time rendering techniques that would have to be scripted into Blender.

haven’t used unity yet…Have read over the features tho… but some features that always bring me back to the BGE:

When I look at other game engines… I always go straight to the physics specs to see what they can do… unity does sound like it has most physics features… and a good graphics pipeline that is rare for indy and small scale game engines.

I really enjoy using the bullet physics engine…wish it had some more bullet features implemented like getting the collision co-ordinates… and easier ways to setup joints and springs that can snap based on velocity etc using a gui… as well as ways of making fracture objects that don’t involve jumping through hoops.

The physics re-instance of the physics mesh is very useful… plus I like the ability to use the modifiers and shape keys in the game engine… being able to use animated modifiers would also be a stand out feature. I found the collision bounds and the soft bodies really fun to use (tho would like it to work with the collision detection logic bricks…)

not sure if other free game engines can do the same collision detection when it comes to objects with holes in them… yet to see examples of that… I find bullet really powerful.

The state machine is also very awesome to use.

BGE down side is lack of python control… could see much more python to control everything- apparantly this is easy to fix (according to Campbell but he’s super busy atm with Durian I guess). Also Unity has better shadows and sounds like better shaders etc. Tho I really like using blender to setup and demo the GLSL shader… could have more features here… or better control… like being able to get the outputted GLSL shader into a text file.

hmmm I could go on… BGE has a lot of attractive features but it’s need to be a bit more co-hesive…GUI’s etc… sound… python, more physics, better asset management etc, it hard to realisticly compare it to Unity who have a team of guys working on it.

I’m very excited by the Gamekit idea… even tho all these other game engines have all these features… I still end up coming back to BGE.

I don’t know how to program, I’m a sub-person!
And the game engine of Blender is no good, a sub-engine!
Sub-person and sub-engines go well together!
Why don’t you take your Python and C++ things and go talk to Gamasutra and the likes?
And give me back the red and green UV Editor lines!

i read all this “unity kills BGE” and yeah, it’s part true, BUT BGE is really cool in it’s own respect, because it goes hand in hand with level design.
Also, who agrees that one of the main reasons that unity is now free is blender? with all this gamekit thing going on, i believe they are starting to be afraid. just my 1 cent.

Also, who agrees that one of the main reasons that unity is now free is blender? with all this gamekit thing going on, i believe they are starting to be afraid. just my 1 cent.
I don’t think so.

  1. Unity Free means an augmentation of the user base/more feedbacks/bigger popularity/better quality (in a dream world).
  2. Some of those users will easily switch to the Pro version if they become used to the free version and understand the potential of the Pro one.
  3. It’s a smart move : lot of the Free version users that will move to “Pro” will not even compare the Pro version (1499$) with other engines on the market like Torque 3d (1000$).
  4. It will spread the installation of the Unity web plugin (remember flash?) : that means a biggest market, bigger interest from business companies, that will eventually buy the Pro license or more.

:spin:Did anyone notice the Wii publishing capabilitys besides the iPhone?

Looks impresive, in the end this is what we need to do in order to improve BGE, use other game engines. See what we like, adopt the good ideas discard the bad or useless ones. And in the long run we’ll have the most complete game engine and with the gamekit, freedom to use that power.:evilgrin:

While you are very likely correct, this saddens me.

Blender could have been the defacto standard for 3D on the web if only the plugin had received some TLC a few years ago. The way things are looking, Unity will very likely become what Blender could have been in that regard.

(Just what the world needs… another closed source web “standard” which cannot be ported to new browsers, platforms, or system architectures without users endlessly begging the developers to support their particular system. Remember flash?)

blendenzo
Exactly. I think “Remember Flash?” summed it all up very well. With all aspects.

I think Blender didn’t have a chance to become the standard in web-based 3D browser gaming because for one thing.

2.25 - 2.33 or so - BGE wasn’t even in Blender
2.33 - 2.40 - BGE collected dust
2.40 - BGE got the Bullet physics library, then collected dust in its buggy, broken state till 2.46.

The only reason we can make decent games in the BGE today is because Ben2610 started fixing and developing this dusty engine which attracted other developers, Erwin coming back to update the Bullet Library, and Blengine getting the Blender Institute to develop the BGE for Apricot.

The very fact there’s developer interest in the BGE is a step up from how it used to be.

Exactly, that is the plan: when pressing ‘P’ is saves the .blend and executes GameKit. That process should be faster than python exporters.

What if we don’t neccesarily want the .blend saved and written over right then, especially if we’re testing with experimental user-made features that may break our current logic, wouldn’t it make more sense to save the .blend to a special copy then, but saving the .blend manually still writes over the origional file?

And I assume this will mean you will spend more time adding features (like in logic and physics) to the BGE, providing GameKit will also support all new features being developed?

That’s a non issue, i guess erwin’s plan is indeed to save a temporal .blend file like $TEMP/gamekit.blend and then run gamekit $TEMP/gamekit.blend, and that way could be even easier to code than trying to use the original file.

You still have the problem of the BGE GPL license. Game engine technology works better under a BSD/MIT/Zlib style license. That is why I started the GameKit project, it uses Irrlicht (and optionally Ogre in the future) for graphics, and Oolong Engine for iPhone.

http://wiki.blender.org/index.php/Dev:Source/GameEngine/NodalLogic

Would be nice if Ben’s new logic development would consider creating a run-time under a BSD/MIT/Zlib style license, so we can combine efforts.

Thanks,
Erwin

Comparing Unity and BGE on a feature to feature basis is probably not the best approach to understanding why Unity is so good.

To me, it feels like Unity was designed by game designers for game designers - it seems like something designed by people who have made games and worked through the problems that designers deal with everyday (level builders, system designers and etc.) Almost everything I’ve been frustrated with over the last decade has been addressed. It’s pleasant to use and does the job very well. If I need the tool extended to support new features - no problem. If I need to prototype something for the engineers, no problem. If I need to make my own geometry, no problem (I just import from basically whatever I want). Need to edit textures or geometry in real time? Again, no problem. So far, everything has been easy to do.

Much of this (maybe all of it) is probably true for BGE, but it doesn’t matter. In three years of pushing, I’ve only gotten 1 other designer to even give it a try and he hated the UI so much he stopped using Blender after 1 day. The tool that really took off for game designers was SketchUp, which has an awesomely simple way of making geometry. When coupled with a game engine exporter, it’s very, very powerful. At my last studio, we had every game designer (7 designers) cranking out sophisticated geometry from SketchUp (which was later replaced with the pretty stuff from the art department) and iterating levels in game very quickly.

I think part of the missing information here is that studios are usually made up of teams of people. The art department has very different needs from the design department. While Blender is awesome and doing a great job of supporting art needs, it’s just totally not hitting the game designer needs. This may be just about packaging, documenation and workflow rather than features, but it’s still crippling BGE from being adopted much more wider (especially for “hobby projects” made on the side by professionals.) In some ways, using BGE to make a game is like expecting a game designer to learn 3D Max in order to script a level - it doesn’t make sense in studio environment and not many people have skills so broad that they can do everything themselves. Unity doesn’t expect anything from me except that I be a game designer.

*Edit - I forgot to mention that I use Unity as part of a team (Lead Designer), so my viewpoint is from that, rather than trying to do everything solo. This is a very important point in a production environment.

Afraid? That’s funny. They went free to become the Flash of 3D and to become institutionalized as the 3D engine to use. Getting 5 Millions dollars of investment didn’t hurt. Blender being free helps them quite a bit as it means little two man teams with no money can make decent projects using Unity + Blender.

Thanks for sharing your interesting thoughts.

Your writing, however, seems to mainly hits poll option 2: “Unity GUI is better for creating levels” :slight_smile:

New logic system, great news!

I’m sure as I’ve never been before that the GameKit together with more interface updates\features will really make Blender shine as the most complete and powerfull all around editor, coupled with the GameKit wich will be a fantastic “Blender-to-rendering engines porter” ( I don’t know a better way to define it :stuck_out_tongue: )

This is the future people, you Blender\BGE\GameKit developers have the possibility to change the story of game developing, keep going on :wink:

After that, even Unity will look like nothing compared to Blender + GameKit :slight_smile:

Forgive my “w00tness” and thank you Erwin for all your great work,
Cya =)

EDIT: By the way, in all those posts I never expressed my opinions on Unity; I didn’t used Unity that much, but to me, the Blender interface\workflow is still unbeatable, the possibility to edit everything in the same application is just too much; as for Unity, I felt myself quite “poor”, like I had nothing to do inside it, to me it looked like it was done just to place objects around, and set some properties, something I could do just with coding without much hassle, maibe after using the so much crowded Blender interface, every GUI looks “empty” to me; the only point for Unity goes to the performance and a little on features, since we know the BGE is not a very fast renderer… These are just the opinions of a BGE user who just scratched the surface of Unity :slight_smile:

Erwin, would it be possible to integrate GameKit into 2.5 like Povray is integrated? It might not work becuase GameKit is more than just a renderer?

Its just a suggestion, but would be nice to see happen :slight_smile:

Oh yea, Unity. I downloaded because it looks great, but unfortunately I actually need a graphics chip/card that is at least 2x better than the one I have now (which is just the intergrated graphics :P), however, I think the asset management in Unity looks great. If something similar could be added to the Blender outliner (drag and drop) that would probably satisfy my Unity urge (really sucks not being able to try it out). That and the programming looks good in Unity, the Boo language appears to have the fluency of python with the speed of a compiled language.

excuse my vagueness, but I thought a private company was revamping the BGE and was 5 times faster with simple optimization? Once that is incorporated won’t the BGE be fast enough? Or did I miss something and it’s already been added?