メガドライブのゲームの作り方 その1 - SGDKの環境設定 | Arcade Cabinet

Arcade Cabinet

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

SGDKを用いて、メガドライブのプログラミングを始めて約10か月。今年で48歳になる劣化した脳細胞は、一週間もすれば覚えたことを忘れてしまいます。

そこで、自分なりに試行錯誤して修得したメガドライブのゲームの作り方を覚書として記録する事にしました。パックマンのようなドットイートゲームを実際に作っていきたいと思います。

 

<プログラミングに必要なソフト>

SGDK:セガメガドライブの開発キット。(Stephane氏が開発)

Code::Blocks:オープンソースのC/C++統合開発環境

EDGE:256色のドット絵を描くために開発されたWindows用のグラフィックエディタ

Fusion:メガドライブエミュレータ(他にGensやRegenなどがあります)

 

 <SGDKのインストール>

1. ダウンロードよりダウンロード

(2017/04/25での最新バージョンはSGDK 1.22)。

2. ダウンロードしたファイルをわかりやすい場所に保存。

(ここではC:\MEGADRIVE\sgdk122とします。)

3. 次にWindowsの環境変数を設定します。

Windows10の場合、デスクトップのコンピュータを右クリックでプロパティをクリック→左のシステムの詳細設定を開きます。開いたウィンドウの下部の[環境変数(N)...]をクリックして、 ユーザ環境変数の[新規(N)...]をクリックします。

「GDK」と「GDK_WIN」の2つの環境変数を新規登録します。

・GDKの登録(「\」でなく「/」です。)

・GDK_WINの登録

 

<Code::Blocksのインストール>

1. Code::Blocksのサイトより、セットアップファイルをダウンロードします。codeblocks-16.01mingw-setup.exeのファイル(2017/04/25での最新バージョン)を選びます。

2. セットアップファイルを実行しCode::Blocksをインストールします。設定は全てデフォルトで良いようです。

3. セットアップが終了したら、Code::Blocksが実行されます。

最初にコンパイラを選ぶ画面が表示されるので、GNU GCC Compilerを選択し[OK]をクリックします。

4. 次に、Code::Blocksの拡張子の関連付けについて質問がありますが、関連付けが必要なければ、一番上を選択します。

5. Code::BlocksのメニューのSetting --> Compiler...を開きます。

6. [Copy]をクリックします。

7. 新しいコンパイラの名前を聞かれるので「Sega Genesis Compiler」と入力して[OK]をクリック。

8. [OK]をクリックします。

9. Toolchain executablesのタブに切り換えて、Compiler's installation directoryに、[...]をクリックしSGDKを展開したフォルダを選択します。 

10. Program Filesを以下のようにそれぞれ[...]をクリックし選択します。

すべて選択できたら[OK]ボタンを押し、設定終了です。

 
<プロジェクトを新規作成>
1. Code::BlocksのメニューからFile --> New --> Project...を開く

2. Empty projectを選択し、[Go]をクリック

3. [Next >]をクリック

4. プロジェクト名と保存フォルダを設定

ここではプロジェクト名を「CookieMan」、

プロジェクトのフォルダを「C:\MEGADRIVE\sgdk122\projects」としました。

5. 先ほど設定したコンパイラ「Sega Genesis Compiler」をを選択し、

下記のように設定し、[Finishi]をクリックすると、プロジェクトが作成されます。

6. 次に作成したプロジェクトを右クリックしProperties...を選択

7. MakefileをSGDK用のカスタムMakefileに設定し、[OK]をクリックし、ウインドウを閉じます。

8.再度プロジェクトのProperties...を開いて、同じウインドウを開き、[Project's build options...]をクリック

9. defaultの"Make" commandsタブを開いて、以下のように設定し、[OK]をクリック

10. プロジェクトの保存ファイルに以下のフォルダを新規作成

srcはソースファイル(c, s)

incはヘッダーファイル(h, inc)

resは画像やサウンドファイル(wav, png)

の保存場所になります。

11. プログラムのソース(main.c)を作成します。

メニューより File --> New --> File...を選択

12. C/C++ sourceを選択し[Go]をクリック

13. [Next >]をクリック

14. C言語を選択し、[Next >]をクリック

15. ファイル名とファイルの場所をきかれるので、Filename with full path:の[...]をクリックして、

16. ファイル名はmain.cで、場所は先ほど作成したsrcというフォルダを指定します。

17. defaultにチェック

これで、main.cをCode::Blocksで編集できるようになります。

以下コードを書き込みます。SGDKのサイトにあったHello Worldプログラムです。

#include <genesis.h>

int main()
{
VDP_drawText("Hello Genny World!", 10, 13);

while(1)
{
//read input
//move sprite
//update score
//draw current screen (logo, start screen, settings, game, gameover, credits...)
}
return (0);
}

 

17. プロジェクトをビルド。

18. 問題なく完了すれば、プロジェクトのフォルダの中のoutフォルダにrom.binあると思います。

これをエミュレータなどで実行すれば以下の画面を確認できます。

メガドライブのROM完成です!

*内容はSGDKの公式サイトに詳しく説明されています。

*間違った内容があるかもしれません。もしお気づきになられたらコメントでご指摘して頂いたらうれしい限りです。