2014年5月5日月曜日

ファミコンゲーム:中川翔子Lv.29記念作品

皆さんこんにちは.
西村良太(さよなりω)です.

今日は,5月5日ですが,
中川翔子さんが29歳の誕生日です.

今日は東京のディズニーランドの横の,
舞浜アンフィシアターでライブが有ります.
今日の夜の部に参加します.

これに向けて,中川翔子さんへのプレゼントを
作成していました.

しかし,悲劇的なことが起こりました.

以下に詳細を書きます.

●動画
まず,食いつきを良くするために,
作ったゲームの動画を公開します.






●プレゼントを作ろう
何を作ろうかと以前から考えていましたが,
自分のためにも面白いものを作ろうと思いました.

ということで,ファミコン実機で動くカセット(ファミカセ)を
プログラミングして,ROMに焼きこんで,
基板にハンダ付けして,カセットにしよう!! と考えました.


●作成開始
以前に少しやったことがありましたが,
ほとんど初めてに近い状態で,1週間前ぐらいから取り組みました.

以下,参考にしたページ.

[ギコ猫でもわかるファミコンプログラミング]

[ブルジョアソフトウェア研究所:NES研究室]

[2ch:ファミコンのプログラム]

[NesDev] ファミコンの全てが解析されまくっているページ
http://nesdev.com/

他,ツールとしては,
グラフィックツール(わいわい作):YY-CHR
エディタ(Michal Kowalski作):6502 Simulator
エミュレータ:FCEUX

その他:
ゲーム原案(FlappyBird) :Dong Nguyen
サウンドドライバ :KZ-S (K氏 ◆muLeAFKeyE)
サンクス :さぁたん

スペシャルサンクス:中川翔子

上記の皆様には大変感謝申し上げます.


●プログラミング
CPU6502用のアセンブラNESASMでコンパイルするために,
アセンブリ言語で書きます.

これが結構大変でした.
一週間も経つと,めちゃめちゃガリガリ書けるように
なってきましたが(〃゜ω゜〃)


●実機用ROM作成
以前試しに作ってみたことがあって,成功していたので,
何の準備もせずにプログラミングの方に注力していたのが
失敗でした.

プログラムが結構できかけてきたので,
最終段階のROMハンダ付けのために
作業用具を確認したら,はんだ付け用のハンダと,
動作確認用のファミコンのACアダプタがありません(´・ω・`)

部屋中,押入れも引っ掻き回して探しましたが,
見つかりませんでした.

この時点で,日付的には5月5日.
もう当日です.

これにより,ROM作成は諦めて,
動画撮影と写真撮影.
それと,まとめたブログを書くことにしました(´ρ`)


●作成環境
・PC画面上

こんなかんじの画面でひたすら
アセンブリ言語をシコシコと
書いていました(´ρ`)

・実機用環境

左から,
・ファミコン用書き換え可能ROM:EPROM M27C256B-10F1(窓付き)
・ROM内容消し器:EPROM ERASER MODEL LER-121A
・ROMライター:LEAPER-3C
・はんだごて(高校生の時から使っている)
・ファミコンカセット分解用(パチコン)
・ファミコンカセットの中身のROMに,IC下駄をハンダ付けしたやつ

一番左のROMは,外から紫外線を当てると内容を消すことができます.
ROM消し器で内容を消して,何度も書き換えて,
動作確認が出来るようにとおもって,このROMを買ってありました.

最終的には,パチコンのカセットからROMを抜いて,
僕が作ったROMに差し替えて,実機ROM を作る予定でした.


●出来上がる予定だったファミコンカセット
完成予想図です.
これは,はめこみ合成の図ですが,

一応ラベルのデザインも考えて
ベクトルデータで作ってあったので,
ラベルに印刷して貼るだけでしたが,そこまで行かず(´・ω・`)

全体にピンク色にして,
ピンクのカセットにしてもいいですけどね(〃゜ω゜〃)


●作ろうと思ったゲーム
最近巷で噂の FlappyBirdというアプリがあります.
めちゃめちゃ人気で,人気すぎて作者が公開を停止したりしたやつです.


このゲームは,皆にパクられて,今では,24分に1回,
新作パクリアプリがアプリストアに追加されているそうです.

これの,ファミコン版が見当たらなかったので,
これを作ろうと思いました.


●最後までできなかった
ただ,
・土管の描画
・土管を越えられた数のカウント
・土管との当たり判定
・死亡処理
のアルゴリズムを書く前に,
実機ROM作成が無理なことが判明したので,
そこまでしかインプリしてありません(〃゜ω゜〃)


●ファミコン用ROMデータ
遊べる人がどれくらい居るかわかりませんが,
一応,ROMデータもアップロードしておきます.

パソコン上で動くエミュレータなんかでも動きます.
実機ROMに焼きたい人は,MAPPER0で作ってあるので,
簡単に焼けると思います(〃゜ω゜〃)

[FamilyBird (beta)]
http://sayonari.com/famicom/FamiBird(Beta).nes


●遊び方
・オープニング画面
  セレクトキー:選択
  スタートキー:スタート

・ゲーム画面
  十字キー:移動
  Aボタン:ジャンプ
  Bボタン:キャラ変更
  セレクトキー:GAMEOVER
  スタートキー:1UP音を出す


●最後に
中川翔子さんの誕生日に向けたゲーム作成ですが,
最後まで作成するまえにタイムリミットが来てしまい,
非常に残念です(´・ω・`)

ただ,今回非常に勉強になったし,
これで,ファミコンの知識もすごくついたので,
とりあえず,完成するまで作って,
実機ROMをプレゼントできたらなーと思います.

ではまた.

0 件のコメント:

コメントを投稿