Designing a 3D Game Engine ( a book I have )
by Madd Gamerzz · in General Discussion · 07/11/2007 (7:56 am) · 14 replies
I got this book called designing a 3D Game Engine... Super Confusing... First of all I would like to know your guys comments on it. Is it a good book? You can google the book and se what it is about becuase I really don't feel like typing every page so you guys know. Google is your friend. Also there are some really confusing math crap. Can you guys please google the book and help me with it so I can basically get started actually eading the book?
If you google it here si the information:
Title: 3D game Engine Design
Author: David H. Eberly
Also I would like to know if anyone else here has this same book. Book buddies... Lol
If you google it here si the information:
Title: 3D game Engine Design
Author: David H. Eberly
Also I would like to know if anyone else here has this same book. Book buddies... Lol
#2
And bsp's are simple compared to some of the algorithms in your book. It's an exercise in futility to attempt mathematical optimizations without understanding the algorithms that you are attempting to optimize. You are looking at a book designed for software engineers; advanced software engineers. He covers the basics extremely well, though each of his chapters could well have been a book in and of themselves (and often have been). In fact, each of his sub-topics could have been a book, whitepapers, or technical specifications--and have been.
What is your math background? What is your programming background? Are you going to be learning a language while boning up on discrete structures? You've got quite a battle to get the basics, let alone the particulars!
Here's a link to Michael Abrash's Graphics Programming Black Book. Chapter 61 should be particularly helpful on the basics of 3D projection (though there are several great places to pick and choose).
07/11/2007 (8:31 am)
Well, to understand some of the fundamentals of game engine design, you're going to have to have a strong math background, or at least a very particular math background. The "math crap" is actually necessary, especially if you want to optimize your engine, or even begin to understand what is going on. For example, binary space partitioning is a quick and rather useful way of representing and managing data, and yet it is often quite difficult to explain or illustrate (at least in a useful game development example). Michael Abrash's explanation is still one of the best for the algorithm--and his job interview for new programmers is especially sobering. And bsp's are simple compared to some of the algorithms in your book. It's an exercise in futility to attempt mathematical optimizations without understanding the algorithms that you are attempting to optimize. You are looking at a book designed for software engineers; advanced software engineers. He covers the basics extremely well, though each of his chapters could well have been a book in and of themselves (and often have been). In fact, each of his sub-topics could have been a book, whitepapers, or technical specifications--and have been.
What is your math background? What is your programming background? Are you going to be learning a language while boning up on discrete structures? You've got quite a battle to get the basics, let alone the particulars!
Here's a link to Michael Abrash's Graphics Programming Black Book. Chapter 61 should be particularly helpful on the basics of 3D projection (though there are several great places to pick and choose).
#3
07/11/2007 (8:35 am)
Ive only gotten to 6th grade math lol...
#4
07/11/2007 (9:04 am)
Well, you will have a *LOT* of work ahead of you if you want to understand 3D engine technology and make your own engine. It's definitely not impossible by any means, but it will require tons of dedication and time to get the basics down and then move beyond them.
#5
07/11/2007 (6:32 pm)
Well I am moving into 7th grade after summer... any tips to jumpstart my future career of Gaming? I am also prettyy experienced with Blender so maybe I can make a content pack for some allowance...LOL :)
#6
you *could* do it, but it would take a very, very long time, like years and years,
and at the end of it it's unlikely you'll have an engine which compares to off-the-shelf ones.
your time would be much better spent modding an existing engine like TGE.
you can even use the free version of TGE to build games which work right out of the free box.
07/11/2007 (7:59 pm)
Quote:any tips to jumpstart my future career of Gaming?don't write your own game engine.
you *could* do it, but it would take a very, very long time, like years and years,
and at the end of it it's unlikely you'll have an engine which compares to off-the-shelf ones.
your time would be much better spent modding an existing engine like TGE.
you can even use the free version of TGE to build games which work right out of the free box.
#7
You don't necessarily have to make your own game engine to get a job in the industry or make the next indie game. In fact, many (more and more every day) do not.
07/11/2007 (10:19 pm)
I agree with Orion. And especially, if you are an artist. Learn, beat the hell out of the art, and get very, very good.You don't necessarily have to make your own game engine to get a job in the industry or make the next indie game. In fact, many (more and more every day) do not.
#8
07/22/2007 (10:05 am)
No, I have already started... and so what if it takes years... at the same time you can be making a engine and a game.... Thats the whole point. Just like Runescape. Im making a engine specific to the game I am making so I don't have to change coding alot. I will only have to write it.
#9
6th grade huh.
Check it out: I'm about to graduate from college for game design.
My school tought me how to use the Unreal Editor, but I wanted to expand my knowledge with different engines so bought TGE and TGEA. After I bought the engines I all the books possible to make a game with Torque.
I bought 3d Game Programming all in one (the first and second edition), The Game programmers Guide to Torque, Role Playing Games with DirectX the second edition.
Here is my Theory: Since your only up to 7th grade and you say you want to make a game like Runescape why not expand your horizons and step it up a notch. Save some money buy some more books, take some advanced math classes (Linear Algebra, Physics, ect.). Buy TGEA put a game out that people will want to play and yes I've played Runescape (it really boring it more like a chat line than a game). Some MMO's I have a great deal of respect are Minions of Mirth, DreamLords, and Guildwars. Minions of Mirth is my favorite, because it doesn't seem like I'm doing the thing over and over again (W.O.W).
Classes you want to take or thing you want to learn before trying to make your game.
Math, Math, Math, C++, C#, story telling, game documentation, modeling, drawing.
I would suggest using Torque. If you can afford Torsion get it, because it will save alot of time.
Good luck.
07/22/2007 (12:37 pm)
@ Madd6th grade huh.
Check it out: I'm about to graduate from college for game design.
My school tought me how to use the Unreal Editor, but I wanted to expand my knowledge with different engines so bought TGE and TGEA. After I bought the engines I all the books possible to make a game with Torque.
I bought 3d Game Programming all in one (the first and second edition), The Game programmers Guide to Torque, Role Playing Games with DirectX the second edition.
Here is my Theory: Since your only up to 7th grade and you say you want to make a game like Runescape why not expand your horizons and step it up a notch. Save some money buy some more books, take some advanced math classes (Linear Algebra, Physics, ect.). Buy TGEA put a game out that people will want to play and yes I've played Runescape (it really boring it more like a chat line than a game). Some MMO's I have a great deal of respect are Minions of Mirth, DreamLords, and Guildwars. Minions of Mirth is my favorite, because it doesn't seem like I'm doing the thing over and over again (W.O.W).
Classes you want to take or thing you want to learn before trying to make your game.
Math, Math, Math, C++, C#, story telling, game documentation, modeling, drawing.
I would suggest using Torque. If you can afford Torsion get it, because it will save alot of time.
Good luck.
#10
The confusing math as mentioned by other people is extremely unavoidable, especially if you want to make your own engine, all the math has to go into it, the 3d aspect itself is all math and matrixes. So I'd suggest working on 2d first while learning the math and then going on to the 3d.
Also maybe you could start your 3d focus with mods, get hl2, quake 4, etc. and work on making a mod of the game, that way the engine is already build but your still learning.
And I think I should point out saying the reason for building the engine is to be game specific to save yourself from having to change a lot of code, it takes a lot more time to write a whole engine and build it up into a nice game then to take an engine and change code.
07/23/2007 (4:26 pm)
Being only in 7th grade (soon to be) you have plenty of time, especially if you plan on going to college for programming since that seem to be your interest. Why not start a little bit easier and work on learning to do some simple 2d games first. Once you have gotten really good at making a finished 2d game then start trying to figure out how to build up a 3d engine.The confusing math as mentioned by other people is extremely unavoidable, especially if you want to make your own engine, all the math has to go into it, the 3d aspect itself is all math and matrixes. So I'd suggest working on 2d first while learning the math and then going on to the 3d.
Also maybe you could start your 3d focus with mods, get hl2, quake 4, etc. and work on making a mod of the game, that way the engine is already build but your still learning.
And I think I should point out saying the reason for building the engine is to be game specific to save yourself from having to change a lot of code, it takes a lot more time to write a whole engine and build it up into a nice game then to take an engine and change code.
#11
07/23/2007 (4:31 pm)
One more thing if you want a free 3d engine you can play with you should check out http://sauerbraten.org/, it is made mostly for indoor style games but would be a good way to learn too
#12
07/27/2007 (2:19 pm)
Morrie, I am jsut curious but what level did you get to on Runescape?
#13
However the best benefit you can get by reading this book is the following:
You will realize how complex a game engine is , thus you will not dream to design a game engine by yourself
You will go through the GameDev.net threads ( Direct x , opengl ) you will read the post of the members and then back , with a smile , to your beloved Torque :)
07/28/2007 (1:17 pm)
Eberly's book is a masterpieceHowever the best benefit you can get by reading this book is the following:
You will realize how complex a game engine is , thus you will not dream to design a game engine by yourself
You will go through the GameDev.net threads ( Direct x , opengl ) you will read the post of the members and then back , with a smile , to your beloved Torque :)
#14
If you want to be a game engine developer, you will definitely need to learn C/C++. If your school doesn't offer it, there are things like Saturday Academy (or whatever is in your area) that will teach it for cheap. If you learn C/C++, most other languages that you'll encounter will "feel" similar (Java, C#).
As for math, you'll need to get up through "Linear Algebra" if you really want to seriously develop your own 3D engine. Typically, you take 1 year of calculus, 1 year of physics, differential equations, and linear algebra if you want a computer science degree. If you want to get going, starting with the highest math offered at your grade would be smart. When I was in the 7th grade, the highest we could take was algebra.
I probably started playing around with game code at the age of 14. My advice is don't get over-excited and take on a project that's too big to do. Of course, part of what you're going to learn is just what "too big" is! I would suggest for you taking an existing game engine (perhaps an open-source game) and just poking around to see what code does what, how you can change it, and so forth.
07/30/2007 (11:44 am)
Madd:If you want to be a game engine developer, you will definitely need to learn C/C++. If your school doesn't offer it, there are things like Saturday Academy (or whatever is in your area) that will teach it for cheap. If you learn C/C++, most other languages that you'll encounter will "feel" similar (Java, C#).
As for math, you'll need to get up through "Linear Algebra" if you really want to seriously develop your own 3D engine. Typically, you take 1 year of calculus, 1 year of physics, differential equations, and linear algebra if you want a computer science degree. If you want to get going, starting with the highest math offered at your grade would be smart. When I was in the 7th grade, the highest we could take was algebra.
I probably started playing around with game code at the age of 14. My advice is don't get over-excited and take on a project that's too big to do. Of course, part of what you're going to learn is just what "too big" is! I would suggest for you taking an existing game engine (perhaps an open-source game) and just poking around to see what code does what, how you can change it, and so forth.
Torque Owner The Fallen