http://www.donhopkins.com/home/micropolis/
http://weblogs.asp.net/bsimser/archive/2008/01/10/simcity-source-code-released-to-the-wild-let-the-ports-begin.aspx
http://developers.slashdot.org/article.pl?sid=08/01/12/1846256
今年に入ってからだと思うんだけど、初代simcityのソースコードがGPLv3ライセンスで公開された。今週頭くらいから、Mac OS Xで動かした人がいないか色々と調べていたんだけど、
http://techtrim.net/2008/01/14_17184.html
という記事を見つけて早速自分でもコンパイルしてみるべく、上記の通りにソースコードとMac OS X用のパッチをダウンロードして、記事通りにmakeしてみる。が、しかし、
http://www.satou30.info/d/archives/760
にあるのと同じように unsetenv がぶつかっているよ、というエラーで止まってしまっていた。patchをみてみると、
> Please use the newer snapshot from:
> http://git.zerfleddert.de/cgi-bin/gitweb.cgi/micropolis
>
> Direct .tar.gz link:
> http://git.zerfleddert.de/cgi-bin/gitweb.cgi/micropolis?a=snapshot;h=HEAD;sf=tgz
というような記述があったので、Direct .tar.gz link の方にアクセスして最新版のsnapshotを持ってきてみる。こいつにまたパッチをあてようとすると、すでにパッチされている、と表示される。どうやらパッチがあたった状態のソースコードらしい。でも、やはりunsetenvのエラーが出ることには変わりない...。
ちょっとあきらめて仕事に戻ったりしつつ、さっきまた検索してみたら、
http://d.hatena.ne.jp/paraches/20080115
というページにたどりつく。お、これならコンパイル通るかな、と思って記事通りに修正したところ、見事にコンパイルが通り、simcityが立ち上がる:)。使ったソースコードは上記のsnapshotのもの。
ちなみに、自分の環境では特にgtk周りのものとか入れなかったんだけど...。finkでgtk+shlibsは入っていたけど、それでOKだったんだろうか?
で、ちょっと遊んでみて終了したところ、ターミナルの方に
> Can't find audio player!
> Please make sure you have aplay, play or mplayer in your path.
> A working play for OS X is available from:
> http://www.hieper.nl/html/play.html
というメッセージが出ている。早速、このURLからplayコマンドを持ってきてみる。universal binaryになっていたんで、そのままターミナルから
sudo cp play /usr/bin/
とやってコピーしたあとに再度 ./Micropolis を実行したところ、ちゃんと音が出るじゃない:)。オブジェクトもいちいち"wire"とか"nuclear power station"とかしゃべってくれるし、効果音とかも入っている。なかなかいい感じだ:)。
ちなみに、MacBookだと画面が小さすぎて下がはみ出てしまうんで、
http://techtrim.net/2008/01/14_17184.html
にあったようにリソースを修正して問題なくMacBookの1280x800な画面でも利用できるようになった:)。
simcity 2000にはまって色々とやっていたものとしては非常に懐かしい。しばらくはまりそう。