Showing posts with label SAMS. Show all posts

Sams Teach Yourself : Seventh Edition

Laura Lemay, Rafe Coburn, Jennifer Kyrnin


e-books shop
e-books shop
Purchase Now !
Just with Paypal



Book Details
 Price
 3.00 USD
 Pages
 1471 p
 File Size
 46,653 KB
 File Type
 PDF format
 ISBN-13
 ISBN-10
 978-0-672-33623-2
 0-672-33623-5
 Copyright   
 2016 by Pearson Education, Inc   

About the Author
Rafe Colburn is an author and web developer with more than 15 years of
experience building websites. His other books include Special Edition Using
SQL and Sams Teach Yourself CGI in 24 Hours. You can read his blog at
http://rc3.org or find him on Twitter as @rafeco.
Jennifer Kyrnin is an author and web designer who has been working on the
Internet since 1995. Her other books include Sams Teach Yourself Bootstrap in
24 Hours, Sams Teach Yourself Responsive Web Design in 24 Hours, and Sams
Teach Yourself HTML5 Mobile Application Development in 24 Hours. She can
be found at http://htmljenn.com/ or on Twitter as @htmljenn.
Laura Lemay is one of the world’s most popular authors on web development
topics. She is the original author of Sams Teach Yourself Web Publishing with
HTML, Sams Teach Yourself Java in 21 Days, and Sams Teach Yourself Perl in 21 Days.

Who Should Read This Book
Is this book for you? That depends:
If you’ve seen what’s out on the Web and you want to contribute your own
content, this book is for you.
If you work for a company that wants to create a website and you’re not
sure where to start, this book is for you.
If you’re an information developer, such as a technical writer, and you
want to learn how the Web can help you present your information online,
this book is for you.
If you’re just curious about how the Web works, some parts of this book
are for you, although you might be able to find what you need on the Web itself.
If you’ve created web pages before with text, images, and links, and
you’ve played with a table or two and set up a few simple forms, you may
be able to skim the first half of the book. The second half should still offer
you a lot of helpful information.

