CYBER LOONIES

Game Development Advice · Modeling and Animation · General Programming Book Reviews · Game Development · Game Engines ·OpenGL · Winamp Plugin · Poetry · Poker · Miscellaneous

Programming and Development Book Reviews


Head First Javascript
Web Service Essentials
Teach Yourself XML in 21 days
Using UML
Game Programming All in One
Focus On 3D models
2D Artwork and 3D Modelling for Game Artists
Beginning PHP4 Programming
Professional PHP Programming
3D Lighting - History, Concepts & Techniques
3D Math Primer for Graphics and Game Development
Tricks of the Windows Game Programming Gurus (2nd Edition)
Tricks of the 3D Game Programming Gurus - Advanced Graphics and Rasterization
3D Games - Realtime Rendering and Software Technology Volume 1
Game Architecture and Design
Data Structures For Game Programmers
Physics For Game Developers
Art of Assembly Language Programming
3ds max bible Modeling a Character in 3DS Max

General

Head First Javascript (first edition December 2007)

Author: Michael Morrison

Head First books are a different way of learning - it is full of pictures, diagrams, bad jokes, page benders, crosswords and general nonsense. However there is still room for quite a bit of javascript in these 600 pages. It is suitable for beginner programmers as long as you already know HTML & CSS. Chapter code is available on headfirstlabs.com and covers an interactive virtual pet rock, a movie seat booking program, and a blog site. The style of the book is to explain how to get the absolute basics functioning and then introduce some human character who has noticed a problem or one or two ways of enhancing what is there. The book finishes with an introduction to AJAX. Some easy concepts (such as the difference between a constant and a variable) are overexplained, but overall quite a good, easy to read book for beginner to intermediate level. I managed to read through this in a couple of days. Including suitable time to play around with the code, you can easily get through this book in a week.

1. The Interective Web: Reacting to the Virtual World
2. Storing data: Everything Has Its Place
3. Exploring the client: Browser Spelunking
4. Decision making: If There's a Fork in the Road, Take It
5. Looping: At the Risk of Repeating Myself
6. Functions: Reduce, Reuse, Recycle
7. Forms and validation: Getting the User to Tell All
8. Wrangling the page: Slicing and Dicing HTML with the DOM
9. Bringing data to life: Objects as Frankendata
10. Breating custom objects: Having It Your Way with Custom Objects
11. Kill bugs dead: Good scripts Gone Wrong
12. Dynamic data: Touchy-Feely Web Applications

Web Service Essentials (first edition February 2002)

Author: Ethan Cerami

This book is an overview of 4 key web services - XML-RPC, SOAP, UDDI and WSDL. Unfortunately parts of this book are now out of date. For example the Microsoft SOAP Toolkit is listed but it is now deprecated by the .Net framework. Much of this book also feels like it was taken from a list of web services websites from the end of 2001. A new edition is required.

1. Introduction
2. XML-RPC Essentials
3. SOAP Essentials
4. Apache SOAP Quick Start
5. Programming Apache SOAP
6. WSDL Essentials
7. UDDI Essentials
8. UDDI Inquiry API:Quick Reference
9. UDDI 4J

Using UML (1st edition 1999)

Authors: Rob Pooley and Perdita Stevens

1 - Software Engineering with components
2 - Object concepts
3 - Introductory case study
4 - The development process
5 - Essentials of class models
6 - More on class models
7 - Essentials of use case models
8 - More on use case models
9 - Essentials of interaction diagrams
10 - More on intereaction diagrams
11 - Essentials of state and activity diagrams
12 - More on state and activity diagrams
13 - Implementation diagrams
14 - Packages, subsystems, models
15 - CS4 administration
16 - Board games
17 - Discrete event simulation
18 - Reuse: components, patterns
19 - Product quality: verification, validation, testing
20 - Process quality: management, teams, QA

Teach Yourself XML in 21 days

Authors: Simon North and Paul Hermans

This book was written in 1999 so is slightly out of date in some areas but still covers a lot of useful information about XML.

1 - What Is XML and Why Should I Care?

2 - Anatomy of an xml document

3 - Using XML Markup

4 - Working with Elements and Attributes

