Questions about 3d game engine development.

Started by
2 comments, last by grill8 15 years, 4 months ago
Hello, I have some questions about 3d game engine development. I have most of my modules designed for the engine but have some work to do still in a few categories. Question 1) It is my understanding that DX 9 is more widely used right now DX 10 because there are more users with DX 9 compatible hardware than DX 10 so there is a larger target audience. My game engine will take about a year to develop ... so ... my question is ... In one year from now would it be better to have an engine using DX 10 (for the mass public) than DX 9? Question 2) There are a few categories that I have not done any work on in the engine and would like some tips as to what to study and/or where to look to get techniques/algorithms that will be cutting edge in a year from now. The categories that I would like to have cutting edge techniques/algorithms for in one year are: 1) Level of detail for objects (entities represented by models such as boxes/crates/wrenches ... whatever). I have LOD done for my terrain but not game objects. 2) Effective real time rendering of vegetation (grass ... trees etc.). 3) Effective shadowing techniques for EVERYTHING. 4) Any good lighting tips ... I hear radiosity is good? 5) Portal technology. 6) Networking Question 3) I need a quality level editor for outdoor/indoor environments. I would prefer to have my own (or have an open source one) rather than rely on somebody elses (3rd party) but am open to ideas. Currently I am investigating 3d world studio. Any input on this topic would be greatly appreciated. Thank you for your help. Jeremy
Advertisement
Well according to the latest Steam survey results (linky) only 9.66% of Steam users have DX10 capable hardware AND Windows Vista installed. I very much doubt this will be above 50% in a years time (I do not know anyone who intends to switch to Vista before Windows 7 comes out, or anybody who would immediately switch to Windows 7 until it was a proven platform).

Also this may be redundant but write-games-not-engines!. The areas you describe are complex, it would take a year just to learn all these techniques (if you are a fast learner!), let alone implement them into an engine. And ofcourse by the time you have learnt the techniques that are cutting edge now they will no longer be cutting edge. Basically what I am saying is that what you are describing is a full-time job for a team of 10-20 programmers for at least a year! Its good to aim high, but if you expect too much you will be demotivated when it does not go as easily as you thought it would.

Bearing that in mind:
It depends how cutting edge you want to go, in the end you will be compromising for speed at some point, you won't be able to use ALL the most cutting edge techniques because they are generally also the most computationally intensive.
e.g. for LOD you could:
> Simply switch out objects at different polygon counts, finally moving to imposters or sprites.
> in addition to this you could alpha blend between the different LODs
> or you could vertex 'tween' between the different poly count LODs
> you could use imposters with depth info for correct culling
> you could use a parallax pixel shader on your depth imposters to give them a longer lifespan, if your CPU load is heavy, but your pixel load is light (probably not going to know that until you are well into development)

Google will be your best friend for more detailed info, also search the forums using the keywords you mentioned.
The real solution would be to write an API-Independent engine to begin with and implement it for DX 9 for now, then later after you have completed the engine and see more people using DX 10 you can easily implement it for DX10. That would be another important thing to learn under your categories of topics to learn.

Also relating to Question 3, if you are writing your own engine and make it flexible enough to use different API's and support different frames...etc. You should be able to write your own level editor as well, then you can even have a frame that renders what it would actually look like in game.
Thank you for your help. That is really helpful and useful.

If anyone else has anything to say this topic remains open.

Thank you again.
Jeremy

This topic is closed to new replies.

Advertisement