Gonzo blogging from the Annie Leibovitz of the software development world.

Category: Game Development (Page 1 of 2)

The evolution of a “great game”?

There´s something that´s been vexing me for sometime and I don’t have the answer.

We all want to create the “killer” game (at least people that write games do). IMHO the killer game was Wolfenstein. It brought on the new generation of game playing. No longer were people stuck watching a ball bounce back and forth on a flat 2D playing field. No longer were people bored at dragging cards around to form suits and runs. No longer were people watching Mario jump over drainpipes and knock down turtles. So where have we gone and where is the next “killer” game.

Jeff Tunnell puts it best when he says “build a great game”. That´s all it is. Something great. Something you can stand back, admire, and be proud to father. Trouble is, what does that mean or look like? We all think about the next revolution in gaming. A FPS with RPG qualities. Or some MMORPG with adaptive behaviour. Or something else. What is that something else?

I certainly don´t have the answers, otherwise I´d be writing it. There´s an old saying. We don´t need a revolution, we need an evolution. Is that what the gaming industry needs? Something to turn things on it´s head and backwards? Or are we content with pumping out the same, albeit prettier, content game after game? Sure technology has advanced. So much so that you can buy a fully capable game engine for $100 bucks that will deliver any world you can imagine. The trouble isn´t the technology, and it´s not the content. It´s that gap between the two that will make you stand out from the rest and people will step back and admire the missing link.

Even the best ideas…

Brian Hook, founder of the independent game company Pyrogon, posted A Pyrogon Postmortem, an article of the reasons he believed his company failed. Read the article, it is a very interesting read.

Here are some highlights that I’ve experienced myself over the years in one way or another and echo so true with my own productions, attempts, and otherwise crap that I call software.

Publishers Never Say No, They Just Stop Answering E-Mails

Publishers will always act interested and will never say “No, we’re gonna pass”. Disinterest pulls a publisher out of the loop, which could put them at a competitive disadvantage, and saying “No” is a bridge that few publishers want to burn even with relative nobodies.

A Good Demo Is Not Enough — It Must Be Jaw Dropping

You need a killer demo, not just a good one. Talk is cheap, and a 300 page design doc, presentation, and even a team “on paper” won’t get you a deal. You have to spend time and effort putting together something that is so mind blowing the execs are flat out scared you might sign with someone else. It’s the difference between a pretty girl smiling at you and a naked pretty girl straddling your lap and licking her phone number onto your face. Publishers need to feel like the latter if you want to get a deal.

Bottom line, think small and grow. Baby steps. Don’t try building the next killer Doom 3 because you’ll still be sitting there years from now trying to catch up with hardware. There’s a reason why Valve, iD Software and other companies make the games they do. They throw millions of dollars of research into building a robust engine they can market. Doom 3. Half-Life 2. Unreal Tournament. They’re just window dressing for the real kill. The marketing and sale of the engine (and the royalties through licensing that come with them).

The guys over at GarageGames have it right. They took a AAA engine and sell it for $99. Yup, for less than a C-Note you can get a full featured engine, source code, tools, and support and build yourself a professional quality game like Tribes and Tribes 2 (which was built using the Torque engine). Will it compete with Doom 3, HL2 and others? In certain areas yes, in others no, still others it will kick ass (like the terrain engine which lets you build almost limitless sized worlds with no degradation on performance).

Grant you, combine some of the features of all of these and you would have a beast not to be reckoned with. The vast terrain engine of Torque, the seamless integration of worlds from Dungeon Siege, the dynamic physics of Half-Life 2 and the on-the-fly level compiling power of Doom 3 and you can write your own cheques.

The cost of making games

While I know this isn’t directly related to The Sims, but what I feel is probably the worst cyber crime in gaming history took place this week, the theft (and release) of the Half Life 2 source code.

As some of you might know, Half Life 2 is the follow-up to Valve software’s Half Life game, which remains to be one of the most popular titles (next to The Sims) since 1998. HL2 was a breakthrough in graphics technology that they had been working on for the last few years. If anyone has seen any screenshots or E3 movies, this thing is the cats meow. Realistic renderings, real-time lighting, etc. that should change the way you look at gaming this December.

Having the source code (and we’re talking about the full code here guys, enough to build any part of the game) is the heart of a game. Imagine if the full source for The Sims was released before it came out? For first-person shooters, it’s an even bigger problem because these guys license their engine so others can make games. Half Life (the original) itself was based on the Quake II engine. Licenses for these engines run in the hundreds of thousands of dollars because frankly they can fetch hundreds of thousands of dollars in return for someone with an idea, some resources, and lots of creativity.

I don’t know what kind of effect this may or may not have on the gaming industry as a whole, the release of the game, and other things. Commercial companies obviously won’t touch the code to release a game (unless they might license it normally). Independents won’t build it into any kind of GPL software for fear of “Hey, that’s from HL2!”. However from a learning perspective, you can now see how what’s known as a “AAA” engine does what it does. It’s also a big thing from the cheating perspective because people studying the code can now build cheat systems that would defeat what they didn’t know before, how the system worked internally.

From a Sims perspective if this had happened to Maxis before the release of The Sims, would it have been as popular as it was? Would we have had hundreds of tools instead of a handful? What do you think would be the impact on The Sims 2 if this happens?

Anyways, I thought it was worth spreading the news so here’s a note from Gabe Newell, the founder of Valve software, describing the theft.

Ever have one of those weeks? This has just not been the best couple of days for me or for Valve.