5 - Checking Well-formedness

6 - Creating Valid Documents

7 - Developing Advanced DTDs

8 - XML Objects

9 - Checking validity

10 - Creating XML Links

11 - Using XML's Advanced Addressing

12 - Viewing XML in Internet Explorer

13 - Viewing XML in Other Browsers

14 - Processing XML

15 - Event Driven Programming

16 - Programming with the Document Object Model

17 - Using Meta-Data to Describe XML Data

18 - Styling XML with CSS

19 - Converting XML with DSSSL

20 - Rednering XML with XSL

21 - Real World XML Applications

Appendixes

Game Programming All in One

Authors: Bruno Miguel Teixeira de Sousa and Ronald Penton

This is a big book, weighing in at nearly 1000 pages. Full review coming soon. Here's the contents at a glance:


Part 1: C++ Programming
Introduction to C++ Programming, Variables and Operators, Functions and Program Flow, Multiple Files and the preprocessor, Arrays, pointers, and strings, classes, developing monster, streams, basic software architecture
Part 2: Windows Programming
Designing your game library: Mirus, Beginning Windows Programming, Introduction to DirectX, DirectX Graphics, DirectInput, DirectSound Part 3: Hardcore Game Programming
Introduction to Game Design, Data Structures and Algorithms, The Mathematical side of games, Introduction to AI, Introduction to Physics Modeling, Building Breaking Through, Publishing Your Game
Part 4: Appendixes

Focus on 3D Models

Author: Evan Pipho

Chapter 1: Reviewing Matrices and Vectors
Chapter 2: Introduction to Quaternions
Chapter 3: Quake 2's MD2 models
Chapter 4: Loading OBJ files
Chapter 5: An Introdction to Skeletal Animation
Chapter 6: Mikshape 3D
Chapter 7: The 3DS models
Chapter 8: MDL, the legendary Half-Life Format
Chapter 9: Enter the Quake: Quake 3's MD3 Format
Chapter 10: Tips, Tricks, and Methods
Appendix a: Common 3D Model Formats
Appendix b: STL Vector Primer
Appendix c:Going Above and Beyond

2D Artwork and 3D Modelling for Game Artists

Author: David Franson

Part One: 3D Modeling with trueSpace
Part Two: Unwrapping the UVs with DeepUV
Part Three: Texturing the UVs with DeepUV
Part Four: Preparing Assets for Games with 3D Studio Max
Part Five: Bringing It All Together
Part Six: Appendices

Beginning PHP4 Programming

Authors: Wankyu Choi, Allan Kent, Chris Lea, Ganesh Prasad, Chris Ullman

Comprehensive guide to getting started with PHP. Over 700 pages.

1. Installation
2. Writing PHP Programs
3. Getting Data from the Client
4. Decision Making
5. Loops and Arrays
6. Organizing Your Code
7. Handling And Avoiding Errors
8. Working With the Client
9. Objects
10. File and Directory Handling
11. PHP Database Connectivity
12. Retrieving Data from MySQL Using PHP
13. Manipulating Data in MySQL Using PHP
14. XML
15. E-Mail Handling
16. Generating Graphics
17. Case Study A URL Directory Manager
Appendix A: ODBC
Appendix B: PHP Functions

Professional PHP

Authors: Jesus Castagnetto, Harish Rawat, Sascha Schumann, Chris Scollo, Deepak Veliath

