水曜日, 4月 28, 2010

Tokyo Railways 2 v2.00 リリース

 「Tokyo Railways 2」の最初の正式バージョンv2.00をリリースしました

 過去の日記を振り返ってみると、ここまでたどり着くのに、3年近くを要しています。
 ボードゲーム版の最初のバージョンをリリースしたのは、2007年7月23日、この時からいずれはコンピュータ版を作成することを視野に入れて、ゲームをデザインしていました。そして最終的な目標はネット対戦。ですが、まずはオフラインで対戦できることを目的に据え、コンピュータ版の開発に入ったのが2007年11月でした。

 しかし、コンピュータ版の開発はすぐに暗礁に乗り上げます。最初はWebベースにするかオフラインでできるようにするか迷った末に、Mac OS XをターゲットにObjective Cで開発を始めました。しかし、私は仕事ではObjective Cはほとんど使ったことが無く、その開発環境であるX Codeをあまり使いこなせません。それに対してJavaでは10年以上の経験があり、Eclipseに慣れていたのです。

 2008年4月に、一つの決断をしました。開発言語をObjective CからJavaに変更することにしたのです。
 JavaならMac以外にWindowsやLinuxでも動きます。それに私にとってJavaとEclipseの組み合わせは、もっともなれた環境で、ある意味こうやって日本語の文章を書くよりも楽な環境といえます。それじゃあ、なんで、Javaを選ばなかったのかというと、Javaはメモリを食いすぎて、処理速度も遅く、大きなアプリを作るのは無理だと思い込んでいたのです。

 ところが、これを、見事に覆してくれたソフトに出会いました。一つは昔よく遊んでいた「Colonization」というゲームのクローンゲーム「Free Col」です。このソフトはJavaで書かれていて、「Tokyo Railways」のような本格的なターン制の戦略ゲームなんですが、プレーしていてまったく不都合を感じません。もう一つは仕事で出会った「アステリア」という名のGUIの開発環境です。これもJavaで作られていますが、とくに重過ぎることも無く複雑な仕事をこなしてくれてました。
 この2つのJAVAアプリを見て、JAVAでも本格的なゲームが作れるという確信を得たのです。
 開発言語をJAVAに変えた後、Tokyo Railwaysの開発は確実に進み始めました。
 そして2008年11月24日の「Tokyo Railways コンピュータ版」v1.00リリースにたどり着いたのです

 2009年の4月になると、Vectorや窓の杜が「Tokyo Railways コンピュータ版」についての記事を掲載してくれて、これで一気にユーザーが増えました。このころから多くの要望が寄せられるようになり、その要望のおかげで、だんだんとその後の方向性がはっきりしていきました。そしてそうした要望の反映が一段落したのは、2009年の10月あたりでした。このころまでにはBGMを追加し、当初から作る予定だった「ルート表示機能」もようやく実装して、簡単に実装できる機能はもう全てのせることができました。ここでいったん「Tokyo Railways コンピュータ版」の開発をペースダウンすることも検討しましたが、結局は逆に大胆な目標を立てて、メジャーバージョンアップすることにしました。なぜかというと、当初の目標だったネット対応がまだできていない、そしてネット対応は今の仕組みを大きく変えなきゃならないんです。

 それから、「Tokyo Railways 2」の設計を始めました。メインはネットワークプロトコルの設計。きちんとした設計書を作って誰かに作ってもらうわけでないので、設計といってもノートにボールペンで走り書いた意味不明な図ばかりです。これを元に11月にソースをフォークして従来バージョンと「2」用にわけ、数週間でネットーワークプロトコルを一気に実装しました。でも動かしてみると問題続出。友人とプレーしていると、なんかやるたびにバグが出て中断し、15分くらいでそれを直して続行。1回終わるのに3時間くらいかかっちゃいますが、おかげで段々とまともにプレーできるようになってきました。それから、メモリー効率や処理速度の見直しをかけて、大胆に修正しました。
 
 「2」の開発をやっている間も、並行して従来版のバージョンアップもやっていたし、新マップも作っていたのですが、2010年1月になると、ここで私の困った病気が始まります。どうしても従来版の思考ルーチンの弱さが許せなくなってきて、大幅に改造したくなってしまったのです。ですが、すでに従来版と「2」でソースを分離しているので、従来版を修正したら、同じ内容を「2」にも修正しなければなりません。こうやってv1.85のリリースまでは別々のソース管理をやってたのですが、さすがに面倒になってきました。

 2010年2月にここで大きな決断をしました。従来版のソースは破棄して、「2」のソースに統一する。ですが、まだ「2」の新機能はリリースには程遠い状態でした。ですので、「2」の新機能は封印し、見かけは従来版と同じ状態で「2」をリリースする。この時点で「2」の従来版相当の機能は、かなり安定してきたので、これを実際にリリースしてさらに安定性を確保し、これを土台に「2」のリリースを目指すことにしたのです。こうして、実は「2」のソースで見かけは従来版のv1.90をリリースしました。案の定、バグが出て、3月には修正版のv1.95をリリースしました。

 2010年3月末には「2」のベータ版を公開して、「2」のリリース目標を4月末に定め、ユーザーさんを巻き込んだ公開テストプレーを始めました。ですが、最初のテストプレイーはバグ続出。でも2回目には大分マシになり、3回目にようやくバグなしで終えることができました。公開テストプレー以外にも友人にたのんでのテストプレーも何度かやり、開発環境でもテストを繰り返して、ようやく今日の正式リリースにたどり着きました。

 こうやって振り返ってみると、この1年、「Tokyo Railways」はユーザーの皆さんの協力なしには、到底ここまでこれなかったというのがよく分かります。今日のリリースは、私に絶えず助言を与えてくれ、バグの多いソフトでも広い心で受け入れてくれ、開発版の動作確認に協力してくれた、多くのユーザーの方々のおかげです。そうした方々のおかげで、なんとか一つの区切りまでたどり着くことができたのです。ユーザーの皆さんには、いくら感謝しても足りません。

 さて、今後の開発方針ですが、基本的に本体の改造は今までよりも大幅にペースを落とすつもりです。
 新マップや追加マップについては、ペースは落ちるかもしれませんが、今後も定期的にリリースしていきます。
 そして今後は少し新たなことに挑戦していきたいと思います。
 今考えているのは、以下の4つ。
 1)Tokyo Railways 2のネット機能をインターネットに接続したレンタルサーバーに移した、サーバー専用アプリの開発。
 2)Tokyo Railways 2のiPhone/iPad/Androidなどへの移植
 3)Tokyo Railways 2のマップエディターの開発
 4)Tokyo Railwaysとは関係ない、新しいアプリの開発

 まだ、どれを本命にするか決めていません。手をつけると最低半年、下手すると1年以上それをメインにやることになるでしょう。
 まあ、5月はどれも手をつけずに、じっくり考えてみることにします。
 ユーザーの皆さんからもご要望はどしどしください。
 最後に決めるのは私だし、私が何をやりたいかが重要なのですが、今までの経緯だと、道はユーザーの皆さんから提示されることが多かったんですよ。
 必ずしも要望どおりの決断をするとは限りませんが、私が皆さんの声を必要としているのは確かなんです。

 最後に、ここまで「Tokyo Railways」を育ててくれてありがとうございました。
 そして、これからもよろしくお願いします。

0 件のコメント: