I've tried 3 times and each time I learned something new. I hope next
time I'll be successful. What did I learn?
(1) The first time my company was called Echidna. I learned that being
underfunded is bad. I can't tell you how much we were getting paid
directly. Let's just say 2 of 3 of us were each getting paid 1/4 of what
I consider the average game programmer's salary. The 3rd person, me, was
getting paid by the other 2 to help out. I was basically living off
credit cards. By the end of the project my credit cards were completely
maxxed out and I had to take a real job.
Why did we do such a thing? Because we were naive. We were just out
of school, we didn't have alot of experience, we needed the money and we
thought it was a deal. It seemed like alot of money at the time.
(1.5) Between the first and second times I did some contract work. That time I
learned that I can't work out of my house. Maybe you can but I
can't. I get restless. I wasn't getting any work done at home and a
friend offered me some space at his office. I thought about it but at
first my thoughts were that I didn't have time to move my computer and desk and
supplies somewhere since I was behind schedule. A friend suggested that
if I wasn't getting anything done at home then what did I have to lose by
trying it. So, I tried it and it ended up making all the
difference. All of a sudden I was productive. I believe there are
several reasons.
One is that I believe it's important to have a change of location. At
home it felt like at any time I could be working. I could do things like
watch TV for an hour or two because I would tell myself that I could work
later, my work is just in the other room. My office was in my bedroom so
waking up I could just get out of bed and sit at my desk without taking a
shower etc. On the one hand I felt like I was ALWAYS at work. One the
other hand it always felt like I could just wait a few more minutes. As
soon as Scooby Doo is over I'll start, really. It just didn't work.
Another reason is that I need to see other people. At my friend's office
there were 6 other people. That meant I had some social
interaction. I was surprised how much I needed that to be
productive. Without that social interaction, talking to people and seeing
other people working, I always felt restless for other people's company.
I also see this happen when people are working overtime. When lots
of people are working overtime I feel like part of a team trying to achieve a
common goal. If there are only a few people working overtime, especially
if they are not near me, I feel like I'm the only one that cares about the
project and soon, if I feel that nobody else cares, then I'll eventually stop
caring myself.
The last is just having a place to call work. This is the place I work.
While I'm here I'm working. While I'm not here I'm not
working. I need that distinction.
(2) The second time I started a company it was called Seven. A few things I
learned there: (1) Never except a fixed amount of money for an
unspecified amount of work. This was obvious at the time but we were
anxious to get started on something so we excepted. (2) Partners are
generally bad. Not bad people just a bad idea. You can hear this
advice from many many different people. There are several problems with
partners. Is it an equal partnership? Will you have to put in the
same amount of effort? For example a programmer may have to work 11 hours
a day to get his work done. The accounting partner might only have to
work 2 hours a week to get his work done especially for a small company.
Sooner or later this kind of issue will cause a painful break in the
partnership. Another is direction, some partners might want to do one
type of game where as another might want to do something else, maybe not even
games. I believe this is what happened at Id. It also happened at
Seven and Big Grub and caused no end of frustration for everybody involved.
(3) The last time I started a company was with Big Grub. This time there were
four partners. Again we had the direction problem. Which type of
game should we do next or should we do something other than games etc. Which
small side projects should we take on. The big lesson I think I learned
is that it is very very important to have a good Director. The Game
Director is my definition for the person that has the vision of the final game
in his head and it is his job to direct everybody to create it. That
would mean the best Game Director would be someone who is both the main game
designer and also the game's manager (schedules, budget, etc.) That's a
very hard person to find. People that design don't usually want to manage
and people that manage aren't generally qualified to design. That person
also needs to authority to direct. I believe that can be next to
impossible with partners. Equal partners can generally say, "screw
you I don't want to do that I want to do this." Employee's can't do
that. Next time I start a company I will definitely be the Game Director
and not a programmer unless I find someone who's design and management skills I
truly believe in. Consider the Game Director to be just like a movie
director. He should talk to the Art Director to get the art style he
wants for his vision. He should talk to the music director to make sure
he gets the music that matches his vision. He should talk to the programmers
and make sure they can create his vision and how he needs to adjust it to fit
reality. You can't have the art director directing the art separate from
the game director directing the game. The game director should look over
the shoulders of each person on the team on a daily basis to see that each
person is creating things that fit his vision. He needs to manage
everybody so the project is finished on time and so they are always working
toward a common goal. If a programmer needs certain artwork by next week
the game director should make sure somebody is creating that art.
So how do you start a game company ?
*) Pick a game, make it as small as possible.
This is important. If you've read some of my other pages you should have
already read about how much work making a video game can be. That means
it's important you start with something you can actually finish with a
reasonable number of resources, in a reasonable amount of time and therefore
with a reasonable budget.
The bigger the game you want to make the more important it is you have a very
detailed plan. For example if you're making a game with 10 levels and
your plan says about as much as
"Level 3 - The Ice Level"
This level will be slippery. It will have 3 to 5 monsters made of ice and the player will be able to throw snowballs.
That's NOT ENOUGH! If the game is large, you need to know every little
thing you are going to need for that level so you can get a true idea of what
it's going to cost in time and in resources. You need to know for example
that monster #1 will have 3 attack anims, 2 idles and 1 death, 1 reaction
and 1 defense. You need to know what each attack will be. You need
to know what weapons will effect this monsters The best way to do this
is to diagram it with sketches similar to a storyboard for a movie. Stick
figures are fine but the sketches should have enough detail that someone can
take it and create the needed animations and implement the needed programming
by looking at these storyboards. If the first attack only happens whe
n the player is carrying the XYZ banana then note that on the sketch. On
the other hand if you are doing a Tetris clone maybe you can wing it.
Still if you take a look at a good Tetris type game like Tetris Attack or
Tetrissphere, an awful lot of work when into making those games as polished as
they are with several puzzle levels, tutorials, bonuses, characters, sounds,
music etc. It probably easily took 6 months, 2 programmers, 1 musician
and 2 or 3 artists to make them that polished.
Note: some people will disagree with this in that they don't feel it's
necessary to put down all those details. I suppose I agree to an
extent. I think it's important to do it for each level before each level
starts. That means you could get away with detailing just the first level
and then while the first level is being implemented you can detail the second
level. Just remember that if you find that the 1st level had 100 things
to do which was going to take 5000 man hours (about 3 months for 5 people),
then if you plan on having 30 levels it's going to take 150000 man hours and if
you forgot 25% of the items in the first level then your estimates are going to
be way off.
*) Start small and build bigger in the next game.
You think you are going to be the next Id. You're going to make a game as
good as Quake and right off the bat you'll be driving Ferrari's in no
time. Well I'm sorry to inform you but Quake is Id's 5th or 6th
game. They started with a smaller game and using the funds and technology
from that game they were able to develop the next and so on.
Do the same. Start with a smaller game. If your dream game is to
make a 30 level game with every feature known to man and tons of graphics and
video and music and ... This time start with something smaller. Try
a 3 level game or try a game that re−uses alot of graphics or both.
Then, after you shipped it, make your next game a little bigger. Build
your way up.
*) Finding funding
You're out of luck here. Either (1) your the type of person that can get
money from anybody (sell snow to an Eskimo) If you're that type of person
you win! Please get me some money too 😉 (2) you know somebody
that will give you money like a rich relative or you have a connection at a
publisher (3) You're nobody. In this case the best way to get money is to
first make a really good playable demo. Depending on the game you might
be able to do something like this in a VRML like tool or in Director but most
publishers are going to still need a type (1) person to sell your game or
you're going to have to make a really really good demo. Also, a publisher
is going to want to know that you've got a good team in place. A bunch of
friends who say they'll quit their day job when you get a contract is not good
enough. Neither is a bunch of people that have never created a commercial
game. Look at it this way, if you had 4 million dollars would you give
half of it to a group like yours? What would it take to make you
comfortable to give somebody 2 million dollars considering that most games
don't make there money back?
*) Have a realistic business plan
Everybody only pays attention to the hits. Quake, Doom, C&C, Mario 64
etc. Those are the exception not the rule. Every year something
like 5000 entertainment products come out. How many of them have you
heard of? Most of them you probably haven't because they didn't make any
money. Even within all the games you have heard of possibly half didn't
make money.
Therefore, don't create a plan that only works if your game is one of the top
ten games of the year. In the movies 2 or 3 hits a year fund another 20
titles and didn't make money. The game industry should be so lucky.
*) Hire good people
At least at the top. As mentioned above, the number one person you need
is a good Game Director. Hopefully that is you but remember it will be a
full time project. Don't think you are going to have time to do more
than manage and design. You won't. Of course you need an
experienced lead programmer, and an experienced art director. The rest of
the people can probably have less experience assuming the two leads are capable
of leading and teaching others. On the other hand it should be fairly
obvious that experienced people should in general be able to get things done on
time, to spec and give reasonable estimates. (Come to think of it I'm not
so sure that's true, check your references before you assume that a particular
person's experience is actually all that valuable)
*) Don't waste money on super expensive software/hardware
It may sound glamorous to have an SGI and Alias on your desk or an Intergraph
machine with a 6 thousand dollar video card in it but in the whole scheme of
things, 3 artist with SGIs and Alias = 5 artists with a PC and 3DSMax.
Everything else being equal, 5 artists will out perform 3 or another way to
look at it, with the money use save you can afford to pay for outside video or
for when you have those late deadlines and you're short on cash. I've
worked with all the major packages, Softimage, Alias, 3DSMax, Lightwave.
Any of them are fine for making games. They all have their quirks and no
matter which one you use you'll find something you hate about it, your
programmers will find something they hate about it, and your artists will find
something they hate about it so don't think if you had just bought X instead of
Y things would be better.
Some things not to skimp on.
1) Buy large monitors. Today's software requires lots of screen real
estate. 19−21 inch monitors are a must for production.
2) Don't skimp on memory. At least 512Meg per computer or more. In
fact if you're used to working with SGIs with 512Meg or more of memory then get
that much memory for your PC and run NT and it will feel about the same if not
faster.
3) Buy reliable equipment. Remember that time is money. If
somebody's machine is not working and they are idle for 3 days, at $30 an hour
that's 30*8*3 = $720 dollars in the toilet. Maybe you shouldn't
have bought from the garage down the street. This is especially true of
the network equipment. I worked at one company were the network went down
at least once a week for a few hours. That company had about 45
people. That means one hour cost them at least 45 * 30 or
$1350. After a few weeks they already lost more than they saved by using
cheap hardware.
*) Hold your people accountable
Have a real schedule and weekly meetings and make sure people stay on schedule.
If the schedule is unrealistic then fix the schedule. If the
schedule is realistic and one person just can't seem to meet it you've got a
problem. Also, people in the game industry are often at work from 10am to
12am or longer. That doesn't mean they are working more than 8 hours a
day. They may come in at 10am, take a 2 hour lunch, a 1.5 hour dinner,
play an hour of Quake, browse the net for 1.5 hours. That's only 9
hours. That's still good. My point is they aren't working 14 hours
a day. What's my point? My point is that I've seen several people
at various companies come in at 10:30 or 11 and leave at 8 and still do all of
the above not work stuff. In their head they think they were working
hard because they stayed until 8pm (ie, past 6) and they spend all their time
at work. In reality they only put in about 5 hours and they did things
they should be doing outside of work at work. Call them on it.
*) Get rid of bad people
If there is somebody who is clearly not up to the task get rid of them
immediately. Don't wait and put if off because it's unpleasant.
People that don't cut it bring down the entire team. Other's will resent
the
fact that they are getting paid the same or at all even though their work is
crap or is always having to be redone or is always late. That makes them
less productive too.
*) Keep people together
By this I mean that I don't agree with the books that say programmers need
offices. I've worked both ways and for the most part I believe that
making entertainment software is different from making other types of
software. You wouldn't make a movie with the director in his office and
the camera man in his and each actor in another. You're making something
that not only has to be functional but it has to be fun, entertaining and
beautiful. That comes from people being together and collaborating,
working together to make things their best. You might be able to have an
engine programmer not interact with the team but your detail programmers, the
people that make things work using the engine, need to be in constant
communication with the artists and designers and that means in the same room
within talking distance.
*) Support your team
Realize that your team is working their asses off for you and that they are
trying to make something great. Support them. Stock the fridge with
drinks and snacks (if you figure out the cost for this you'll see it's actually
pretty small) If they are staying late to meet a deadline get them
dinner. Make sure they have what they need to get the job
done. Whether it's software, hardware, a new chair, whatever.
Also, never take credit for other people's work. If the press comes in,
show off the team, don't forget anybody. There's no better feeling than
getting noticed for doing a good job and no worse feeling than getting
overlooked or having somebody else take credit for your work.
Be honest with your team. Don't promise them things you can't deliver on.
*) Finish a level
Make the game playable as soon as possible and then finish the first level of
the game. FINISH IT! If its got voice put the voice
in. If it supposed to tally your score at the end put that in. If
it needs a HUD (Head's Up Display) implement it. If it's supposed to have
a map then do it. Dialog, put it in. Video? That too.
That first level should be ready to ship before you do the second level.
Ready to ship means there is NOTHING LEFT TO DO. If you've still got a
list of things yet to be done (like go through the level and add hints, or, add
the final bonus crates) then you are NOT finished. Why? Because until
that level is finished and shippable you won't know how long it actually takes
to finish a level. You won't know what things you forgot. You won't
know whether or not all the things you wanted in the level will actually
fit. In order for that level to be shippable you will need every piece of
your engine in place and you will have had to do each thing you will ever have
to do on your game at least once. That means you will have to solve your
problems now instead of later when it's too late. You will also find out
things you forgot to plan for which means that sooner rather than later your
schedule will become more realistic as you see what's left to do. Also,
once you have a FINISHED level you have something you can show the press and
impress them. Nothing is more uninspiring that an half finished level
with crappy place holder art, no music, no or bad sound effects and that
crashes every time you touch the pink tile because pink tiles aren't
implemented yet.
One Million more
I'm sure there are a million more things that should be listed. For now,
these are the things I think are important to start and have a successful game
company. Feel free to tell me I'm full of it.