Jonathan Pikalek's Game Development Resources Page

8-15-2006

Blender

Blender is a full featured open source 3d modelling program. While I'm still more accustomed to 3D Studio Max, Blender is free and significantly smaller. The 2.41 Windows binary was a modest 6.4 MB download. Blender is open sourced under the GNU General Public License. Blender's GPL for artist's and has a very active development community. I recommend giving it a try.


SGI's OpenGL Home Page

When it comes to 3D, I now program almost exclusively in OpenGL. While I feel there OpenGL has many strengths, the most important ones to me are the ability to run on multiple platforms & not needing to know the arcane trapping of a specific OS. The primary reason I've migrated away from DirectX is I got tired of having to write Windows code when I really wanted to be writing graphics code.


GLUT - OpenGL Utility Toolkit

If you haven't had much experience programming graphics intensive apps, or just want to get a quick feel for the API, you probably want to check out GLUT or one of it's near relatives, which are also available from the above link. GLUT is an OS independent library/toolkit for coding OpenGL apps. It provides a simple windowing API for OpenGL, which signifigantly lowers the OpenGL learning curve. It also provides some very basic input & event handling. While I can virtually guarantee that you're not going develop the next killer game with GLUT, it's a great way to get started.

NeHe

NeHe is a fantastic repository of OpenGL tutorials & articles. The topics range from the very basics to advanced techniques like cel shading and vertex shaders. Conversions of the source code packages exist for a variety of compilers environments.

SDL

Simple DirectMedia Layer (SDL) is a cross-platform multimedia library providing low level access to audio, keyboard, mouse, joystick, and 3D video hardware via OpenGL. Think of it as open source DirectX. While GLUT is great for learning getting started with OpenGL coding, I've found SDL provides me with more control. In addition, it provides resource management for things that GLUT ignores completely, such as audio.

DirectX

Needing little introduction, DirectX is Microsoft's hardware API to everything game related: graphics, audio, peripheral input - it's all in there. Needless to say, it's used for Windows only development. I actually started with DirectX long before discovering OpenGL. While I raely use it myself these days, it's still a widely used API, and is worth investiating.

Flipcode

In my opinion, Flipcode was probably the single best grass roots style game development site. Sadly, Flipcode closed its doors on 08/22/2005. The article archives are still avaialble to the public, but without the constant interactions that made Flipcode a thriving source of game development know how, the content will become increasingly dated.

AI Depot

While not restricted solely to game development, AI Depot maintains articles and tutorials on various AI related topics, many of which have game related applications. The site bills iteself as a source of news, knowledge and discussion for the AI enthusiast. AI Depot is run by Alex J. Champandard, author of "AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors" and a contributing author to the AI Programming Wisdom series. It's an interesting site whether you desire to consume or produce informative articles on AI topics.

Gamasutra

Gamasutra is a canoncial game dev site. The features include articles, news, job postings, resumes and art galleries, all driven by the pulse of game development. While access to some content is subscription based, signing up is free & the only unsolicited material I've ever recieved was a game development survey used to collect statistics. Gamasutra is masterminded by the CMP Game Group, same people who produce the Game Developer Magazine and the annual Game Developer's Conference out in San Francisco.

The Standard Template Library

The STL is packed full of generic data type & algorithm goodness. For more info, read SGI's introduction, Phil Ottewell's STL Tutorial or Jak Kirman's modest STL tutorial. Good use of the STL can help you spend more time designing your game and less time debugging your linked list heap sort. Sure, dedicated data types & algorithms may be faster under certain circumstances, but as a general rule, STL is more than effifcent enough for early development. Personally, I think that good STL usage is generally comperable to completely homebrewed solutions.

OGRE (Object-Oriented Graphics Rendering Engine)

OGRE bills itself as "a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilising hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like Direct3D and OpenGL and provides an interface based on world objects and other intuitive classes." It's probably important to note that OGRE is only graphics engine & not a game engine. Also worth noting, OGRE is liscned under GNU Lesser General Public License. I've downloaded the demo's, and they were visually impressive. That being said, I haven't used OGRE for any projects because 1) it seemed like it would have been overkill for anything I was doing and 2) I'm generally interested in doing the graphics code myself. I'm mainly including a link to it because it has been recommended to me on multiple occasions.

Content Revised: 08/21/2006
Layout Revised: 10/31/2006