The Text is Not the Book: saving PC game development through Open Source

(Originally published in the mind-Dumpster, March 01, 2004. Republished with edits. I wonder of its relevance now that the games industry seems ‘healthy’ again.)

I had just browsed Ars Technica a few hours before (actually a few days ago, see note at the end-red), reading their review of Panther A.K.A. Macintosh OS X version 10.3. Its amazing what the Apple team did to FreeBSD 5. Yes, Mac OS X 10.3 is based on FreeBSD, an open source OS, although the resulting code is copyrighted. And as is the case with the iMac, the original and titanium iBooks, the iCube, the iPod, etc. (you get the idea), the OS X interface is beautiful and functional.

With that in mind I began thinking that open source can save PC gaming. Especially when combined with a Creative Commons license.

My idea is the separation of technology from content. I mean, when people copyright books, they do not primarily copyright the physical-material being of the book, but rather the ideas and images contained in it, including the way that the idea –content– is presented.

OK, now lets try to systematize that argument (or at least let me systematize my idea into a logically traceable argument). First, FreeBSD is an open-source operating system developed by a group of hackers, called the Berkeley Software Distribution, that went to UC-Berkeley Computer Science departement (or at least most of the original developers did). Its development has been from the beginning — and for the most continues to be — developed by hackers for hackers. FreeBSD User interface for the most part is developed only to be just barely usable, and not necessarily aesthetically pleasing.

While Apple computers since the beggining of its Macintosh line in 1984 has continued to focus on style and layman usability. They developed the first graphical user interface — with the help of Xerox’ Palo Alto Labs and (allegedly) Microsoft[1]. When Steve Jobs returned to Apple in 1996 (if I’m not mistaken), he got the company back to the roots that he had originally envisioned for the company, that being the makers of human PCs. And sometime in the year 2000, he made a crucial decision to merge the industrial design skills of Apple with the open-source community’s code robustness with the release of Mac OS X 10.0. Although off to a rocky start, the latest release has resulted in a (subjectively) very stable operating system with a very artistic industrial design. Jobs managed to start an artistic project with — relatively — free technology, thus focusing on the design while harnessing the help of the BSD community for coding.

And that’s where we get into PC gaming. The problem with PC games nowadays is its long development cycle seasoned with a liberal amount of target-missing. And the development woes are resultant of their basing their technolology on proprietary software; a team of only 10 is working on more than 10 million lines of code, where most of the coding consists of recreating the wheel. Game developers continue to reinvent ways of rendering 3D environments, and they have trouble helping each other because of their non-disclosure agreements. And never mind the egoism which refuse to recognise that they can use each others’ help, regardless of the development house they work for. They can’t share code, technology, and techniques, and the main reason is the preservation of their creative design property. So how can developers from separate companies help each other with technology while protecting the rights to their main selling point — the fun that people had by playing their unique game ideas?

That’s where separation of Content from Technology comes in. I see this as very possible, although not inevitable (yet). To get the idea, lets get back to my earlier reference to books. The story and pictures contained in books, and also its layout and design, is the content. The book as a result of desktop-publishing and printing-press machines is the technology. Now think of the gameplay and graphic design as content and the 3D engine, memory management, etc. as the technology. If PC game developers can see that the book does not have to be reinventend everytime they want to make a game, and instead can be developed colaboratively with a big community, then they can start to focus on what they do best: creating fun gameplays, beautiful graphic art, and tantalizing interactive stories.

They should copyright the whole package, but they should license the two sides — content and technology — using separate licenses. The technology should be GPL’ed while the content uses a creative commons license, so that developers can control how, and under what terms, their content is distributed. Or if they want to be greedy or just simply follow copyright law as it is currently applied in their respective countries, they can copyright their content normaly and license it as they see fit.

This should be obvious if developers observe the trends of 3D FPS’es and the licensing of their engines. Add to that the fact that John Carmack released Quake II’s source code under the GPL a while back[2]. And also the troubles caused by Half-Life II’s delay [3].

A caveat emptor, though; I can’t code to save my life. The last time I touched C++ was in 3rd grade SMU (equivalent more or less to 9th grade in the US public school system). For all intents and purposes I’ve completely forgotten the language ever since. The last programming I did was a very simplistic WordBasic script to toggle the marking of highlights in Word2000 documents. I haven’t wrote a single line of code for six moths before that (when I hacked away at DreamWeaver-created HTML for a friend)[4], and practically six years before that. I’m basically a lamer; a hacker wannabe. So I can’t say how complex the separation of design from technology can be applied to PC gaming. But its just a thought, and as far as my limited knowledge can tell me its not only possible but also essential to save the PC gaming industry from the ravages of minimalist popular society’s very limited attention span.

Just as the development of Cascading Style Sheets seek to separate style from content in HTML documents, so should game developers begin to separate design from technology in game development. I’m not saying that developers should make their game design less a part of their game technology development, on the contrary I’m saying that game development should identify which part of their code is aesthetic design and which part is technological innovation, so that each can be treated accordingly; the aesthetic towards the focusing of the game’s message and the technology to expand the horizons of what is possible to render. Thus code becomes bloated and condensed where neccesary, and complexity becomes more controlled and systematized. And PC games can start to look cool again.

Sorry ’bout all the missing links in the brackets; this thing’s been sitting in the draft-bin for too long and I decided to publish anyway, missing link and all…

[1] Originally pointing to the book “Barbarians led by Bill Gates”

[2] id has since released the Quake III arena engine under GPL. More interesting details available on id software tech licensing. -ed

[3] caused by source-code leak -ed

[4] that’s about two and a half years before today -ed

[random thought] At the time I wished has an RSS feed. Now it does.


Leave a comment

No comments yet.

Comments RSS TrackBack Identifier URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s