DevMaster.net - Your source for game development Game Development wiki
Home | Forums | 3D Engines Database | Wiki | Articles/Tutorials | Game Dev Jobs | IRC Chat Network | Contact Us
Welcome Guest! 15-May-2008 12:04 am


Are you interested in writing for us? Please click here for details.



Artificial Intelligence

Pathfinding
Topic Author Date Published
An Introduction to Pathfinding
The author introduces the subject of pathfinding and explains about Dijkstra's Algorithm, which is one of the algorithms for finding the shortest path between two points.
Russell Long 16/07/2003

Genetic Algorithms
Topic Author Date Published
An introduction to Genetic Algorithms
This article introduces genetic algorithms and explains how they are related to game development and AI.
TheCell 21/07/2003
Genetic Algorithms: Explanation and Implementation Tradeoffs
This article delves into Genetic Algorithms theory and discusses various implementation tradeoffs.
Jeff Nye 19/05/2004

General
Topic Author Date Published
An Introduction to Finite State Machines
The article explains, provides tips and techniques, and gives an example to demonstrate the use and purpose of Finite State Machines.
Nathaniel Meyer 29/08/2004


Game Design

General
Topic Author Date Published
Eternal Lands' MMORPG Postmortem: Mistakes and Lessons, Part V
The author ends the series with a discussion of some of the events that occured the past year as well as a summary of the mistakes and lessons learned during the development of Eternal Lands.
Radu Privantu 21/12/2005
"Perfect"
Quake III is perfect says David King. This article discusses why Quake 3 was successful, and how to make your game perfect and enjoyable.
O S K Chaitanya 13/07/2004
A Beginner's Guide to Creating a MMORPG
An introduction for beginners on how to get started with building a MMORPG.
Radu Privantu 06/08/2004
Writing Low-Pain Massively Scalable Multiplayer Servers
This article describes an alternative approach to building massively scalable online multiplayer systems using the OpenPoker project as an example, which features built-in fault-tolerance, load balancing and unlimited scalability.
Joel Reymont 07/10/2005
Eternal Lands' MMORPG Postmortem: Mistakes and Lessons, Part I
Eternal Lands' Radu Privantu takes a look at the game's development process of a MMORPG, discussing some of the mistakes, lessons, and experience gained. This first part of the series introduces the game and the journey undertaken to reach the first milestone.
Radu Privantu 24/11/2004
Eternal Lands' MMORPG Postmortem: Mistakes and Lessons, Part II
In the second part of the series, the author discusses some of the problems that were encountered and how they were solved. In addition, he offers advice on various gameplay issues to improve the player's gaming experience.
Radu Privantu 10/12/2004
Eternal Lands' MMORPG Postmortem: Mistakes and Lessons, Part III
In the third part of the series, the author mentions some more mistakes and how they were addressed. Also, some of the things discussed are choosing a scripting engine, creating tutorials for beginners, and the importance of regularly backing up dynamic game data.
Radu Privantu 15/01/2005
Eternal Lands' MMORPG Postmortem: Mistakes and Lessons, Part IV
Continuing the series, this time the author discusses additional problems and issues faced that MMORPG developers should watch out for, as well as how the MMORPG’s direction affected the author’s decision on quitting the project.
Radu Privantu 21/02/2005
Tips on Developing an MMO Economy, Part I
Based on the author's experience in developing his own MMO game, this article provides tips and advice on developing a stable economy for MMO games -- part one of the series.
Radu Privantu 17/02/2007


Game Industry

Interviews
Topic Author Date Published
Joe Riedel
Exclusive interview with the creator of the Abducted Game Engine.
DevMaster.net 02/09/2003


Game Programming

General
Topic Author Date Published
Linear Optimization
The article focuses on the implementation of the back-end compiler that speeds up compilation time and also generates optimized code, which is especially applicable for dynamic shader compilation.
Nicolas Capens 12/11/2004
SDL Lesson 1: The Foundation
The article, which is the first in the series, introduces the SDL library and provides a step-by-step discussion on how to use it for creating 2D and 3D applications.
George Bonny 02/08/2005
Modern Fixed-point Tricks and Optimizations
The article reviews some fixed-point issues that developers face with today's compilers, and presents an approach on creating more robust and faster routines.
Nils Pipenbrinck 06/04/2007

Engine Design
Topic Author Date Published
Object-Oriented Game Design
The article deals with designing games through an object-oriented approach and discusses some of the implementations ideas.
Britt L. Hannah 01/08/2004

Collision Detection
Topic Author Date Published
Quake 3 BSP Collision Detection
The article goes into great detail on how to implement collision detection for Quake 3 maps (BSP46 format). It is written for people who already understand how the Quake 3 BSP structure works (and, preferrably, have written a renderer of at least a basic level for the map format).
Nathan Ostgard 16/08/2003


Graphics Theory & Implementation