Table of Contents
I. Introduction
1. About this book
2. Downloading, installing, configuring PHP
3. Programming in a Web environment
II. The Language
4. Variables and data types
5. Operators
6. Expressions and Statements
if ... else ... elseif
switch
while and do ... while
for require and include
exit
7. Functions
How They Work
Passing Arguments
Variable Scope and Lifetime
Nested Functions and Recursion
Assigning Functions to Variables
8. Arrays
Starting Simply
Looping Through an Array
A Sequentially Indexed Array
Non-sequentially Indexed Arrays
A Few Words About next() and prev()
array_walk()
Associative Arrays
Multi-Dimensional Arrays
Sorting Functions
Using Arrays with Form Elements
9. Objects and OOP
Object-Oriented Programming
Defining a Class
Instantiating the Class
Constructors
Inheritance
10. String manipulation and regular expressions
III. Applying PHP
11. Non-relational databases
What is a database?
Databases and CSV
dbm - a fast, record-based, flat-file database
Another interface to dbm - DBA
Our telephone book interface
12. SQL DBMS engines
13. Using LDAP
14. Serving XML documents
15. Graphic content creation
16. PHP connectivity
Utilizing TCP
The whois function
The Frontend
Extending the Frontend
Is my domain still available?
A web client
17. Sending E-mail
18. Cookies
What are cookies?
Cookies in PHP
Getting started
Deleting a cookie
Common pitfalls
What is your name?
19. Error handling and debugging
20. Security issues
21. Magic with quotes
What are magic quotes?
Defining the scope
Magic quotes explained
Sybase extension
Applying magic_quotes
Two helper functions
An alternative approach
Summary
22. Templates
IV. Sample Applications
23. A shopping cart application
24. An OO site
V. Advanced Topics
25. Version migration
26. When should I avoid regular expression functions
VI. Appendix
A. Reference
B. Open Source Software
C. PHP in non-UNIX environments
D. Notes on PHP4/Zend
Basic concepts
The binary compiler
The optimizer
New features in PHP4
PHP4 and overall portability
E. Other Resources

3D Lighting - History, Concepts & Techniques

Author: Arnold Galarno
Charles River official webpage

Chapter 1 - The Nature of Light
Chapter 2 - The Physiology of Seeing and Perception
Chapter 3 - Fundamentals of Photography and Cinematography
Chapter 4 - Color and Materials
Chapter 5 - Computer Graphics
Chapter 6 - Basic Lighting Techniques
Chapter 7 - Applied Lighting Techniques
Chapter 8 - Lighting Situations
Appendix a - The Eye Appendix b - A Brief History of Photography
Appendix c - About the CD-ROM

3D Math Primer for Graphics and Game Development

Authors: Fletcher Dunn and Ian Parberry
Wordware webpage for this book

Chapter 1 - Introduction
Chapter 2 - The Cartesian Coordinate System
Chapter 3 - Multiple Coordinate Spaces
Chapter 4 - Vectors
Chapter 5 - Operations on Vectors
Chapter 6 - A Simple Vector Class
Chapter 7 - Introduction to Matrices
Chapter 8 - Matrices and Linear Transformations
Chapter 9 - More on Matrices
Chapter 10 - Orientation and Angular Displacement in 3D
Chapter 11 - Transformations in C++
Chapter 12 - Geometric Primitives
Chapter 13 - Geometric Tests
Chapter 14 - Triangle Meshes
Chapter 15 - 3D Math for Graphics
Chapter 16 - Visibility Determination
Chapter 17 - Afterword
Appendix a - Math Review
Appendix b - References

Tricks of the Windows Game Programming Gurus (2nd Edition)

Author: Andre Lamothe

This is a good book for people with basic C skills who want to learn 2D windows game programming with DirectX. Andre Lamothe has a great style of writing - he makes programming feel like a fun hobby as opposed to a dull brain strain. Although this book is slightly old now - it covers DirectX8 (first edition was DirectX6) - the concepts that are taught are still relevant today. Direct3D is not covered in the book; there are articles about DirectX8 on the CD

Tricks of the 3D Game Programming Gurus - Advanced Graphics and Rasterization

Author: Andre Lamothe

The long awaited sequel to the first Tricks book. Here's the contents at a glance:

