Page 1 of 1

Prefab or DIY?

Posted: Mon Oct 07, 2002 11:22 pm
by TheGilb
Some might say that a game engine like OGRE is the answer to a problem, the problem being "How do I make a 3d game?". You have two options, either use someone else's engine, or write it yourself. Both have pro's and con's. If you DIY then you can personally guarantee that the engine will meet your requirements and every line of code is perfect.

However with modern OOP languages like C++, is it really necessary to 're-invent' the wheel a dozen times over? We no longer have to worry about bytes and addresses, these days we have classes and members. Surely an 'open' game engine framework (such as OGRE) which has functionality for pluggable extentions is a far better solution than hard-coding your own engine. Or is it?

Which do you preffer?

A combo

Posted: Mon Oct 07, 2002 11:32 pm
by temas
Really to me it comes down to a combination of the two. OGRE provides an amazing framework, but to truly make a game shine you're going to need to do things like write your own scene manager, shaders, materials, particle engines, and whatever else you need. You can even look at the long debate on the SF forum about whether OGRE should have coldet, networking, and what not in it. Everyone ends up with a different preference or a different idea, and having the ability to easily tailor to that is extrodinary. Although, even having the amazing base it's still a lot of work to keep adding what you needed. Besides, a game isn't made by visuals, it's made by an intriguing story and great gameplay.

Posted: Tue Oct 08, 2002 12:43 am
by robertbond
Ive been trying to make my own engine for the longest time, but I alawys find something that I get stuck on, and after while, I loose intrest.
But since Ive come across Ogre, things are just working out great!
I can finaly make the game I always wanted, and Im learning as I go.

Pre-made engines are always great to have, not just to take away the hard stuff, but to learn from too.

Games are complex software systems too

Posted: Tue Oct 08, 2002 10:50 am
by sinbad
All pieces of software, games or otherwise, often succeed or fail based on their ability to manage complexity and extend existing codebases to manage the particular task at hand. Writing everything from scratch just isn't practical in today's world, unless you plan never to deliver.

Therefore IMHO the best software developers of our time are not necessarily those who are the best at writing hardcore code, but those who can see potential in existing works and come up with ways to integrate and extend them quickly and elegantly, so as to apply their respective strengths to the task at hand. Knowing when to combine, when to extend and when to rewrite is a key skill which cannot be taught - it has to be learned in the trenches. In my experience some of the smartest people are often the least productive because, being smart, they believe they can rewrite everything better than anyone else; but that's not the way to get things done.

So a holistic approach is the best to take, and is one which you get better at the more times you do it. OGRE tries it's best to be friendly toward integrators and extenders, but designing for flexibility is one of the hardest things to do because you have to try to second-guess how people are going to want to extend it. Hopefully we're hitting the mark at least a good proportion of the time (sounds like we are), and we'll refine our aim over time as experience applying OGRE in real applications rolls in.

Posted: Tue Oct 08, 2002 11:58 am
by NeLo
Depend of your deadline and the work you want to dedicate to the engine.

I you want to make a game, not an engine, you can work with Ogre and adjust it to your needs (if it doesn't give to you already).

Now I'm programming my own engine to make a game. This is taking me long time (around 5 months of my spare time), but I'm sure that finally it will adjust to the game necessities.

However, to my next game, surely I will use Ogre, because make a engine with the same features, could take me a year o more. Instead, I can use Ogre right away and extend it easily if I need it, due to its clever structure.

PS: As you can see, I'm spanish. Forgive me if I make mistakes.