ETA for a from scratch 3d GFX engine?

Started by
18 comments, last by Frederick 13 years ago
How many man hours do you think it would take to write a 3d graphics engine from scratch that could be used in good looking commercial products?
Advertisement
Not to sound harsh, but this is a loaded question with to many variables. There are many types of engines and many different components that could or might not be included. You would mostly be looking at a few weeks for a simple GRAPHICS engine that could have ships flying through space firing bullets, etc but there would be only basic collision detection with that.
Thanks for your reply. You didn't sound harsh to me.

I'll try to be a bit more specific: it would just be a graphics engine with no collision detection. It would not be simple though imo, we're talking relative to current comercial games a good looking graphics engine. And we're talking getting it to an at least semi-professional state where people could use it in their commercial products. Just trying to get a ball park figure.

If I'm being too vague still I apologise.

Interpreting your estimate of a few weeks: is that 24 man hours each day or more like normal full time working hours (~9) each day?
It's equivalent to asking "How many man-seconds does it take to sprint 100m?". One man can do it in 9 and a half, another can do it in 30.

It could take a month or a year, depending on the person. The quality of the product would vary greatly too - even after 2 years one person's work might be inferior to another persons 1-weekend marathon...
It really depends on too many factors. But as an example consider Ogre. This popular 3D graphics engine has been used in numerous commercial applications and took the (exceptionally talented) lead programmer about 10 years to get to it's current state. Tha's working part time though, so perhaps 3 years is more reasonable.

Ogre is a large engine - a smaller engine such as Horde probably represents maybe one year of full time work. But in both these cases it's just the engine - if you want tools for importing assets etc this will cost you extra.

If you have more specific requirements then you can possibly get it down to months, but at this point your trading off features and possibly flexibility.

Anything from 2 weeks to 2 years, depending on skill, experience and procrastination level ;-) Pablo

If you have to ask, you're probably out of date by the time you're finished.

Considering that every graphics engine I've worked on had multiple people working on it ;)

But, of course, it all depends on the scope and your experience with 3D api's.

Multiply by three if you want to use it on more than one title (keep things generic, etc...).
To expand on what I said earlier - If someone asked me to make them a graphics engine, I would take as long as I could (no, not out of self-profit :P)

If they only gave me a weekend, I'd download Horde3D and wrap the API to fit the client's needs.
If they gave me a month, I'd get something done, but it would have a very bare-bones tool-chain.
If they gave me a year, it would come with the needed infrastructure, like Maya exporters, shader-assemblers, etc...

Often in a project, the time that it's allowed to take is a constant - the deadlines have already been decided and will not change. In these kinds of projects, you've got to scale back the niceties and work with rougher systems to get things done in that time-frame.
So the answer to how long it will take is: as long as you give me ;)
You would mostly be looking at a few weeks for a simple GRAPHICS engine that could have ships flying through space firing bullets [/quote]
Few weeks!
try less than a day :)

You would mostly be looking at a few weeks for a simple GRAPHICS engine that could have ships flying through space firing bullets

Few weeks!
try less than a day :)
[/quote]
If you're saying it should take someone less than a day to write a graphics engine of the complexity described above, I think that's a little optimistic ;)

First of all, as mentioned previously, the time it will take depends on what you already know. For someone starting from scratch with little or no knowledge of programming, math, and/or graphics, a simple rendering engine could take weeks, months, or even a year or more to get up and running.

But, even for someone who already knows all the material, 'less than a day' might still be a little optimistic, assuming you're really starting from scratch. Depending on scope (e.g. whether it's 2-d or 3-d, whether texture loading is supported, whether model loading is supported, etc.), it could easily take a day just to gather all the necessary libraries, get them built and integrated in whatever development environment you're using, type all the code, etc. And, even the simplest project will still have a code-build-debug cycle, and it's often (if not usually) the case that unexpected obstacles will arise as part of this cycle.

This topic is closed to new replies.

Advertisement