2008年02月26日


無料ツールでWindows上でもGP2Xの自作ゲームを動かそう【VisualStudio 2008 + SDL.lib】

 

Linux搭載の携帯ゲーム機「GP2X」。自作ゲームを開発するのにWindowsを使う方法は前回詳しくご紹介しました。今回は、同じプログラムをWindows上でも動くようにして、開発を楽にするための方法をご紹介します。もちろんGP2Xを持っていなくても、Windows用ソフトとして遊んだり配布する事もできますよ。


前回と同様に、今回のWindows向け開発環境も全て無料で手に入ります。前回のGP2X用開発環境も合わせて用意すれば、ほんの少しの調整で一度にGP2X用とWindows用2つのソフトが制作できます。また、デバグの際にいちいちGP2X本体に転送して実行する必要もないため、開発の効率は飛躍的に上がるでしょう。

※注意1
インストールや実行時に問題が発生するため、フォルダの設定を以下のように変更しておいて下さい。
1.「フォルダオプション」→「表示」→「ファイルおよびフォルダ」→「ファイルとフォルダの表示」を「すべてのファイルとフォルダを表示する」に指定。
2.「フォルダオプション」→「表示」→「ファイルおよびフォルダ」→「登録されている拡張子は表示しない」のチェックを外す。

※注意2

この記事では、GP2X本体として「GP2X-F200」、OSには「WindowsXP」を使用しています。環境により、表示画面やインストール方法などが若干異なる場合があります。
GP2X-F200のレビューなどはこちら


  開発環境のダウンロードとインストール




さて、最初にWindowsの無料の開発環境である「Microsoft Visual Studio 2008 Express Edition」をダウンロードし、インストールします。DVDのISOイメージをダウンロードし、インストール用DVDを作成してインストールする方法もありますが、今回はより簡単なWebインストールを行います。

http://www.microsoft.com/japan/msdn/vstudio/express/

上記アドレスから「Visual C++ 2008 Express Edition(以下VC)」のWebインストールを選びます。その後必要なファイルのダウンロードやインストールが自動で行われます。インストール時には、ドライブに1GB程度の空きが必要です。

VCのインストールが終わったら、前回GP2Xの開発環境で同時にインストールされたゲーム用のライブラリ「SDL(Simple Directmedia Layer)」のWindows版をダウンロードしインストールします。

http://www.libsdl.org/download-1.2.php

上のリンクは現在の最新版(version 1.2)のダウンロードページです。まだVisual Studio 2008用のライブラリはないので、Development Libraries: Win32: にある「SDL-devel-1.2.13-VC8.zip」(Visual Studio 2005用)をダウンロードします。

ダウンロードが終わったらファイルを解凍し、中にある「lib」フォルダと「include」フォルダ、それぞれとその中身を、インストールしたい場所にコピーします。ここでは、「Cドライブ」直下に「SDL」と言う名前のフォルダ(※必ず半角文字)を作り、その中にコピーしておきます。



「lib」フォルダの中にある「SDL.dll」というファイルは、自作プログラムなどで作成した実行ファイルが利用するため、このファイルをWindowsのシステムフォルダにコピーしておきます。システムフォルダの位置はOSにより違いますが、Windows2000の場合で「winnt¥system32」、WindowsXP、Vistaの場合は「WINDOWS¥system32」になります。

最後に、このライブラリーを利用できるようにVCを設定します。VCを起動し、メニューバーの「ツール」から「オプション」を開きます。


「プロジェクトおよびソリューション」の「VC++ディレクトリ」を選択します。


「ディレクトリを表示するプロジェクト」から「インクルードファイル」を選択します。


一番最後の空行部分をダブルクリックし、「C:¥SDL¥include(※全て半角文字)」と入力しEnterを押します。


続いて「ディレクトリを表示するプロジェクト」から「ライブラリファイル」を選択し、同じように最後の行に「C:¥SDL¥lib」を追加すれば設定は全て完了です。


  GP2X開発環境のサンプルを動かしてみよう

