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

Started by
12 comments, last by Omnipotent 21 years, 4 months ago
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
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."
Learn OpenGL first! Then think about anything else.
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.
"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)
RegardsThomas TomiczekTHONA Consulting Ltd.(Microsoft MVP C#/.NET)
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!!
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


~~~~~Screaming Statue Software. | OpenGL FontLibWhy does Data talk to the computer? Surely he's Wi-Fi enabled... - phaseburn
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
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
please stop the opengl vs. directx nonsense.

Author, "Real Time Rendering Tricks and Techniques in DirectX", "Focus on Curves and Surfaces"
Author, "Real Time Rendering Tricks and Techniques in DirectX", "Focus on Curves and Surfaces", A third book on advanced lighting and materials

This topic is closed to new replies.

Advertisement