自作ゲーム

ここでは、管理人がゲーム製作ソフト「Game Maker」で作ったゲームなどを紹介します。

  1. Birds of the Bullets Sea(2D全方向スクロールシューティングゲーム)
  2. SaveLoadValues(暗号化機能つきセーブ/ロードスクリプト)
  3. List2D(2次元リスト機能を追加するスクリプト)  (レジスト版のみで動作します!)
  4. srt_argcv_find(引数の個数と引数文字列を求めるスクリプト)


Birds of the Bullets Sea

目次

  1. ゲーム概要
  2. 動作環境
  3. ストーリー
  4. ゲームシステム
  5. ミッション一部紹介
  6. ダウンロード
  7. 使用素材・ソフトウェア等

ゲーム概要

種別 : フリーソフト
ジャンル : 2D全方向スクロールシューティングゲーム

エースコンバットのようなゲームを作ってみたいと思い、自らのプログラミングの勉強も兼ねて作ったものです。
暇を見つけて作り続けて2年、ようやく納得のいくものに仕上がりました。
プレイヤーが魅せることを許さない、本気で落としに来る弾幕(Artillery Barrage)をお楽しみください。

このゲームは、総合ゲーム作成ソフト「Game Maker 8.0 Pro」を用いて作成されています。

動作環境

OS
Windows® XP 以上 (作者の環境 : Windows 7® Professional)
CPU
Intel® Celeron® D 3.20GHz 以上(作者の環境 : Intel® Core i5 M560 2.67GHz * 4コア)
Memory
2.0GB以上 (作者の環境 : 8.0GB)
Graffic
オンボードグラフィックか、それより高位のグラフィックカード(作者の環境 : NVIDIA® GeForce® GT 445M)
Sound
wavが鳴る環境
Display
640*640ピクセルを表示できる32bitのディスプレイ
Other
DirectX® 8.0 以上

※上記の環境は動作環境の目安です。上記の環境以上でも必ず動作するとは限りません。様々な要因により動作しない場合もあります。

ストーリー

平和を保っていたザラーデン連邦共和国北部の警戒空域に、軍事大国ツィケール帝国の爆撃機が洋上から護衛の戦闘機を伴って複数侵入した。
すぐに空軍が出動し警告射撃を試みたが、旧型であることが災いして逆に護衛の戦闘機に全機撃墜されてしまった。
ツィケール帝国はこれを受けて、「戦闘機が迎撃に来たことは我々と戦争をする意思があることに他ならない」として、ザラーデン連邦共和国に宣戦布告してきた。
プレイヤーは戦闘機隊「コルアーテ隊」の隊長「コルアーテ1」として、僚機と共にザラーデン連邦共和国を勝利に導かなければならない。

ゲームシステム

このゲームには、格闘ゲームなどのように複数のキーを組み合わせて行うコマンド入力も、フライトシミュレータのようにあさっての方向へ飛んで墜落ということもありません。
あなたが行うことは、目標の方向を向き、ロックオンしたら、後はミサイルや機銃を発射するだけ。お手軽操作ですぐにゲームになじむことができます。
またこのゲームは、シューティングゲームとして一般的な「道中の後のボスを倒せばクリア」の形式ではなく、初めにミッションの目標が与えられ、それを達成すればミッションクリアとなる形式です。
ゲームの大まかな流れは、以下のようになっています。

1. ミッション・難易度選択
プレイするミッションとその難易度を選びます。
2. ブリーフィング
プレイするミッションの説明を見ます。
3. 機体選択
プレイヤー(コルアーテ1)、コルアーテ2、コルアーテ3の機体をそれぞれ選びます。
4. ミッション遂行
ミッションをプレイします。ミッションが成功すると5. に進み、失敗すると1. に戻ります。
5. デブリーフィング
ミッション遂行結果の説明を見ます。新機体を取得することもできます。

ミッションの内容は、ただひたすらに敵を撃破したり、味方を守りながらであったり、対空・対地・対艦と様々です。刻々と変わる戦況を見極め、勝利を手にしましょう。
ミッションでは、プレイヤーが操る機体だけでなく、同じく「コルアーテ隊」に所属する僚機やその他の部隊に所属する味方戦力も戦闘に参加します。プレイヤーはそれらの味方に対していろいろな指示を与えることができます。いざという時は頼ってみるのも一つの手です。

ミッション一部紹介

ここでは、全10ミッションの内のいくつかを簡単に紹介します。

BEACH PLAY

味方の上陸を支援するため、敵基地に並ぶ砲台と攻撃機を攻撃するミッションです。
陸と空にバランスよく攻撃していかないと、味方の艦船はすぐに撃沈されてしまいます。
Birds of the Bullets Sea ミッション02 スクリーンショット

CRITICAL PARTY

自基地に迫る大勢の敵航空部隊と大空戦を繰り広げるミッションです。
弾薬の量や自機のダメージ量も考え、僚機と共に少数の意地を見せてやりましょう。
Birds of the Bullets Sea ミッション06 スクリーンショット

ダウンロード

