Advertisement

3D Engine Design

Started by September 10, 2003 11:40 AM
1 comment, last by agentsim 21 years, 5 months ago
Hi all, I am trying to write a 3D game engine. I am currently stuck at the -1th step. What does a 3D engine do? How does it do it? Since this is the first time I am tackling this task, I want to write a small/medium complexity engine. I want to be able to reuse it in 2 or 3 games, and update if needed. Can anyone point me to tutorials or books or just a quick explanation of the design, features, implementation and architecture of a simple/medium 3D engine? Cheers, -agentsim
OpenGL Game Programming, which is advertised on the main nehe.gamedev.net page, has an excellent introduction to making a game engine.

Love means nothing to a tennis player

My nothing-to-write-home-about OpenGL webpage. (please pardon the popups!)

Advertisement
I bought that book and it is very interesting if you are a real beginner. If you are not, then you figure out it has very little (if any) value. Rigth now, it has been on my shelf for months.

Now back to the question.
As a non-professional game developer, I usually take inspiration.
Play a game, look at it.
You''ll eventually figure out that an "engine" is like other programs, it gains input and produces outputs.

What are those inputs? Keyboard an mice comes to mind, but time is also an input and artwork is another. Ultimatly, engines are usually programmable, taking "code-like things" as inputs. Network may be an input. Sound may also be, this is starting to spread right now.
What are the outputs? I feel getting graphics work effectively is a good 60% of the work. After you got it, everything other can recycle this and that (usually the case of sound). Sound and networks are other outputs. Screenshots are another... oh well, you get it.

The engine is what it''s in the middle. On gamasutra, I read it is not just that. An engine melts down every resource so everything looks easy for programmers and final users.

Good luck!

Previously "Krohm"

This topic is closed to new replies.

Advertisement