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

AIMS v1.91b 公開

リリース No Comments »

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

ご報告頂いた不具合1点に対処しました。たった1点ですが致命的だったので取り急ぎ。

複数のアクターでスレッドを起動した場合、そのスレッドがGCに巻き込まれて途中消滅する場合があったのをFIXしています。


2月 13th, 2014 |



AIMS ver1.91公開

おしらせ No Comments »

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

頂いた不具合に対処したリリースです。ずいぶん間が開いてしまった割に小幅の更新で恐縮ですが、その理由はこの先で。

sendMessageで戻り値が得られないバグを修正した他、若干の機能追加・修正を行っています。詳しくはリリースノートをごらんください。

Read the rest of this entry »


1月 11th, 2014 |



AIMS ver1.90a公開(追記)

リリース No Comments »

3/13追記:昨日公開のv1.90ですがEXEファイルのビルドミスにより、一部機能がリリース通りに動いておりませんでした。本件を修正したAIMS v1.90aを公開しましたので、お手数ですがダウンロードをお願いします。

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

色々今後に向けてどうのこうのしている途中のバージョンです。追加修正が山ほどあるのですが、特に大事なところだけ載せます。詳細はリリースノートをご確認ください。

zip公開版としてはv1.50からかなり間が開いておりましたが、その間に一部互換性に関わる重要な変更が入りました。

互換性に関わる変更

①(v1.90から)コアをLuaJIT2.0.0へ更新

一番デカい変更です。動作速度がやや向上することが期待されますが、一部Lua5.2の仕様を取り入れている関係で互換性の問題が発生しています。(基本同等の動作になるようにしていますが)

リリースノートの方で詳しく書いていますので必ずご確認ください。

②(v1.60から)シーンスクリプトのOnStart、OnStep、OnCloseがコルーチン扱いになった

簡単に言うとシーンクラスの各関数でwait()関数が使えるようになったということです。これまで別途コルーチンを呼んでいたような処理の多くがシーンクラスでまとめて記述できるようになることが期待されます。

互換性については万全を期しましたが1フレーム単位でのタイミングズレなどはあるかもしれません。タイミングに対してシビアなコーディングをしている場合はご注意ください。

なおアクターの方については扱いはこれまで通りです。

③(v1.80から)ローダースレッドの動作変更。

これまではLuaコードを丸ごと別スレッドで動作させていたのですが、メインスレッドのメモリ空間にアクセスしてしまいLuaが異常終了する事例が発生しておりました。

原因としてはスレッドセーフでないLuaを無理矢理マルチスレッド動作させていたせいだった、ということで、ローダースレッドの処理を大幅に変更しました。

具体的には下記のような挙動に変更となります。

  1. startLoaderThreadを呼ぶとメインスレッドのままローダー関数を呼ぶ。
  2. ローダー関数内ではloadGraphic,loadSound,createTextureFontを呼んでもその場では読み込まない。ファイルを「後で読みこむ」リストに積むだけ。
  3. ローダー関数を抜けた後、「後で読みこむ」リストのファイルを実際に読み込むスレッドを起動。このスレッドが終わったら読み込み完了。

スレッド内でLuaコードを実行しないようにしたのが最大の変更です。コード自体は原則変更不要ですが、読み込みのタイミングがズレている都合、下記のような問題があります。

  • ローダー関数内でgetGraphicClipRectなど「画像を読み込んでみないと結果がわからない」関数を呼んだ場合はその場で画像をロードするため、メインスレッドが止まる。
    ローダー関数内で画像を読み込まざるを得なかった場合はdebug.htmlで報告されます。
    途中読み込みが発生する可能性のある関数は下記の通りです。

    • getGraphicClipRect
    • getGraphicCenterX/Y
    • getGraphicRCenterX/Y
  • ローダー関数内に余りにも重い処理を突っ込むとメインの処理が止まる。
    外部から定義ファイルをテキストで読む、などが該当するかもしれません。(画像、音、フォント以外は遅延ロードにはなりません)

これまで正しく動いていたものがエラー落ちするような問題はないと思いますがご注意ください。

④(v1.60から)シーンあたりレイヤーの最大数が12枚から16枚になった

これはご覧の通りというほかありません。これまでのスクリプトをそのまま動かす分には一切影響しないはずです。v1.60以降はレイヤー指定の範囲は0~15となります。

あとは機能追加類となります。続きで簡単に紹介します。

Read the rest of this entry »


3月 12th, 2013 |



AIMS本、PDF版を販売しています

おしらせ No Comments »

※2013/9/3更新:Gumroadの機能追加に対応して、現物送付の手続きを変えました。

最近急激に流行りだしたgumroadなるサービスの実験を兼ねて、一昨年末に作った「ゲームエンジンAIMS」をDL販売する試みを始めました。

  • 購入はこちらから→https://gumroad.com/l/RoiL

