ETA for a from scratch 3d GFX engine?

Started by
18 comments, last by Frederick 13 years, 1 month ago

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.
Yep, that's completing 98% of your work, and then having to complete the other 98%, which is why I always double my first estimates =D
Advertisement
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 [/quote]
Of course this is based on your experience.
Sure sometimes unexpected things crop up but for me (Ive completed 100s of apps, mainly flash) & no doubt others to do this
You would mostly be looking at a few weeks for a simple GRAPHICS engine that could have ships flying through space firing bullets
would take less than a day cause you know from experience what to do.
At the other end of the spectrum a person may know nothing about coding,maths,design,logic,GFX etc in which case to achieve the above would take months

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

Of course this is based on your experience.[/quote]
Hm, so you're saying the 'debug' part of the 'code-build-debug' cycle is just my personal experience? All available evidence would seem to contradict that, but ok :)

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]

Sure, you can make a modelviewer in less than a day, but I'd hardly call that a "graphics engine".

Designing the API, getting all the boilerplate stuff ready, etc. would take much longer than a single day.
[size="1"]
Hm, so you're saying the 'debug' part of the 'code-build-debug' cycle is just my personal experience? All available evidence would seem to contradict that, but ok :) [/quote]
'your' doesnt mean you specifically, its meant as a general term for person or persons X.
Myself I spend less than 10% time debugging, (nowadays 90% of that time I spend debugging is cause of javascripts insane lack of static typing, grrr ), actually now I think about it, it would be a lot less than 10%. My ratio of coding-vs-debugging was far far higher back 20+ years ago or even 10 years ago. I find the more I code the more likely I am to write things that 'just work'(tm) I assume with most ppl is similar.

I actually knocked up a engine in about a day (from scratch in javascript) a few months ago, of course its not complete (even today) but then nothing is complete even the unreal/crytek/id etc engines are continuously being rewritten/tweaked.
but within a day it could do this -> 'You would mostly be looking at a few weeks for a simple GRAPHICS engine that could have ships flying through space firing bullets'
plus a lot more
.

I find the more I code the more likely I am to write things that 'just work'™ I assume with most ppl is similar.

Yes, definitely. But even experienced developers still have to spend time debugging. Also, I think how much time one spends debugging can be dependent on a variety of factors, such as language, development environment, number of platforms targeted, maturity of support libraries used, level of support for the technologies being used, targeted feature set of graphics APIs, and so on.

but within a day it could do this -> 'You would mostly be looking at a few weeks for a simple GRAPHICS engine that could have ships flying through space firing bullets'
plus a lot more
.
[/quote]
That simple description is still pretty vague. One could easily get something up and running in a day using existing frameworks and/or rapid development tools (and I certainly don't doubt that you were able to get something running in that time). But the above could also describe a cross-platform renderer targeting Windows (XP, Vista, 7), OS X (PowerPC and Intel), and Linux, with both OpenGL and Direct3D backends (depending on platform), with basic scene-graph support and support for loading textures and models, all written from scratch in C++ (with windowing handled by an API such as SDL). I don't care how experienced you are, just getting the project(s) set up appropriately for each platform and simply typing the code is probably going to take more than a day. And in reality, no matter how experienced you are, you're not going to be able to just type up the whole thing and have it build and run perfectly the first time. (Well, maybe you could, but that'd be pretty extraordinary.) Most likely, there will be multiple iterations of the code-build-debug cycle, and given how the C++ build process works and the fact that you have to build and test on three different platforms, that day is going to go by pretty quickly ;)

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?

Over 9000.
I don't care how experienced you are, just getting the project(s) set up appropriately for each platform and simply typing the code is probably going to take more than a day. [/quote]
well this was with webgl & html5. I.e. its a webpage/app
Thus it works on win/linux/mac/whatever with little or no difference between the platforms, well I cant see any diferences between say it running on linux as opposed to windows (though you do have differences between browsers eg chrome has 4xAA standard whereas firefox has no AA & the other stuff eg mousewheel,widgets/fonts displaying differently on each browser like most html pages)
It depends. If you know from heart all the technologies involved and the engine is already designed, assembling and testing to production an Unreal Engine to a single person could take a year (assuming no heavy redesign is required).

If you go learning the technologies and designing the engine as you code, it could take forever and never be done.
[size="2"]I like the Walrus best.
Hi,

I have been starting totally from scratch and use only basic library functions like font rendering, lists, hash maps and opengl of course..
I do this as a hobby next to my student job and studies. It took 3 years + and I am at the point, that I have a simple scene graph and can utilize many "modern" functions like glsl, multi pass materials, render to texture, vertex buffers. Many things are missing like collision detection, HDR, environment mapping, deferred lighting. Some of these are likely to be never implemented. I concentrate on characters on the moment as this is part of my diploma thesis: markerless motion capture.

Hardware progress is running forward and I play catch up ;)

I have by no means reached my goal, so prepare for a lot of work, reading and thinking. Maybe its more clever to specialize on a certain aspect and implement that, rather than doing
it "right" and implement an engine with full generic capability.

You need to be patient and put lots of work in it.

Actually I don´t know if i will ever finish a game, but it has taught me so much, I might eventually get a job in the field, at least have some chances.

I continue nevertheless...

Cheers,
Frederik

This topic is closed to new replies.

Advertisement