AIMSについてご紹介します。
AIMS(Actor-based Integrated Multimedia System)とは、2Dのアクション主体のゲームを
- できるだけ短時間短期間で
- できるだけ面倒なことをせず
- でも、ちゃんとした品質で
制作できることを目的として開発されたゲームエンジンです。
AIMSそのものはVisual C++で開発されていますが、実際にユーザーが書くスクリプトはすべてLuaという言語で記述します。ゲームのテストをするときも、コンパイルは必要ありません。
すでに弊サークル – D.N.A.Softwaresが2年以上AIMSでゲームを制作しております。「実戦で揉まれたエンジンである」ことが、何よりの特徴であると考えております。
AIMSの特長
- コンパイル不要の構造により、コーディング→テスト→コーディング……の周期短縮に貢献
- 「アクター」の概念による直感的なキャラクター制御と、自由度の高い変形エフェクト。拡大縮小はあたりまえ、Direct3DとLunaライブラリを活用した2D画像の3軸回転、ドーナツ状描画、ブレンディングなどによりエフェクトの幅が広がります
- Luaの特長 – 連想配列を用いた柔軟なデータ構造と自動メモリ管理により、面倒なデータ・メモリ管理が不要に
- JPG,PNG,BMPなど一通りのメジャーな画像フォーマットに対応。αチャンネルつき画像をそのままロード・使用可能。カラーキーにも対応。
- Ogg vorbisによるBGM再生に対応。単発、ループ、イントロ→ループの流れもOK。
- キーボード・ジョイスティック・マウス入力に対応。ボタン割り付けは開発者が設定可能。ジョイスティックはゲーム内での動的な割り当て変更にも対応。
- 最大4プレイヤー、16ボタン/プレイヤーまでの入力に対応。
- 完成後にはファイルのパック化にも対応。4ファイルにまとまり、配布体裁がスマートに
AIMSの得意とするジャンル
- 2Dゲーム全般
- シューティングゲーム
- アクションゲーム
- テーブルゲーム
そもそもAIMSの起こりがSTG、アクションの開発のため開発されたものですので、これらのジャンルならば一度概念に習熟すれば短期間での開発が可能です。C++ネイティブや他の制作ツールでは何かと面倒事になりがちな、複雑なデータ構造を取り扱うテーブルゲームの制作でもAIMSは役に立ってくれるでしょう。
AIMSでも実現可能なジャンル
- ロールプレイングゲーム
- アドベンチャーゲーム
- ノベルゲーム
アクションゲームにおいても、AVG的なシーンを挟むようなシチュエーションはあるでしょう。そういうときでもAIMSは対応できます。AIMSにはTrueTypeフォントの描画機能もあるので、テキスト表示も安心です。
ただし、アドベンチャー・ノベル・ロールプレイングが主となるゲームを作成されるのであれば、特化したゲームエンジン・ツールキットを使う方がいいかもしれません。
AIMSの苦手とするジャンル
- 3Dゲーム全般
AIMSは3Dモデルを取り扱う設計ではありません。簡易的な処理(80年代に流行ったような、スプライトによる疑似3D)であれば、工夫によってある程度は表現できると思いますが、本格的な3D処理には適していません。
AIMSの来歴
AIMSは、現在までに以下のプログラムにおいて使用されています。(D.N.A.Softwares制作物のみ)
- 2006/12:IDOL Ra.De.(縦STG)
- 2007/08:ツンデレ・ウォーズ(横STG:戯画「戯画セット’07夏」収録)
- 2007/08:Suica32(固定画面STG)
- 2007/12:ふろ~りあふぇすた!(ボードゲーム:戯画「戯画セット’07冬」収録)
- 2008/03:神魔討綺伝 ~ Magus in Mystic Geometries.(マウス対応全方位STG)
- 2008/05:THE PONJONG MASTER(ポンジャン)
- 2008/06:隅人王ぉ(縦STG:すみっこ「二代目は☆魔法少女」予約特典)
- 2008/08:幻想砲劇詩(固定画面占領ストラテジー)
- 2009/03:東方幻想麻雀(4人打ち麻雀)
- 2009/08:東方幻想麻雀Revision2(↑のパワーアップキット)
- 2009/09:スパイラルハリケーン(横STG:戯画「ふろあがりハリケーンでスカイ?セット」収録)
- 2010/03:BOMB MEIRIN(見下ろし画面アクション)
- 2010/08:群弾(横STG)
- 2011/08:東方幻想麻雀 3rdGeneration(4人/3人打ち麻雀)
- 2012/08:ワルプルギス円環の迷宮(探索型アクション)
AIMSの起源はさらに昔、2004年8月発表の固定画面STG「東方戰騎譚 ~ DrunkTankies Battle in the Eastern.」までさかのぼります。この時点でアクターの概念の基礎ができあがり、同年冬にプロトタイプを発表した「SMASH TOUHOU」(後の「神魔討綺伝」)にてゲームのかなりの部分をLuaで記述する手法に目処が立ちました。とはいえ、この頃はまだC++頼りの部分もかなりありました。
2006年8月発表の「まわるめいどさんをねみぎ」で、とうとうプチゲーム1本を丸ごとLuaで記述するまでに至ります。プチゲームのロジックをすべて外部スクリプトに委譲できるようになったことで、複数人でのゲーム開発を容易にし、結果、60本近いプチゲームの収録に成功しました。また、様々なゲーム内演出、マップ画面などもすべてLuaスクリプトで動作しております。
「まわるめいどさんをねみぎ」の完成後、同作品のゲームスクリプト部分をスタンドアロンで動作できるようにしたのが、今のAIMSの原型です。
以来、複数人数対応、当たり判定系の強化、文字列表示など、実用性を高める多くの機能追加を経て現在に至ります。