直接販売しているのはPDF版ですが、「PDF購入者向けに書籍現物も1部お送りする」という「現物郵送権つきPDF販売」となっています。検索できるPDF、流して読むのに適した書籍、ということでTPOにあわせて活用できるかと思います。値段は投稿時点でのドル円レートに換算すると1500円より少しだけ安くなっております。そろそろショップでも見つからなくなりつつありますし、ご興味ご関心のある方は是非お試し頂ければと思います。

上記リンクをたどってご購入できますが、支払の際、メールアドレス欄に続く「(実物送付先)」と書いてある3つの欄(郵便番号、住所、氏名)を埋めていただくと実物を1週間程度でお送りします。(PDFだけでいい人は当該欄に何も入力せず進んで下さい)

以下注意事項です。

  • 送り先を頂いてから到着まで1週間程度かかることがあります。(ゆうメールでの発送のため)
  • 一応、発送は国内に限ります。

2月 16th, 2012 |



AIMS + BISHAMON について

おしらせ No Comments »

BISHAMONとはマッチロック株式会社が制作・販売している3Dエフェクトツール&ミドルウェアです。このたび個人制作方面向けとして、BISHAMON Personalがリリースされました。

下の動画はマッチロック様によりBISHAMON IDEで制作されたエフェクトの画像ですが、要するにこのようなエフェクトがIDEを利用することで簡単に作れるようになる、というものです。

で、D.N.A.Softwaresでもエフェクト制作をツールでできるようになれば楽だよねー、ということでBISHAMONのSDKを買いまして、実際に導入してみました。

キャプチャ-2

こんな感じのIDEで編集して

448018065

コンバートして再生

という感じで、凝ったエフェクトでも簡単に制作できます。

で、このたびマッチロック様のご承諾を得まして、「BISHAMON Personal版SDK(DirectX9版)をご購入済みである」ことを条件に、BISHAMONを使用できるバージョンのAIMSを個別に配布させていただくことにいたしました。

現時点での仕様としては下記の通りです。

  • アクターのグラフィックチップの代わりにBISHAMONエフェクトが乗るような感じで動きます。
  • AIMSのアクター同様、回転(3軸可)、拡大縮小などが可能。(色変更はまだ不可ですごめんなさい)
  • BISHAMON関係の関数定義・および動作の仕様はGoogleドキュメントにまとめてあります
  • それ以外の仕様はAIMS v1.60準拠
  • 例によってD.N.A.Softwares側では一切の費用をいただきません

前述の通り、AIMS+BISHAMONは確認プロセスを経た上での個別配布となります。下記の点をあらかじめご了承ください。

  • D.N.A.Softwares自身も新作を作りながらバグを見つけたり足りない機能を足していたりする現状ですので、何らかの不具合が潜んでいるおそれがあります
  • 一度リリースした関数については可能な限り仕様変更しないようにつとめますが、どうしようもない場合仕様変更を行う可能性もあります
  • また、確認プロセスの途中でユーザーの「マッチロックでSDKを購入した際に使用した」メールアドレスおよびお名前をお預かりします(マッチロック様への照合時に必要になるためです。また、こちらからAIMS+BISHAMONの送付、および新バージョンリリース時のご連絡先としてお預かりさせていただきます。)
    確認のプロセスにおいてD.N.A.Softwaresはマッチロック様に「SDKを購入済みのユーザーであるかどうか」だけを確認し、それ以外の情報については一切受け取りません。
  • AIMS+BISHAMONを利用しなくなった場合は、D.N.A.Softwaresにご連絡頂ければメールアドレスおよびお名前を破棄いたします。

AIMS+BISHAMONをの使用を希望される方は下記の手順でBISHAMON Personal SDKのライセンスを入手しD.N.A.Softwaresまでご請求メールをお送りください。

  1. マッチロックストアにて、ユーザー登録を行いBISHAMON Personal SDK(DirectX9版)を購入する。
  2. ダウンロード可能状態となったら、「AIMS+BISHAMON登録希望」などそれっぽい題名と、本文に上記ストアでユーザー登録時の「名前(姓・名)」「メールアドレス」を添えてaims(あっとまーく)dna-softwares.comにメール送信
  3. D.N.A.Softwaresがマッチロック様に照会後、専用のAIMS+BISHAMONを折り返しメール添付。SVNなどから取り出した最新のアーカイブのファイルを上書きしてご利用いただくような感じで。

上記のような流れになりますので、2MBくらいの添付メールが来ても大丈夫なメールサーバからご送信頂くよう御願い申し上げます。メールでの受け取りが難しい場合はその他の手段で個別対応します。


11月 21st, 2011 |



AIMS v1.60について

おしらせ No Comments »

AIMSの最新版v1.60ですが、現在subversionリポジトリの方でのみ公開しております。

といいますのも、AIMSv1.60でシーンスクリプトに大幅な仕様変更が入りまして、既存スクリプトとの互換性に問題が生じる場合があるかもしれない状態になっているためです。ちょっとサークル作業が立て込んでおり、PDF版ドキュメントの作成が間に合っていないこともあり、まだSVNでの公開のみとしております(当面の対処としてreadme.txtにて更新点など説明しております)

具体的な仕様に関わる変更点ですが、

