「ぼくのかんがえたシューティングゲーム」3年5組ふかくん

今度はこんなの作ろうと思います。


【ジャンル】
縦スクロールSTG


【特徴】
 1つの面は、表面と裏面で構成されている。表面が終わると、ステージが左右反転した裏面が始まる。
 表面で破壊した敵や障害物は、裏面に転送されてて裏面でも出現する(裏面は表面とは別に敵キャラが出現するが、それに加えて表面で破壊した敵キャラが出現)。
 表面が破壊率が高いと裏面の難易度も高くなる。これによってプレイヤーのレベルに合わせた難易度となりやすい/難易度コントロールしやすい。
 「表面での行動が裏面に影響する」というのがシステム上の特徴。


【特徴-補足】
・障害物を破壊すると、そこにくっついてる砲台と一緒にひっくり返って裏面に移る感じにしたい(裏面をプレイ時に障害物として出現)。
・障害物を撃ってひっくり返すと裏面側が表に出てくる→裏面側についていた砲台が攻撃を始める or 裏面側についていた敵ポットから敵がワラワラ出てくる
・Z方向の軸を持つ障害物を撃つと回転して、連動して裏面側も回転する。裏面側でちゃんと通れるように回転しておかかないと裏面プレイ時に行き止まりになる(裏面時は地形が回転しないなどの制約があるとする)とか
・表面プレイ時は、裏面登場キャラが地面下に見えている。なんらかの関与が出来るとおもしろいかもしれない。また、裏面の配置が予めわかるので、ハマリを回避できる。
・高難易度モードでは、裏面へ転送した敵は強力になるとか
・裏と表を行き来する、または、裏面の敵も攻撃に加わるアイテムでスコアアタック&自主的難易度調整できるようにするのはどうか



【基本ルール-自機】
・自機はシールド制+機数制
 ・敵や弾にあたるとシールド減(一定時間無敵)
 ・シールドがなくなるか地形にあたると機数減
  機数減時は一定時間無敵。裏面で死んだら表面に戻して地形を直さないと先に進めないようなパズルゲーム的要素も考えられるけどストレスかなあ。ノーミスでクリアするには地形を考慮するとベターというくらいが丁度いいか。


・自機の攻撃は、通常攻撃(+ロックオンによるホーミングレーザー)とボム(機体によって効果が違う)。なるべく2ボタンにしたい。
・装備はアイテムでパワーアップする。
・一定の条件で反対面の敵も攻撃できる?


【基本ルール-敵】
・敵は、空中と地上。
・地上の敵について
 ・当たり判定はない。また通常弾も当たらない。
 ・ロックオンして発射(通常ショットと同時)されるホーミングレーザーで攻撃(て、RayStormみたいだな。別システムにするか)。
 ・地上の敵からの弾は、上空(自機と同一高度)にあがるまで当たり判定はない。上空にきたら高度変化だけ止まる(不自然?)か、炸裂してN-Way弾になるなどする。




OpenGLライブラリを探しています。

 今回はゲームシステムは2Dなんですが、表現上3Dを使いたいのでOpenGLを使おうと思います。
 C# + SDL.NETを基本にして安楽&多環境対応を容易にしたい。
 SDL.NETでもTao.OpenGlと連携してOpenGL使えますが、生のOpenGLへの薄いラッパー程度の機能しかありません。3Dモデルデータの読み込み・描画などといった機能は自作するか他のライブラリの力を借りる必要があります。


 とりあえずライブラリを調べてみました。



OpenGLでのモデル読み込み - 1 最初に
 3Dモデル形式やライブラリの紹介があるので、ここを起点に調べてみた。


GLLibを使おう 1:OpenGL+SDLの利用とスプライト
 C++からの利用なら、これが一番よさそう。メタセコイヤの3Dモデルデータ(mqo)も読めるし。
 C#版が欲しい。


SDL Source Tour Extra Vol.1
 Zinnia先生の解説
 SDLからOpenGLを使う流れは、言語に関わらずだいたいこの流れになるみたい


Processing上でメタセコイア形式データを表示するライブラリ
Javaで記述されたライブラリ。
C#に移植すればいいかな。


YaneuraoGameSDK.NET
やねうらお氏のライブラリ。さすが完成度高そう。
でも3Dまだ対応してなかった・・・


Irrlicht A GoGo
「このサイトではオープンソースのゲーム向け3Dエンジン「Irrlicht」について取り扱っています」
C++用です。FPSを作るのに必要な機能はほとんどもっているようです。


今年こそは 3D モデルを動かすぞ
C++メタセコイヤのモデルデータローダを自作されている。ソースもあるので参考になる。


GLSharp - C# OpenGL class library
C#で書かれたOpenGL用のクラスライブラリ」
C#から使えるしメタセコイヤのモデルデータも扱えて、いい感じ。
でも、OpenTKをベースにしてるので、SDL.NETとは同時には使えないかかな? あと、Windows専用らしい。



いまのところこんな感じ。
どうにもピッタリというのは見つかりません。
よいライブラリがあったら教えてください。
【条件】
C#から使える
SDL.NETと共存できる(Tao.OpenGlを利用していればOKかな)
メタセコイヤ(mqo)やX形式などメジャーな3Dモデルデータをロード、描画できる
 ・質感、テクスチャにも対応する
・マルチプラットホーム(Windows,Linux,MacOSXくらいは対応していて欲しい)
・ライセンスがフリーな感じ (LGPLとか)