Arcade Cabinet

自作したゲームコントローラを紹介します


テーマ:


ゲームレジェンドが無事終了し、しばらく仕事の毎日でしたが、先週の土曜日の仕事終了後から時間があったので、ぼくのかんがえた『ファンタジーゾーン3』のプログラミングを再開することにしました。しかし、ゲームレジェンドで、古いPCやゲーム機の展示されている方々を見て、ファミコンやメガドライブなどの「レトロゲーム機用のプログラミングがしたい!」という思いが強くなっていました。
特に、メガドライブは大好きなFM音源搭載の思い出のあるマシンで、C言語で開発可能なSGDKという開発ツールが公開されております。しかし、半年ぐらい前に、SGDKをインストルしたのですが、環境設定の段階でつまずき、サンプルのソースすらコンパイルできず、途中で諦めてしまった経緯があります。素人には敷居が高いのか・・・
しかし、再度頑張ってみることに。


以前より、メガドライブのゲーム開発についてはラエルさんが自身のサイトで紹介されており、とても参考になります。
ラエルさんは以前ダライアスボスラッシュモードのプログラミング時に、浮遊魚雷の動きのサンプルコードを書いていただいた方で、特にメガドライブのプログラミングについては素晴らしい技術を持たれています。
SDKの最新バージョン1.21をダウンロードし、C/C++の統合開発環境であるCode::Blocksをインストールしました。


まず、ラエルさんのサイトを参考に画像を表示してみることに。
メガドライブで使える512色中16色だけを使った画像を用意し、サンプルを使ってコンパイルしましたが、上手くいきません。ラエルさんからの直接アドバイスで、サイトはSGDKのバージョン1.12を使っていて、最新バージョンの1.21には対応していないとのこと。


自力で勉強するしかないか・・・
SGDKに付属されてあった、ドキュメンとしばらくにらめっこしました。
全てが英語で、わからない単語がいっぱいです。頑張ってライブラリをチェックしていると、同じ関数でもバージョンが異なると、引数の定義が異なっています。いろいろ試みると、なんとかコンパイルでき動かすことができるようになりました。


ところで、プログラムは長時間椅子に座った作業なので、50近いおっさんには体に悪いです。自分は週2-3回5-10kmジョギングをしています。
昨日は夕日が綺麗でした。


ドキュメントの中には、メガドライブの詳細なハードウェアの情報がたくさんありました。これだけでも楽しめます。


画面表示についてです。
スクロール面が2面とスプライト面の構成で、スプライトが合計80個同時に使えるようです。80個って少ない?特に気になったのは、16色のパレットが4つしか使えないこと。色使いにはセンスと努力が必要なようです。


とりあえず、勉強のために、初代インベーダーをメガドライブに移植してみることにしました。エイリアンだけで、55個のスプライトを使用しますが、スプライトの勉強にはとても良いかと。
まず、スプライトを自機を含め、56個表示し動かすプログラムです。
SGDKのスプライト関係のライブラリには2種類あり、高機能だが速度の遅いSprite engineを用いたものと、簡単なことしかできないが処理の早いVDP Spriteがあり、最初に使いやすいSprite engineを使ってみたのですが、スプライトを10個ぐらい表示すると既に処理落ちが発生しています。諦めてVDP Spriteを使ったところ、問題ない速度で動きました。


プログラムしたものはメガドライブのエミュレータで確認できるのですが、やはり実機で動かしたいですよね。
世の中には、自作したプログラムをMicroSDカードに入れて実機で動かせるカートリッジがあります。


試しに、出来上がった ロムを実機で表示。
感動の瞬間でした。


スプライトの使い方が大体わかれば、最近勉強した C言語でゲームの部分をプログラミングです。C++にだいぶ慣れてきたところで、C言語でのプログラミングに少し戸惑いましたが、簡単なプログラミングならなんとかできそうです。


この本、とてもわかりやすいです。



自機をパッドで動かし、ミサイル発射、エイリアン破壊、当たり判定などの処理までプログラミングしました。効果音は全て14000HzのPCM再生です。
今のところ処理落ちはないようですが、これからが問題です。
AD
いいね!した人  |  コメント(4)  |  リブログ(0)

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。