まず、前回GP2X用にダウンロードした「DevkitGP2X.rar(※RARファイルの解凍方法は前回の記事を参照)」の中にある「demo」フォルダをWindows用としてコンパイルするために別の場所にコピーします。

この「DevkitGP2X」は、GP2X用の開発環境をまとめたもので、Windows版のみの開発を行う場合は不要です。今回はサンプル実行のためにのみ使用しますので、まだダウンロードしてない方は、下記のリンクからダウンロードしておいて下さい。

devkitGP2X.rar(29.6MB) 【GP2X File Archive】

「Cドライブ」直下に「myworks」と言うフォルダを作り、その中に「demo」フォルダの中身全てをコピーします。さらに、このdemoで使用するbmp画像を用意しておきます。今回はすごろーの用意した画像を使ってみて下さい。

image.zip (111KB)

上のリンクからダウンロードしたファイルを解凍し、できた「image.bmp」ファイルを「C:¥myworks¥demo」フォルダの中にコピーします(※フォルダ自体はコピーしないように注意)。



「demo」フォルダの中にもうひとつ「guyfawkes」と言うフォルダがありますが、これは全く別のサンプルプログラムです。混在していると不都合なので、「guyfawkes」フォルダとその中身を「c:¥myworks」に必ず移動しておきましょう。

次にVCを起動し、このdemoフォルダをVCのプロジェクトとして開きます。まず、メニューバーの「ファイル」から「新規作成」の「既存のコードからプロジェクトを作成」を選びます。


上のようなプロジェクトウィザードが表示されますので、以下のように設定します。

・ 作成するプロジェクトの種類:「Visual C++」を選び「次へ」
・ プロジェクトファイルの場所:「参照」を押し、さきほど用意した「C:¥myworks¥demo」フォルダを指定。
・ プロジェクト名:何でもいいですがとりあえず「gp2xdemo」と入力しておきます。
・ 「完了」を押します。


プロジェクトが開いたら、左側にあるソリューションエクスプローラーから「gp2xdemo」の「+」記号をクリックし開きます。その中にある「demo.c」を右クリックし「名前の変更」を選び、ファイル名を「demo.cpp」に変更します。(拡張子がcだとうまくコンパイルできないため)その後「demo.cpp」をダブルクリックして開きます。


ソースファイルが編集可能になりました。このサンプルはGP2X用として作られている事もあり、このままではWindowsで動きません。以下のように修正します。

