Here’s Something To Consider When Jumping Into New Technology

This week’s development is about to get done. Last Thursday I mentioned about the engine hunt. Miguel raised a very important point about switching technology. I agree with Miguel, that jumping from technology to another will harm any project – if things aren’t getting finished.

The reason why I started using NeoAxis engine was quite simple. It was (kind of) built on top of Ogre3D rendering engine (that I was using), and it has many additional libraries & tools implemented and ready to use. There are some factors that need to get into account when thinking about the technology, and key element for me is time.

My Ogre development started as planned, and I was doing nice progress with it. When I run into collisions issues, I saw that some of my original estimations (regarding tasks such as character moving & getting the physics lib work properly) would perhaps need bit more time. I took another look at the NeoAxis engine and saw that it already had many things done that I would be needing.

I took a closer look at the engine and made some performance tests. The benchmarks were fine, perhaps because it uses Ogre which I knew to be powerful enough for my purposes. I realized that since I was familiar with Ogre pipeline, I could use that knowledge to get things – such as animations and models – working in the NeoAxis engine.

Right now it looks like Ogre3D was a good choice for me, and putting NeoAxis engine “on top of Ogre” even better solution.

I realize that there will be heavy learning involved (getting into C# for one thing), and there will be some restrictions or additional requirements because of NeoAxis engine. For example, I need to include .NET files in the game distribution package – that’s 22 megabytes extra. Also, the network code is not finished at this point, but since it’s getting coded in the future releases, I have no problem with that. I have hands full of work with the single-player version.

To me this engine hunt boils down to time.

At this point I had finished 4 stories (or features) from the project with Ogre, and on the 2-3 days (when getting into NeoAxis engine) I realized that there were 5 other stories finished (and couple of more stories wouldn’t need so much work). Basically this means, that so far I’m roughly 2 weeks ahead my planned schedule. (Will show you a short video clip tomorrow)

Whatever you decide to do, follow Miguel’s advice. Don’t jump from engine to engine. Pick one and stick to it. If you are in the beginning of the project, and the switch can save your time – then feel free to consider it, but don’t make light decisions. Learning new technology always carries risks.

I have used Blitz3D in years 2001-2007, and now recently started learning Ogre. NeoAxis (that’s kind of like “built on top of Ogre”) seems like a natural step from “bit lower to bit higher” level, and so far it has saved my time – and my guess is that it will save my time also in the future.