Unity versus Blender Game Engine

I think he means you can’t model/texture/light/animate your game objects and then play your game all in the same application, Blender still has one of the few solutions that’s doesn’t have any sort of pipeline other than paint programs in that respect.

Maybe the Unity devs. will end up creating a .blend file reader in the same vein as Erwin’s GameKit?

As for Unity supporting Bullet, that’s something they will have to do on their own, Erwin created this thread to get an idea of how the BGE could be developed to be more on par with Unity.

@Cyborg: You can friggen drop blender files directly into unity already :smiley:

Does it work like GameKit though, as in converting the logic bricks and python scripts into Unity scripts, does it auto-convert node materials and vertex colors and all of Blender’s GLSL settings?

GameKit actually converts the logic bricks and python scripts to work with Irrlicht.

They don’t load your game logic though, do they(gamekit does)? :wink:
They probably could if they’d use/support the read-blend library,
but then, what would they do with all of it inside unity… :-?

:slight_smile:
edit:

too late…

I prefer BGE but it still need a way to export the games to other platforms like iphone, with logic bricks you can do many things specially if you are not a programmer and im not a programmer and i have not money to hire one. Unity is a nice engine and with the new free version many people will use it but you still needing to buy licenses for export to iphone.

@Vladimir: You need to buy a license anyway no matter what engine you use to export to the iphone, even if you use GameKit…

Seems like a pretty useless poll… but an interesting topic.

I just downloaded Unity and will give it a try when I have time. However, it looks really nice and I’m surprised I’ve never seen it before.

How hard is it for somebody with a reasonable amount of programming knowledge (I’m pretty fluent in C++, C, Python, and Java) to start using Unity?

The iphone thing touches my heart (Things that dont move along with change eventually desapere, OjO there are exemptions), The way you creat levels might be simpler but Like mentioned earlier BGE looks more like a feature than a game engine.

This will only change when real effort and time is dedicated to the BGE and not Blender itself. Say 80/20 % give or take

It isn’t useless at all to me, I find the poll results and all the discussion interesting and useful.

So thanks everyone for voting, and who hasn’t done yet please vote :slight_smile:

Thanks,
Erwin

Well in my opinion, a lot of people wrong, is creating a war between the engines which have to discuss the most optimized feature or rather, if we do that then would use the Unreal Engine 3 or the CryEngine 3 among others, but we really have to know what’s good for us, the time of megadrive SuperNintendo and did not have much difference engines, was not amused that the graphics but the gameplay. And yes it is to wed the BGE its best to offer the facility to create a nice gameplay!

I have never used Unity, but I think that a big improvement for the game engine would be multi threading. Used with dynamic loading it would enable large terrain games using some form of terrain paging. The terrain and other objects could be loaded in the background while the game is being played.

Just my 2 cents:

To me, trying to correct the BGE now will be quite useless, since as others stated, if you want a good engine you will have to focus on the engine, not the modeling/animating etc.

I think the most smart thing to do now is leaving speed and focusing on power ( number of features ) and keep going with the GameKit, since no matter how much effort you put in, if you don’t dedicate 100% time to the engine you can’t pretend the BGE to be as powerfull as Unity ( or, for that matter, any other well developed engine )

So, dropping the engine and focusing on the editor and portability to other more powerful engines ( GameKit ) is the way to go ( or getting a team to work full time on the engine, but thats another story )

That’s what I think, if you have better ideas please share, I don’t want to go away and return to hard code other engines :frowning:

Cya =)

the problem is now unity is free what blender have more except shadow map and in engine modeling. But I think blender huge problem over speed and such is non retro compatibility and bugs. But I do need more power to bring a hl2 type of game in blender.

What the BGE needs is speed. Right now, it would be possible to make unities tropical demo in the BGE, but it would run at an unplayable speed.

just my $1 - .58

That gamekit you are talking about where can I download it? And is it even completed, And ready to be used?

This is such an interesting comparison. I really love both Unity and the BGE.

I think the benefits of Unity over the BGE are very quickly obvious, but for quickly creating interactive projects, I think the BGE is still a bit more artist friendly.

I’ve tried Unity a couple times, of course the asset importing and management is amazing. However, after importing an object and its texture, I couldn’t find an easy way to turn off the specular on the diffuse shader without editing shader code (it may exist and I don’t know). In Blender, shaders can be edited and viewed in real time via the regular user interface.

The other wall I hit when I tried Unity was my inability to do anything after importing assets and building my scene. I spend my time learning to be a better 3D artist, I won’t take the time to learn programming. Blender allows me to create interactions through logic bricks, so I can easily draft something game like.