Table of Contents
Introduction
PART I: Getting Started
LESSON 1: What Is Web Publishing?
Thinking Like a Web Publisher
The Web Is a Hypertext Information System
The Web Is Cross-Platform
The Web Is Distributed
The Web Is Dynamic
The Web Is Interactive
Web Browsers
What the Browser Does
An Overview of Some Popular Browsers
Web Servers
Uniform Resource Locators
Defining Web Publishing Broadly
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 2: Getting Your Tools in Order
Anatomy of a Website
Setting Up Your Computer for Web Publishing
Text Editors
A Web Browser
Using the Google Chrome Developer Tools
What Do You Want to Do on the Web?
Wireframing Your Website
What’s Wireframing, and Why Do I Need It?
Hints for Wireframing
Web Hosting
Using a Content-Management Application
Setting Up Your Own Web Hosting
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 3: Introducing HTML and CSS
What HTML Is (And What It Isn’t)
HTML Describes the Structure of a Page
HTML Does Not Describe Page Layout
Why It Works This Way
How Markup Works
What HTML Files Look Like
Text Formatting and HTML
HTML Attributes
Using the style Attribute
Including Styles in Tags
A Short History of HTML Standards
XHTML
The Current and Evolving Standard: HTML5
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
PART II: Creating Web Pages
LESSON 4: Learning the Basics of HTML
Structuring Your HTML
The <html> Tag
The <head> Tag
The <body> Tag
The Title
Headings
Paragraphs
Comments
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 5: Organizing Information with Lists
Lists: An Overview
Numbered Lists
Customizing Ordered Lists
Unordered Lists
Customizing Unordered Lists
Definition Lists
Nesting Lists
Other Uses for Lists
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 6: Working with Links
Creating Links
The Link Tag: <a>
Linking Local Pages Using Relative and Absolute Pathnames
Absolute Pathnames
Should You Use Relative or Absolute Pathnames?
Links to Other Documents on the Web
Linking to Specific Places Within Documents
Creating Links and Anchors
The name Attribute of the <a> Tag
Linking to Elements in the Same Document
Anatomy of a URL
Parts of URLs
Special Characters in URLs
The rel Attribute
Kinds of URLs
HTTP
Anonymous FTP
Non-Anonymous FTP
Mailto
File
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
PART III: Doing More with HTML and CSS
LESSON 7: Formatting Text with HTML and CSS
Character-Level Elements
Semantic HTML Tags
Changes to Physical Style Tags in HTML5
Character Formatting Using CSS
The Text Decoration Property
Font Properties
Preformatted Text
Horizontal Rules (or Thematic Breaks)
Attributes of the <hr> Tag
Line Break
Addresses
Quotations
Special Characters
Character Encoding
Character Entities for Special Characters
Character Entities for Reserved Characters
Fonts and Font Sizes
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 8: Using CSS to Style a Site
Including Style Sheets in a Page
Creating Page-Level Styles
Creating Sitewide Style Sheets
Selectors
Contextual Selectors
Classes and IDs
What Cascading Means
Units of Measure
Specifying Colors
Editing Styles with Developer Tools
Using Color
Links
The Box Model
Borders
Margins and Padding
Controlling Size and Element Display
Float
More Selectors
Pseudo-Classes
Attribute Selectors
The <body> Tag
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 9: Using Images on Your Web Pages
Images on the Web
Image Formats
GIF
JPEG
PNG
SVG
Inline Images in HTML: The <img> Tag
Adding Alternative Text to Images
Images and Text
Text and Image Alignment
Wrapping Text Next to Images
Adjusting the Space Around Images
Images and Links
Other Neat Tricks with Images
Image Dimensions and Scaling
Image Backgrounds
Using Images as Bullets
What Is an Imagemap?
Getting an Image
Determining Your Coordinates
The <map> and <area> Tags
The usemap Attribute
Image Etiquette
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 10: Building Tables
Creating Tables
Table Parts
The <table> Element
Summarizing the Table
Rows and Cells
Empty Cells
Captions
Sizing Tables, Borders, and Cells
Setting Table Widths
Changing Table Borders
Cell Padding
Cell Spacing
Column Widths
Table and Cell Color
Aligning Your Table Content
Table Alignment
Cell and Caption Alignment
Spanning Multiple Rows or Columns
More Advanced Table Enhancements
Grouping and Aligning Columns
Grouping and Aligning Rows
How Tables Are Used
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 11: Using CSS to Position Elements on the Page
Positioning Schemes
Relative Positioning
Absolute Positioning
Positioning Properties
Positioning Properties and Height and Width
Nesting Absolutely Positioned Elements
Dynamic Overlays
Fixed Positioning
Controlling Stacking
Creating Drop-Down Menus
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 12: Designing Forms
Understanding Form and Function
Using the <form> Tag
Using the <label> Tag
Creating Form Controls with the <input> Tag
Creating Text Controls
Adding Options to Text Fields with datalist
Using the New HTML5 Controls
Creating Password Controls
Creating Submit Buttons
Creating Reset Buttons
Creating Check Box Controls
Creating Radio Buttons
Using Images as Submit Buttons
Creating Generic Buttons
Hidden Form Fields
The File Upload Control
Using Other Form Controls
Using the button Element
Creating Large Text-Entry Fields with textarea
Creating Menus with select and option
Grouping Controls with fieldset and legend
Changing the Default Form Navigation
Using Access Keys
Creating disabled and readonly Controls
Displaying Updates with progress and meter
Applying Cascading Style Sheet Properties to Form Elements
Planning Your Forms
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 13: Structuring a Page with HTML5
A Short History of HTML Page Layout
Laying Out a Page in HTML5
HTML5 Structural Tags
Sections
Header
Footer
Navigation
Articles
Asides
The Page Outline
Elements with Their Own Outlines
Using HTML5 Structural Elements
Polyfill Scripts
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercise
LESSON 14: Integrating Multimedia: Video and Sound
Embedding Video the Simple Way
Advantages and Disadvantages of Hosting Videos on External Sites
Uploading Videos to YouTube
Customizing the Video Player
Other Services
Hosting Your Own Video
Video and Container Formats
Converting Video to H.264
Embedding Video Using <video>
The <video> Tag
Using the <source> Element
Embedding Flash Using the <object> Tag
Alternative Content for the <object> Tag
The <embed> Tag
Embedding Flash Movies Using SWFObject
Flash Video Players
JW Player
Using Flowplayer
Using the <object> Tag with the <video> Tag
Embedding Audio in Your Pages
The <audio> Tag
Flash Audio Players
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 15: Advanced CSS: Page Layout in CSS
Laying Out the Page
The Problems with Layout Tables
Writing HTML with Structure
Writing a Layout Style Sheet
The Floated Columns Layout Technique
The Role of CSS in Web Design
Style Sheet Organization
Site-Wide Style Sheets
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 16: Using Responsive Web Design
What Is Responsive Web Design?
History of Responsive Web Design
Why RWD Is Important
RWD Is More Than Just Changing the Number of Columns
Mobile Devices Should Come First
Mobile First
Affecting the Viewport
Planning a Responsive Website
Check Your Analytics
Try the Site with Your Own Phone
Decide What Content Is Critical
Writing Media Queries
Media Types
Media Features
Breakpoints
Building a Style Sheet with Media Queries
Understanding the Mechanics of RWD
Adjusting the Layout
Making Images and Videos Responsive
Building Responsive Tables
Responsive Web Design Best Practices
Give Everyone the Best Experience
Use the Best Breakpoints for Your Website, Not for Devices
Be Flexible But Think Small
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
PART IV: Using JavaScript and jQuery
LESSON 17: Introducing JavaScript
Why Would You Want to Use JavaScript?
Ease of Use
Improving Performance
Integration with the Browser
The <script> Tag
The Structure of a JavaScript Script
The src Attribute
JavaScript and the Chrome Development Tools
The JavaScript Language
Operators and Expressions
Variables
Control Structures
Functions
Data Types
Arrays
Objects
The JavaScript Environment
Events
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 18: Using jQuery
What Are JavaScript Libraries?
Getting Started with jQuery
Your First jQuery Script
Selecting Elements from the Document
Binding Events
Modifying Styles on the Page
Hiding and Showing Elements
Retrieving and Changing Style Sheet Properties
Modifying Content on the Page
Manipulating Classes
Manipulating Form Values
Manipulating Attributes Directly
Adding and Removing Content
Special Effects
AJAX and jQuery
Using AJAX to Load External Data
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 19: Using JavaScript in Your Pages
Validating Forms with JavaScript
Hiding and Showing Content
The Same Code with jQuery
Adding New Content to a Page
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 20: Working with Frames and Linked Windows
What Are Frames?
Why Were Frames Removed from HTML5?
What About Iframes?
Working with Linked Windows
Browsing Context Keywords
The <base> Tag
Inline Frames
Opening Linked Windows with JavaScript
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
PART V: Designing for Everyone
LESSON 21: Designing for the Mobile Web
People Browse Differently on Mobile Phones
Standards Compliance and the Mobile Web
Progressive Enhancement
Validating Your Pages
Writing for the Mobile Web
Write Clearly and Be Brief
Organize Your Pages for Quick Scanning
Make Each Page Stand on Its Own
Be Careful with Emphasis
Don’t Use Browser-Specific Terminology
Spell Check and Proofread Your Pages
Design and Page Layout
Use Headings as Headings
Group Related Information Visually
Use a Consistent Layout
Using Links
Mobile Users Tap; They Don’t Click
Use Link Menus with Descriptive Text
Use Links in Text
Avoid the “Here” Syndrome
To Link or Not to Link
Using Images and Multimedia
Don’t Overuse Images
Keep Images Small
Watch Out for Assumptions About Your Visitors’ Hardware
Don’t Make Your Videos Annoying
Avoid Flash
Making the Most of CSS and JavaScript
Put Your CSS and JavaScript in External Files
Location Matters
Shrink Your CSS and JavaScript
Take Advantage of Mobile Features
Geolocation
Make Phone Calls
SMS
Other Good Habits and Hints for Mobile Web Design
Link Back to Home
Don’t Split Topics Across Pages
Sign Your Pages
One Final Secret to Mobile Web Design
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 22: Designing for User Experience
Considering User Experience Level
Add a Search Engine
Use Concise, Sensible URLs
Navigation Provides Context
Are Your Users Tourists or Regulars?
Determining User Preferences
What Is Accessibility?
Common Myths Regarding Accessibility
Section 508
Alternative Browsers
Writing Accessible HTML
Tables
Links
Images and Multimedia
Designing for Accessibility
Using Color
Fonts
Take Advantage of All HTML Tags
Frames
Forms
Validating Your Sites for Accessibility
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
PART VI: Going Live on the Web
LESSON 23: How to Publish Your Site
What Does a Web Server Do?
Other Things Web Servers Do
How to Find Web Hosting
Using a Web Server Provided by Your School or Work
Using a Commercial Web Host
Commercial Web Builders
Setting Up Your Own Server
Free Hosting
Organizing Your HTML Files for Publishing
Questions to Ask Your Webmaster
Keeping Your Files Organized with Directories
Having a Default Index File and Correct Filenames
Publishing Your Files
Moving Files Between Systems
Troubleshooting
I Can’t Access the Server
I Can’t Access Files
I Can’t Access Images
My Links Don’t Work
My Files Are Being Displayed Incorrectly
Promoting Your Web Pages
Getting Links from Other Sites
Content Marketing Through Guest Posting
Promoting Your Site Through Social Media
Creating a Facebook Page for Your Site
Site Indexes and Search Engines
Business Cards, Letterhead, Brochures, and Advertisements
Finding Out Who’s Viewing Your Web Pages
Log Files
Google Analytics
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 24: Taking Advantage of the Server
How PHP Works
Getting PHP to Run on Your Computer
The PHP Language
Comments
Variables
Arrays
Strings
Conditional Statements
PHP Conditional Operators
Loops
foreach Loops
for Loops
while and do...while Loops
Controlling Loop Execution
Built-In Functions
User-Defined Functions
Returning Values
Processing Forms
Handling Parameters with Multiple Values
Presenting the Form
Using PHP Includes
Choosing Which Include Function to Use
Expanding Your Knowledge of PHP
Database Connectivity
Regular Expressions
Sending Mail
Object-Oriented PHP
Cookies and Sessions
File Uploads
Other Application Platforms
Microsoft ASP.NET
Java EE
Ruby on Rails
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
LESSON 25: Search Engines and SEO
What Is SEO?
Why You Need SEO
What About Social Media?
You Can Do Your Own SEO
Why Don’t Search Engines Find Sites Without SEO?
How Search Engines Work
Google
Microsoft Bing
Yahoo!
Don’t Forget International Searches
SEO Techniques
Is Your Site “Friendly?”
Using Keywords and Keyword Research
Creating Content for Customers Is the Best SEO
Myths and Facts About SEO
Tools for Tracking and Managing SEO
Using Sitemaps
The robots.txt File
Understanding Canonical Links
Redirecting Duplicate Content
Checking How Your Site Looks to Search Engines
Tracking Your SEO Efforts
Paying for Links
Summary
Workshop
Q&A
Quiz
Quiz Answers
Exercises
Index


