初代SimCityがオープンソースのMicropolisとして復活

 地元の間抜けな市会議員よりも自分の方が賢いと思っているのなら、わざわざ市議会選に出馬しなくても、元祖都市シミュレーションゲームのおかげでそれを証明することができる。今月Electronic Arts(EA)がSimCityのソースコードをGPLv3の下で公開した。この新たなフリーのゲームは「Micropolis」と名付けられ、主要なLinuxディストリビューションのほとんどでプレイすることができる。

 最初のSimCityは1989年にリリースされた。それ以来、何十という拡張や続編とともに、18種類(現在も増加中)の派生ゲームが生まれている。SimCityは何年間にも渡ってPC用ゲームのベストセラーであり続け、最終的にその座を譲ったのもSimCity自身の派生ゲームであるThe Simsだった。SimCityは非暴力的で教育的なゲームであるため、OLPC(One Laptop Per Child)プロジェクトによってXOノートPC上に含まれることになったのもごく自然なことだった。

 コードは、SimCityの作者であるWill Wright氏と、リリースはされていないがSimCityのUnix版を開発したプログラマのDon Hopkins氏とが協力して修正し、XOのSugarインターフェース上に移植された。そして今月初め、両氏によってそのコードがリリースされた。

 XO版は正式に「SimCity」(EAの商標)と呼ばれているが、一般向けにリリースされたコードは「Micropolis」と呼ばれている。この名称は1980年代にまだSimCityが開発中だった時に仮称として使用されていたものだ。

 MicropolisのソースコードはHopkins氏のサイトからダウンロードすることができる。Tcl/Tk GUIツールキットが必要となるが、広く標準的に使用可能になっているので手元のディストリビューションのパッケージ管理システムを確認してみよう。あるいは少しでも早く使いたいという場合には、使用しているディストリビューション用のパッケージを探せばおそらく見つけることができるだろう。これまでのところ私はDebian、Fedora、Ubuntu用のバイナリパッケージを見つけた。他のディストリビューション用のパッケージも今後きっと現われるだろう。

歴史ある都市Micropolisを今、訪ねよう

 今回リリースされたバージョンは初代のSimCityに基づくもので、その後のアップデートや拡張版に基づくものではない。したがって実行してみると、見掛けが2D的であり画像やサウンドもシンプルで、レトロな感じがする。Tcl/Tkインターフェースも古風だが、しかしそれが気に障るというほどではない。

 熱心なSimCityファンであれば、実際にプレイしてみるとさらに多くの違いに気付くかもしれない。このバージョンには、3つの地域区分(居住地、商用地、工業用地)と、1つの未開発地域(公園)しかない。交通機関の種類も2つ(道路と鉄道)だけで、特殊目的の建物はちょうど7つ(交番、消防署、野球場、海港、空港、火力発電所、原子力発電所)だけになっている。

