As soon as we started video-chatting, @frankiezafe showed me this graph, which could possibly be represented by the equation f(x) = sin(10*x)*exp(-x)+1.
That, he said, is the plot of my feelings of satisfaction and achievement with Ogre over time. It’s going from “super awesome” to “total discouragement” and back again, although as you can see the curve is slowly flattening and staying on the upper side of things. François is used to a learning curve when he gets interested in a new technology. And certainly, with open source software, you sometimes have to put extra work at the start to get yourself going. But he said he never hit such walls as with Ogre and at the same time felt so empowered as he was overcoming the difficulties. Definitely he said, at the end of the conversation, Ogre will be a tool he’ll be using for a lot of things from now on. “It’s so powerful”.
So what has been cooking at Polymorph for the past week?
Well, François is still completing his Exemple 2.0 which gathers in a neat fashion all the stuff he’s been learning so far. A kind of a reference project and a test bed for compilation. He also started developing PEEL using Ogre. At first he thought he was going to do some mesh generation on-the-fly in the engine itself, since the elements of PEEL have such simple geometries. But that did not work as expected in Ogre. The complexity necessary to generate meshes is far more demanding in Ogre than in Openframeworks for example. It’s not impossible, but somehow it’s an overkill and François wanted to get going with the game. So he opted for a quick modeling session in Blender using armatures and exported for Ogre.
And that brought a new challenge: shadows. Shadows in Ogre 2.0 are not activated by a simple switch (like in 1.9). They are now a complex set of parameters and passes that need to be taken care off in Ogre Compositor. This, although pushing back a little in terms of easiness, gives enormous power to the developer and game designer on how, what and when he wants shadows to be handled in the game. So it requires that you know what you’re doing. It requires understanding the whole rendering process and the multiple passes Ogre goes through to render a frame. There is also need to take into account the multiple versions of OpenGL, GLES and other shading languages found on the different platforms the game might be running.
Again, the Ogre Compositor is complex but extremely powerful. Possibly more powerful than the node editor of Blender, he says. Each node in itself can have its series of own sub-processes and passes, etc. A true compositing system optimized for realtime rendering. A game like Memory of a Broken Dimension, which François is a huge fan of, would make sense to be developed using Ogre and its compositor.
We then discussed on the advantages of open source over proprietary software. Even if open source software can be hard sometimes, you know so much afterwards that the journey is worth it. François has been using Unity3D for a while and although it’s supposed to be a fast and easy application to develop games. He enjoys Ogre better now, because at least, he knows how things are working. The problem with proprietary software is that there is this layer that is supposed to make things easier by hiding all the complexity, but it’s actually hiding its internal mechanism, which, as a user, you can not act upon, or even slightly understand or master. With libre/open source software, it’s totally the opposite, you have all the blocks you need. Sure, you have to know how they work. But then the possibilities are endless.
Conversation drifted to capitalism, DIY, and mass market. Ho, by the way, François is looking into posting PEEL on Steam. If you have any experience with that, he’d be happy to talk to you.