Part 1: Introduction to 3D Game Programming
(Getting Started with 3D Game Programming, Crash Course in Windows and DirectX, 3D Game Programming with a Virtual Computer)
Part 2: 3D Math and Transformation
(It's a Math, Math, Math World, Building a Math Engine, Introduction to 3D Graphics, Rendering Wireframe Worlds in 3D)
Part 3: Basic 3D Rendering
(Basic Lighting and Solid Modeling, Interpolative Shading Techniques and Affine Texture Mapping, Clipping in 3D++, Depth Buffering and Visibilty)
Part 4: Advanced 3D Rendering
(Advanced Texturing Techniques, Spatial Partitioning and Visible Algorithms, Lighting Shadows and the Secrets of the id)
Part 5: Advanced Animation and Physics Modeling and Optimization
(Character Animation, Motion and Collision Detection, Optimization Technologies)
Part 6: CD-ROM Appendixes

3D Games - Realtime Rendering and Software Technology Volume 1

Authors:Alan Watt and Fabio Policarpo

This is a big textbook featuring all kinds of advanced info on 3D technology. Beginners will find it to technical. It includes a the fly3D engine on the CD, which implements most of the described techniques. Its based on OpenGL and the rest of the DirectX api. On the whole it includes lots of useful information for serious developers, but is not easy reading and you won't want to read this from cover to cover (occasion reference only).

Foundations

1 - Mathematical fundamentals of 3D computer graphics

(Manipulating 3D structures, Vectors and computer graphics, Rays and computer graphics, Bi-linear interpolation of polygon properties, A basic engine using SIMD instructions)

2 - Modelling and representation 1 - comparative review and polygon mesh models

(Introduction, Polygonal representation, High-level methods - constructive solid geometry, High-level creation using modellers/editors)

3 - Modelling and representation 2 - the economics of polygon meshes

(Compression polygonal models, Compressing the geometry, Encoding connectivity, Triangle strips, Local vs. global algorithms, Using Vertex buffers, Level of detail (LOD) processing)

4 - Representation and modelling 3 - landscape specialisations

(Introduction, Simple height field landscapes, Procedural modelling of landscapes - fractals, Terrain LODs: triangle bintrees , Rendering of landscapes by ray casting)

5 - Modelling and representation 4 - Bezier, B-spline and subdivision surfaces

(Introduction, Bezier curves, B-spline curves, Rational curves, From curves to surfaces, Modelling or creating patch surfaces, Rendering parametric surfaces, Practical Bezier technology for games, Subdivision surfaces, Scalability - polygon meshes and patch meshes and subdivision surfaces)

Classical 3D graphics

6 - Classical polygon mesh rendering technology

(Coordinate spaces and geometric operations in the graphics pipeline, Operations carried out in view space, Algorithmic operations in the graphics pipeline, Rendering examples)

7 - Classic Mapping techniques

(Introduction, 2D texture maps to polygon mesh objects, 2D texture domain to bi-cubic patch objects, Bump mapping, Environment or reflection mapping, 3D texture domain techniques, Comparative examples)

8 - Anti-aliasing theory and practice

(Introduction, Aliases and sampling, Jagged edges, Sampling in computer graphics compared with sampling reality, Sampling and reconstruction, A simple comparison, Pre-filtering methods, Supersampling or post-filtering, Anti-aliasing in texture mapping, Fourier transform of images)

Real-time Rendering

9 - Visibility processing of complex scenes

(Introduction, Why trees?, BSP trees, Bounding volume hierarchies, BSP trees and polygon objects, Specialisations for building interior-type environments, Portals and mirrors, Advanced mirrors, Advanced view frustum culling, Exact visibility, Dynamic objects and visibilty)

10 - Lighting in games

(Light maps, Dynamic lighting effects with light maps, Dynamic lights, Switchable/destroyable light sources, Fog maps/volumetric fog, Lighting case studies)

11 - Shadows in games

(The nature of shadows, Classical shadow algorithms, Shadows in games)

12 - Multi-pass rendering

(Introduction, Multi-pass functionality, Multi-pass algorithms, Multi-pass sampling approaches, Multi-texture, Multi-texture example)

Control of objects

13 - Motion control - kinematic

(Introduction, Pre-scripting animation: linear interpolation and elapsed time/interpolation problems/explicit scripting, Interpolation of rotation, Using quaternions to represent rotation, The camera as an animated object, Particle animation, Particle animation and computer games, Articulated structures)

14 - Control by dynamic simulation

(Dynamics in off-line animation - the famous example, Initial value problems vs. boundary value problems, Topic areas, Motivations for dynamic simulations, Basic classical theory for particles, Basic classical theory for rigid bodies, The practicalities of dynamic simulations, Numerical integration)

15 - Collision detection

(Broad phase/narrow phase algorithms, Bounding volume hierarchies, Broad phase collision detection with AABBs, Broad phase collision detection with OBBs, Broad phase collision detection with local or object spatial partitioning, Narrow phase collision detection, Single phase approaches)

16 - Interactive control

(Interaction and animation, Controller module, User-object interaction - 6 DOF control with simple sampling, User-object animation - a 4-key car simulation, Object-object interaction, Camera-object interaction, Objects with simple autonomous behaviour, User-scene interaction)

17 - Behaviour and AI

(Established approaches and architectures, Agents and hierarchies, Examples of agent architectures, Cognitive modelling and situation calculus, The role of sensing - vision as an example, Learning architectures)

2D technology

(Image pyramids, Wavelet transform, Image transforms and basis matrices, Wavelets and computer games, Image metamorphosis - morphing)

18 - 2D techniques

19 - Image based rendering

(Introduction, Reuse of previously rendered imagery, Varying rendering resources, Using depth information, View information, 4D techniques - the Lumigraph or light field rendering approach, Photo-modelling and IBR)

Software technology

20 - Multi-player game technology

(Introduction. Definitions, Implementation of multi-player games, The origin and nature of problems in multi-player games, Reducing the information in messages, Multi-player implementation using client-server)

21 - Engine Architecture

(Game programming in C++, Managing the evolving complexity in games, Engine design and architecture, Fly3D software architecture)

22 - Fly3D SDK reference

Game Architecture and Design

Author:Andrew Rollings

This is an excellent book for anybody designing a game, or anybody on the development team.

External general game programming book reviews:
3D Engine Design

Data Structures for Game Programmers

Author:Ron Penton

I found this to be the best book around for teaching you about data structures. Chances are you already know about the more basic data structures but Penton gives a thorough explanation of them including when to use certain data structures over others and where the data structures are best used in games. The book also covers advanced data structures. Below is a list of contents:

1. Basic Algorithm Analysis
2. Templates
3. Arrays
4. Bitvectors
5. Multi-Dimensional Arrays
6. Linked Lists
7. Stacks and Queues
8. Hash Tables
9. Tying it together: The basics
10. Recursion
11. Trees
12. Binary Trees
13. Binary Search Trees
14. Priority Queues and Heaps
15. Game Trees and Minimax Trees
16. Tying it together: Trees
17. Graphs
18. Using Graphs for AI: Finite State Machines
19. Tying it together: Graphs
20. Sorting Data
21. Data Compression
22. Random Numbers
23. Pathfinding
24. Tying it together: Algorithms
Appendix A: A C++ Primer
Appendix B: The Memory Layout Of A Computer Program
Appendix C: Introduction to SDL
Appendix D: Introduction to the Standard Template Library

GameDev reviews

Physics for Game Developers

Author:David M. Bourg

Physics is such a huge field that its impossible for there to be a book about programming every type, however although at only about 300 small pages, there is a lot of information in here that most games developers would find useful. Assumes proficiency in trigonometry, vector and matrix maths, and a basic understanding of calculus.

Contents
1. Basic Concepts (Newton's Laws of Motion, Units and Measures, Coordinate System, Vectors etc)
2. Kinematics (Velocity and Acceleration, 2D and 3D Particle Kinematics, Rigid Body Kinematics etc)
3. Force (Force Fields, Friction, Fluid Dynamic Drag, Buoyancy, Sprinds and Dampers etc)
4. Kinetics (Particle Kinetics in 2D and 3D, Rigid Body Kinetics) 5. Collisions (Impulse-Momentum Principle, Impact, Linear and Angular Impulse and Friction)
6. Projectiles (Simple Trajectories, Drag, Magnus Effect, Variable Mass)
Download this sample chapter for free
7. Aircraft (Geometry, Lift and Drag, Other Forces, Control and Modeling)
8. Ships (Flotation, Volume, Resistance, Virtual Mass)
9. Hovercraft (How they Work, Resistance)
10. Cars (Resistance, Power, Stopping Distance, Roadway Banking)
11. Real-Time Simulations (Integrating the Equations of Motion, Euler's Method, Other Methods)
12. 2D Rigid Body Simulator (Model, Integration, Flight Controls and Rendering)
13. Implementing Collision Response (Linear Collision Response, Angular Effects)
14. Rigid Body Rotation (Rotation Matrices, Quaternions)
15. 3D Rigid Body Simulator (Model, Integration, Flight Controls, Rendering)
16. Multiple Bodies in 3D (Model, Integration, Collision Response and Tuning)
17. Particle Systems (Model, Integration, Collision Response and Tuning)
Appendix A: Vector Operations
Appendix B: Matrix Operations
Appendix C: Quaternion Operations

3DS Max Bibles

Author: Kelly L. Murdock


There is a 3DS Max Bible for every version of 3D Studio Max. The older books are going very cheap now and contain most of the information found in the latest book. However if you are a serious 3D artist, you'll want to learn the latest version using the latest book. This is a very good book covering all areas of the program and explaining it in a very clear and simple way. All books weigh in at around 1200 pages.

3DS Max 2008 Bible summary of contents
Part 1: Getting Started with 3ds Max
Part 2: Working with Objects
Part 3: Modeling Basics
Part 4: Materials, Cameras and Lighting Basics
Part 5: Animation and Rendering Basics
Part 6: Advanced Modeling
Part 7: Advanced Materials
Part 8: Advanced Animation Techniques
Part 9: Dynamic Animation
Part 10: Working with Characters
Part 11: Advanced Lighting and Rendering
Part 12: MAXScript and Plug-Ins
4 Appendices
50 Chapters in total

3ds Max 9 Bible summary of contents
Part 1: Learning the Max Interface
Part 2: Working with Objects
Part 3: Modeling
Part 4: Materials and Maps
Part 5: Cameras and Lighting
Part 6: Animation
Part 7: Dynamic Animation
Part 8: Characters
Part 9: Rendering
Part 10: Podt Processing
Part 11: MAXScript and Plug-Ins

If you would like to try the latest version of 3DS Max, you can get a Free 30 day trial

Modeling a Character in 3DS Max

Author: Paul Steed

Written by the modeler and animator for Quake 3 Arena. I found this to be a very useful resource for learning 3DS Max. Before I got this book I wasted a lot of time struggling with basic stuff but when I started reading this it all came together and I've become a much better modeller now.

The presentation of the book is "watching" Steed create his character, Callisto, from start to finish. You can learn by either re-creating the character by following along exactly, or if you're a bit more ambitious, use the material as a workbook to build your own character.

Part 1 - Design
Chapter 1 Design Fundamentals
Chapter 2 Callisto Designed
Part 2 - Modeling
Chapter 3 The Guide Objects
Chapter 4 The Head and Face
Chapter 5 The Hair
Chapter 6 The Torso
Chapter 7 The Legs
Chapter 8 The Back, Neck and Shoulders
Chapter 9 The Arms
Chapter 10 The Boots
Chapter 11 Optimizing the Mesh
Part 3 - Texturing
Chapter 12 - Mapping the Head
Chapter 13 - Mapping the Rest of Callisto
Final Thoughts

Maya

Download Maya Personal Learning Edition

Assembly and Low Level Programming

The Art of Assembly Language Programming


Check out the official website here.

1 Hello, World of Assembly Language 2 Data Representation 3 Memory Access and Organization 4 Constants, Variables, and Data Types 5 Procedures and Units 6 Arithmetic 7 Low-Level Control Structures 8 Files 9 Advanced Arithmetic 10 Macros and the HLA Compile-Time Language 11 Bit Manipulation 12 The String Instructions 13 The MMX Instruction Set 14 Classes and Objects 15 Mixed Language Programming A The ASCII Character Set B The 80x86 Instruction Set


Last updated 28th June 2008

General

C++ Language and Windows programming using Visual C++

Java

DirectX and OpenGL
12 books listed

Game AI
AI Game Programming Wisdom series

Assembly and Low Level Programming
Windows Assembly Language & Systems Programming, Art of Assembly Language Programming

Visual Basic 6

.Net 1.1 to 3.5

SQL / Database books

Computer security books

Game Programming Gems Series Reviews