I am new to UDK and Blender but I've some prior game development experience on XNA. Now I want to know should I start using Blender gaming engine which is open source and gives lot of freedom to programmer or UDK which is awesome tool to create 3D games but it is very specific and bounds you to use Unreal script. Which one should I start?
Blender Game Engine is very unproven. I've seen very few games released using it, and all of those that I have played felt a bit dodgy (subjective term, sorry). UDK, on the other hand, is totally proven; there are a bunch of games, especially student games out there, that use it. They have varying degrees of success (generally, FPSes are the easiest sort of games to make in the engine), but there's gonna be more resources and mentors out there.
Does that mean you can't trailblaze and make a great game in Blender? Of course you can. Its just a higher-risk choice.
An alternative if you like Blender and want free coding in multiple languages is Unity. Unity will work seamlessly with Blender models, and it's much more proven than the Blender Game Engine.
Either is fine, but Blender has some very interesting advantages:
- It contains both the modeling tool and the game engine. You don't need another tool for creating the models. Use the same tool for both.
- The game engine uses a tile-based system. When you start with the game engine, you can use a tile-based drag-and-drop system to get your game working. You can get a pretty sophisticated game working (drive a vehicle around - shoot bad guys, take damage, scorekeeping) without writing a single line of traditional code.
- When you're ready for 'real' programming, Python is built in. Python is becoming a very popular language for game development because it's pretty sensible. It's already built into Blender (much of the blender UI is built with it.)
- True multiplatform. A game you've built with the game engine can be exported to an executable in the local OS.
The down side is the documentation, which basically stinks. I've got a series of videos (actually, it's one of my classes) which goes through blender and the game engine pretty thoroughly. Check it out at http://synapse.cs.iupui.edu/Mediasite/Catalog/Front.aspx?cid=5d511316-3092-446e-9a69-79d35c41b62d
The blender stuff starts at lecture 17, and the game engine stuff begins at lecture 27.
I would say Cube 2.
You know, you limited yourself too much, there are plenty of good options out there, Unity is cool, UDK, Source SDK (if you don't want to buy a source game, get Alien Swarm), Torque 3D is popular (although in my opinion it suck...), and so on...
Also there are some scenegraph stuff if you are willing to learn C++, like Horde3D (really great, REALLY great...), Ogre3D (really bloated... but good, and popular), Irrlicht (lighter than Ogre3D, more flexible than Horde3D, but the age and clutter shows...), and so on...
Your two options are limited in my opinion. I would say to you use Cube 2, it has a good scripting language (the original author of the engine is a professional langauge designer, that designed Far Cry 1 language, among other stuff), and it is open source too if you want to hack it to do more custom stuff.
If you do want to check out Blender then these links may help:
Blenderartists finished games forum: http://blenderartists.org/forum/forumdisplay.php?f=39 Blenderartists game resources forum: http://blenderartists.org/forum/forumdisplay.php?f=36
Beginners thread: http://blenderartists.org/forum/showthread.php?t=196825
Tutorial list thread: http://blenderartists.org/forum/showthread.php?t=11430
Project Apricot open game: http://www.yofrankie.org/
Personally I would wait for the next upgrade to the game engine in blender. Work seems to have been done integrating the BGE with Ogre: http://blenderartists.org/forum/showthread.php?t=155310&page=29
BGE = Blender game engine