|
I am currently involved in two projects. One is maintaining and updating Front Mission Online (FMO). FMO
is an online action game, which is available on PC and PS2. It has been
in service for over a year now, but we continue to have a steady stream
of additions and changes to keep us busy. My other project is the
development of an unannounced project which began just recently.
May 7, 2006, 10:15
I
say goodbye to my wife and kid before leaving for work. My commute
consists of about 10 minutes of walking and 10 minutes on the subway.
By Tokyo standards, my commute is ridiculously short. For a game
programmer though, a short commute is key.
Square-Enix
is located in Shinjuku, one of the busier parts of Tokyo. One advantage
is that there is a major electronics shopping area here. Sometimes I
stop by one of the major stores to shop or simply look around for
various console and PC games coming out. On major release dates (such
as for the recent Nintendo DS Lite), I also swing by to look at the
long lines.
10:40
I
arrive at work. The company requires us to be at work by 11:00am. I
usually get to work closer to 10:00am, but I got distracted doing some
reading this morning. On one hand, it's great to have time to do stuff
at home before work. On the other hand, I would prefer to go to work
even earlier if that meant I can go home earlier (having a newborn baby
has changed my priorities quite a bit). As the company becomes larger
though, I expect that we will start moving towards a more normal
schedule. A few years ago, whole teams staying at the company overnight
was not uncommon. Now, the vast majority will go home by around 10:00pm
at night.
My
first step at work is to check my email and get some batches running. A
lot of the work for our team is already automated. Before we even get
to work, we have various scripts run automatically to build and
distribute the latest version. I just have a few tasks which I never
bothered to automate for my own personal environment. (As I write this,
I am realizing that I probably should automate them…)
I also have several emails waiting for me concerning what happened to FMO during the night. There are usually a few reports from various users that need to be checked out.
11:15
After
finishing a few email replies, I have a visit from another programmer.
We spend a few minutes discussing the server configuration for FMO.
As much as we like to spend most of our time on the new project, out of
necessity we spend significant amount of time maintaining FMO.
We
have a very casual work environment. A lot of discussing and deciding
is done at various people's booths. I personally like this atmosphere,
but we have had problems because such decision-making does not leave a
paper trail. Now we try to enforce a rule where decisions have to be
written and posted on an online system.
11:30
I
start preparing for our programmer's meeting at noon. This is a meeting
for the new project. Because we're in the beginning phase of a project,
a lot of time is devoted to meeting and talking, and very little in
actual coding. There's a whole bunch of issues that I want to talk
about, so I spend some time preparing.
11:55
We
start our programmer's meeting. We spend about an hour talking about
everything from development environment and tools, to coding standards.
Until recently, much programming has been done ad hoc, without much
structure. Development environments were often designed and implemented
by one or two "superhero" programmers. Though that worked well to a
point, it's definitely showing signs of age. Now we're in the process
of trying to add more checks and control.
13:10
Lunch
is definitely a good time in Shinjuku. There is plenty of great cuisine
to choose from. We could easily go months without visiting the same
restaurant.
Today,
I gather several programmers to go to a tempura restaurant in the same
building. Wednesdays tend to have a lot of meetings, so we keep lunch
short.
On
Mondays, on the other hand, we often eat at the office while playing
various card games or board games. It seems Germany is the only country
making new card games these days, but they're really great for looking
at different game designs. On Fridays, we often take a little bit extra
time to go to one of our favorite restaurants or try out someplace
that's somewhat out of the way.
13:40
We're
back at the office. There's a bunch of things I can do for the new
project, but I suppress my urge and move onto my bug list for FMO.
The next update is still a little bit away, but I figure getting these
bugs fixed first will make me feel better in the long run.
13:50
In
our project, we have one tester who works closely with our team. We
also have a larger testing team at a different location, but the
in-house tester works as a point man for bug questions.
I
have a question about one of the bugs on the list. I go ask the
in-house tester about it, and have him show me how to reproduce the
bug. I then go back to fixing bugs.
16:55
Right
as I am preparing for my next meeting, I am told that the servers for
the testers have gone down. I quickly look at the logs and the core
dump, and figure out what is wrong. Servers have a tendency of crashing
when you have meeting or when you are about to go home.
17:05
We
have our weekly progress meeting. This is the meeting where developers,
testers, marketing, and online support come together. Online games,
unlike packaged games, require ongoing coordination between various
people to keep both development and service running smoothly. New
features and new events require all these different divisions to work
together.
17:45
The
weekly progress meeting ends, but is followed by a quick developer
meeting. Some scheduling issues come up, so we spend half an hour
rearranging the tasks.
18:15
I
am back at my desk. I fix the servers that went down earlier. The
problem was simply a version discrepancy between the server and client.
(Although the server shouldn't have crashed. That's just a bug.) The
biggest issue with online games as opposed to package games is
maintaining all the different versions. We constantly have 4 or 5
versions in progress that we have to juggle around.
After
the server is back up, I go back to fixing the bugs. I have knocked out
all the easy ones, so I now have to dive into some of the more
difficult ones.
19:15
I
wasn't able to recreate one of the bugs that was listed. I try to ask
the tester about it but realize he's already gone home. Since I need to
ask questions regarding the rest of the bugs on my list, I end my work
on Front Mission Online for today and move on to my other project.
There's
still no coding involved in the new project, just a lot of document
writing. But there's nothing quite like the excitement of a new project.
20:00
On some days, we clock out at 8:00pm and spend an hour of playing games. Our current game is Warhammer 40,000: Dawn of War. Today was a pure work day though.
20:45
I
call it a day. I am often the first to leave work. I used to worry and
stay later, but I have recently realized that more hours at work does
not mean more work done.
|