いや、全然合宿ではないのだけど、そんな雰囲気だったので。
現在、会社員時代の知人の興した会社の仕事を手伝っている。
近日中に、商談で開発中のシステムを見せる必要があり、現状の機能のままでよいので見た目の完成度を高めたかった。
そこで、知人の発案で、知人の会社(小さな部屋を借りているだけ)に関係者が集まり、集中的に作業をすることになった。
関係者、といっても、企画者である知人と、プログラマーの僕、グラフィックデザイナー、サウンドクリエイターの4人だけだ。
事前に、金曜日に「集まる」としていたのだが、木曜日の朝から変更したい要望リストが上がり始めた。
文字列の変更なんかは簡単だが、中には大きな機能追加もあった。
そんなもの、金曜日だけで急に作れるわけがない。
そんなわけで、木曜日はこの要望リストを片っ端から潰していく。
簡単なものから潰していき、ある程度片が付いたところで難しそうな課題に挑む。
こういう時は、あまり考えていてはだめだ。
最初に「こうすればよいのではないかな?」と直感で思ったものを作ってみる。
うん、見事に動かない。
動かないなら、なぜ動かないのかを探る。
現在僕が作っているシステムは、古いシステムを新しいフレームワークで「作り直した」ものをベースにしている。
古いフレームワークは、いろいろな諸事情があり捨てなくてはならないのだ。
わざわざ「作り直し」をしているのは、そのためだ。
そのうえで、新機能の追加や、わかりにくい部分のUI(ユーザーインターフェイス)改善など、様々な課題があった。
しかし、いっぺんにすべてを進めるとわけがわからなくなり、失敗する危険がある。
そこで、過去のしがらみを捨て、必要な機能だけのミニマムセットの移植をまず行い、その後拡張を行うことになっていた。
この、単純な移植作業は別の人がやってくれた。
ただ、その人はその移植作業までで契約が終わっており、僕が知人から拡張を頼まれた。
そんなわけで、僕はシステムを完全に把握してはいない。
しかし、どんな処理がどこに入っているか、程度の概要は把握できている。
そこで、ソースを見て、動くと思ったプログラムが動かない理由を考えるのだ。
なるほど、少し考え方に間違いがあったようだ。
僕はいま、新規データが追加されたときの処理を作ろうと思い、プログラムを見ていた。
すると「不要データが削除されたとき」や「データの書き換えが行われたとき」の処理があり、それらの際にシステムから一定の方法でイベントが渡されることを知った。
新規データの時も同じようなイベントが来るだろう、と思って作ってみたら見事に動かなかった。
そして、プログラムを見た結果、新規データだけは全然違う形でイベントが渡されると知ったのだった。
では、そのイベントを受け取るように変えよう。
少し試行錯誤してデータの型合わせをする必要があったが、プログラムは狙い通りに動いた。
こんな作業を繰り返しながら、知人が出してきた要望を片っ端からシステムに作り込んでいく。
さて、木曜日の夕方までに出された要望は、木曜日の深夜までに全部盛り込んだ。
UIの見た目の調整などはあるだろうが、それは些細な問題だ。
金曜日、朝から知人の会社に出向く。すでにデザイナーの人は来ていた。
そこからが合宿の開始だ。
すでにデザイナーさん向けへの要望も木曜日のうちに出ていた。主にUIで使用するアイコンの修正などだ。
的確な指示もあれば、「どうすればいいかわからないけど今のものは問題がある」というような指示まで、多岐にわたる。
デザイナーさんは、すでにいくつかの案を考えてきていた。
いくつかにはさらに要望が出され、すぐ使えそうなものは僕にデータが渡される。
僕はそれらを組み込み、UIとしての見た目を確認していくわけだが、ここで「思ったより良くない」などのダメ出しも出る。
デザイナーさんが直し、僕が入れる。
この作業をしている間にも、僕の方にも要望が出てくるのでプログラム修正も必要だ。
知人とは、ゲーム会社に勤めていた時代からの付き合いで、こういう作業を共に…1か月ほど繰り返したことがある。
ゲームって、普通は少なくとも3か月かけて作るのに、締め切りの都合で1か月で作ったことがあるんだよ。
その時は、毎日「アイディアが出たらすぐ実装、確認してブラッシュアップ」の繰り返しだった。
なんだか懐かしい雰囲気だ、というと、デザイナーの人も今は独立して一人でやっているが、会社員時代はこんな雰囲気だったと言い出した。
そして、全員が「こういう雰囲気は嫌いじゃない」と。勢いに乗って、製品の完成度が高まっていくのは楽しい。
午後からはサウンドの人も加わった。
実は、サウンドが一番要望を伝えにくいもので、顔を突き合わせながら出ないと良いものができない。
以前に、使用するサウンドをいくつか作ってもらっていたのだが、実際にシステムに組み込んだところは聞いてもらっていなかった。
そして、実際組み合わせて鳴らしてみると「思っていたのと違う」ことになりやすい。
通常、多くならされる音と、特別な時になる音の「音色のバランス」が問題だった。
音量の問題ではなく、音色の問題として、特別な音がほかの音に隠されて気づきにくい。
もっと特別感のある音を、という要望で、サウンドの人が音色を調整する。
実は、複数の音を入れておいて、キー操作で切り替えられる仕組みを、事前に作り込んでおいた。
これで、いろいろな音の組み合わせを試してみる。
その結果を受けて、さらに音が作り込まれる。
これを何度か繰り返す間に、急に「これだ」という瞬間が訪れた。
全ての音がきれいに はまった感じがしたのだ。
サウンドの件はこれで終わり。
この作業で2時間くらいかかっていて、この間もグラフィック調整も行っているし、プログラムの追加なども行っている。
夜八時半。
サウンドとデザインの調整はほぼ終わり。
プログラムはまだ積み残しがあるが、これは後日(今週だ!)やることにして終了する。
普段は一人で働いているので、こんなに激しくプログラムしない。
会社員時代はこれを当たり前にやっていたわけで…
毎日やっているとつらいんだけど、久しぶりにやる程度なら、充実感があって、なかなか楽しいものだった。
同じテーマの日記(最近の一覧)
別年同日の日記
申し訳ありませんが、現在意見投稿をできない状態にしています。 |