General
Topic Author Date Published
Radiosity and BSP-Tree Rendering
This article gives an overview of how the radiosity algorithm (a lightning model) works and focuses on how BSP-trees can be used to optimize the calculations.
Samuel Ranta-Eskola 22/09/2003
Hidden Surface Removal
The article describes how to remove surfaces that are not visible with portal rendering. It also contains a detailed set of algorithms for implementing such hidden surface removal techniques.
Samuel Ranta-Eskola 16/09/2003
Physics in BSP-Trees: Collision Detection
The article discusses the implementation of collision detection in BSP-Trees. Topics covered are: Future Position Calculation, Collision Detection, and Collision Handling.
Samuel Ranta-Eskola 27/09/2003
Viewing Systems For 3D Engines
This article discusses about the various camera models that could be used in engines. The mathematical background is also discussed.
Tom Hammersley 29/09/2003
How ZBuffering Works
The article explains the theory behind ZBuffering, how it works, and how to improve it.
Tom Hammersley 19/10/2003
Speed-up & Optimization Techniques
Explains various optimization techniques to increase your engine's performance.
Tom Hammersley 26/11/2003
Particle Systems
Discusses the basics and implementation of a simple particle system. It focuses on creating explosions to demonstrate the idea.
Tom Hammersley 20/03/2004
An Introduction to Stencil Shadow Volumes
The article explains the theory of stencil shadow volumes. Basic implementation is also discussed.
Jukka Kainulainen 20/10/2004
Shadow Mapping and Shadow Volumes
Advanced theory and math on real-time shadow mapping and shadow volumes.
Andrew V. Nealen 01/01/2005

Algorithms and Data Structures
Topic Author Date Published
BSP Trees: Theory and Implementation
This article offers a detailed explanation of Binary Space Partitioning (BSP) theory for real-time engines, along with various implementation details, complexity anaylsis, optimzations, and rendering.
Samuel Ranta-Eskola 10/09/2003
Using Trees for Sorted Rendering
This article discusses the idea of using Binary Search Trees (BSTs) to render objects in the desired order.
Henry Yuen 01/04/2004
Advanced Graphics Algorithms
In this article, six widely used algorithms in graphics rendering of indoor and outdoor environments are discussed, namely: quad-based static terrain, Roettger's approach to continuous levels-of-detail in terrain, real-time optimally adapting meshes, portals, BSPs and PVSs. In each case the algorithm is discussed and some aspects of implementation are considered, as well as analyize each algorithm for its application in modern graphics systems.
Henri Hakl 11/05/2004

Raytracing
Topic Author Date Published
Ray Tracing Quaternion Julia Sets on the GPU
Discusses a method that takes advantage of the floating point power of recent GPUs to quickly visualize quaternion Julia sets via raytracing.
Keenan Crane 07/11/2005
The Basics of Raytracing
The author runs through the basics of raytracing, the alogrithm, and some implementation techniques.
Tom Hammersley 04/11/2003
Raytracing: Theory & Implementation Part 1, Introduction
The first installment in this series outlines the series and introduces the basics of raytracing.
Jacco Bikker 06/10/2005
Raytracing: Theory & Implementation Part 2, Phong, Mirrors and Shadows
This article explains how to add more interesting lighting and how to add shadows.
Jacco Bikker 06/10/2005
Raytracing: Theory & Implementation Part 3, Refractions and Beer's Law
The article continues the series by explaining about refractions, Beer's law and adaptive supersampling.
Jacco Bikker 06/10/2005
Raytracing: Theory & Implementation Part 4, Spatial Subdivisions
This installment takes a look at performance improvements by implementing a simple spatial subdivision scheme.
Jacco Bikker 06/10/2005
Raytracing: Theory & Implementation Part 5, Soft Shadows
The author builds upon the raytracer implemented so far and discusses how to add soft shadows.
Jacco Bikker 06/10/2005
Raytracing: Theory & Implementation Part 6, Textures, Cameras and Speed
The articles talks about camera's, look-at matrices, texturing of planes and spheres, bilinear filtering and importance sampling.
Jacco Bikker 06/10/2005
Raytracing: Theory & Implementation Part 7, Kd-Trees and More Speed
The final article in the series discusses how to push the performance of the raytracer even further using highly optimized Kd-trees.
Jacco Bikker 29/12/2005

Software Rendering
Topic Author Date Published
Software Rendering School: Part I
This article introduces the series and talks about the mathematical background necessary for the upcoming software-rendering series.
Mihail Ivanchev and Hans Thörnquist 19/10/2003
Software Rendering School, Part II: Projection
The second part of the series introduces projection in software rendering. Sample source code is included.
Mihail Ivanchev and Hans Thörnquist 30/11/2003
Software Rendering School, Part III: Triangle Rasterization
The third part of the series discusses one of the most important basics of the computer graphics: triangle rasterization.
Mihail Ivanchev, Hans Thörnquist, and Anubis 26/03/2004
Software Rendering School, Part IV: Shading and Filling
This article briefly discusses depth sorting, gouraud shading, phong shading, and filling using a software renderer. Sample source code is included.
Mihail Ivanchev, Hans Thörnquist 15/06/2004
Advanced Rasterization Using Half-Space Functions
The article describes an advanced technique for rasterization using the half-space function approach, which enables parallel pixel processing.
Nicolas Capens 26/09/2004
Software Rasterization School, Part IV: Shading
In this part of the series, the theory of lighting is discussed as well as the math behind it.
Mihail Ivanchev and Hans Thörnquist 06/09/2005


