• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
forsandifs

ETA for a from scratch 3d GFX engine?

19 posts in this topic

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?
0

Share this post


Link to post
Share on other sites
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 [b]GRAPHICS[/b] engine that could have ships flying through space firing bullets, etc but there would be only basic collision detection with that.
0

Share this post


Link to post
Share on other sites
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?
0

Share this post


Link to post
Share on other sites
It's equivalent to asking "[i]How many man-seconds does it take to sprint 100m?[/i]". 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...
1

Share this post


Link to post
Share on other sites
It really depends on too many factors. But as an example consider [url="http://www.ogre3d.org/"]Ogre[/url]. 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 [url="http://www.horde3d.org/"]Horde[/url] 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.
1

Share this post


Link to post
Share on other sites

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

Edited by jbadams
Restored post contents from history.
0

Share this post


Link to post
Share on other sites
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...).
0

Share this post


Link to post
Share on other sites
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 ([i]no, not out of self-profit :P[/i])

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 ;)
0

Share this post


Link to post
Share on other sites
[quote]You would mostly be looking at a few weeks for a simple [b]GRAPHICS[/b] engine that could have ships flying through space firing bullets [/quote]
Few weeks!
try less than a day :)
-1

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1300428563' post='4787348']
[quote]You would mostly be looking at a few weeks for a simple [b]GRAPHICS[/b] engine that could have ships flying through space firing bullets [/quote]
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.
0

Share this post


Link to post
Share on other sites
[quote name='jyk' timestamp='1300451443' post='4787441']
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]Yep, that's completing 98% of your work, and then having to complete the [i]other [/i]98%, which is why I always double my first estimates =D
0

Share this post


Link to post
Share on other sites
[quote]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
[i]You would mostly be looking at a few weeks for a simple [b]GRAPHICS[/b] engine that could have ships flying through space firing bullets[/i]
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
0

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1300471600' post='4787585']
[quote]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.[/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 :)
0

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1300428563' post='4787348']
[quote]You would mostly be looking at a few weeks for a simple [b]GRAPHICS[/b] engine that could have ships flying through space firing bullets [/quote]
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.
0

Share this post


Link to post
Share on other sites
[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 :) [/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 -> '[i]You would mostly be looking at a few weeks for a simple [b]GRAPHICS[/b] engine that could have ships flying through space firing bullets'
plus a lot more[/i].
0

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1300648187' post='4788317']
I find the more I code the more likely I am to write things that 'just work'™ I assume with most ppl is similar.[/quote]
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.

[quote]but within a day it could do this -> '[i]You would mostly be looking at a few weeks for a simple [b]GRAPHICS[/b] engine that could have ships flying through space firing bullets'
plus a lot more[/i].
[/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 ;)
0

Share this post


Link to post
Share on other sites
[quote name='forsandifs' timestamp='1300310927' post='4786755']
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?
[/quote]
Over 9000.
2

Share this post


Link to post
Share on other sites
[quote]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)
0

Share this post


Link to post
Share on other sites
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.
0

Share this post


Link to post
Share on other sites
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
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0