シーンスクリプトのOnStart、OnStep、OnCloseがコルーチン扱いになった

簡単に言うとシーンクラスの各関数でwait()関数が使えるようになったということです。これまで別途コルーチンを呼んでいたような処理の多くがシーンクラスでまとめて記述できるようになることが期待されます。

互換性については万全を期しましたが特に1フレーム単位でのタイミングズレなどはあるかもしれません。特にタイミングに対してシビアなコーディングをしている場合はご注意ください。

なおアクターの方については扱いはこれまで通りです。

シーンあたりレイヤーの最大数が12枚から16枚になった

これはご覧の通りというほかありません。これまでのスクリプトをそのまま動かす分には一切影響しないはずです。v1.60以降はレイヤー指定の範囲は0~15となります。

SVNのアドレスは svn://u.amatukami.com/home/svn/P_AIMS となっていますので、適当なクライアントでごらんください。


11月 21st, 2011 |



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

リリース No Comments »

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

例大祭新作(のはずだった)「SMASH TOUHOU」で使用したバージョンです。かなり特定用途向けの関数もありますが、応用範囲は広いと思います。

また、テクスチャフォント作成ツールをLuna最終版ベースに更新しました。OpenTypeな日本語フォントをコンバートする際によく遭遇する、「指定したサイズに対して実際の文字のサイズがやたら小さくなる」問題に対処できるようになっています。

それと、マップエディタなどでつかっていたClickOnce配布をとりやめました。ちょっと融通が利かないのと、実行ファイルの実体がどこにあるかわかりにくいのがどうも気に入らなかったので……。また、以前出ていた不具合はClickOnceに切り替えたら直った、と思っていたのですが、これが別にClickOnce配布でなくても問題はなかったというのもあります。コロコロ方針が変わって申し訳ありません。

残りの主な修正点はこの先に。
Read the rest of this entry »


3月 30th, 2011 |



複数のプレイヤーで同じアクタークラスを使い回す

チュートリアル No Comments »

Twitterでこんな疑問を頂戴しました。

AIMSでプレイヤーが4人いる場合、同じ処理をする関数をコピペするしかないんだろうか。それともアクターから操作することができるのか。(@nekokoko)

マルチプレイヤー時のアクタークラスの使い回しですが、アクターごとに固有のものといえば値スロット(VAR[n])があります。適当な値スロットにプレイヤー番号をセットし、それを参照するようにします。

1
2
3
4
5
6
-- VAR[0] にプレイヤー番号が定義されているとする
function Actor_OnStep()
  if (getJoyPressCount(VAR[0],BUTTON_TRIG1) == 1)then
    -- 適当な処理……
  end
end

あとは、アクター生成後にsetv関数を用いてそのアクターの値スロットにプレイヤー番号をセットしてあげるようにすればできあがりです。

ですがこのやり方では、「OnStart関数内でプレイヤー番号による分岐ができない」という問題があります。現時点のAIMSではOnStart関数の起動タイミングがcreateActor関数の中である都合、値スロットをセットする前にOnStart関数が起動してしまうのです。そのため、OnStart関数内ではプレイヤー別の処理ができません。

じゃあどうすんの、というと、やや古くさいやり方ではありますが「グローバル変数経由で引数渡し」という手段を使います。こんな感じ。

1
2
3
4
5
6
7
8
9
10
11
-- アクター生成時……
_PLAYER_ID = 0 -- この変数はlocal宣言してはいけない
local a = createActor(player_graphic,320,240,1,"player");

-- アクタークラス
function player_OnStart()
  VAR[0] = _PLAYER_ID; -- VAR[0]に保存
  -- その他適当な初期化とか……
end

-- あとはさっきのOnStepと同様

これでだいたいのパターンには対処できると思います。

あんまり泥臭いのでcreateActorの引数で値スロットの初期値決められるようにした方がいいんだろうなーとは思ってるのですが、可変引数の処理がちょっとややこしく、後回しにしているのが現状です。


1月 28th, 2011 |



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

リリース No Comments »

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

本体の修正はもちろんですが、マップエディタの配布形式変更がある意味では重要かもしれません。

  • 高速描画モードにおいて、アクターの描画順序が逆になっていた問題を修正。
  • proto/common.luaに必要な定数定義が入っていなかったのを修正。
  • マップエディタとオートマップチップ変換ツールについて、インストールにClickOnceを使うように変更。

1月 20th, 2011 |



V1.41のcommon.luaの不具合について

おしらせ No Comments »

AIMS V1.41のproto/common.luaについて

  • キャラクターマップのmapSetWrapModeで使う定数 OUTSIDE_……の定義がなかった
  • 文字列アクターの文字そろえ方法を指定する定数 ALIGN_……の定義がなかった

という誠に残念な不具合がございましたので、取り急ぎ修正済みのcommon.luaをアップロードしました。下記よりダウンロードください。

common.lua修正版 ダウンロード

SVNリポジトリのファイルも修正済みです。アーカイブファイルの修正は後で行います。取り急ぎ上記ファイルをご利用ください。


1月 11th, 2011 |



Previous 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