OpenGL

Extensions
Topic Author Date Published
Using OpenGL's Vertex Buffer Extension (ARB_vertex_buffer_object)
This short tutorial explains how to use vertex buffers in OpenGL using the the ARB_vertex_buffer_object extension. This extension provides a method of storing vertex information in direct AGP memory which could drastically improve performance.
Luke Philpot 08/07/2003

General
Topic Author Date Published
Shadow Projection in OpenGL
This artilce explains how to create projected shadows in OpenGL. It also shows in detail the mathematical concepts related to the topic. Sample source code is included.
Phaetos 27/03/2003
Projective Shadows using Stencil Buffer
The author article shows the steps involved in rendering projective shadows in OpenGL using the stencil buffer. The article also talks about the advantages and disadvantages of this method.
Arne Olav Hallingstad 09/08/2003
Real-time Shadowing Techniques
This article discusses about various shadowing techniques, implementations, advantages, and disadvantages.
Kris Garrein 06/10/2003
A Survey of Real-time Shading Models
This article presents a survey of popular shading models used in 3D computer graphics and discusses their application to real-time applications, including games. Each shading model is analyzed in terms of computational costs, scalability, realism, applicability, advantages/disadvantages, and other factors.
Karsten Schwenk 14/04/2008


Scripting Languages

Lua Script
Topic Author Date Published
Lua Scripting 101: The Basics
This article covers the the basics of Lua scripting, its syntax, and its use for engine and game development.
Arsenio Costa 24/05/2003


Software Engineering

General
Topic Author Date Published
Source Control, Part I
As an introduction to the series, this article discusses the basics of source control, its importance, and the common terminology used.
W. Nick Ni 16/04/2005
Source Control, Part II
In this part of the series, the author discusses how source control is used by describing dataflow and some of the essential concepts: a repository, checking-in, and checking-out.
W. Nick Ni 16/05/2005
Source Control, Part III
This part of the series discusses how source control can minimize disruption during collaborative development, leading to improved productivity.
W. Nick Ni 25/07/2005


Sound and Music Programming

OpenAL
Topic Author Date Published
Programming 3D Sound With OpenAL
Introduces OpenAL, and explains how to use its various features. Sample code is included.
Dan Ricart 08/06/2003
OpenAL Lesson 1: Simple Static Sound
The simplest OpenAL program involving only one non-moving source.
Jesse Maurais 14/06/2003
OpenAL Lesson 2: Looping and Fadeaway
Movement of an emiting source.
Jesse Maurais 14/06/2003
OpenAL Lesson 3: Multiple Sources
Create an audio scene with more than one source.
Jesse Maurais 14/06/2003
OpenAL Lesson 4: The ALC
A closer look at ALC and creating multiple contexts.
Jesse Maurais 14/06/2003
OpenAL Lesson 5: Sources Sharing Buffers
This tutorial shows a method of having buffers shared among many sources.
Jesse Maurais 14/06/2003
OpenAL Lesson 6: Advanced Loading and Error Handles
Shows how to retrieve error information and ways for error-handling.
Jesse Maurais 14/06/2003
OpenAL Lesson 7: The Doppler Effect
Talks about the doppler effect in OpenAL.
Jesse Maurais 14/06/2003
OpenAL Lesson 8: OggVorbis Streaming Using The Source Queue
This tutorial explains about OggVorbis files and how to read them. How to code a simple OggVorbis player will also be shown. Sample source code is also included.
Jesse Maurais 14/07/2003
Loading OggVorbis Files From Memory
Based on Lesson 8 of the OpenAL series, this tutorial demonstrates how to load an OggVorbis from files into memory. Sample source code is included.
Spree Tree 05/02/2004



The Daily Image
DarkXL

[DarkXL]
By: Lucius
6 Comment(s)

The Daily Image Archive
Submit Image

The Daily Code Gem

By: Eric B
8 Comment(s)


Latest Forum Posts
DevMaster Lounge:
What happened to Devmaster.net?
(May/14 08:36pm)
Personal Announcements:
dress
(May/14 03:53pm)
Graphics Theory & Programming:
DirectX 10 tangent computation... it's not there.
(May/14 10:11am)
Personal Announcements:
Qblocks - Need Help With Your 3D Assets?
(May/14 05:06am)
Personal Announcements:
UFHO - my first real game!
(May/14 04:08am)
Languages:
python periodic timer
(May/14 03:52am)
General Development:
DEXSOFT-GAMES: FREE barrels and Crates model pack!
(May/14 02:12am)
Personal Announcements:
DEXSOFT-GAMES: FREE barrels and Crates model pack!
(May/14 02:12am)
Code & Snapshot Discussion:
DarkXL
(May/13 03:21pm)
General Development:
What happened to Gamasutra?
(May/13 12:40pm)







Copyright ©2003-2008, DevMaster.net. All rights reserved.