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 when 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.