動作環境をご確認の上、以下よりダウンロードしてください。
ゲームをよりお楽しみいただくために、解凍後にBirds_of_the_Bullets_Sea_Verx.x.xフォルダ内に作られるreadme.htmlをお読みください。
Birds of the Bullets Sea Ver1.4.0本体をダウンロード (zip形式 約5.29MB) 2012/01/18更新

また、このゲームを作成したソフトウェア「Game Maker 8.0」で開くことのできるソースプログラムを同時公開します。
このゲームをプレイしてゲーム作成に興味を持たれた方は、こちらもぜひダウンロードしてみてください。
こちらについても、ソースプログラムを開く前にreadme.htmlファイルを必ずお読みください。重要な注意事項等が書かれてあります。
Birds of the Bullets Sea Ver1.4.0ソースプログラムをダウンロード (zip形式 約2.86MB) 2012/05/07更新

Birds of the Bullets Sea 更新履歴

使用素材・ソフトウェア等

Game Maker 8.0 Pro
ゲーム製作全般に使用させていただきました。これがなければ始まりませんでした。

mbText 1.4.0 & jFont Maker 2.2.0
日本語表示に使用させていただきました。透過表示と句読点等の正しい改行が出来るように一部手を加えました。

IPAフォント (IPAゴシック)
上記jFont Makerで画像化して、mbTextによるミッション中の通信表示に使用させていただきました。

bGM; background-music player for Game Maker
BGM再生にに使用させていただきました。
このゲーム中で用いている音声再生ライブラリ「Audiere」のライセンスはLGPLに準拠します。
詳しくは同梱のaudiere_license.txtを参照してください。
また、「Audiere」のソースコードは以下のリンクから入手することができます。
http://audiere.sourceforge.net/

GraphicsGale FreeEdition
画像作成に使用させていただきました。

KanaWave
効果音作成に使用させていただきました。

WEB WAVE LIB
一部の効果音素材を使用させていただきました。

上記ソフトウェア・素材の製作者様にはこの場を借りて感謝いたします。


SaveLoadValues

概要

GameMaker製のゲームに暗号化つきセーブ・ロード機能を組み込みます。
これにより、セーブデータにiniファイルを使用した簡易的な暗号化を施すことができます。
暗号化に用いる鍵は、製作者が自由に決めることができます。

特徴

「読めるけど書けない」

ここで用いられる暗号化では単純な方法を採用しているため、数学の線形代数の基礎が分かる方であればどんな値が格納されているのかを知ることは容易にできます。
しかしながら、データの書き出しに用いる鍵はゲームの実行ファイルの中に埋め込まれるため、セーブファイルを直接書き換えても正確なデータが保存されることは稀です。
このため、「読めるけど書けない」データを作ることができます。
これに、製作者の手で保存するデータの形式変更(2進形式で保存する)などを施せば、データを「読みにくく」することも可能です。

どんなバージョンでも動く

GameMaker標準のセーブ機能では、GameMakerのバージョンが違えば動作しないという不便さがあります。
このスクリプトはGMLの中でも基本的な関数しか使っていないので、バージョンを問わずに使用できます。

ゲームのバージョンごとに読み込む値を分けられる

Ver1.1では、セーブしたゲームのバージョンが保存できるようにデータの仕様を変更し、バージョンチェック用の関数を追加しました。
これにより、ゲームのバージョンごとに読み込む値を切り替えるといった処理を製作者が作りやすくなりました。

全関数のテキスト形式ファイルを同梱 GameMakerがなくても見られる

Ver1.1では、全関数のテキスト形式ファイルを同梱しました。
これにより、日本語をしっかり表示できるエディタで開ける他、GameMakerを開かなくても編集できますし、GameMakerをお持ちでない方もソースを見ることができます。
そのため、他のプログラミング言語への流用も簡単です。

ダウンロード

SaveLoadValues Ver1.1(28.0KB, zip形式) 2011/12/12 更新


List2D

!注意! これはGameMaker標準のリスト機能を用いているため、レジスト版でしか動作しません。

概要

GameMakerで2次元リスト機能を使えるようにするスクリプトです。
GameMaker標準のリスト機能は、リストの長さを求めることができる、配列よりも高速に動作する等のメリットがあります。しかし、これは1次元にしか対応していません。私は2次元配列をよく使うのでこの恩恵を受けたいと思い、これを作りました。
この中の関数のほとんどはGameMaker標準のリスト機能の関数をカバーする形で作っています。しかし、ソートとシャッフル、読み込みと書き込みがありません。これらについては後々追加していきたいと思います。

ダウンロード

List2D Ver1.2(約17.9KB, zip形式) 2013/05/19 更新

List2D 更新履歴


srt_argcv_find

概要

「C言語のargcのように、関数の引数の個数が分かれば良いのに」と思って作ってみたスクリプトです。(文字列の集合argvも求めますがぶっちゃけ無駄機能です)
関数の引数の個数が分かれば、それに応じてある関数の動作を変えることが可能になります。
文字列処理の練習を兼ねて作ってみました。

ダウンロード

srt_argcv_find(4.70KB, zip形式)


トップに戻る