In my entire career as a developer, I have gotten exactly 1.5 really cool pieces of press. One was when a nice calendar VBX that I wrote got a terrific write-up in a Visual Basic magazine. The other (the .5) was when a game that I was assigned to finish, manual, and ship got a glowing review by Prodigy's game-reviewers. Other than that, exactly ZERO people have put any of my games on their "products to watch" list.
Actually, I was at Best Buys today, and I noticed that my existing game-pack was being sold in a four-pack with a collection of card games, a "You Don't Know Jack" clone, and somesuch game that slips my mind. Such is life on the discount-rack, I guess. If game-development could be compared to show-business, us discount-rack guys would be on the level with circus midgets. No respect at all. Nobody to carry our bags, no Ferraris, and no chrome in our offices.
But before I get too depressed. . .
This is gonna be the first of two or three related diary entries about running a game company nowadays.
I thought it was time to comment, given the recent implosion of some game companies and the trend of some companies to hemorrhage money badly. Interestingly enough, these death-march projects aren't overly ambitious. Projects just end up taking too damn long, and there are people who cannot make the transition from small projects to medium-sized (under 1M LOC is considered "medium-sized" in this business) projects.
Lemme relate a whole pile of important points to prospective game developers. Learn these points, and learn to recognize 'em in places that you work:
You must follow a strict development methodology.
The computer gaming industry (yea, the entire computer industry in general) is very young, and is dotted with tons of rags-to-riches stories. There are garage startups that made it big (that "Gates" company who's name escapes me), and there are ones that disappeared (too damn many to mention). One thing that's an absolute necessity if you intend to grow is to abandon the garage mentality. That means adopting formal development methodologies, project management techniques, and accountability for time. You've gotta lose the attitude that following a formal method is betraying your garage-programmer roots in favor of Dilbert-world.
When perusing rec.games.programmer, I see tons of kids who claim that college is not necessary to succeed in the computer games. Sorry to tell you this, but you're gonna need to know more than good ModeX techniques if you wanna succeed in this business.
The object of a small business is not necessarily to become a large business!
A fine example of this would be my father, who's been working as a manufacturer's rep for about 25 years now. In that time, he's gone from one employee to two employees (around 1980 he added my mom, who handles the orders). He's never gonna be on the cover of Forbes, but he does quite well and enjoys what he does. If you intend to grow, work towards it. If you wanna stay small, work towards that end. Don't assume that you've gotta be big to succeed.
Products are cheap, time is expensive.
This is a plague for garage developers, that they budget their time at zero. There have been many times that I've seen people forego buying interesting libraries because "I could write something just as good". True, you could probably write something just as good, but could you write it in enough time to justify not buying it? For example, I just bought the JTGame DirectX framework for $150. If I budgeted my time at an entry-level salary of $30k per year, JTGame would be worth about 1.5 days of my time. I also purchased the book Inside MFC to help me figure out how MFC works. Following the above salary model, if this book saves me two hours, it's been worth the purchase.
The same can be said for computers. If it can justify your time to get a better piece of hardware, get it. A good piece of hardware might look expensive, but if it's reliable and doesn't need to be replaced immediately, stick with it. Which leads me to. . .
Don't go hog-wild just because you got some cash, and don't fall in love with stuff.
This was certainly a problem for Ion Storm. Here was a company with exactly zero successful products buying a penthouse office and furnishing it with a truckload or chrome and glass. While penthouse offices are cool and look good in magazine articles, they probably aren't the best idea for startups, no matter how well-funded they are. Low-cost office space can be just as productive as high-cost office space if you make things comfortable for the developer.
The same can be said for computers. While reading a trade rag, I noticed that eMachines had a new machine with monitor for $499. If you upped the machine's memory to 64 meg and made the monitor a tad larger, it'd be a dandy little VC++ machine for less than $750. There were also ads for super high-end boxes with dual Pentium II processors and the latest graphics cards and speakers for around $3000 --four times as much. Before you decide to drop the cash on the Ultimate Computer of the Universe, figure out if it's really worth the extra cash. If the extra money could be better spent on the purchase of some useful graphics tools, a compiler upgrade, or some books, it might be better to spend the money there.
Don't think that having a great idea is enough.
Sorry to tell you this, but I have 37 great game ideas before breakfast. People who fancy themselves to be game designers because they play tons of games and have hot ideas aren't really sought-out commodities in this industry. Like it or not, the game industry is in the middle of a well-deserved "correction", to use the stock-market vernacular. Literally thousands of titles are appearing every year, and only a few dozen are making money. To use a movie metaphor, for every Titanic, there are approximately one hundred Meet Joe Black's.
If you plan to get a job in this industry, you'd better be able to do the following, and do it well, because they're gonna expect it. . .
- Design a game, and write up a detailed design document that isn't abandoned immediately
- Write the code for the game
- Draw up the bits of art that you didn't/can't hand off to the artist.
- Work with a quality-assurance team to get your game bug-free
- Fix the bugs in the game
- Make changes in the game to match the market and your boss/publisher
- Write the manual for the game
- Submit your game to the proper legal authorities (lawyers, "Made for MS Windows" seal, etc.)
- Communicate with the artists, so you don't end up with art/box/manual that doesn't fit the "vision"
- Write an install program
- Drop a completed game on the boss's/publisher's desk that's ready to put on the shelf
If you're deficient in any of these skills, you'd better start working on it. Companies are far more interested in how well you can PUT A PRODUCT ON THE SHELF than how well you can code for DirectX, ModeX, WhateverX.
Notice that, of the 11 skills I mentioned above, exactly ONE fits the "have a great idea" category. Thus, having a great idea is not enough!
When I interviewed for my last job (four years ago, praise Bob), they asked about my skills. I proceeded to produce four shrink-wrapped products that I did single-handedly or was a major part in shipping. I was offered the job on the spot. If you wanna make it as a game designer, you'd better be able to do the same. if not, work towards it.
Stay tuned for more points soon. . .