Bookscreen
e-books shop

Introduction
Over the past decade, the Web has become completely integrated into the fabric
of society. Most businesses have websites, and it’s unusual to see a commercial
on television that doesn’t display a URL. The simple fact that most people know
what a URL is speaks volumes. People who didn’t know what the Internet was
several years ago are now reconnecting with their high school friends on Facebook.
Perhaps the greatest thing about the Web is that you don’t have to be a big
company to publish things on it. The only things you need to create your own
website are a computer with access to the Internet and the willingness to learn.
Obviously, the reason you’re reading this is that you have an interest in web
publishing. Perhaps you need to learn about it for work, or you’re looking for a
new means of self-expression, or you want to post baby pictures on the Web so
that your relatives all over the country can stay up-to-date. The question is, how
do you get started?
There’s more than enough information on the Web about how to publish
websites like a seasoned professional. There are tutorials, reference sites, tons of
examples, and free tools to make it easier to publish on the Web. However, the
advantage of reading this book instead is that all the information you need to
build websites is organized in one place and presented in an orderly fashion. It
has everything you need to master HTML, publish sites to a server on the Web,
create graphics for use on the Web, and keep your sites running smoothly.
But wait, there’s more. Other books on how to create web pages just teach you
the basic technical details, such as how to produce a boldface word. In this book,
you’ll also learn why you should be producing a particular effect and when you
should use it. In addition, this book provides hints, suggestions, and examples of
how to structure your overall website, not just the words on each page. This
book won’t just teach you how to create a website—it’ll teach you how to create
a great website and how to get people to come visit it.
In this book, examples are written in valid HTML5 and CSS3 using tags that
work in all current browsers wherever possible. Exceptions and caveats are
noted whenever I use tags that are obsolete or not included in HTML5.

What You Need Before You Start
There are lots of books about how to use the Web. This book isn’t one of them.
We’re assuming that if you’re reading this book, you already have a working
connection to the Internet, you have a modern web browser such as Chrome,
Safari, Firefox, Opera, Internet Explorer version 10, or Microsoft Edge, and that
you’re familiar with the basics of how the Web and the Internet work. You
should also have at least a passing acquaintance with some other elements of the
Internet, such as email and FTP, because we refer to them in general terms in this book.
In other words, you need to have used the Web to provide content for the Web. If
you meet this one simple qualification, read on!
Many of the screenshots in this book are made on a Macintosh computer, but
you can do all the work on Windows or a Linux machine if that’s what you use.
You should just be familiar with how your operating system works and where
common programs are located.

André Lamothe

 - Fundamentals of 2D and 3D Game Programming -

SAMS
201 West 103rd Street,

Indianapolis, Indiana 46290

e-books shop
Tricks of the Windows Game Programming Gurus

About the Author
André LaMothe (a.k.a. Lord Necron) has been programming for over 22 years and
holds degrees in mathematics, computer science, and electrical engineering. He has
written numerous articles on the subjects of graphics, game programming, and artificial
intelligence. He is the author of Tricks of the Game Programming Gurus, Sams
Teach Yourself Game Programming in 21 Days, The Game Programming Starter Kit,
The Black Art of 3D Game Programming, and Windows Game Programming for
Dummies, all bestsellers. In addition, he coauthored Ciarcia’s Circuit Cellar I and II.
Mr. LaMothe has also taught at the University of Santa Cruz Extension Multimedia Department.