39行目を次のように変更
変更前: 「SDL_Surface* bitmap = SDL_LoadBMP("
/mnt/sd/image.bmp");」
変更後: 「SDL_Surface* bitmap = SDL_LoadBMP("image.bmp");」

最初の方にある「#include "SDL.h"」の下あたりに次の2行を追加
#pragma comment(lib,"SDL.lib")
#pragma comment(lib,"SDLmain.lib")

修正箇所はこれだけです。ではF5キーを押して実行してみましょう。


インストールなどに間違いがなければ、このようにウインドウが表示され、画像が表示されます。何かキーを押せば終了します。これで、GP2X用のプログラムをWindows上でも動かす事ができました。


  もうひとつのデモを動かすには

最低限必要なのは上記の「SDL」ライブラリーのみですが、True Typeフォントを表示したり、PNG画像などを扱う場合などはそれぞれ別のライブラリーをさらに組み込んでいく必要があります。

例えば、GP2Xのサンプル「demo」フォルダの中にある「guyfawkes」フォルダの中のサンプルも動かすには、下記の追加ライブラリーもインストールしておく必要があります。

SDL_image-devel-1.2.6-VC8.zip
SDL_mixer-devel-1.2.8-VC8.zip
SDL_ttf-devel-2.0.9-VC8.zip

これらをインストールするには、まずダウンロードした圧縮ファイルを展開し、その中にある「include」フォルダと「lib」フォルダの中のファイル全てを、先ほど作った「C:¥SDL」にある「include」フォルダ、「lib」フォルダの中にそれぞれコピーします。

実際にコンパイルして動かすには、SDL単体の時と同じように、「lib」フォルダの中にある「×××××.dll」ファイルをOSのシステムフォルダの中にコピーしておく必要があります。デバグ実行や、インストール済みのパソコン上ではそのままで動きますが、出来上がったソフトを配布する時は、これらのdllファイルも実行ファイル(×××××.exe)と同じ場所におき、一緒に配布するのを忘れないように気を付けて下さい。

※.dllファイルのインストール時、どうしてもシステムフォルダに入れたくない場合は、毎回、プロジェクトの実行ファイルが置かれる場所(デバグ実行時ならソースファイルのある場所)に使用するdllファイルを全てコピーしてください。

「guyfawkes」フォルダのサンプルをWindowsで動かすため、「sdltest.cpp」ファイルを以下の通り修正します。

16行目を次のように変更
変更前: #define GP2X.....
変更後: 
//#define GP2X.....

その下に次の5行を追加
#pragma comment(lib,"SDL.lib")
#pragma comment(lib,"SDLmain.lib")
#pragma comment(lib,"SDL_image.lib")
#pragma comment(lib,"SDL_ttf.lib")
#pragma comment(lib,"SDL_mixer.lib")



このサンプルは、パソコンのキーボードでも操作できるように予めプログラムされているので、カーソルキーや「Q」「W」「E」「A」「S」「D」「Z」「X」「C」「V」などのキーを押して動作を確かめて見てください。


  次回はゲームを作ってみよう

「Visual Studio 2008 Express Edition」で作成したソフトウェアは商用を含め自由に配布する事が可能ですが、「SDL」のライブラリーはGNUライセンスなどの制約(例えばソースコードを公開しなければならないなど)がある場合があります。SDL関連のライブラリーを使って作成したソフトウェアの配布の際は、ライセンス条件をしっかり読んでライセンス内容にご注意ください。

今回はGP2X用のプログラムソースを、ちょっとの手直しでWindows用として再利用しましたが、全く同じソースをGP2XとWindows用の両方にコンパイルする方法もあります。それについては次回以降で詳しく説明しながら、いよいよ実際のゲーム作りに入ってみたいと思います。


【広告】 「GP2X」「GP2X関連商品」はこちらからどうぞ

GPX GP2X-F200 タッチパネル液晶搭載 Linux携帯ゲーム機
GP2X-F200本体
SANYO eneloop 急速充電器セット
Class6 SDHCカード 【上海問屋】
上海問屋 楽天支店

おすすめの「上海問屋メモリー」のレビュー記事


★関連記事(プログラミング関連)
ゼロから始める「GP2X」自作ゲームプログラミング1(超入門編)

★関連記事(レビュー)
Linux携帯ゲーム機『GP2X-F200』の良いところ、悪いところ
話題の携帯ゲーム機『GP2X-F200レビュー』付属ゲームソフト紹介・その1
液晶品質と内蔵ソフトを検証【タッチパネル携帯ゲーム機 GP2X-F200】
【タッチパネルLinuxゲーム機 GP2X-F200】恒例の比較テスト(笑)

★関連記事(その他)
「GP2X-F200」予約しました〜【自作ゲームも動くタッチパネル携帯ゲーム機GP2X】
自作ソフトも動く携帯ゲーム機「GP2X-F100」「GP2X-F200」まもなく発売

『GP2X』関連の最新記事はこちらから…

★ご意見、感想や質問などはこちら
お名前:  

この記事へのTrackBack URL
http://blog.seesaa.jp/tb/87277226
※ブログオーナーが承認したトラックバックのみ表示されます。
120×60

×

この広告は1年以上新しい記事の投稿がないブログに表示されております。