My thoughts on Slackware, life and everything

Tag: idsoftware

Memories of Doom

doom_boxcoverYesterday was the 20th birthday of DOOM, the computer game which meant a paradigm shift to me way back when I got my hands on it.

It was 1993 and I worked at a CAD/CAM company with a Novell network (IPX protocolled, this was before the time of TCP/IP even). A collegue of mine had downloaded the shareware version of DOOM from a bulletin board and found out that it had multiplayer capabilities and could be played on an IPX network – like our company network. One-on-one play was also possible using direct modem connection (yes, this was before the advent of the public Internet) but IPX network setup meant 4-player deatchmatch. Nobody had ever played a 3D game on a network (Multi User Dungeons and the like are quite different) so this was exciting stuff.

I was the local sysadmin, and so they asked me if they could put up a copy of the game on the server so that people could install it and have a go at network play. Sure thing! I wanted to try this out myself of course. Early version of a BOFH 🙂

I wish I had gone ehard doing that… even though playing deathmatch was an ABSOLUTELY FANTASTIC experience. What happened? The first version of shareware DOOM had a serious flaw in the IPX network play, it used broadcast packets to communicate among the players of the game. Once we got a couple of foursomes playing the game, the network came to a complete standstill because of all the broadcast traffic.

Luckily the fix came fast, and the next update to the shareware version used unicast packets. That settled things 🙂

But by then I was hooked. I had never played a (semi-) 3D graphical game before at that time, the best I had done was Leisure Suit Larry and that was a different league altogether. I liked the Colossal Cave Adventure a lot better actually. You know that you can type “adventure” on your Slackware command prompt? You’ll probably not experience what I felt in 1983 when I first started it on the University’s mainframe computer… the first ever computer game I played. IT was right after we switched from teletypes and punch cards to VT100 terminals…

DOOM was so much different, it caused an adrenaline rush and we all got hooked at work. We had to declare our lunch breaks as exclusive frag time so that we could still get some work done in the remaining hours. DOOM’s IPX based network play was limited to isolated LANs because John Carmack was new to IPX, but we actually managed to battle our collegues in another office 100 kilometers away after I learnt enough of the IPX protocol to modify the ipxsetup source code and add routing capabilities (even then, idsoftware was ahead of everyone else in the field, not just by being the first company to give away parts of their game for free as “shareware” but also by making the source code of their network setup program available). Yes, those are some of my first USENET posts way back in 1995 and 1996 when we had finally had our own Internet subscription at work (connecting through a 1200 baud Hayes Smartmodem).

Not just the concept of network play, 3D gaming and freely sharing game data and source code was an eye opener to me, but also the concept of multimedia in computing. At the time, I did not even have a “real” DOS computer. I owned an Atari TT  which I bought because Atari had promised to release a real UNIX OS for that machine. Unlike the Arari ST which was primarily meant for playing games, I was interested in programming, furthermore I had been a UNIX support person before I switched to Novell networks. It took Atari so long to deliver that I never actually got to install their brand of UNIX but got hooked on their TOS/GEM operating system instead, and actually wrote a couple of games (game clones to be precise) and utilities for the TT-GEM platform. But then DOOM came, and my girlfriend (now wife) had bought a computer to write her thesis. Of course I installed DOOM on it (my own Atari was useless) and she got hooked to the game  as well  🙂

But, we kept getting stuck at a particular spot in the game and we did not know how to advance. There was no Internet remember… no Google to search for walkthroughs. So I decided to upgrade the computer with extra RAM and a soud card.

Man…

The first time I started DOOM after the sound card was installed, somewhere late at night in a darkened room, and some IMPs raised their gruesome voices, the hair on my head stood on end and I had goosebumps all over. This was scary stuff, o wow! It was my first truely immersive experience in computer gaming – 3D and sound. It defined my taste for computer games, and I still care for “idgames” style of shooters more than anything else.

And having the sounds meant we finally could progress in the game, because we heard a distant door open and close again, and we knew than that we had to run for that door. Something which we would not have discovered without a sound card.

At that time, I knew the computer industry was going to change. It was a game which made me decide to buy new hardware… that was a first for me. At work where I was the sysadmin I upgraded or replaced computers because the programmers would buy a new compiler or wrote more complex code. Games were not considered as relevant to computing. Hah!

