I’ve been using Gamebryo lately and the more I use it the more I like it. What I like the most is the toolset. Yesterday I was able to create an object in MAX that had 3 different textures with the default shader and apply an animation. I was then able to directly export this into the level editor, see the animation, and add a sound property. From there I was able to load the file into the game and with some debugging to see my object move around.
The equivalent in my engine right now would have been a monumental task, involving material files, adding programming for the sound and animation, and study of the code to figure out how to get the animation in the right place and to update over time.
The more I use it the more I realize the art problem with my own game was that I lacked the artist support tools that they provide
1. Level editor, with support for custom properties
2. Editing/viewing shader properties by artists in MAX
3. MAX previewer using the game renderer
4. Direct import of levels
5. Direct support for .fx shaders
If I had these things from the beginning I would have saved months that I otherwise wasted redoing art assets and the levels would have looked 10X better. Plus it would have been supported on the consoles.
Support is also very good. I get answers the same or the next day and the technicians are helpful.
My only major complaint is the documentation is incomplete. Yesterday, I spent 3 hours trying to figure out how to load their level asset format and then get the scene node root pointer. It took me 2 days to figure out how to load a custom shader, again mostly debugging. The documentation tells you part of what you need to know, with undocumented preconditions, or references to other systems. In those cases you have to debug the samples and source which is very time consuming.
Ogre is very good about this, where I generally can program from the documentation and didn’t have to build the source until late in the project.
What’s ironic is had I known about Gamebryo at the start of my project I wouldn’t have licensed it. The licensing fee would have scared me away, and if it didn’t, I still wouldn’t have used it. I would have looked at Ogre’s documentation and whatever I want to do would be very clear, vs. days of debugging in Gamebryo, assuming I had the source.
Knowing what I do now, at the end of this project, I would have licensed it. I spent more than the licensing fee in wasted money on artists, redoing art myself, and setting up hard to use tools.
If I manage to find a publisher I’m probably just going to restart the project and use Gamebryo. Especially now that I’ve already been learning it.