2005-02-19

今日も昼から出勤して引き継いだツールのプログラムの修正、というよりはほとんど作り直しの作業を行った。

現状では前任者がC++で作った、実機上でマウスとキーボードが使えるウインドウシステムの上でツールが動く環境になっていて、そのウインドウシステムの設計自体はそれなりに綺麗に作られているのだけれども、実際に動いているツールのインターフェースが全く練られていないために非常に使いづらい状態となっていた。ツールの操作が無意味に煩雑なうえに快適に作業するために必要な機能がいろいろ足りないために、以前のチームで使っていたツールと比べると作業効率がものすごく悪い。いままで1年近くの間、よくこんな環境で作業していたものだと思う。

現状のツールはプログラマ的な見かたでは無駄のないシンプルで開発効率のいいプログラムの組み方になっているのだろうけれど、使いやすいツールを求めるなら楽に作ることばかり考えてはいけない。

現状では時間的な問題で根本的な部分からの修正は難しい状況なので、元のプログラムの構成を無視して部分的に設計を壊しながらインターフェースの改善を行っている。元あるシステムでは吸収できない特殊処理が多いので少々汚いプログラムになってしまうけれどツール内で完結しているので他に迷惑はかからないし、ちゃんと完成すればデザイナの人の作業は3倍くらい速くなるはず、と期待している。

「自分で使わないツールはダメツール」の言葉どおり、ツールを作るプログラマは自分自身でそのツールを誰よりも使いこなすようにしなくてはならない。実際に自分で使いながらより効率の良い作業を目指すことでインターフェースが練られ、機能が充実し、最終的にはチーム全体の生産性が上がることになる。

仮に使いやすく改善するためにプログラマが作業に丸一日かけたとしても、それ以降にツールを使う複数のデザイナの人の作業時間を考えれば十二分にお釣りが来るはずなのだが、困ったことに周りにはそのようなことを意識しているプログラマの人があまりいないように感じている。一本のゲームを作るのに必要な作業量は増える一方なので、気合と根性と徹夜でものを作りつづけるのにも限界がある。最終的な目標はチーム全体での作業量が結果として減るようにすることなので、そのための仕事の進め方やワークフローの整備は今後のゲーム開発の大きなキーポイントとなってくるように思う。

今日の作業でとりあえず大体の画面構成と操作方法は固まったので、あとは実際にデザイナの人に触ってもらいながら相談しつつ、細部を詰めていく作業になる。

一方はこれで十分だと考えるが、

もう一方はまだ足りないかもしれないと考える。

そうしたいわば紙一枚の差が、大きな成果の違いを生む

                   松下 幸之助