One very nice habit of Western game companies is that many of them share their technical knowledge with competitors. Insomniac Games is a very good third party console game developer that has concentrated mostly on the PlayStation platform. Their recent games include the shooter “Resistance Fall of Man” and the action platform Rachet and Clank series.
At this year’s GDC they announced the “Nocturnal” initiative. It’s not a whole game engine, but rather a collection of useful utilities. Things like logging code, C++ object serialization, and a cross-platform performance monitor. Some of the utilities are Playstation 3 specific, but most are applicable to any modern game platform.
Much of this code would be right at home in a “Game Gems” book, but it’s even better to have it freely available, on the web, with a BSD-style license. Good for you Insomniac!
Insomniac also publishes technical papers in a GDC-presentation-like format on their Game R & D Page.
Why do so many game companies share information like this? I think it’s for a number of mutually supportive reasons:
- It’s a form of advertising, to show off how smart and competent the developers are. This is helpful in attracting job applicants and impressing publishers and game reviewers.
- It educates all game developers, some of whom will eventually end up working for the original developer.
- It encourages other developers to share their technology, which benefits the original game developers.
- It reduces the value of middleware, driving down the cost of middleware.
Game developers can give away source code because, unlike other kinds of software, the major intellectual property in the game is in the copyrighted and trademarked art assets, (the data) rather than in the code. Yet, at the same time, game quality is directly tied to the performance of the code. This creates a unique economy in which it is profitable for game developers to exchange performance tips with their competitors.
And it’s a lot of fun for armchair developers like me. Now if only we can get Naughty Dog to open-source their GOOL and GOAL Lisp-based game engines. :-)