A nice read, also called “Memories of Doom” (why did they nick my title!) is up on Kotaku where John Carmack and John Romero (former friends, now bitter rivals) reminisce about their creation. Oh, the good times.

Am I an old guy? Yes, that should be obvious by now. But I still play games. On Slackware Linux.

How opensource works for commercial game developers

The alien  preaches… about open source.

A typical example of an industry where people tend to “sit” on their intellectual property (IP) is game development. If you have a fantastic game concept and built a real good engine around it, it will potentially generate a lot of money for you and your publisher, as long as your game has an uniqueness or credibility that attracts potential players.

Because the process of development for a commercial triple-A kind of game may take years and millions of dollars of investment capital, it is no wonder that a game developer is not happy at all to let outsiders peek in their laboratory. Copy protection measures try to minimize the risk of pirating the software after it has been released, in order to lose as little of revenue as possible – highly anticipated games create their own demand market.

Now I totally agree with the fact that those game developers deserve to earn their money and pirating software is bad. If you create something beautiful for other people to enjoy, you are entitled to financial returns.

But, it is not set in stone that you have to sit on your properties in order to generate a good revenue!

Idlogo The prime example of this idea is idsoftware, the company that became famous with titles as Wolfenstein 3D and DOOM. Since the early days, the people at id Software have made parts of their games available for free (distributed as shareware) without limitations. This concept proved incredibly succesful thanks to the high quality of the games they release. People would download and play the shareware levels for free and then decide if it was worth the money to buy the complete game. This, and the vision of the code masters at id Software, made them to a game company that everybody respects and looks at to see how game engines evolve.

It was once considered a daring move to give away your games for free and trust your product’s quality so much that you expect people to buy it nevertheless. Nowadays, this is common and nobody thinks twice about releasing “demo” versions – but not so 15 or more years ago.

And id Software went one step further even. They made it a point to release the full source code to their games (excluding the copy-righted artwork and music) after a while, when the game had made enough money. With source code released under the GPL license, other people were able to modify and expand on it, and as a result we have seen DOOM, Hexen and other game ports and derivatives appear for Linux, handheld devices and more.

This in itself shows a lot of confidence in the quality of their code and the rapid adances the company makes with every iteration of their graphics and game engines. Their current games are always huge steps further than the code that is released for the older games. The fact that idsoftware cares for the Linux community shows through their Linux versions of several of their past games. The port to Linux is apparently relatively easy because of the program code’s high level of abstraction from the underlying operating system and even hardware. This is being inherited from the days of their DOS games. Id Software did their software development on UNIX (they used Silicon Graphic high-end workstations) and then built DOS versions to be released to the public.

While you can argue that releasing the source code of old software may be a gimmick, and old code is just that (old),  history actually proves that it has given them a lot of credit not only by fanatic followers of their games but also by” rival” game developing studios. Their commitment to open source is a shining beacon in commercial software development – not just game development.

And now this philosphy is actually paying off for them!

What happened? John Carmack, who is the lead developer at id, bought an iPhone (that piece of Apple hardware which is more gadget than phone) and decided that it would be fun to port a few of the old games to that device. The fact that people had picked up the original GPL-ed source code and improved on it, gave him a head start by using the code from Wolf3D Redux for the Wolfenstein game.Early 2009 they released it as an iPhone game. You can read more about the process here at Voodoo Extreme.

The DOOM port to iPhone went similar because code from the high-quality open source enhanced DOOM port: prboom could be re-used. The result is DOOM Classic for the iPhone, and you should go and read John Carmack’s developer blog about this particular port, it is highly entertaining.

The source code for the iPhone games Wolfenstein and DOOM Classic have been released, as required by the terms of the GPL. Isn’t this a perfect example of how commercial software development and the open source movement mutually benefit?

cacodemon

And yes: I have bought all the games of id Software that I’ve ever played, most often after enjoying the shareware version for a while. And to be homest, I have not bought a lot more games than those (I have the Half-Life boxes on my shelf, and Prey, and even those are derived from original id Software game engines).

Cheers, Eric

© 2024 Alien Pastures

Theme by Anders NorenUp ↑