Last, but not least, André is the founder and CEO of Xtreme Games LLC, a think tank
and the world’s largest virtual game company, composed of over 250+ independent
developer studios.
He can be reached at ceo@xgames3d.com


Acknowledgments
I always hate writing acknowledgements because there are simply too many people
involved in a book to mention everybody and give them proper thanks. However, here
goes once again, in no particular order.

I would first like to thank my parents for having me late in life, causing me to have so
many genetic mutations that I don’t need to sleep and I can work continuously without
a break. Thanks, Mom and Dad!

Next, I want to thank all the people at Macmillan Computer Publishing (MCP) for letting
me have my way with the book. Making corporate America do anything different
is surely a strain, and I am Mr. Nonconformist, but that’s what it takes if you want to
break new ground. Particularly, I want to thank the acquisitions editor, Angela
Kozlowski, for listening to my artistic/marketing concepts and making them happen;
Carol Bowers, the project editor, for making sure that my policy of “less editing is
more” was taken seriously; Dan Scherf, the media and permissions manager, for making
sure that all the programs made it to the CD; and Erik Dafforn, the development
editor, for making sure that the hundreds of figures 
and thousand-plus pages of manuscript didn’t get mangled.

And of course, thanks to all the other editors and formatters that worked on the book,
including Steven Haines, Sean Medlock, Carol Ackerman, Kezia Endsley, and Howard
Jones. It seemed like all of you were playing musical chairs during editing, but you all
did a fantastic job. Steve and Sean especially caught me making stupid mistakes!
Next I want to thank the DirectX group at Microsoft, especially Kevin Bachus, for
helping with the acquisition of the latest DirectX SDK stuff, along with making sure
that I was sent to all the major DirectX parties. Very important to send me to parties; that’s a good thing.

The next group I want to thank are all the companies that had something to do with
this book in one way or another, whether it was a piece of software or whatever. The
major players are Caligari Corporation for the use of TrueSpace, JASC for the use of
Paint Shop Pro, and Sonic Foundry for the use of Sound Forge. I would also like to
thank Matrox and Diamond Multimedia for demo 3D accelerators, Creative Labs for
sound cards, Intel Corporation for VTune, Kinetics for 3D Studio Max, and Microsoft
and Borland for their compiler products.

I’d like to thank all of my friends that I made contact with during this hellish production.
To all the guys at Gold’s Gym: Armand, Andrew, Paul, and Dave. To Mike
Perone, for always getting me that hard-to-find piece of software at a moment’s
notice. Oh yes, to my friend Mark Bell—or as I like to think of him, Mr. Happy—you
still owe me $180 from that ski trip eight years ago! (And I can’t stand always being
right anymore; please try harder, Mark. I can’t keep taking your money.)
Next I want to thank all the contributing editors who allowed me to put their articles
on the CD. If it weren’t for you guys, these poor readers would have nothing more
then my eccentric prose to read. A special thanks goes to Matthew Ellis, the author of
the Direct3D book on the CD, and to Richard Benson (Keebler) for doing the foreword to the book.

And finally, I have to thank the one person who was with me every day and always
supported me—my girlfriend Jennifer. I think I have finally met my match.

Thanks to everyone!


Introduction

“Dead or alive, you’re coming with me.”
—Robocop
A long time ago, in a galaxy far, far, away, I wrote a book about game programming
called Tricks of the Game Programming Gurus. For me, it was an opportunity to create
something that I had always wanted—a book that taught the reader how to make
games. Anyway, it’s been a few years and I’m a little older and wiser, and I have definitely
learned a lot of tricks <BG>. This book is going to continue where the old book
left off. I’m going to cover every major topic in game programming that I can fit
within the binding of this bad boy!

However, as usual, I’m not going to assume that you are already a master programmer
or that you even know how to make games. This book is for beginners as well as
advanced game programmers. Nonetheless, the tempo is going to be fierce, so don’t blink!

Today is probably the coolest time in history to be in the game business. I mean, we
now have the technology to create games that do look real! Imagine what will come
next? But all this technology isn’t easy to understand or trivial—it takes hard work.
These days the bar has definitely been raised on the skill set needed to make games.
But if you’re reading this, you are probably one of those people who like a challenge,
right? Well, you came to right place, because when you’re done with this book you
will be able to create a full 3D, texture-mapped, professionally lit video game for the
PC. Moreover, you will understand the underlying principles of artificial intelligence,
physics modeling, game algorithms, 2D/3D graphics, and be able to use 3D hardware
today and in the future.

What You’re Going to Learn
In this book you’re going to learn about 100 teraquads of information! I’m going to
fill your neural net so full of information that you might have synaptic leakage!
Seriously, though, this volume covers all the elements necessary to create a Windows
9X/NT-based game for the PC:
• Win32 programming
• DirectX Foundation
• 2D graphics and algorithms
• Game programming techniques and data structures
• Multithreaded programming
• Artificial intelligence
• Physics modeling
• Using 3D acceleration hardware (on the CD)
And more…
This book is primarily about game programming. There are two cyber-books on the
CD that cover Direct3D Immediate mode and General 3D.

What You Need to Know
This book assumes that you can program. You are going to be fairly lost if you can’t
write C code. However, the book uses some C++—enough to make a C coder just a
little uneasy. But I will warn you if I’m doing anything weird. Also, there’s a decent
C++ primer in Appendix D, so check it out if you need a crash course. Basically, C++
is only needed here and there for examples when using DirectX.

Nevertheless, I’ve decided that I’m going to use C++ a little more on this book
because there are so many things in game programming that are object-oriented, and
it’s sacrilege to force them to be C-like structures. Bottom line—if you can program
in C, you should be fine. If you program in C/C++, you shouldn’t trip out at all.
Everyone knows that a computer program is nothing more than logic and math. Well,
3D video games put the emphasis on the math part! 3D graphics is all math. Luckily
for us, it’s cool math! (Yes, math can be cool.) About the only thing you need to know
is basic algebra and geometry. The vector and matrix stuff I will teach you along the
way. Heck, if you can add, subtract, multiply, and divide, you will be able to understand
90 percent of what’s going even though you may not be able to rederive it. As
long as you can use the code, that’s all the matters. 
(Well, that and if 7 of 9 is on Voyager tonight.)
That’s really all you need to know. Of course, you’d better call all your friends and
tell them that they won’t see you for about two years, because you’re going to be a
little busy. But just think of all the movies you’ll get to rent when you’re done with your training!

