2008年10月12日
Androidでファミコンエミュレータ作った
Androidでファミコンエミュレータ作った。
作ったと言うか移植しただけだけど。

エミュレータ本体はJava製エミュレータのvNESを使用。
元はJavaアプレットなので、Swingに依存している部分を書き換えAndroidで動くようにした。
が、エミュレータの上でエミュレータを動かしている状態なので壮絶に遅く、実用性は無し。このままでは実機でも厳しそうな気はする。
なんだかvNESの仕組みがいまいちわかっていないので壮絶にちらつく。NES上での描画途中の画面をガンガン描画してしまうので画面がまともに見えることが少ないw あとなんか色も変だ。まぁ半日程度で作った物なのでこの辺で勘弁と言うことで。
AndroidでNESエミュレータはすでに作ってる人がいて、Androidでスーパーマリオ(ファミコン/NES)が動いた。なんかがある。これはこの人が以前作ったiMode版を移植したとのこと。この辺の記述からすると、もしかするとそのiMode版はvNESの移植とかかも。
上でリンクした丸山先生第5回Android勉強会によると、iMode版エミュレータ公開したら任天堂から家に訴状が届いたとのことなので、このエミュレータも公開の予定は無し。しかしvNESのページ行ったらブラウザ上でROMファイルも自動ダウンロードでゲームが出来るがこれは良いのか?w
ファミコンエミュレータのソースコード初めて読んだけど意外とシンプルな内容。
CPUのエミュレーター部分は1500行ほどのクラスファイル1個だけだった。それもコメントが多いので実際のコードはさらに少なそうだ。
当たり前だけどROMファイルから読み込んだ命令をswitch文で処理を分け、int変数をレジスタと見立てて処理を進めている。このあたりもなかなか面白そう。
2008年10月06日
マクロス見てたらHomeworldしたくなった
マクロス面白いですね。
巨大戦艦やそれに群がる戦闘機とか見てたらなんだかHomeworldで遊びたくなりましたよ。
と言うことでHomeworld2引っ張り出してちょっと遊んだ。Homeworld2は完全3D空間上でのSFリアルタイムストラテジーゲーム。よくある巨大宇宙戦艦や、戦闘機でガンガン撃ち合える。
と、Homeworldは面白いんだけど、宇宙だけに360度障害物が無くて、索敵もプローブ出しまくれば敵の動き丸見えだし、ちょっと大味なんだよなー。奥の深さがあまりない。
ストーリーモードは「目の前の敵をもうそろそろ撃退しそうだ」「近くに巨大戦艦級のワープ反応!」「多数の戦艦がワープ、一気に囲まれてピンチ!」みたいなマクロスでもあったよくあるシーンとかあって燃えるんだけど、こんな熱い展開でも登場人物などはいなくてひたすらオペレーターが冷静な声で伝えるのみ。
もっとキャラを出して、キャラの友情とか裏切りとかそういうのを含めていけばいいのになぁ。登場人物が一切いないって言うのはこだわりがあるんだろうか。
まぁそういうファンタジーさを排除して、ひたすら硬派なSFチックな雰囲気というのもHomeworldらしくて良いかもしれないが。Homeworld3出ないかなー。
2008年10月01日
Android端末とSDKが正式リリース
@ITから
Android端末とSDKが正式リリース
とうとうAndroidがリリースだ。SDKも1.0のr1が出ている。
面白い情報としてはGoogleのIDを設定するとGoogleのサービスがシームレスで利用できることだな。
Androidを利用するとGMailのアカウントがケータイメールのように使うことができるようだ。GMailにメールが届くと端末にメールがプッシュされる。
メール、カレンダー、連絡先、メモ、RSSなどなどGoogleの機能がそのまま携帯端末で利用でき、同期されるのがすばらしく便利そうだなー。携帯無くしたりぶっ壊れても、貴重な情報を失わなくてもすむと言うのが良い。
T-Mobile G1 video hands-on
によるとブラウジングはもっさり仕様らしい。
まぁこれもそのうち改善されるでしょう。描画エンジンはiPhoneと同じWebKitだし。
Google ChromeのAndroid版。もしくはFirefoxのAndroid版に期待だ。
後はデザインがよい端末が出てくれればいいのだけれどw