micropolis_thumb.jpg
Micropolis

 ゲームの開始時には、前もって定義されている24種類の都市マップから好きなものを選んでロードすることもできるし、追加の8つの歴史シナリオ(1906年サンフランシスコ地震や、1967年東京怪獣襲撃など)から一つを選んでプレイすることもできるし、地域マップをランダムに生成して一から始めることもできる。歴史シナリオの場合はそれぞれ特定の都市状況下にある特定の年から始まるが、それ以外のゲームはどれも1900年から始まって、都市を開発するための固定額として20,000ドルが割り当てられている。

 ゲームのプレイ方法は簡単で、プレイヤは都市の一律の税率を調整する。そしてこの税率によって、建設、保守、サービスに当てることのできる予算が左右されることになる。プレイヤは、シミュレーションの進行にともなって居住者や企業が都市に出入りするのをリアルタイムで見ることができる。また、都市がどれほど成功しているのかを把握するための、人気投票、統計、折れ線グラフ、オーバーレイ、状況情報などの複数の方法が提供されている。また場合によっては時間が進むスピードを変化させたり、大規模な建設に挑戦するために時計を一時停止することもできる。

 ゲームは非常に面白く、視覚的な効果や飾りよりもゲーム内容の方が重要だということを改めて気付かせてくれる。2D的で8ビット的な見掛けにも関わらず、どのプレイヤもMicropolisに夢中になってしまうことに、私の市長室を賭けても良い。Micropolisは何度やってもまたやりたくなるタイプのゲームだ――必ず成功する法則というものはなく、また2度目になると古く感じてしまうような起承転結もない。またどんなにうまくなったと思っても、もう一度やればまたちょっとうまくなる(と私は思っている……)。

 今回Micropolisの最初のリリース(正確に言うとUbuntu用パッケージ)を試してみたところ、1つのバグに気付いた。年間予算設定用のポップアップダイアログを出さないようにするAuto Cancel(自動キャンセル)機能が、何もしていないのにも関わらず時々勝手に無効になってしまっていた。なお、1900年に空港や原子力発電所を建設することができるという点をバグだとみなす厳格な人もいるかもしれないが、私自身はこれは希望的歴史観だと受け取っている。

 Micropolisが使用するシステム資源は驚くほど少ない。CPUの使用率は常に低く、また3日間バックグラウンドで実行したままにしておいた後でも、使用していた仮想メモリはたったの3.7MBに収まっていた。最近ではパネルアプレットでも、この10倍の資源を使用するものもある。

未来の都市

 Micropolisが今になってようやく公開されたということに関して先行きの不安を感じる人もいるかも知れない。というのも、オープンソースのクローンもすでにいくつか存在していて、それらには新しい独自の内容に加えて、EAのシリーズでもより新しいバージョンで初めて導入された機能やゲーム内容がすでに取り込まれているからだ。

 オープンソースのMicropolisが今後進む可能性のあるいくつかの異なる方向について、Hopkins氏が自身の考えをブログに書いている。コードの改良やバグ修正はメインのコードに統合されて、OLPC XO用のアップデートに反映されるようになる可能性が高いようだ。またTcl/TkからPythonなどのよりパワフルな言語に移行することも考えているので、拡張が簡単になり見た目も向上することになるだろう。

 しかしHopkins氏によると「長期的な目標は、Micropolisをタイルエンジン、スプライトエンジンなどの再使用可能なコンポーネントに分離することだ。そうすれば子供たちはそれらのエンジンを使って自分のゲームを作ったり、SimCityの画像や振る舞いを変更するプラグインを作成したりすることができるだろう」とのことだ。さらにHopkins氏は、XOのメッシュネットワーキング機能や日記などの記事執筆機能を利用して、友だちと一緒にゲームを楽しむこともできるようにSimCityを変更することもできるかもしれないとしている。

 今回、フリーソフトウェアの都市シミュレーションゲームLinCity-NGの開発者であるWolfgang Becker氏に、初代SimCityのソースコード公開についての意見を聞いてみた。LinCity-NGはSimCityシリーズにそのルーツを持つ3Dシミュレーションゲームだが、ゲーム内容、シミュレーションの仕組み、複雑さと言った点で独自の方向性を持っている。

 Becker氏はまだMicropolisを試していないとしたものの、コードの古さにも関わらず、やはり非常に興奮していると述べた。「SimCityは素晴らしいゲームだった(おそらく今でもそうだろう)。Atari ST上でよくプレイした。続編のSim City 2000は複雑さが非常に増したが、その分楽しさも増えたかというと、そうでもないような気がする」。

 開発者コミュニティにとっては、大成功したゲーム――たとえそれが古いものであっても――の中身を知ることができるということは価値があることだとBecker氏は述べた。「優れたバランスのゲーム内容を持つ、実際に動かすことのできるゲームがあるということは素晴らしいことだ。もちろん最新のユーザインターフェースであればそれも良いが、難しいのは、プレイして楽しいゲームを作るという点だ。最高の都市シミュレーションゲームであるSimCityがオープンソースでリリースされたというニュースを聞いたときは、忙しくて時間がなかったのだが、早く中身を覗きたくて仕方がなかった」。

Linux.com 原文