How This Book Is Organized
Tricks of the Windows Game Programming Gurus is divided into four parts, covering
14 chapters and six appendixes.
Part I: Windows Programming Foundations
Chapter 1 Journey into the Abyss
Chapter 2 The Windows Programming Model
Chapter 3 Advanced Windows Programming
Chapter 4 Windows GDI, Controls, and Last-Minute Gift Ideas
Part II: DirectX and 2D Fundamentals
Chapter 5 DirectX Fundamentals and the Dreaded COM
Chapter 6 First Contact: DirectDraw
Chapter 7 Advanced DirectDraw and Bitmapped Graphics
Chapter 8 Vector Rasterization and 2D Transformations
Chapter 9 Uplinking with DirectInput and Force Feedback
Chapter 10 Sounding Off with DirectSound and DirectMusic
Part III: Hardcore Game Programming
Chapter 11 Algorithms, Data Structures, Memory Management, and Multithreading
Chapter 12 Making Silicon Think with Artificial Intelligence
Chapter 13 Playing God: Basic Physics Modeling
Chapter 14 Putting It All Together: You Got Game!
Part IV: Appendixes
Appendix A What’s on the CD
Appendix B Installing DirectX and Using the C/C++ Compiler
Appendix C Math and Trigonometry Review
Appendix D C++ Primer
Appendix E Game Programming Resources
Appendix F ASCII Tables


Screenshot

e-books shop

Purchase Now !
Just with Paypal



Product details
 Price
 File Size
 16,491 KB
 Pages
 1029 p
 File Type
 PDF format
 ISBN
 0-672-31361-8
 Copyright
 1999 by Sams               

Contents at a Glance
Introduction
Part I Windows Programming Foundations
1 Journey into the Abyss
2 The Windows Programming Model 
3 Advanced Windows Programming 
4 Windows GDI, Controls, and Last-Minute Gift Ideas
Part II DirectX and 2D Fundamentals
5 DirectX Fundamentals and the Dreaded COM
6 First Contact: DirectDraw
7 Advanced DirectDraw and Bitmapped Graphics
8 Vector Rasterization and 2D Transformations
9 Uplinking with DirectInput and Force Feedback
10 Sounding Off with DirectSound and DirectMusic
Part III Hardcore Game Programming
11 Algorithms, Data Structures, Memory Management, and Multithreading
12 Making Silicon Think with Artificial Intelligence
13 Playing God: Basic Physics Modeling
14 Putting It All Together: You Got Game!
Part IV Appendixes
A What’s on the CD
B Installing DirectX and Using the C/C++ Compiler
C Math and Trigonometry Review
D C++ Primer
E Game Programming Resources
F ASCII Tables
Index


