毎日会社に出社して業務に励んでいると、ふと、はじめてPCにふれて楽しかった記憶を思い出すときはありませんか?
子供のころはパソコンにふれているだけで楽しかったのに、大人になってシステム開発や保守に追われているうちに自分はあの純粋無垢なコンピューターに対する興味を忘れてしまったのだろうか?子供の頃の自分が今の自分をみたら、パソコンに毎日さわっているのに大変そうな顔で苦労している姿を見て何て言うのだろう?これがほんとうに自分の望んだ未来なのだろうか?
そんな不安に打ち勝つには子供ころ楽しかった事を大人になってもう一度やってみる事です。そしてあなたは大人になって仕事をしている中で子供じゃできないスキルを身に着けました。
そう、それは職場PCでオープンソースのレトロゲームを動かすスキルです。
子供の頃の自分が(会社から支給された)PCで悠々とシムシティをしている姿を見たらきっと「クール!」「カッコいい!」「こんな大人になりたい!」と叫ぶに決まっています。そしてあなたは「これで良かった…良かったんだ…」と心の底から実感して一筋の涙が瞳から零れた後、飽き飽きしていた仕事も急にキラキラとした希望に溢れ輝かしい宝石に見えてくる事でしょう。
今回の記事は子供の頃の純粋な気持ちを思い出して毎日の職場を楽しくするため、オープンソースで動く懐かしのレトロゲーム「シムシティ」クローンの「micropolis」をソースコードからEclipseで動かす説明をします。Eclipseで作業するので仕事しているようにしか見えません。
シムシティのクローン「micropolis」
※ 町が少し発達して交通渋滞が発生している
URL: https://github.com/SimHacker/micropolis
micropolisは初代シムシティ(シムシティクラシック)のクローンでライセンスはGPLです。Java版もありますので今回はEclipseで動作させてみようと思います。以下URLからリリース済みのzipを取得して、解凍した中に含まれるフォルダの「1.6」をEclipseのプロジェクトとして取り込みます。
URL:https://github.com/SimHacker/micropolis/releases
※ Eclipseのプロジェクトとして取り込んだ
Mainクラスがあるのでこれを開くとどうやらswingでGUIが構築されているようです。プロジェクトにはbuild.xmlとantで動作するビルド環境が準備されています。まずゲームを動かすためにはビルドしましょう。
※ antファイルからビルドする
無事ビルドに成功するとjarファイルが作られます。ファイラーからこのjarファイルをダブルクリックするとゲームが起動します。
このままでも遊べますが、せっかくなのでシムシティをEclipse上で動作させたいと思います。Mainクラスを起動させてみましょう。
※エラーになった
Mainクラスを起動させるとエラーになってしまいました。詳細を見るとどうやらイメージアイコンのロードで失敗したようです。他にもタイルファイルを自動生成してそれを利用したりしているので、antでビルド済みのパスを利用して起動します。
※パスを指定する
パスを追加してMain.javaを実行するとシムシティの懐かしの画面が起動します。Eclipseから起動しているのでデバッカーでコードの動きを追うのも簡単です。
※シムシティ起動直後の画面
数時間ひとしきり遊んで、画面が手狭に感じたかも知れません。初期値だと画面サイズが横120 x 縦100ですのでこれを横240 x 縦100に変更してみます。パスで通している1.6/buildフォルダ内のクラスファイルが使われてしまうのを防ぐため、1.6/buildフォルダ内の.classを全て削除した後に、micropolisj.engine.MicropolisのDEFAULT_WIDTHを120から240に変更してMain.classを起動すると横幅が倍になります。
※横2倍なので人口30万人を超えてもまだまだ広い
これだけ広いと子供できなかった50万人都市、100万人都市メトロポリスも夢ではありません。子供の頃の夢を大人になって叶う瞬間を味わいましょう。Eclipseも動かしているのでSwingを最少化すれば上司が席の近くにきてもソースコードを見て真剣に考えているようにしか見えません。ボスが来たモードがパッシブ動作中です。
要約・まとめ
子供の頃に好きだったゲームを動かせると、仕組みやどういう構成でゲームになっていたのかが分かって目からウロコな体験が出来るかも知れません。
業務システムや企業内の情報システム担当をしているとゲームプログラミングにあまり触れる機会が無いと思いますので、手軽に動かせて体験も出来る今回のオープンソース化されているシムシティクローン「micropolis」を簡単にカスタマイズしてみるのはとても参考になると思います。
同じ用にオープンソース化されている懐かしのゲームをソースコードからビルドして遊んでみると、当時分かっていなかった点が大人になってから分かる体験が出来て、さらにプログラミングの勉強にもなるのでおススメです。
本ブログは、Git / Subversion のクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
開発の効率化をしたい!もっと便利なツールを使いたい!そんなお悩みをtracpathで解決!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
1 Comment
[…] た宿題を終わらせるために、久しぶりにシムシティで遊びたいと思うようになりました。 この記事によると、シムシティは現在、micropolisとしてオープンソース化されています。そのため […]