2012年9月30日日曜日

VGEオープン化プロジェクト

Androidのゲームデベロッパ人口を増やそうと思っています。

その為に必要なことはGoogleによる市場の整備が第一ですが、それは私のコントロールが及ぶ範囲ではありません。それは、将来的にどうにかなるかもしれませんが、どうにもならないかもしれません。第二に必要なことは、ゲームを作り易い開発環境を提供すること。

私は、ゲームを開発することそのものが好きですが、それと同じぐらい、『ゲーム開発プラットフォームを提供すること』をやりたいと思っています。私が思い描くゲーム開発プラットフォームの理想は、今亡き嘗てのシャープが残した名機X68000のような環境です。同人ゲーム開発者、プロのゲーム開発メーカーが同じ土俵(ハード)の上でゲームが開発できていたX68000全盛の頃が、ゲームが一番面白かった時代だったような気がするので。単なるノスタルジーかもしれませんが。まぁ、それならそれでも良いと思います。

理想は、私自身がそういうシステム(ハード+市場)を作ることです。しかし、私にはそれを実現するだけの資金がありません。ですが、エミュレータであればお金を掛けずに作ることができます。そこで、手始めにWindows/Android共用のゲーム開発プラットフォームを開発し、無償で提供してみようと考えています。「それでどんなゲームを作れるの?」と疑問に思ったら、NOKOGI-Riderをやってみてください。

NOKOGI-Riderは、SUZUKI PLANが開発したWindows/Android共用のゲームエンジン「VGE」というシステム配下で動作しています。VGEの大まかなスペックは次の通り。
・グラフィック:
 - 解像度: 240x320(QVGA縦)
 - 発色数: 最大256色
 - スプライト: 1面
  * スプライトはマスク表示(指定パレットによる単色表示)が可能
  * スプライトは1/2サイズでの縮小表示が可能
  * 拡大・回転・半透明は無し 
 - BG: 1面 (スクロール機能あり)
 - 他: Basicライクな画像描画機能を実装
・入力: タッチパネル
・音声: 22050Hzモノラル専用
・BGM: VGS(VideoGameSound)
・メモリ:
 - グラフィックは、256x256サイズのものを最大256個のSLOTに保持
  * グラフィックSLOTは、スプライト・BGで共用する
  * スプライトの場合、パレット0番が透明になる
 - 効果音は、22050Hzモノラルの独自形式PCMデータを最大256個のSLOTに保持
 - 音楽は、VGSコンパイラでコンパイルしたものを最大256個のSLOTに保持
・CPU:
 - CPUエミュレーションはしない(動作環境のネイティブコードを使う)

パッと見でショボイ環境だということが一目瞭然だと思います。
3D?ナニソレ?の頃のゲーム機のスペックですね。
拡大や任意サイズの縮小、回転、半透明の機能が使えないので、若干スーファミに劣ります。

わざと、限界値を低くしてあります。
ゲハ屋さんは、限界を限りなくなくす方向で頑張ってしまっていますが、ハード的な限界値が低い方が、ゲーム本質の内容で勝負しなければならなくなるので、ゲームそのものの内容が面白くなるというのが私見です。下限方向にも一定の限界はありますが。(そのバランスが最も良かったのがX68000というのが私の認識)

そして、個人、法人関係無く、無償で利用&販売しても良いことにする(ランセンス料もとらない)という方向で検討中(多分、法人利用の案件は発生しない想定ですが)。

アーキテクチャの概要図は、(昔載せましたが)下図のような感じ。
利用者は、Gameの部分を一定のルールに則ってC言語(C++も使えるけどC言語推奨)で作れば、Android/Windows共用のソースコードでゲームが作れるイメージになります。コンパイラを除くツール類は、原則的に全てCLI(Command Line Interface)で提供する予定(というより、CLIしか作っていないし、GUIを作る気は無いので)。あと、EclipseやVC++などのIDE関連のものは一切使いません。私自身がIDEを一切利用せずに作っていて何も不便は無いので(むしろ、CLIオンリーの方が慣れれば楽です)。

実現するかは未知数。外だしする為の作り込み(ライブラリ化&その他、安全上の諸々の修正)とドキュメント化ぐらいの作業で実現可能な見通しなので、今年中にはできると思いますが。(時間が取れるかどうかが一番の不確定要因)

ちなみに、オープンソースにはしません。
オープンソースにしてしまうと、iPhone化が簡単にできてしまうので。
あと、VGEという名称は、変更する方向で検討中。
呼称はSUZUKI PLAN - Video Game Systemとか、そんな感じにして、内部モジュールとしてVGE(Video Game Engine)の名前を残す方向で。(私自身がVGEという名称で慣れてしまっているのと、関数名やらのプレフィックスがそうなっているので、VGEという名称は消さない予定)


Melonbooks DL

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

合理的ではないものを作りたい

ここ最近、実機版の東方VGSの開発が忙しくて、東方VGSの曲追加が滞っています。 東方VGS(実機版)のデザインを作りながら検討中。基本レトロUIベースですがシークバーはモダンに倣おうかな…とか pic.twitter.com/YOYprlDsYD — SUZUKI PLAN (...