マップエディタ着手


プログラマーとしてゲーム作成に関わる以上はプロフェッショナルな仕事を目指したい。たとえ趣味でも。しかし現実には自分の趣味だからこのくらいでもういいやという妥協が入る。そのへんは日延べすることで回復する事も多い。タメを長くして完成度の高いものを披露したいが定期的にできたものを誰かに見てもらわないとモチベーションが保てない。それはWebでなく個人的なやりとりで私信としてみてもらうこともできるが、相手がどのくらい忙しいかとか考えると暇を持て余しているネットの誰かにみてもらうほうが正しいと最近は思っている。


ゲームのプログラムでもたとえばフィールドマップを作る時、プログラムコードとして2進数でバリバリ手打ちするという方法があるけれど、そうでなくお絵描きソフトのようにマップを作って、それをゲームプログラムの2進数に変換するようなプログラムを作ると素人でもマップが描けるし、打ちもらしのようなミスをなくせる。プログラマーばかり集めてプログラミングで全て解決するという方法は確かに高効率だが、参加人数が増えると誰でも手伝える要素を持った作成手順に切り替えた方が楽しいと言うものだ。楽しいだけで高効率かどうかは疑わしいが、そういうマイルストーンを置いて行く仕事の方が長続きして完成までモチベーションを保つという効果があるのではなかろうか。これはプロの先輩から学んだ事でもある。


そんなわけでマッパー(マップエディタ)に着手。どんなプログラムを書けば完成するかはまだ頭の中に無い。将棋ベーシックを作ったときは、学生時代からボンヤリ考えていたプログラムの全体像があったので、着手してから完成までは鬼のように速く片付いたが、今度のマップエディタは唐突に必要性が出てきたので、まだ考えはまとまっていない。考えながら作らなければ行けないと分かり切っている部分から着手する。そして制作工程で変更するかもしれない暫定処理をつないでいくアジャイル開発で進める事にした。独りなので仕様書を書いてトップダウンにしたり人数でボトムアップするということはできない。常にアジャイル開発になってしまう。


アジャイルというのは完成までに暫定の完成形を作ってしまい、そこから様々な部分のプログラムをリファクタリングしていく。極論すると最初はHelloWorldのような簡単なプログラムで動くようにしておき、トップダウン的に要素を作り足して行く。何か出来るとHelloWorldの部分は消す。そうしていずれ消すにしても分かりやすさのために画面にHelloWorldを出したまま放っておくことを工程に組み込むのだけれど、アジャイル開発自体は新しい開発手法なので、そのことを全員が意識していないと後から作り込む予定の部分の暫定処理を「手抜き」と解釈して文句が出たりする。俺は会社勤めをすると総指揮のような偉いポジションではないので、ボトムアップ開発でも自分の担当箇所だけアジャイルでやってしまったりすると、どうにも仕事がやりにくい。俺は会社の中でボトムアップ開発が結合時点に置いて破綻するという失敗例をたくさん見てきたが、トップダウンで全て出来る偉くて技術や知識も両方ある人というのは滅多にいないので、このアジャイル開発に辿り着いた。トップダウンで全て仕切れる人は極論すると社長でひとり丸々作れると言う事である。ドラクエもどきはそれを目指して取りかかった。


しかし、誰かに何か頼んでやってもらうことを考えた時に、その人の作業は楽しい作業であった方が良い。それをするのが結局自分になるとしても自分の仕事が楽しくなるはずだ。そこまで考えての回り道のマップエディタなのだ。


こんなことはチラシの裏か増田で済ませれば良いのだが書いてしまったのでアップする。書いて思った事はアジャイル開発などトップダウンの出来る役職にいれば不要なのだが、身についたものだからそれしかできないのだ。