Table of Contents
Introduction 1
PART I Windows Programming Foundations 7
1 Journey into the Abyss 9
A Little History........................................................................................9
Designing Games ..................................................................................13
Types of Games ....................................................................................13
Brainstorming ........................................................................................14
The Design Document and Storyboards................................................15
Making the Game Fun ..........................................................................16
The Components of a Game ..................................................................16
Section 1: Initialization ....................................................................17
Section 2: Enter Game Loop ............................................................17
Section 3: Retrieve Player Input ......................................................17
Section 4: Perform AI and Game Logic ..........................................17
Section 5: Render Next Frame ........................................................18
Section 6: Synchronize Display ......................................................18
Section 7: Loop ................................................................................18
Section 8: Shutdown ........................................................................18
General Game Programming Guidelines ..............................................21
Using Tools ............................................................................................26
C/C++ Compilers ............................................................................26
2D Art Software................................................................................26
Sound Processing Software ..............................................................26
3D Modelers ....................................................................................26
Music and MIDI Sequencing Programs ..........................................27
Setting Up to Get Down—Using the Compiler ....................................27
An Example: FreakOut ..........................................................................29
Summary................................................................................................46
2 The Windows Programming Model 47
The Genesis of Windows ......................................................................48
Early Windows Versions ..................................................................48
Windows 3.x ....................................................................................48
Windows 95 ......................................................................................49
Windows 98 ......................................................................................50
Windows NT ....................................................................................50
Basic Windows Architecture: Win9X/NT ........................................50
Multitasking and Multithreading ..........................................................51
Getting Info on the Threads ............................................................52
The Event Model ..............................................................................53
Programming the Microsoft Way: Hungarian Notation ........................55
Variable Naming ..............................................................................56
Function Naming..............................................................................56
Type and Constant Naming ..............................................................57
Class Naming....................................................................................57
Parameter Naming ............................................................................58
The World’s Simplest Windows Program..............................................58
It All Begins with WinMain() ..........................................................59
Dissecting the Program ....................................................................60
Choosing a Message Box ................................................................63
Real-World Windows Applications (Without Puck)..............................66
The Windows Class ..............................................................................66
Registering the Windows Class ............................................................74
Creating the Window ............................................................................75
The Event Handler ................................................................................77
The Main Event Loop............................................................................84
Making a Real-Time Event Loop ..........................................................89
Opening More Windows........................................................................90
Summary................................................................................................93
3 Advanced Windows Programming 95
Using Resources ....................................................................................96
Putting Your Resources Together ....................................................98
Using Icon Resources ......................................................................99
Using Cursor Resources ................................................................102
Creating String Table Resources ....................................................106
Using Sound .WAV Resources ........................................................108
Last, But Not Least—Using the Compiler to Create .RC Files ....114
Working with Menus ..........................................................................116
Creating a Menu ............................................................................116
Loading a Menu..............................................................................119
Responding to Menu Event Messages ..........................................122
Introduction to GDI ............................................................................128
The WM_PAINT Message Once Again ..............................................128
Video Display Basics and Color ....................................................133
RGB and Palletized Modes ............................................................135
Basic Text Printing ........................................................................137
Handling Important Events..................................................................143
Window Manipulation ....................................................................143
Banging on the Keyboard ..............................................................150
Squeezing the Mouse......................................................................158
Sending Messages Yourself ................................................................161
Summary..............................................................................................163
4 Windows GDI, Controls, and Last-Minute Gift Ideas 165
Advanced GDI Graphics......................................................................166
Under the Hood with the Graphics Device Context ......................166
Color, Pens, and Brushes................................................................167
Working with Pens ........................................................................168
Painting with Brushes ....................................................................172
Points, Lines, Polygons, and Circles ..................................................173
Straight to the Point........................................................................173
Getting a Line on Things................................................................175
Getting Rectangular........................................................................177
Round and Round She Goes—Circles ..........................................180
Polygon, Polygon, Wherefore Art Thou, Polygon? ......................181
More on Text and Fonts ......................................................................182
Timing Is Everything ..........................................................................184
The WM_TIMER Message ..................................................................184
Low-Level Timing ..........................................................................187
Playing with Controls ..........................................................................190
Buttons............................................................................................191
Sending Messages to Child Controls ............................................195
Getting Information ............................................................................197
The T3D Game Console ......................................................................205
Summary..............................................................................................210
PART II DirectX and 2D Fundamentals 211
5 DirectX Fundamentals and the Dreaded COM 213
DirectX Primer ....................................................................................214
The HEL and HAL ........................................................................216
The DirectX Foundation Classes in Depth ....................................216
COM: Is It the Work of Microsoft… or Demons? ..............................218
What Exactly Is a COM Object?....................................................219
More on Interface IDs and GUIDs ................................................223
Building a Quasi-COM Object ......................................................224
A Quick Recap of COM ................................................................226
A Working COM Program ............................................................226
Working with DirectX COM Objects..................................................231
COM and Function Pointers ..........................................................232
Creating and Using DirectX Interfaces ..........................................236
Querying for Interfaces ..................................................................237
The Future of COM ............................................................................238
Summary..............................................................................................239
6 First Contact: DirectDraw 241
The Interfaces of DirectDraw..............................................................242
Interface Characteristics ................................................................242
Using the Interfaces Together ........................................................244
Creating a DirectDraw Object ............................................................245
Error Handling with DirectDraw....................................................246
Getting an Interface Lift ................................................................247
Cooperating with Windows ................................................................250
Getting into the Mode of Things ........................................................255
The Subtleties of Color........................................................................259
Building a Display Surface..................................................................263
Creating a Primary Surface ............................................................264
Attaching the Palette ......................................................................272
Plotting Pixels ................................................................................272
Cleaning Up....................................................................................284
Summary..............................................................................................285
7 Advanced DirectDraw and Bitmapped Graphics 287
Working with High-Color Modes........................................................288
16-Bit High-Color Mode ................................................................289
Getting the Pixel Format ................................................................290
24/32-Bit High-Color Mode ..........................................................299
Double Buffering ................................................................................301
Surface Dynamics ................................................................................307
Page Flipping ......................................................................................311
Using the Blitter ..................................................................................317
Using the Blitter for Memory Filling ............................................320
Copying Bitmaps from Surface to Surface ....................................328
Clipper Fundamentals ..........................................................................332
Clipping Pixels to a Viewport ........................................................332
Clipping Bitmaps the Hard Way ....................................................334
Making a DirectDraw Clip with IDirectDrawClipper..................339
Working with Bitmaps ........................................................................345
Loading .BMP files ..........................................................................345
Working with Bitmaps....................................................................352
Loading an 8-Bit Bitmap................................................................353
Loading a 16-Bit Bitmap................................................................354
Loading a 24-Bit Bitmap................................................................355
Last Word on Bitmaps ....................................................................356
Offscreen Surfaces ..............................................................................356
Creating Offscreen Surfaces ..........................................................356
Blitting Offscreen Surfaces ............................................................358
Setting Up the Blitter......................................................................359
Color Keys......................................................................................360
Source Color Keying ......................................................................361
Destination Color Keying ..............................................................364
Using the Blitter (Finally!) ............................................................365
Bitmap Rotation and Scaling ..............................................................366
Discrete Sampling Theory ..................................................................368
Color Effects ........................................................................................373
Color Animation in 256-Color Modes ..........................................373
Color Rotation in 256-Color Modes ..............................................379
Tricks with RGB Modes ................................................................381
Manual Color Transforms and Lookup Tables ....................................381
The New DirectX Color and Gamma Controls Interface....................382
Mixing GDI and DirectX ....................................................................383
Getting the Lowdown on DirectDraw ................................................386
The Main DirectDraw Object ........................................................386
Surfing on Surfaces ........................................................................388
Playing with Palettes ......................................................................389
Using DirectDraw in Windowed Modes..............................................390
Drawing Pixels in a Window..........................................................392
Finding the Real Client Area (51) ..................................................395
Clipping a DirectX Window ..........................................................397
Working with 8-Bit Windowed Modes ..........................................398
Summary..............................................................................................400
8 Vector Rasterization and 2D Transformations 401
Drawing Lines......................................................................................402
Bresenham’s Algorithm ..................................................................403
Speeding Up the Algorithm............................................................409
Basic 2D Clipping................................................................................411
Computing the Intersection of Two Lines Using the Point
Slope Form ...............................413
Computing the Intersection of Two Lines Using
the General Form ...........................416
Computing the Intersection of Two Lines Using
the Matrix Form ..........................................................................416
Clipping the Line............................................................................419
The Cohen-Sutherland Algorithm ..................................................420
Wireframe Polygons ............................................................................427
Polygon Data Structures ................................................................428
Drawing and Clipping Polygons ....................................................430
Transformations in the 2D Plane ........................................................432
Translation ......................................................................................433
Rotation ..........................................................................................435
Scaling ............................................................................................445
Introduction to Matrices ......................................................................446
The Identity Matrix ........................................................................448
Matrix Addition ..............................................................................449
Matrix Multiplication ....................................................................449
Transformations Using Matrices ....................................................452
Translation ..........................................................................................454
Scaling..................................................................................................455
Rotation................................................................................................455
Solid Filled Polygons ..........................................................................458
Types of Triangles and Quadrilaterals............................................459
Drawing Triangles and Quadrilaterals............................................461
Triangular Deconstruction Details ................................................464
The General Case of Rasterizing a Quadrilateral ..........................472
Triangulating Quads ......................................................................473
Collision Detection with Polygons ......................................................478
Proximity AKA Bounding Sphere/Circle ......................................478
Bounding Box ................................................................................481
Point Containment ..........................................................................484
More on Timing and Synchronization ................................................486
Scrolling and Panning..........................................................................488
Page Scrolling Engines ..................................................................488
Homogeneous Tile Engines............................................................489
Sparse Bitmap Tile Engines ..........................................................494
Fake 3D Isometric Engines..................................................................496
Method 1: Cell-Based, Totally 2D ................496
Method 2: Full-Screen-Based, with 2D or 3D
Collision Networks ...............................498
Method 3: Using Full 3D Math, with a Fixed Camera View ........500
The T3DLIB1 Library ........................................................................500
The Engine Architecture ................................................................500
Basic Definitions ............................................................................501
Working Macros ............................................................................502
Data Types and Structures ..............................................................503
Global Domination ........................................................................506
The DirectDraw Interface ..............................................................507
2D Polygon Functions ....................................................................511
2D Graphic Primitives ....................................................................513
Math and Error Functions ..............................................................517
Bitmap Functions............................................................................519
Palette Functions ............................................................................522
Utility Functions ............................................................................525
The BOB (Blitter Object) Engine........................................................527
Summary..............................................................................................535
9 Uplinking with DirectInput and Force Feedback 537
The Input Loop Revisited ....................................................................538
DirectInput Overture............................................................................539
The Components of DirectInput ....................................................541
The General Steps for Setting Up DirectInput ..............................542
Data Acquisition Modes ................................................................544
Creating the Main DirectInput Object............................................544
The 101-Key Control Pad ..............................................................546
Problem During Reading: Reacquisition........................................554
Trapping the Mouse........................................................................556
Working the Joystick ......................................................................561
Massaging Your Input ....................................................................576
Going Deeper with Force Feedback ....................................................579
The Physics of Force Feedback......................................................580
Setting Up Force Feedback ............................................................580
A Force Feedback Demo................................................................581
Writing a Generalized Input System: T3DLIB2.CPP ............................582
The T3D Library at a Glance ........................................................588
Summary..............................................................................................588
10 Sounding Off with DirectSound and DirectMusic 589
Sound Programming on the PC ..........................................................589
And Then There Was Sound…............................................................590
Digital versus MIDI—Sounds Great, Less Filling ..............................594
Digital Sound—Let the Bits Begin ................................................594
Synthesized Sound and MIDI ........................................................596
It’s MIDI Time! ..............................................................................597
Sound Hardware ..................................................................................598
Wave Table Synthesis ....................................................................598
Wave Guide Synthesis ....................................................................598
Digital Recording: Tools and Techniques............................................599
Recording Sounds ..........................................................................600
Processing Your Sounds ................................................................600
DirectSound on the Mic ......................................................................601
Starting Up DirectSound......................................................................602
Understanding the Cooperation Level............................................604
Setting the Cooperation Level ........................................................605
Primary and Secondary Sound Buffers ..............................................606
Working with Secondary Buffers ..................................................606
Creating Secondary Sound Buffers ................................................607
Writing Data to Secondary Buffers ................................................610
Rendering Sounds................................................................................612
Playing a Sound..............................................................................612
Stopping a Sound............................................................................612
Controlling the Volume ..................................................................612
Freaking with the Frequency..........................................................613
Panning in 3D ................................................................................614
Making DirectSound Talk Back ..........................................................614
Reading Sounds from Disk..................................................................616
The .WAV Format ............................................................................616
Reading .WAV Files ........................................................................617
DirectMusic: The Great Experiment ..................................................622
DirectMusic Architecture ....................................................................622
Starting Up DirectMusic......................................................................624
Initializing COM ............................................................................624
Creating the Performance ..............................................................625
Adding a Port to the Performance..................................................626
Loading a MIDI Segment ....................................................................626
Creating the Loader ........................................................................627
Loading the MIDI File ..................................................................627
Manipulating MIDI Segments ............................................................630
Playing a MIDI Segment................................................................630
Stopping a MIDI Segment..............................................................631
Checking the Status of a MIDI Segment ......................................631
Releasing a MIDI Segment ............................................................631
Shutting Down DirectMusic ..........................................................631
A Little DirectMusic Example ......................................................632
The T3DLIB3 Sound and Music Library ..............................................632
The Header ....................................................................................633
The Types ......................................................................................633
Global Domination ........................................................................634
The DirectSound API Wrapper ......................................................635
The DirectMusic API Rapper—Get It?..........................................640
Summary..............................................................................................643
PART III Hard Core Game Programming 645
11 Algorithms, Data Structures, Memory Management,
and Multithreading 647
Data Structures ....................................................................................648
Static Structures and Arrays ..........................................................648
Linked Lists ....................................................................................649
Algorithmic Analysis ..........................................................................657
Recursion ............................................................................................659
Trees ....................................................................................................662
Building BSTs ................................................................................666
Searching BSTs ..............................................................................668
Optimization Theory............................................................................671
Using Your Head ............................................................................671
Mathematical Tricks ......................................................................672
Fixed-Point Math............................................................................673
Unrolling the Loop ........................................................................677
Look-Up Tables ..............................................................................678
Assembly Language ......................................................................679
Making Demos ....................................................................................680
Prerecorded Demos ........................................................................680
AI-Controlled Demos ....................................................................682
Strategies for Saving the Game ..........................................................682
Implementing Multiple Players ..........................................................683
Taking Turns ..................................................................................683
Split-Screen Setups ........................................................................684
Multithreaded Programming Techniques ............................................685
Multithreaded Programming Terminology ....................................686
Why Use Threads in a Game?........................................................687
Conjuring a Thread from the Plasma Pool ....................................689
Sending Messages from Thread to Thread ....................................697
Waiting for the Right Moment ......................................................702
Multithreading and DirectX ..........................................................709
Advanced Multithreading ..............................................................711
Summary..............................................................................................711
12 Making Silicon Think with Artificial Intelligence 713
Artificial Intelligence Primer ..............................................................714
Deterministic AI Algorithms................................................................715
Random Motion..............................................................................716
Tracking Algorithms ......................................................................717
Anti-Tracking: Evasion Algorithms ..............................................722
Patterns and Basic Control Scripting ..................................................722
Basic Patterns ................................................................................723
Patterns with Conditional Logic Processing ..................................727
Modeling Behavioral State Systems....................................................729
Elementary State Machines ............................................................730
Adding More Robust Behaviors with Personality..........................734
Modeling Memory and Learning with Software ................................736
Planning and Decision Trees ..............................................................740
Coding Plans ..................................................................................742
Implementing a Real Planner ........................................................745
Pathfinding ..........................................................................................747
Trial and Error ................................................................................748
Contour Tracing..............................................................................749
Collision Avoidance Tracks............................................................749
Waypoint Pathfinding ....................................................................750
A Racing Example..........................................................................753
Robust Pathfinding ........................................................................754
Advanced AI Scripting ........................................................................759
Designing the Scripting Language ................................................759
Using the C/C++ Compiler ............................................................762
Artificial Neural Networks ..................................................................767
Genetic Algorithms ..............................................................................770
Fuzzy Logic ........................................................................................772
Normal Set Theory ........................................................................773
Fuzzy Set Theory............................................................................774
Fuzzy Linguistic Variables and Rules ............................................776
Fuzzy Manifolds and Membership ................................................779
Fuzzy Associative Matrices............................................................783
Processing the FAM with the Fuzzified Inputs ..............................787
Warm and Fuzzy ............................................................................794
Building Real AI for Games ................................................................794
Summary..............................................................................................795
13 Playing God: Basic Physics Modeling 797
Fundamental Laws of Physics ............................................................798
Mass (m) ........................................................................................799
Time (t) ..........................................................................................799
Position (s)......................................................................................800
Velocity (v) ....................................................................................802
Acceleration (a) ..............................................................................804
Force (F) ........................................................................................807
Forces in Higher Dimensions ........................................................808
Momentum (P)................................................................................809
The Physics of Linear Momentum: Conservation and Transfer ........810
Modeling Gravity Effects ....................................................................813
Modeling a Gravity Well ................................................................815
Modeling Projectile Trajectories ....................................................818
The Evil Head of Friction....................................................................821
Basic Friction Concepts..................................................................821
Friction on an Inclined Plane (Advanced) ....................................823
Basic Ad Hoc Collision Response ......................................................828
Simple x,y Bounce Physics ............................................................828
Computing the Collision Response with Planes of
Any Orientation ..........................................................................830
An Example of Vector Reflection ..................................................834
Intersection of Line Segments........................................................835
Real 2D Object-to-Object Collision Response (Advanced)................841
Resolving the n-t Coordinate System ..................................................846
Simple Kinematics ..............................................................................853
Solving the Forward Kinematic Problem ......................................854
Solving the Inverse Kinematic Problem ........................................858
Particle Systems ..................................................................................859
What Every Particle Needs ............................................................859
Designing a Particle Engine ..........................................................860
The Particle Engine Software ........................................................861
Generating the Initial Conditions ..................................................866
Putting the Particle System Together ............................................869
Playing God: Constructing Physics Models for Games ......................870
Data Structures for Physics Modeling............................................870
Frame-Based Versus Time-Based Modeling ..................................871
Summary..............................................................................................873
14 Putting It All Together: You Got Game! 875
The Initial Design of Outpost ..............................................................876
The Story ........................................................................................876
Designing the Gameplay ................................................................877
The Tools Used to Write the Game ....................................................877
The Game Universe: Scrolling in Space..............................................878
The Player’s Ship: “The Wraith” ........................................................880
The Asteroid Field ..............................................................................882
The Enemies ........................................................................................884
The Outposts ..................................................................................885
The Predator Mines ........................................................................886
The Gunships..................................................................................888
The Power-Ups ....................................................................................891
The HUDS ..........................................................................................892
The Particle System ............................................................................896
Playing the Game ................................................................................896
Compiling Outpost ..............................................................................897
Compilation Files ..........................................................................897
Runtime Files..................................................................................898
Epilogue ..............................................................................................898
PART IV Appendixes 901
A What’s on the CD 903
B Installing DirectX and Using the C/C++ Compiler 907
Using the C/C++ Compiler..................................................................908
C Math and Trigonometry Review 911
Trigonometry ......................................................................................911
Vectors..................................................................................................915
Vector Length ................................................................................916
Normalization ................................................................................917
Scalar Multiplication ......................................................................917
Vector Addition ..............................................................................918
Vector Subtraction ..........................................................................919
The Inner Product, or the “Dot” Product ......................................919
The Cross Product ..........................................................................921
The Zero Vector ..............................................................................923
Position Vectors ..............................................................................923
Vectors as Linear Combinations ....................................................924
D C++ Primer 925
What Is C++? ......................................................................................925
The Minimum You Need to Know About C++ ..................................928
New Types, Keywords, and Conventions ............................................929
Comments ......................................................................................929
Constants ........................................................................................929
Referential Variables ......................................................................929
Creating Variables On-the-Fly........................................................930
Memory Management..........................................................................931
Stream I/O............................................................................................932
Classes..................................................................................................934
The New Struct in Town ................................................................934
Just a Simple Class ........................................................................935
Public Versus Private ......................................................................936
Class Member Functions (A.K.A. Methods) ................................937
Constructors and Destructors ........................................................938
Writing a Constructor ....................................................................939
Writing a Destructor ......................................................................941
The Scope Resolution Operator ..........................................................943
Function and Operator Overloading ....................................................945
Summary..............................................................................................947
E Game Programming Resources 949
Game Programming Sites ....................................................................949
Download Points..................................................................................950
2D/3D Engines ....................................................................................950
Game Programming Books..................................................................951
Microsoft DirectX Multimedia Exposition..........................................951
Usenet Newsgroups ............................................................................951
Keeping Up with the Industry: Blues News........................................952
Game Development Magazines ..........................................................952
Game Web Site Developers ................................................................953
Xtreme Games LLC ............................................................................953
F ASCII Tables 955
Index 961

  ●▬▬▬▬▬❂❂❂▬▬▬▬▬●
●▬▬❂❂▬▬●
●▬❂▬●

═════ ═════

Loading...
DMCA.com Protection Status