AIMS Headquarters
D.N.A.Softwares標準ゲームエンジンAIMSの配布とかサポートとか。
  • Home
  • AIMS とは
  • AIMS のドキュメント
  • AIMSをダウンロード
  • このサイトについて

A.I.M.S. ver1.41公開

リリース No Comments »

AIMS ver1.41を公開しました。ダウンロードページへどうぞ。

バグ修正がメインです。かなり恥ずかしいバグですが……

  • AIMS本で「isWindowed」として紹介していた関数の名称が実際は「isWindowMode」だった点について、
    isWindowed()でも、isWindowMode()でも、同じようにウィンドウモードかどうかを返すようにした。
  • 特定の条件下において1つのアクターのOnVanishが2回呼ばれることがあった点を修正。

1月 6th, 2011 |



コミケットお疲れ様でした+twitterハッシュタグについて

未分類 No Comments »

まずはコミケット79お疲れ様でした。AIMS本は予想以上の反響をいただきまして大変ありがたい限りです。1/6よりショップ委託を開始できるよう準備しますので、今回入手出来なかった方は是非ショップ委託をご利用ください。(1/13更新:リンク先をすべてショップごとの詳細ページに切り替え)

    • COMIC ZIN
    • メロンブックス
    • あきばお~
    • とらのあな
    • D-STAGE
    • ホワイトキャンバス

      以上、6店舗での販売となります。ショップ価格は1800円(+税)です。すべてのショップでWeb通販が利用できます。遠方の方などは是非ご利用ください。

      次にtwitterハッシュタグについて。

      twitterでAIMSの話題を扱うハッシュタグを決めました。 #GE_AIMS とします。AIMSに関する話題、こんなんできましたけどー的ネタ、また疑問点や不具合報告とか、このハッシュタグとともにtweetください。疑問点などには@dnasoftwares か、@Ruw が返答を返したりすると思います(タイムラグはあると思いますが)


      12月 31st, 2010 |



      A.I.M.S. ver1.40公開

      リリース No Comments »

      AIMS ver1.40を公開しました。ダウンロードページへどうぞ。

      仕様と動作が食い違っていた点の修正がメインです(細かいところの不具合ですので、スクリプトの互換性には影響しないと思います)が、「MOD/IT/XM/S3Mファイル」の再生機能が試験的に実装されています。README.txtに詳細を書いてあります。

      なおこのMOD再生については冬コミで頒布する本では書いていません(入稿した後に実装できてしまったので)が、まあ説明するほどでもないでしょう……。


      12月 24th, 2010 |



      冬コミでAIMSの解説書を出します

      未分類 No Comments »

      cover

      D.N.A.Softwaresのトップでも告知していますが、AIMSの解説書を来たる12/30開催の「コミックマーケット」2日目にて頒布します。AIMSの基本的概念の解説から各種機能の説明紹介、リファレンスも収録し、AIMSのマニュアルとして使用できる一品です。

      詳しくはD.N.A.Softwaresのエントリをご覧ください。

      表紙画像をよく見るとAIMS1.40準拠となっておりますが、その1.40は今週木曜あたりに出します。1.30で見つかったいくつかの不具合を修正するものです。


      12月 21st, 2010 |



      A.I.M.S. ver.1.30公開 + 冬コミのおしらせ

      リリース No Comments »

      AIMS ver1.30を公開します。上のメニューバーのダウンロードページへどうぞ。

      (11/24追記:パッケージング及びPackerにミスがあったため、アーカイブを差し替えました。以前に一度ダウンロードされている方も改めてダウンロード下さい。)

      今回のもっとも大きな変更点はリファレンスマニュアルの大幅改訂です。現時点でAIMSに搭載されている関数を全て網羅しました。PDF形式になっておりますので、適当にAcrobat Readerなどご用意ください。

      その他変更点としては

      • 最大プレイヤー数を8プレイヤーに拡張。ご要望いただいていた拡張でしたが、ながらくお待たせしました。
      • キャラクターマップ機能とテクスチャフォント機能を正式リリース。ツールも付属していますが、マップエディタのドキュメントがまだできていません……
      • getMouseW()関数の戻り値を絶対値から相対値(ホイールの前フレームからの変化量)に変更。
      • setSpeed、setAngleなどで与えた向き、速度に応じてベクトルも同期するはずだったのが同期していなかったのを修正。
      • 一部関数に細かいバグがあったのを修正。引数チェックが甘いなどのもので、上記以外に互換性に関わるような修正はないはずです。

      で、今度の冬コミにD.N.A.Softwaresが無事当選した(スペースは「2日目東A-41a」)のですが、ゲームエンジンAIMSの「本」を出します。ここらでAIMSについて一度まとめておこうということで決断しました。リファレンスのPDF化もその一環で行ったものです。詳細は後日発表。

      A.I.M.S. ver.1.20公開CommentsAdd Star


      11月 2nd, 2010 |



      高速化のために – 描画を速くする

      チュートリアル No Comments »

      先日頂いたお便りから。

      Actorを2000個ほど生成すると処理落ちしてしまいます。処理落ちを改善する方法はありませんか?

      というわけで、大量のアクターで処理落ちするという事態を少しでも緩和する手段をご紹介します。

      AIMSのレイヤーには「高速描画モード」というものがありまして、レイヤーにはいくつかの制限がかかる代わりに描画速度が数倍に向上します。
      (客観的評価はしていませんが、Actor2000個を表示して15fpsだったものが60fpsに向上する程度には高速化されます)

      高速描画モードを入れるキーになる関数は下の2つ。

      1
      2
      setLayerUseFastDraw(レイヤーNo, ON/OFFフラグ[true/false]);
      setLayerGraphicForFastDraw(レイヤーNo, グラフィックハンドル);

      setLayerUseFastDrawが高速描画ON/OFFの設定。setLayerGraphicForFastDrawはそのレイヤーで使うテクスチャの指定です。

      高速描画中の制限事項は下記の通り。

      1. 1レイヤーにつき、1枚のテクスチャしか使えない。(テクスチャの一部分を切り出すのはOK)。そのレイヤーで使う画像はすべて1枚のテクスチャにまとめてあること。
      2. ブレンディングはBLEND_NORMALのみになり、個々のアクターにMOVER_SETBLENDを指示しても無視される。

      実装例としてはこんな感じ。レイヤー10を高速描画レイヤーにします。

      1
      2
      3
      4
      5
      6
      7
      function boot_OnStart()
          -- まず画像を読み込む
          G.sample = loadGraphic("sample1.png");
          setLayerUseFastDraw(10, true); -- レイヤー10を高速描画ON
          setLayerGraphicForFastDraw(10, G.sample); -- G.sampleをレイヤー10に割り付け
          G.chara = cutGraphic(G.sample,0,0,20,20); -- 切り出してもOK
          createActor(G.chara,320,240,10,"class");  -- このアクターは高速描画される

      まあ軽く書くとこんな感じです。弾幕のように大量のアクターをばらまく必要があるときは是非お試し下さい。


      9月 15th, 2010 |



      A.I.M.S. ver.1.20公開

      リリース No Comments »

      AIMSのバージョン1.20を公開します。上のメニューバーのダウンロードページへどうぞ。

      現在開発中の”群弾”で使用しているバージョンです。先のエントリーにあったMOVER_MOVETO_L以降のMOVER定義が使用できるようになっています。MOVERの拡張以外にも色々機能が増えているのですが、追々エントリーとして説明していきます。


      7月 28th, 2010 |



      アクターの当たり判定

      チュートリアル No Comments »

      アクターの当たり判定を行う場合、前準備として当たり判定を画像に設定する必要があります。

      • addGraphicHit(グラフィックハンドル, テクスチャのX座標, テクスチャのY座標, 当たり判定の幅, 当たり判定の高さ)

      この関数で、グラフィックの特定位置に当たり判定に使用する矩形を追加します。当たり判定矩形は最大16個まで設定できます。

      当たり判定は「矩形同士が重なっているか?」で判定しています。
      重なっているかどうかを取得するには以下の関数を使用します。

      • isHitActor([アクターハンドル],アクターハンドル)
      • getHitLayer([アクターハンドル],レイヤー番号)

      isHitActorは指定されたアクター同士が重なっているかどうかをboolean値として返します。
      getHitLayerは指定されたアクターに対して「指定レイヤー上で重なっているアクターのハンドル」をLuaのテーブルとして取得します。
      複数のアクターを相手に判定を取る場合、isHitActorで1対1の判定を複数取るよりは、getHitLayerでまとめて判定を取った方が高速になります。レイヤーを使ってアクターをうまく分けておくのがコツです。(STGなら自機と敵の弾は別のレイヤーに置くとか)


      7月 27th, 2010 |



      createActor & addMover

      チュートリアル No Comments »

      AIMSの動作の基本となる関数です。[]内の引数は省略できます。

      • アクターハンドル = createActor(グラフィックハンドル, 初期X座標, 初期Y座標[, 初期角度, 初期速度], 表示レイヤー番号[, クラス名])
      • addMover(アクターハンドル, 開始時間, 継続時間, 動作命令[, 命令引数1[, 命令引数2[, 命令引数3]]])
      • clearMover(アクターハンドル)

      「createActor関数でアクターを作る」→「作ったアクターにaddMover関数で動きを与える」がAIMSにおけるキャラクタ制御の基本です。

      addMoverで動作を操作するためには、createActorを実行したときに返ってくるアクターハンドル(number)を保存しておく必要があります。

      開始時刻はその動作を開始する時刻(単位フレーム)です。この命令を呼んた直後を0として、指定したフレーム数だけ経過したら動作が始まります。継続時間は動作を続ける時間となります。

      addMoverで指定できる動作命令は「MOVER定義一覧」のページを参考にしてください。
      (現在公開されている1.01ではMOVER_MOVETO_L以降の定義は実装されていません)

      clearMover関数は登録されている動作命令(待機中のもの含む)を全て消去します。ただし、既に変更されてしまった値(速度・角度・透明度・カラーなど)は元に戻りません。

      AIMS addMoverサンプル


      7月 27th, 2010 |



      キーインプット

      チュートリアル No Comments »

      AIMSではキーの入力に以下の関数を使用します。[]内の引数は省略できます。

      • getJoyPressCount([ゲームパッドID,]キーID)
      • isJoyPressed([ゲームパッドID,]キーID)

      キーIDはそれぞれ以下のようなものが定義されています。

      • BUTTON_UP/BUTTON_DOWN/BUTTON_RIGHT/BUTTON_LEFT
        キーボード・USBゲームパッドの上下左右キー。
      • BUTTON_TRIG1~BUTTON_TRIGXX
        ゲームパッドのボタン。キーボードでは設定ファイルの記述に準拠します。

      getJoyPressCountはそのボタンが押されている時間(フレーム数)を、isJoyPressedは押されているかどうかのboolean値(trueかfalse)を、それぞれ返します。あるボタンが1秒間(60フレーム)押しっぱなしになっていたらgetJoyPressCountは60を返すという仕組みです。

      サンプルの中で表示位置を移動するのに使っているaddMover関数は別のページで説明します。

      AIMSキー入力サンプル


      7月 27th, 2010 |



      Previous Entries
      Next Entries
      • Twitter

        Tweets about "#GE_AIMS -RT"
      • 最近の投稿

        • AIMS v1.91b 公開
        • AIMS ver1.91公開
        • AIMS ver1.90a公開(追記)
        • AIMS本、PDF版を販売しています
      • 最近のコメント

        • カテゴリー

          • おしらせ
          • サンプル
          • チュートリアル
          • リリース
          • 未分類
        • リンク - AIMS開発

          • D.N.A.Softwares
        • リンク - ライブラリ

          • The Programming Language Lua
          • 工事中(仮)
        RSS XHTML CSS ログイン
        Wp Theme by n Graphic Design | i Software Reviews
        Powered by Wordpress