Torque Book: 3D Game Programming All In One
by Ken Finney · in General Discussion · 05/03/2004 (5:09 am) · 126 replies
(I think the hijacking of Stede Troisi's thread has gone on long enough :-)
This is a sort of continuation of the thread found here.
ISBN: 159200136X
Uses the Torque Engine throughout, also covers MilkShape 3D and QuArK, among other tools.
Click on this link to order. I understand that GG will have an order link of their own on this site sometime soon, and you will be able to order through them as well.
Chapter Preview
Chapter 9.pdf
Table of Contents
1. Introduction to 3D Game Development
2. Introduction to Programming
3. 3D Programming Concepts
4. Game Programming
5. Gameplay
6. Network
7. Common Scripts
8. Introduction to Textures
9. Skins
10. Creating GUI Elements
11. Structural Material Textures
12. Terrains and Skyboxes
13. Introduction to Modeling with Milkshape
14. Making a player model
15. Making a Vehicle Model
16. Making Weapons and Items
17. Making Structures
18. Making the Game World Environment
19. Creating and Programming Sound
20. Game Sound and Music
21. Creating the Game Mission
22. The Game Server
23. The Game Client
24. The End Game
Appendices:
A: The Torque Game Engine Reference
B: Game Development Resources on the Internet
C: Game Development Tool Reference
D: QuArK Reference
This is a sort of continuation of the thread found here.
ISBN: 159200136XUses the Torque Engine throughout, also covers MilkShape 3D and QuArK, among other tools.
Click on this link to order. I understand that GG will have an order link of their own on this site sometime soon, and you will be able to order through them as well.
Chapter Preview
Chapter 9.pdf
Table of Contents
1. Introduction to 3D Game Development
2. Introduction to Programming
3. 3D Programming Concepts
4. Game Programming
5. Gameplay
6. Network
7. Common Scripts
8. Introduction to Textures
9. Skins
10. Creating GUI Elements
11. Structural Material Textures
12. Terrains and Skyboxes
13. Introduction to Modeling with Milkshape
14. Making a player model
15. Making a Vehicle Model
16. Making Weapons and Items
17. Making Structures
18. Making the Game World Environment
19. Creating and Programming Sound
20. Game Sound and Music
21. Creating the Game Mission
22. The Game Server
23. The Game Client
24. The End Game
Appendices:
A: The Torque Game Engine Reference
B: Game Development Resources on the Internet
C: Game Development Tool Reference
D: QuArK Reference
About the author
#102
It uses Torque throughout, and no other engine. I don't know why it doesn't mention Torque in the descriptions. Probably just Premier being cautious about using another company's trademark or something.
06/06/2004 (1:30 pm)
Brian,It uses Torque throughout, and no other engine. I don't know why it doesn't mention Torque in the descriptions. Probably just Premier being cautious about using another company's trademark or something.
#103
06/06/2004 (8:11 pm)
Alrighty, thanks guys, I ordered the book. :)
#104
I expected something small and light.. but this is very big.. especially next to my pocket c++ book i brought with it. heh.
I haven't managed to read it yet, but I flicked through it and it seems very insightful :)
and on a side note, I noticed that Ken is doing a game which is similar to one i was designing (arrrrrgh! typical) which means only one thing... i'm going to have to make mine better.. (hehe should be fun ;))
:Edit: spelling:
06/08/2004 (12:03 am)
Got mine yesterday! woo .. man the book is huge! I expected something small and light.. but this is very big.. especially next to my pocket c++ book i brought with it. heh.
I haven't managed to read it yet, but I flicked through it and it seems very insightful :)
and on a side note, I noticed that Ken is doing a game which is similar to one i was designing (arrrrrgh! typical) which means only one thing... i'm going to have to make mine better.. (hehe should be fun ;))
:Edit: spelling:
#105
06/08/2004 (5:57 am)
Just received mine ! Really impressive ! It will be a really usefull reference to keep on desk. Thanks Ken !
#106
Chapter 18:
I cannot get the audio working for buttonhover or any soundEffects for weather stuff?, it works in my other TGE engines...? I notice the name of the driver as "OpenAL"(in the initialize.cs), while the library is "OpenAL32.dll"...perhaps my adding of the global preferences were done incorrectly...in initialize.cs...???
in Setting Up Sound:
line4.= Exec("./interfaces/MasterScreen.gui"; ------!! I didn't see this filename at all...what I had was the last in the arrays as being ServerScreen.gui and .cs...and the name of the file given in line 1.= SetupScreen.gui while in line 1. it's listed as SettingsScreen, et al. I NEVER want to assume one file is another without checking first...
I also had to interpolate the Execution of weather.cs via an edit of "./server/server.cs"...it actually worked after that, noting the caveat of the OpenAL issue of no sound, it has it listed in the Audio Settings dialog, but no sound arrives ingame, I've checked other versions of the TGE and they work fine.
Addendum: I went back and copied the OpenAL application from my working TGE engine to my root Emaga6 folder and still no go...?? and on a up note: precipitation stayed outside my DFF structure I created!
06/09/2004 (8:20 am)
More notes on First Editon:Chapter 18:
I cannot get the audio working for buttonhover or any soundEffects for weather stuff?, it works in my other TGE engines...? I notice the name of the driver as "OpenAL"(in the initialize.cs), while the library is "OpenAL32.dll"...perhaps my adding of the global preferences were done incorrectly...in initialize.cs...???
in Setting Up Sound:
line4.= Exec("./interfaces/MasterScreen.gui"; ------!! I didn't see this filename at all...what I had was the last in the arrays as being ServerScreen.gui and .cs...and the name of the file given in line 1.= SetupScreen.gui while in line 1. it's listed as SettingsScreen, et al. I NEVER want to assume one file is another without checking first...
I also had to interpolate the Execution of weather.cs via an edit of "./server/server.cs"...it actually worked after that, noting the caveat of the OpenAL issue of no sound, it has it listed in the Audio Settings dialog, but no sound arrives ingame, I've checked other versions of the TGE and they work fine.
Addendum: I went back and copied the OpenAL application from my working TGE engine to my root Emaga6 folder and still no go...?? and on a up note: precipitation stayed outside my DFF structure I created!
#107
I just got a copy of your book, chapter one was greatly written and very interesting, but as soon as i got to chapter 2 i bumped into a problem on page 32. It asks me to go to the CD and install "UE tools" and says that it has a folder for it, but my CD has no such thing. Could you please explain what is going on or maybe im reading it wrong.Thank you.
PS
Also alot of setup derictions are in correct.
06/09/2004 (8:18 pm)
Hi,I just got a copy of your book, chapter one was greatly written and very interesting, but as soon as i got to chapter 2 i bumped into a problem on page 32. It asks me to go to the CD and install "UE tools" and says that it has a folder for it, but my CD has no such thing. Could you please explain what is going on or maybe im reading it wrong.Thank you.
PS
Also alot of setup derictions are in correct.
#108
I personally use gvim for source editing - so I skipped this part of the book.
I'm not sure I'm reading it correctly either but I _think_ the file you're after might be located in:
CD_DRIVE:\RESOURCES\TOOLS\UEPM.exe
That file is 'UE Project Maker for Torque'
good luck!
06/10/2004 (1:27 am)
Hi Blooper,I personally use gvim for source editing - so I skipped this part of the book.
I'm not sure I'm reading it correctly either but I _think_ the file you're after might be located in:
CD_DRIVE:\RESOURCES\TOOLS\UEPM.exe
That file is 'UE Project Maker for Torque'
good luck!
#109
I got a call from my partner this morning with a pretty interesting question about your book.
Pages 90 - 93 outline and illustrate the 3D world coordinate system as well as object coordinates.
What stumped him, and myself once I took a good look at it was an apparent discrepancy concerning figure 3.6 on page 92.
In this illustration, the coordinates are given for a 3D cube that is not centered on it's axis. All of the point coordinates are given with a negative z value.
What is particularly confusing about this illustration is it's context when compared with figure 3.1 wherein all values "behind" or beyond the 0 value are positive and not negative.
The only thing I could think of is that the illustration is inverted with regards to the z axis, seeing as the positive values in 3.6 are on the right, indicating a left handed coordinate system.
Could you clarify this a bit so I can give him a more definitive answer?
Thanks in advance.
06/10/2004 (12:17 pm)
Ken:I got a call from my partner this morning with a pretty interesting question about your book.
Pages 90 - 93 outline and illustrate the 3D world coordinate system as well as object coordinates.
What stumped him, and myself once I took a good look at it was an apparent discrepancy concerning figure 3.6 on page 92.
In this illustration, the coordinates are given for a 3D cube that is not centered on it's axis. All of the point coordinates are given with a negative z value.
What is particularly confusing about this illustration is it's context when compared with figure 3.1 wherein all values "behind" or beyond the 0 value are positive and not negative.
The only thing I could think of is that the illustration is inverted with regards to the z axis, seeing as the positive values in 3.6 are on the right, indicating a left handed coordinate system.
Could you clarify this a bit so I can give him a more definitive answer?
Thanks in advance.
#110
Since I was with the book on my hands, I checked that out.
figure 3.1 is left-handed, as explained in figure 3.2
figure 3.6 is right-handed.
06/10/2004 (1:06 pm)
Kirby,Since I was with the book on my hands, I checked that out.
figure 3.1 is left-handed, as explained in figure 3.2
figure 3.6 is right-handed.
#111
It's showing negative values in the forward plane where 3.1 shows that those values should be positive. =\
Also, in order for 3.6 to be right handed, you'd have to view it from inside the picture, looking out toward the page (which would then make the z values negative)because the positive x values are right of center, which looking AT the page makes it left handed, no(?)
Oh man, my head hurts now. LOL
06/10/2004 (1:16 pm)
Okay, I see what you're saying, but the z axis is still inverted(?)It's showing negative values in the forward plane where 3.1 shows that those values should be positive. =\
Also, in order for 3.6 to be right handed, you'd have to view it from inside the picture, looking out toward the page (which would then make the z values negative)because the positive x values are right of center, which looking AT the page makes it left handed, no(?)
Oh man, my head hurts now. LOL
#112
fig. 3.1 shows positive Z values forward hence it's LH. fig 3.6 shows negative Z values forward, hence RH.
See fig 3.2 LH & fig 3.3 RH. If you cut out fig 3.3, flip it horizontaly and then place it over fig 3.2 so that both positive X axis match you'll see the difference between RH & LH coordinates.
Even flipped, fig 3.3 will still be RH and will match fig. 3.6
HTH
06/10/2004 (1:34 pm)
But that's the difference between left & right coordinates.fig. 3.1 shows positive Z values forward hence it's LH. fig 3.6 shows negative Z values forward, hence RH.
See fig 3.2 LH & fig 3.3 RH. If you cut out fig 3.3, flip it horizontaly and then place it over fig 3.2 so that both positive X axis match you'll see the difference between RH & LH coordinates.
Even flipped, fig 3.3 will still be RH and will match fig. 3.6
HTH
#113
We REALLY should start breaking this thread into smaller ones. As I suggested before, I really miss not having a separate forum for this book. But the Documentation forum would do very nicely, since this 3DGPAI1 is an INVALUABLE piece of torque documentation.
Bruno
06/10/2004 (1:37 pm)
@ All,We REALLY should start breaking this thread into smaller ones. As I suggested before, I really miss not having a separate forum for this book. But the Documentation forum would do very nicely, since this 3DGPAI1 is an INVALUABLE piece of torque documentation.
Bruno
#114
I understand what you're saying, but how in the world would flipping the coordination of the X axis, which is the only real difference in a right or left handed system affect or invert the Z axis?
You're saying that the orientation of the Z axis is what determines it's right/ left handedness, but the book says differently (?).
In figures 3.2 and 3.3 we are shown a right and left handed system wherein positive Z points forward in both cases.
Between those two illustrations, the only inversion that took place was on the X axis.
What am I missing here?
[ edit for carification:]
the text states that the coordinates in the next illustrations are changed, that the axis will be different, but what I am wondering is WHY.
I understand the orientation of the Z ansd Y axis being derived from a top down perspective, but whay is Z inverted?
[/edit]
06/10/2004 (1:39 pm)
Okay, hold on a second Bruno.I understand what you're saying, but how in the world would flipping the coordination of the X axis, which is the only real difference in a right or left handed system affect or invert the Z axis?
You're saying that the orientation of the Z axis is what determines it's right/ left handedness, but the book says differently (?).
In figures 3.2 and 3.3 we are shown a right and left handed system wherein positive Z points forward in both cases.
Between those two illustrations, the only inversion that took place was on the X axis.
What am I missing here?
[ edit for carification:]
the text states that the coordinates in the next illustrations are changed, that the axis will be different, but what I am wondering is WHY.
I understand the orientation of the Z ansd Y axis being derived from a top down perspective, but whay is Z inverted?
[/edit]
#115
Thans for your help... and patience. =)
06/10/2004 (1:43 pm)
Doh - never mind. I see it now. =\Thans for your help... and patience. =)
#116
What determines the orientation of ANY axis is the right/left handedness of the other two.
What is facing forward doesn't really matter because you can rotate your POV in order to match the positiveness of your prefered axis.
Figures 3.2 and 3.3 both point the Z forward just as an ilustration but by flipping or rotating any of them you can point wherever you want and still maintain the RH/LH orientation.
06/10/2004 (1:48 pm)
It's the opposite :What determines the orientation of ANY axis is the right/left handedness of the other two.
What is facing forward doesn't really matter because you can rotate your POV in order to match the positiveness of your prefered axis.
Figures 3.2 and 3.3 both point the Z forward just as an ilustration but by flipping or rotating any of them you can point wherever you want and still maintain the RH/LH orientation.
#118
BTW Ken, I think your book is pure TGE gold! Thanks!
06/14/2004 (1:08 pm)
[EDIT] After reading a bit further in 3DGPAi1 book, the question I posed here was answered...BTW Ken, I think your book is pure TGE gold! Thanks!
#119
I copied the chapter 5 directory to chapter 6, like the book said to do, and applied the changes in the book (plus a few others that were not mentioned-- post if you want help with them) and when I connect to the server I fall through the earth (and keep falling, while watching the world fade away above me).
I noticed the following error message in the server (console) window after it starts up:
Executing control/data/maps/book_ch6.mis.
control/data/maps/book_ch6.mis (0): Register object failed for object Terrain of
class TerrainBlock.
After a look around, I figured out that all the references in the code (cs, gui and mis files) to "book_ch5" needed to be changed to
be changed to "book_ch6"-- then it all worked.
Also, an errata: change the "MasterScreen::Update" at the bottom of page 226 to "ServerScreen::Update" or else the whole shootin' match goes up in flames.
Hope this helps.
06/19/2004 (5:59 pm)
Well, chapter 6 has some problems...I copied the chapter 5 directory to chapter 6, like the book said to do, and applied the changes in the book (plus a few others that were not mentioned-- post if you want help with them) and when I connect to the server I fall through the earth (and keep falling, while watching the world fade away above me).
I noticed the following error message in the server (console) window after it starts up:
Executing control/data/maps/book_ch6.mis.
control/data/maps/book_ch6.mis (0): Register object failed for object Terrain of
class TerrainBlock.
After a look around, I figured out that all the references in the code (cs, gui and mis files) to "book_ch5" needed to be changed to
be changed to "book_ch6"-- then it all worked.
Also, an errata: change the "MasterScreen::Update" at the bottom of page 226 to "ServerScreen::Update" or else the whole shootin' match goes up in flames.
Hope this helps.
#120
06/20/2004 (9:01 am)
I bought it, but I've yet to read it. I have trouble focusing. Going to try rereading the first part and moving on. Must...keep...upp....willpower. I know that I just expect instant reward, and I know I won't get it. Curse my laziness!
Torque Owner Hank-Ahn