I still feel the BGE to be more artist friendly. Being integrated with the actual 3D modeler, animator and visual logic editor means the BGE has an incredible amount of potential.

What it lacks is Unity’s polish. The BGE is still slow and has a large amount of barely documented quirks (instanced objects can parent in Blender, but not in the BGE? who knew!)

I think the most smart thing to do now is leaving speed and focusing on power ( number of features ) and keep going with the GameKit, since no matter how much effort you put in, if you don’t dedicate 100% time to the engine you can’t pretend the BGE to be as powerfull as Unity ( or, for that matter, any other well developed engine )

Err…new GameKit features will evidently mean new BGE logic features, as the BGE logic bricks and python API is used for GameKit games. I assume it would work like you pressing ‘P’ and instantly seeing your scene in the GameKit and then having a menu item saying ‘publish in GameKit’ if you have the GameKit downloaded. Or at least I hope there’s an easy way like that to test your games.

Also, if GameKit uses more of Irrlicht’s graphics capabilities that is not seen in Blender GLSL, will those added features have real-time preview in the Blender viewport?

… Is there an svn branch that I am not aware of?

As of this writing, the last revision made was on the 28th (r78, I believe), and after compile I didn’t notice anything more than the the default FPS setup that comes packaged up with irrlicht (looking at the main.cpp, I got the distinct feeling that it’s in the very early testing phases).

I assume it would work like you pressing ‘P’ and instantly seeing your scene in the GameKit and then having a menu item saying ‘publish in GameKit’ if you have the GameKit downloaded. Or at least I hope there’s an easy way like that to test your games.
Unless you copied the BGE source, you would need to have a converter, that would take the blender logic data (bricks + scripts), and convert it into data that the “gamekit engine” could actually execute.

Essentially, you would have two different engines, and then a converter layer that would “port” games from one to another.

Or, at least, this is my understanding.

Also, if GameKit uses more of Irrlicht’s graphics capabilities that is not seen in Blender GLSL, will those added features have real-time preview in the Blender viewport?
Obviously no.

You would need both applications to use irrlicht as a realtime renderer in order to have that capability.

Anyway, my recommendation:

Use the opportunity to do more than just “port” the existing logic framework from blender: create an option for some straightforward OOP capabilities with python, where we can subclass the gameobject, and register event handler functions for the available sensors.

…or don’t.

In either case, the gamekit is a nice start point for my own developments, and I’ll probably write features as I need/want them. The ability to convert blender data, and have irrlicht just “pick it up”, is the most important thing for me.

So, keep that part shiny, and I’ll be happy. :wink:

Thats why I said keep going with the GameKit, I meant more updates usable by the GameKit, and more “importing power”, since lets face it, if you don’t spend all you time in the BGE you will never reach the speed and power of ( for example ) Irrlicht or Ogre ( especially Ogre )

My idea is that, engines like Ogre got the power, and a lot, but they lack a good level editor since they do rendering only, so the big thing is, you focus on the BGE features, and then you import your work to this faster engines, letting them process the data…

In conclusion, why not make Blender the best editor ( for meshes, logic, animation, and everything else really ) maibe leaving the current renderer to preview the work only, and build-in a fast way to import everything to another engine? What do you think of this? You will be able to use the faster engines but actually doing the work with the ease of use of Blender, I think this will be the best way to go? What are your opinions on this? I’m just mad or maibe that’s what you ( erwin ) are already trying to do?

Sorry for my “asking spree”, but I like to have a clear idea of what someone got in his mind :stuck_out_tongue:

Cya =)

EDIT: Btw I say this because as more than one man stated the BGE seems more of an “addition” then a real game engine, so at this point is better dropping it once for all and focusing on what Blender do that nothing else can do; I prefer having a software doing 1 thing but well than 100 but bad ( though I love the workflow of Blender )… I’m not bashing Blender, I say this because I think its a great software and I don’t want to be forced to drop it for a lack of usefullness…

GameKit would be great if it were just like panda3d in terms of features and design, but with a decent physics engine (both the builtin and ODE engine suck balls compared to what Bullet can do in the BGE), some sort of documentation (panda has very poor function-level documentation, area in which the bge shines), and sane integration with blender.

Maybe GameKit could be distributed along with blender, though it would build a separate binary under the BSD license terms, would let you 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, having a new window pop up when running the game is not really annoying and could prove useful for seeing how the game would look to the end user.

The only “redundant” part in the GameKit would be the blender reader library, since the integration with blender would allow to use RNA for converting the data to a “lossy” middle format gamekit could later parse faster (and less dependently of BF’s format changes) than .blend and could provide asset protection, that is something a lot of people like of unity.