Yes, the source code that has been posted is the HL2 source code.

Here is what we know:

1) Starting around 9/11 of this year, someone other than me was accessing my email account. This has been determined by looking at traffic on our email server versus my travel schedule.

2) Shortly afterwards my machine started acting weird (right-clicking on executables would crash explorer). I was unable to find a virus or trojan on my machine, I reformatted my hard drive, and reinstalled.

3) For the next week, there appears to have been suspicious activity on my webmail account.

4) Around 9/19 someone made a copy of the HL-2 source tree.

5) At some point, keystroke recorders got installed on several machines at Valve. Our speculation is that these were done via a buffer overflow in Outlook’s preview pane. This recorder is apparently a customized version of RemoteAnywhere created to infect Valve (at least it hasn’t been seen anywhere else, and isn’t detected by normal virus scanning tools).

6) Periodically for the last year we’ve been the subject of a variety of denial of service attacks targeted at our webservers and at Steam. We don’t know if these are related or independent.

Well, this sucks.

What I’d appreciate is the assistance of the community in tracking this down. I have a special email address for people to send information to, helpvalve@valvesoftware.com. If you have information about the denial of service attacks or the infiltration of our network, please send the details. There are some pretty obvious places to start with the posts and records in IRC, so if you can point us in the right direction, that would be great.

We at Valve have always thought of ourselves as being part of a community, and I can’t imagine a better group of people to help us take care of these problems than this community.


UPDATE. There are some more details on the recent Half-Life 2 source leak from Gabe Newell. This was verified that this is legit (thanks to Shacknews). Here’s the latest:

1) We’ve taken our network connection down to pretty much a minimum. We’re still finding machines internally that have been compromised.

2) The suite of tools that the attacker was using included the modified version of RemotelyAnywhere (basically a Remote Desktop-style remote admin tool), Haxker Defender (a process, registry key and file hiding tool), the key logger, and various networking utilities that allowed them to transfer files (compressors, NetCat, and FTP). We also are pretty sure they were sniffing our network to gather passwords and other information. Haxker Defender includes a file system driver that allows an attacker to have stuff on your machine that is invisible, unless you do something like mount the drive under another OS that has NTFS support.

We have determined one way of detecting some infected machines, which is using a connection viewer to detect connections to anomalous hosts external to our network.

We still don’t know their entry method.

3) In general, the community has been remarkably swift at tracking down the sources of the leak. What would be most helpful now are IP addresses of the people who were responsible for the intrusion or for the denial of service attacks.

4) Also, please continue to send in URLs of websites hosting the source code. We’ve been contacting people and asking them to take it down.

5) There’s anecdotal evidence that other game developers have been targeted by whoever attacked us. This hasn’t been confirmed. We’ve been providing other game developers with more detailed information about the exploits and evidence of infiltration.

6) We’re running a little bit blind with our network shut down, but it seems like some of the press has picked up the story. I’ve been fielding calls from the mainstream non-games, non-technical press.all day. Hopefully they will get to report shortly what a mistake it is to piss off a whole bunch of gamers and get them hunting you around the Internet.

For any information related to this, please send it to helpvalve@valvesoftware.com, or you can always send to gaben@valvesoftware.com as well.

Integrated help system for Torque

There´s been a lot of discussion around the documentation for Torque lately. We have a lot of (disparate) collections so if anyone wants to find specific information you spend half your time searching. There are a few efforts underway to unify this. Personally I still think the efforts are not completely team based so I´m looking to help get that moving towards a single goal.

In any case I see 3 different areas for documentation of Torque:


The team has mentioned going through and doxygen´ing the source to provide all the right types and parameters and documentation to the C++ source code. I think this is a great thing but we need to go one step further. We need to tie this into the API. I´m going to look at taking the doxygen and turning it into HTML Help (doxygen does this already, but need to look at setting up the keywords) and then making this an extra help file that plugs into Visual Studio (both versions 6 and 7.NET) so that you can have context sensitive help in the C++ IDE. I´ve done it with other libraries so it´s not hard, you just have to get everything lined up.

Script IDE

I´m not sure if the Tribes IDE is the ´official´ IDE for scripting but if not, it´s about the best we have. It does everything including debugging so I would recommend this. There needs to be more documentation on how to use it with Torque. I found a few threads on setting things up but there needs to be more hand-holding in this area. This is because the primary users of this would be the Torque wanna-bes who are interested in trying it out. Give them a demo app and the IDE so they can do their own tweaks to see how powerful and flexible the engine really is. Also there are a few script references out there which are quite good. We need to get these into a form that the Tribal IDE works with (I´m not sure what that is). Luckily the Tribal IDE is open source (at least I got the source from somewhere, not sure if it´s GPL or not) so we can make changes if needed to support the help system. Tribal is written in Delphi so a port to Kylix for *nix users isn’t out of the question (not sure if this is underway or not either). The Mac users are kind of out of luck here as Borland doesn’t have a Mac version here. Not sure what to do about that. I know of some free Pascal complilers for Mac but nothing that will support the Delphi objects. The main thing though is to bring context sensitive and intellisense help to Torque scripting.

Sample documentation

Again we have plenty of this. Examples, snippets, tips, etc. as they relate to Torque. They just need to be brought together. Maybe a “How do I…” document broken down by category or something. Like How do I make a hover car or How do I add health triggers. It´s all here in the forums and resources I just want to see and bring it to a single source where for people can easily search and find the information they want quickly.

« Older posts