Jump to content
  • Advertisement
Sign in to follow this  
RayTrace

Putting all my Learning Together

This topic is 3482 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello There everyone! Let me jump into my story. I've been learning C++ and DirectX for 3years now, and I've decided to put all my knowledge into one single project. Well I'd like to create a 3D Game Engine based on DirectX 10 however I'm little dazed with these lots of things in my head. First of all let me ask a couple things and then we'll discuss all my questions if I don't hurt anyone's fellings. Firstly I'd like to ask about the development method of a 3D Game Engine. Where should a project like this starten? Well I'm willing to write a Framework with all the necessary tools to create a 3D Game so I decided to write the gui first and then I'll start implementing it's features one-by-one. Do you think it's a good idea? Thus I really don't have any idea how will I put everything together and build up an exe file but that's another story. For the framework itself I definied 4 necessary tools that's going to be necessary. These are: 1. A Common Event Handler for Creating menu, with easy design mode. I've set up like the people can tell what settings can be changed in options and store them in an handler file where the engine itself read these settings and render the scene. 2. Also a 3D Map Editor for creating maps. For this I'm willing to implement much more features like Phisics engine model viewer and so on. By this point I became really messed up. As long as I know DirectX uses .X files but my models are .3ds files. Know let's jump over the rendering method, and I really would like to ask, which is faster to render? A DirectX .X file or .3ds file? I mean there will be thousands of modells so personally I think .X file is better to render. 3. A Script Parser: I'm willing to implement a smaller scripting language specifically for game use, like weather effect control variates, and things like Enemy AI scripting, Battle Scripting and things like that. 4. Story-Creator: Well this is kinda also a scripter but for the gameplay itself, so for it it's necessary to have all the built up map files map scripts enemy AI scripts battle scripts and the menu seted up. So mainly this would handle the game's flow from after the menu till the end of credits till the scripter handles everything map/model related scripts. And of course if everything seems okay we can test/build our game. So this would be the Framework's design itself of course I have it even more depthly documented for myself. What do you think? Is it okay like this or what part(s) should be changed/removed/added? Let's jump to the Renderer itself. I'm willing to use massively DirectX 10 through every process of the rendering. Thus with it I still have questions, connected to performance. Let's suppose I have thousands of modell on a map. That means to pre-process every modell in the begininng all-in-one takes a dead-end. I've thought of an idea that on some way I should dynamically determine wheter we can see that actual model or no. If we can't see it we don't have to render it, so there's no need for pre-processing. However, if I dynamically load my models, I may fall into a mistake. Load the Mesh->Apply Normal Map Texture->Apply Effects->Apply Lights->Generate Dynamic Shadows Well it takes time, and I've found that by the water simulation it would require some time but also by foliage simulation. Let's not talk about if I give special preferencies to the foliage, like gravity, wind, etc. Then we have to load the model itself, have to apply the necessary effects and have to render it's animation also. Let's take a tree for example: Load the model->Apply Normal Maps->Apply Effects::(Gravity to leaves and smaller branches, wind to leaves)->Apply Global Light->Generate Dynamic Shadows->Morph the Object according to the wind's parameters->Render the Moving tree. As far as I can see this method'd take hella lot performace just by one model, and yet here I'm talking about a forest maybe, there I have to apply the phisic effects separatedly to every model for not to move everything on the same way. That would look rather furious. So till now I didn't found any good way for the rendering mechanism itself. I'd like to note that I want to build up this project from scratches so I'm not willing to modify an existing engine, I want ot find my own functions and implement everything like I'd like to, but of course I'm curious of other people's ideas with my ideas. Also What I'd like to discuss with you people, is about: How do you think is a Framework like the one I told capable of making any game, or I should just start thinking again? And the other thing anyone has any good idea of rendering really big scenes with: HDR Rendering, Normal maps, dynamic shadow generation, FOV effect, Motion Blur effects implemented features? Any idea is appreciated from my side and I hope I'm not toally foul with this idea of mine.

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by RayTrace
So till now I didn't found any good way for the rendering mechanism itself. I'd like to note that I want to build up this project from scratches so I'm not willing to modify an existing engine, I want ot find my own functions and implement everything like I'd like to, but of course I'm curious of other people's ideas with my ideas.
Also What I'd like to discuss with you people, is about: How do you think is a Framework like the one I told capable of making any game, or I should just start thinking again?
And the other thing anyone has any good idea of rendering really big scenes with: HDR Rendering, Normal maps, dynamic shadow generation, FOV effect, Motion Blur effects implemented features?


It's not really possible to answer this.. it's a very big project, you will just have to start making it. If you run into problems along the way, post a specific question about that problem instead.
My guess is that it's not a good idea at all to make a framework like that, instead you should probably make an engine for one specific game only. Maybe after you've done that you can modify it to fit one more game, and after that you can answer this question much better yourself.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!