Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

Omnipotent

Where do I start when creating my first 3D engine?

This topic is 5666 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

Hi All, I am a recent graduate student from computer science. I have a lot of experience programming in C++ and using the MFC and the Win32 API. I also have been studying DirectX a lot in my spare time. I have become fairly familiar with DirectX mainly D3D and am able to do a lot of small little effects with the API. I want to now start creating my own 3d engine but I am unsure on where to begin. My question is where does one start from in creating his or her own 3d engine? The type of engine I was hoping to attempt to create is a FPS engine and make it easy enough to keep adding features. Any suggestions or comments on how to approach this would be nice. Thanks, Omnipotent

Share this post


Link to post
Share on other sites
Advertisement
start thinking about making a game..but just thinking about making it. you will think "ok, i need this..i need that."
those "this" and "that" will be the first thing to do in writing your engine.


My compiler generates one error message: "does not compile."

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Learn OpenGL first! Then think about anything else.

Share this post


Link to post
Share on other sites
Well I have learned Direct3d... And want to use Direct3d as my API language for my 3d engine. Does anyone know of any good tutorials that will help in starting you off on creating a 3d engine.

Share this post


Link to post
Share on other sites
"Learn OpenGL first! Then think about anything else. "

Stupidity included. He already knows Direct3d - what would OpenGL give him?

OK, you are in for a bad surprise: you dont have any architectural experience. You may THINK that you ahve a lot of programming experience - just from our HR guidelines I can tell you that you basically qualify for a one year trainee position now, in order to learn PROPER programming - students graduating normally have NO larger project experience at all :-) Not to take your qualifications down, just to put them into the right context.

Lets see - I would suggest dont try. Not "seriously". Start smaller - make a complete game (something like tetris), THEN go back and think about making an engine. Get some books - there are some that have sample engines. The most important part is now to get the "basic model" right.

I can give you an example. I am playing around with a C# written engine right now. I made some basic objects (camera, scene), decided on extensible rendering modules and started with ONE thing - terrain (and MS just told me I can publish the compiled file - now that the Dx9 runtime is public - great). From there I took "straws" into direct input (need to move around), and am slowly making some progress. Thats a hobby - this is a VERY complicated manner to do right :-)


Regards

Thomas Tomiczek
THONA Consulting Ltd.
(Microsoft MVP C#/.NET)

Share this post


Link to post
Share on other sites
I have already made a couple small type games, which include an Asteroids clone, Tetris clone, and a Puzzle fighter clone. What I am working on right now is a terrain engine which just simply takes a raw image file which provides the height map information. I now want to take the next step and program a full 3d engine with a level editor if it is feasible. I just was wondering what sources are available off the internet that would help me come up with a good design. Also any pass experience people may have had for getting started would be helpful.

Thanks for all the response so far!!

Share this post


Link to post
Share on other sites
heh, here''s a tutorial on Portal Engines
http://www.flipcode.com/portal/

but I think the best way to start is to create a MD2 loader, and a BSP loader :-P, after you can figure out that, the rest is easy


Share this post


Link to post
Share on other sites
Guest Anonymous Poster
quote:
Original post by thona
He already knows Direct3d - what would OpenGL give him?



All I can say is...

WHAT???!!!


OpenGL is FAR better than D3D. Ever heard of the Serious Engine or the Quake III engine...only 2 of the best engines ever made? Both of them are OGL based. OGL is lightyears ahead of D3D as far as speed and reliability. You just don''t see it much anymore b/c microsoft is trying to take over the world.

"What would OpenGL give him?" -- puhh! You make me sick.

-Q

Share this post


Link to post
Share on other sites
OpenGL is a great API, don''t get me wrong. Its what got me interested and started in 3d games programming, but to say that it is better than Direct3D is something. Yes, I used to be naive enough to think that OpenGL could do just about anything, but the truth is it just isn''t so. The Serious Engine, and the Quake III engine are both awesome feats of programming using OpenGL, but do I dare direct your attention to Unreal? One look at Unreal Tournament 2003, and the upcoming Unreal 2 - The Awakening will show you that anything is possible with Direct3D. Microsoft might be trying to take over the world, but at least they''re not doing it with crap!

I say if you''ve started with Direct3D, stay with Direct3D and maybe one day you can look into making your engine API independant.

Cheers Sledge

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

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

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!