トップページgamedev
1001コメント413KB

汎用ゲームエディター『Multimedia Fusion2』 5

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。2010/03/15(月) 17:22:48ID:VxBliAf3
『Multimedia Fusion2』シリーズに関する情報、技術、雑談、質問などに使いましょう。

■前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1260159928/
http://pc11.2ch.net/test/read.cgi/gamedev/1230670904/
http://pc11.2ch.net/test/read.cgi/gamedev/1255769708/
http://pc11.2ch.net/test/read.cgi/gamedev/1263172093/(dat落ち)

■参考リンク
・Clickteam本家
http://www.clickteam.com/
・Multimedia Fusion 2シリーズ日本語版公式サイト
http://www.clickteam.jp/
・Multimedia Fusion 2シリーズ日本語版公式フォーラム(ゲームパラダイス内)
https://forum.gamespara.com/
・Multimedia Fusion 2 wiki
http://www7.atwiki.jp/mmf2/
0803名前は開発中のものです。2010/05/30(日) 15:07:50ID:/7OiDesI
動作テストしてないけど、こんな感じは駄目かしら
配列のXにステージ開始からの秒数、Yに敵の種類別IDとか表示位置とかの情報
毎秒Xのインデックス位置と経過秒数を比較して、
一致したらYの情報に基づいて敵を作成&インデックスを進める
0804名前は開発中のものです。2010/05/30(日) 23:51:10ID:UYKg0zjd
>>800
いや、その通りです。
質問わかりにくかったですね。

>>802,803
やっぱ、そんな感じですかね。
がんばって作ってみます。
0805名前は開発中のものです。2010/05/31(月) 19:56:56ID:Z2I/lc+D
自動バックアップってどのタイミングで保存されるの?

CnCの時はソフトが強制終了しても再起動すればデータ復旧してくれたのに
MMF2ではソフトを再起動しても真っ白のままで心も真っ白になった(´;ω;`)
0806名前は開発中のものです。2010/05/31(月) 20:29:21ID:zBbfbk0U
>>805
保存ボタンを押した時に変更前の内容(mfaが上書きされる前)をバックアップ。
強制終了は対応してくれなかったと思う。
CnCではあったねぇ。でもどの時点のバックアップなのかよく判らなかったし、
ちゃんとしたデータなのか不安だったから使わなかったな。
0807名前は開発中のものです。2010/05/31(月) 20:52:07ID:Z2I/lc+D
>>806
そっか、ありがとう
CnCの時は何度復旧に助けられたことか・・・
小まめに保存しなきゃっていうのは分かってるんだけど、作業が捗るとつい忘れてしまって
0808名前は開発中のものです。2010/06/01(火) 01:34:15ID:GKlThueM
10このイベントで自作物理エンジン!!
http://ux.getuploader.com/mmf/download/80/circlePhysics.mfa
0809名前は開発中のものです。2010/06/01(火) 03:56:10ID:sgNY9Udf
グロやんまた講座やってー
0810名前は開発中のものです。2010/06/01(火) 09:44:10ID:GKlThueM
おう!MMF2実践講座なんてやりたいなーなんておもってる
軽いシューティングができるまでとか
0811名前は開発中のものです。2010/06/01(火) 13:46:41ID:DAONPSwJ
グロ氏おつ
0812名前は開発中のものです。2010/06/01(火) 15:14:04ID:Z3pLIbqC
グロさんこのスレにいるの? お礼を言っておくよ。
0813名前は開発中のものです。2010/06/01(火) 16:50:11ID:i0gj58wA
馴れ合いはサイトでやれ
0814名前は開発中のものです。2010/06/01(火) 17:27:52ID:+OdeHukx
半年経ったけど日本語ヘルプ早く出せや糞代理店がっ!
0815名前は開発中のものです。2010/06/01(火) 17:29:00ID:+OdeHukx
あーまだ経ってないか失敬失敬
0816名前は開発中のものです。2010/06/01(火) 18:18:35ID:fazi8Mee
そういや他所でMMF2使ってフリゲ作ってる人がいたけど
基本機能で普通に出来る事を、MMF2の仕様で無理だと思い込んで嘆いてたな
できるよーって他の人から突っ込まれてたけど

やっぱ初心者が始めるにはまだまだ情報足りてないんだなと思った
0817名前は開発中のものです。2010/06/01(火) 19:44:15ID:Z3pLIbqC
>>816
ある意味ビジュアルなプログラミングツールだからな
ツクールとかと比べればどうしてもわかりにくさがあるから手探りにも限界があるし、
ユーザー同士の情報の共有でリファレンスみたいなものを用意できないかな
0818名前は開発中のものです。2010/06/02(水) 03:32:20ID:7OE3C0XN
実際、ゲーム作りながら、少しずつ並行して活用できる機能増やしていってても
一人で閉じこもって作ってる分だとふと限界を感じるときがあるな
他の人の作品からテクを勉強して補える部分もあるんだろうが
どっち道、分厚ーーいマニュアルは欲しいよ、全部は読まないだろうけど

>>816
つうかそれサウンド関係だったらほぼ確実に俺じゃないか
恥ずかしい話だぜ・・
0819名前は開発中のものです。2010/06/02(水) 03:37:07ID:Zv8yBb5j
他所がどこなのか気になっちゃう私
0820名前は開発中のものです。2010/06/02(水) 04:51:10ID:vuix94gj
既存のwikiに記事として追加すると混沌としそうなんで、ヘルプ代替リファレンス
とりあえず目次しか用意してないけど、こんな感じでどう思う?
各自使い込んだ内容を書き込んでいってくれれば、講座の補完くらいにはなると思うんだけど
http://wikiwiki.jp/clicklife/
0821名前は開発中のものです。2010/06/02(水) 13:50:59ID:yV+CcG3U
ちょっと質問なんだけど、日本語製品版が入ってる状態で英語の体験版を入れたりすると日本語版に不具合とか生じる?
0822名前は開発中のものです。2010/06/02(水) 14:07:43ID:xV1r5Yb0
>>820
そろそろヘルプ出るんじゃないかと期待しているんだが?
0823名前は開発中のものです。2010/06/02(水) 16:31:35ID:2FzdV+3k
>>821
http://www7.atwiki.jp/mmf2/pages/28.html
あんインスト時に注意したらいいみたいyい

出るかもしれないと思いつつ2月頃から英語版のヘルプファイルを手に入れ
いつでるんだいつでるんだと思いつつ、ヘルプファイルをhtmlに解体して
自力でチマチマ訳しながら今や6月、ほんとに出るならいつ頃出すよっていう
アナウンスくらいあると思うけどそれがないからhelpも当分無いと思っている
締切りの無い仕事なんて俺の訳と同じでちっとも先へ進まないyp
0824名前は開発中のものです。2010/06/02(水) 18:56:28ID:Mz6jei/j
そういやエクステって翻訳されたら入れ直さなきゃならないの?
それが心配でまだ公式エクステ入れてない俺だ
0825名前は開発中のものです。2010/06/02(水) 19:10:52ID:GDcRmA8+
>>824
恐らくもう一度エクステを上書きインストールするという形になると思うんだけど。
本体はそのままでいいはず。
0826名前は開発中のものです。2010/06/02(水) 19:18:41ID:yV+CcG3U
>>823
ありがとう
特に深刻なことにはならなそうだから入れても大丈夫だね
0827名前は開発中のものです。2010/06/02(水) 20:40:52ID:I6Hf0H5V
的外れな考えかもしれませんが
現状のインストーラー形のエクステは日本語版にインストール出来ないですけど、
海外版の本体を手に入れて、それにエクステをインストール→生成されたファイルを
日本語版のエクステファイルにコピーで無理やり日本語版に入れれますかね?
0828名前は開発中のものです。2010/06/02(水) 21:42:52ID:GDcRmA8+
>>827
うん、できるよ。
というかファイルコピーはいらなくて、英語版が入っていればインストーラーは動くから、
インストール先を日本語版にすればいい。
0829名前は開発中のものです。2010/06/02(水) 23:01:36ID:nlrBYpF2
8方向キーで向きを固定で横移動したいのですが何か方法はないでしょうか?
動作を停止させても十字キー押せば横向くし歩くで思いつきません
0830名前は開発中のものです。2010/06/02(水) 23:22:31ID:vuix94gj
>>829
説明をもうちょっと丁寧にしてくれると助かる
どのようなことをやりたくて、どんな風に設定やイベントをいじくったけど、
どういうことができなくて困っているのか詳しく書いてくれ
毎回憶測で答えるのはちょっと疲れる
0831名前は開発中のものです。2010/06/02(水) 23:32:07ID:nlrBYpF2
>>830
例をあげると8方向で下を向いた状態だと普通なら右や左を押せばそちらを向くけど
特定のボタンを押している間は下を向いた状態のまま左や右に移動させたいのです
最初は方向固定にしようと思ったのですが1ボタンを押してる間の後の
方向を指定の部分でどのようにしたらいいのかわからず断念
じゃあとりあえず動作を停止させればあっちやこっちを向かないんじゃないかと思いましたが
1ボタンを押してる間動作を停止にしましたが普通に右も左も向いてついでに動いて行きました
あと思いついた方法で1ボタンを押してる間アニメーションを横移動用に変更するというのが思いつきました
向きは左右を向いているけどアニメーションは下を向いているという方法です
ただこの方法だと結局向きが左右を向いているので離したときに違和感が出そうです
0832名前は開発中のものです。2010/06/03(木) 00:03:44ID:6yw7ZGgs
>>831
830じゃないが、
移動をイベントエディタで制御しないと
動きが変になるとおもう。
自分も同じことを4方向でしたけど、
うまくいってなかった。
0833名前は開発中のものです。2010/06/03(木) 00:24:08ID:6yw7ZGgs
>>831
連投すまんが、
四方向の移動じゃなくて、横移動だけで、
向き固定だったのか。
とりあえず、やったけど、やっぱり動きがおかしくなる。
http://ux.getuploader.com/mmf/download/81/Hold.mfa
たぶん、アクティブの移動方法の8方向は、
向いている向きに対応した移動を行うので、
向きを無理やり固定すると、
その向きに移動しようとするんだと思う。
0834名前は開発中のものです。2010/06/03(木) 00:35:02ID:cSVmgyXt
透明のダミーオブジェクトを本体として←こいつが操作キャラ
見えるキャラはそれに位置を常にあわせる。←視覚的に確認できるキャラ
方向はイベントなりで好きに処理すべし
0835名前は開発中のものです。2010/06/03(木) 00:39:53ID:U7Vs08RV
>>829
http://www1.axfc.net/uploader/Sc/so/120059
こんなんどうかね
0836名前は開発中のものです。2010/06/03(木) 00:51:49ID:U7Vs08RV
>>835
補足!
かに歩き(向き固定)解除後、直前まで歩いていた方向に向き直ってしまうので
それを防ぐ為には、イベントエディタの「一番上」に
×"Z"を押している間
・イベント連続時にアクションを1回のみ実行  を条件に
「アクティブの方向を変数Aに変更」を付け加えてくれ
0837名前は開発中のものです。2010/06/03(木) 00:55:08ID:6yw7ZGgs
>>835
こんな方法が……orz
0838名前は開発中のものです。2010/06/03(木) 04:37:27ID:boAhY8oA
>>835
ありがとうございます
寝ながら考えてたら1ボタンを押したとき向いてる方向に専用のアクティブを出現させて
そっちを常に見続けるという方法を思いつきましたがこっちのほうがすごく簡単にできてうれしいです
0839名前は開発中のものです。2010/06/03(木) 15:59:57ID:OLe1hmnz
>>828
ありがとうございます
まだエクステを使いこなせる状態じゃないけど
インストーラータイプの神エクステに出会うたびに
もやもやするんじゃないかと思いまして
日本の運営には期待してもいいのだろうか・・・
0840名前は開発中のものです。2010/06/05(土) 16:01:21ID:IBKA6naV
日本語版でswfの出力・・・(´・ω・`)
0841名前は開発中のものです。2010/06/05(土) 22:08:00ID:OMQXaB5T
すみません。
日本語版追加エクステンションについて質問なのですが、保存オブジェクト関係
でSave Game Objectとは何に使えますか?
他、保存オブジェクト関係でセーブやロード系でini以外で使えそうなものありま
すか?
どうぞよろしくお願いいたします。
0842名前は開発中のものです。2010/06/06(日) 01:06:18ID:5nqJO3ZB
バイナリオブジェト使えば良い
バイナリファイル知ってること前提だけど
0843名前は開発中のものです。2010/06/06(日) 02:04:52ID:kcHhZ5U1
シューティングゲームの敵の行動パターンは、
皆さんは、どのように作りますか?
0844名前は開発中のものです。2010/06/06(日) 13:23:59ID:ePWlnKBI
>>830
0845名前は開発中のものです。2010/06/06(日) 13:45:39ID:U+rOO8mD
>>841
アクティブオブジェクトの座標や方向、速度、変数、フラグなどを丸ごと保存できるものらしい。
イベントのストーリーボードコントロールにある「フレームの位置を保存」だと、その時フレーム内にある全てのオブジェクトが対象になるけど
こっちは個々のオブジェクト毎にそれができるという感じか。

追加のエクステンションは英語のヘルプも同時にインストールされているから、それを読んでみるのも良いです。
0846名前は開発中のものです。2010/06/06(日) 14:06:30ID:VVMHdolB
>>843
自分はsinやcos多様してますね
たまにバウンス使ったり
シューティングって敵の配置や動き考えるのが一番大変だとおもう
0847名前は開発中のものです。2010/06/06(日) 15:18:43ID:pjlZb0ft
座標制御多用するとフリーズするんだよなー
0848名前は開発中のものです。2010/06/06(日) 15:40:32ID:ap8nm52Q
計算で求めるのが苦手で標準のパス動作もなんか使いにくいので
原点を決定してからマウスカーソルの位置をトレースして、
そこからXとY値の移動量を計算、それらを配列に保存、テキストに出力、
こんな感じであらかじめプリレンダしたX値Y値の移動量を
今度は読み込みで敵の動作やらオブジェクトやら回転量に当てはめる

勢いでこんなの自作したからこの勢いでなんか作ってみようと思っているけど
普通は>>846のようにsinやcos多様するよね。。。
0849名前は開発中のものです。2010/06/06(日) 15:51:19ID:l4fyhSR3
ふと思ったけど
軽くするにはフレームエディタで直接オブジェクトを置かない方がいいらしいが
代わりにそれをセーブに対応させるのは難しくなるよね?
0850名前は開発中のものです。2010/06/06(日) 16:35:38ID:kcHhZ5U1
意見参考にして、行動パターン作ったけど
配列を読み込んだ後に、どうやって
行動パターンと同じ動きをする敵を配置していけばいいんだろ。
0851名前は開発中のものです。2010/06/06(日) 23:21:19ID:ap8nm52Q
http://ux.getuploader.com/mmf/download/83/tracker.zip
>>850
エクステンションにXLua使ってるのでtracker#4.mfaは
XLua入れてないと動かないけど、サンプルとしてさっき作ったもので
イベントやスクリプトなど全部みれる(ひどくいい加減なものだけど)

tracker#2.exeの方はビルドしたのですぐ動くし雰囲気はつかめると思うけど
自分用に作ってるアプリなので整理も大変だしまだ中は見せられない
手間をかけるのを楽しんでるだけだから普通に計算したほうが色々都合が良いと思うよ
0852名前は開発中のものです。2010/06/06(日) 23:22:01ID:ap8nm52Q
kakiwasureta

download pass: mmf2
0853名前は開発中のものです。2010/06/07(月) 00:37:26ID:m4xnuH41
>>851
すっげえw
ぜっんぜんわからんw
とにかくxluaを有効に使ってるみたい


自分は、イベントエディタで作った行動パターンのアクティブの上に
敵の画像を重ね続けるってのがいいかなと思ってがんばってる。
でも、行動パターンが破壊されるときに動作がおかしい。
なんか、一個破壊されたら、全部破壊されるんだけど、
x座標が0以下になったとき、破壊ってむりなのか?
0854名前は開発中のものです。2010/06/07(月) 01:43:34ID:aKLxX1Yr
>>853
自分は普通に高速ループ使って1オブジェクトごとに処理させてます
通し番号割り振ってやれば全部破壊される事はなくなるし、
管理が楽ですよ

そしてまたパックマンですw
2面追加と少し仕様変更しました
よろしかったらどうぞー
http://ux.getuploader.com/mmf/download/84/pacshoot104.zip
0855名前は開発中のものです。2010/06/07(月) 01:56:42ID:m4xnuH41
>>854
パックマンさんが言うならそうなんだと思うんですけど、
通し番号は、もう試してるんです・・・。
もしかしたら、何か落とし穴があるのかもしれないですが。
0856名前は開発中のものです。2010/06/07(月) 02:38:24ID:ed4Tne0p
>>854
Enterでポーズした後に、アプリケーションメニューの「プレイヤー」「一時停止」「バージョン情報」などの
ダイアログを出すと、戻った後Enter押してもポーズが解除されなくなる。
バグっぽいね。
0857名前は開発中のものです。2010/06/07(月) 05:11:59ID:vtvAbR6c
限定的な配布でも流石に企業名をそのまま入れるのは不味くないか
0858名前は開発中のものです。2010/06/07(月) 06:01:26ID:QXfQHjVF
通し番号使ってやってる見たけど敵が倒れる時敵が一瞬全員点滅したり
本体全部破壊してもグラフィックが最終的に一個残ったりする不思議
あと方向と違う方向いてたりわけわからなくなって結局通し番号なしで作ったわ
0859名前は開発中のものです。2010/06/07(月) 06:20:04ID:dng3zNIe
通し番号の参照の仕方がよく解らないからだと思う
俺もよく解らない
0860名前は開発中のものです。2010/06/07(月) 08:53:29ID:csr8k2SJ
Foreach Object使えば、通し番号振り分けなくても
オブジェクト一つ一つに命令できるようになるけど
日本語版MMF2ではちゃんと動いてくれなかったorz
開発者に問い合わせたところ、最終的には日本語版にも
対応してくれるとのことでした。期待。
0861名前は開発中のものです。2010/06/07(月) 12:23:13ID:CJyd1hnM
>>855
失礼しました
イベント見てみないとなんとも言えないですけど、


オブジェクトAにBを重ねるとします

二つのオブジェクトに同じ通し番号を振る

高速ループで片方(A)の数だけループ

X座標が0になったら同じ通し番号のカップルだけ破壊


こんな感じでダメでしょうか?


>>856
確かに固まってしまいますね・・・
イベント的には、
Enter押したら「アプリの一時停止」を使ってるだけなんですが
この辺はMMF2の仕様なのでしょうかね

あと、
「一時停止の終了」ってキーボードのみ対応なんですかね?
ジョイスティックのボタンで一時停止解除させたいんですけど
0862名前は開発中のものです。2010/06/07(月) 12:54:32ID:CJyd1hnM
>>855
ちょっとサンプル作ってみました
http://ux.getuploader.com/mmf/download/86/couple.zip
0863名前は開発中のものです。2010/06/07(月) 19:10:05ID:ed4Tne0p
>>861
サブアプリケーションには一時停止を解除するアクションがあるので、
メインのフレームをサブアプリケーション経由で実行すればパッドからもポーズの解除が出来ます。
さらに、こちらの方法だとポーズ中のCPU使用率の上昇も抑えられる。
http://ux.getuploader.com/mmf/download/87/sub-application_pause.mfa
0864名前は開発中のものです。2010/06/07(月) 21:39:44ID:J/HS9VWi
保存オブジェクトについて書き込んだものです。
ありがとうございました。
0865名前は開発中のものです。2010/06/07(月) 21:45:44ID:m4xnuH41
シューティングの敵の行動パターンで悩んでいた者です。
本当にすみません。
ループインデックス取得のときのループ名を勘違いして、
別の名前にしていました
すみません。
0866名前は開発中のものです。2010/06/07(月) 21:46:02ID:QC/xU8ci
通し番号がうまくいかないって人に

二つの値を比較 をつかってペアを作ってもまともに動かないです。
0867名前は開発中のものです。2010/06/07(月) 22:11:05ID:CJyd1hnM
>>863
すごい!
こんなやり方があったんですね!
でもうちのに組み込むと色々不具合がでてしまいました
コンティニューができなかったり画面サイズがおかしくなったりと・・・
もうちょっといじくってみたいと思います
ありがとうございます

>>865
自分もよくやりますw
視認しやすい名前にした方が良いですね
0868名前は開発中のものです。2010/06/08(火) 00:02:19ID:0zPQThdy
アクティブオブジェクトのプロパティの値からフラグを設定する方法!
つttp://www.nicovideo.jp/watch/sm10988732
0869名前は開発中のものです。2010/06/08(火) 00:04:53ID:Leq7yZY/
http://ux.getuploader.com/mmf/download/88/test2.zip
通し番号を使ったサンプル
自分自身もちょっとあいまいだった部分があったので確認用につくってみました
でもごめんなさい、こないだアップしたサンプルに手を加えたものなので
エクステンションにXLuaが要ります
0870名前は開発中のものです。2010/06/08(火) 18:01:19ID:gCQeYNBi
>>868
相変わらず乙です。
mfaファイルがあると嬉しいかも。
0871名前は開発中のものです。2010/06/08(火) 18:05:23ID:CcGewY/J
>>868
乙です
ちょーwあの出だしは反則やわ
0872名前は開発中のものです。2010/06/09(水) 02:32:31ID:2/v1rYzu
SWF出力で、stringオブジェクトを使って日本語を表示させようとすると、どうしても文字化けしてしまうんですが
文字化けさせずに表示させる方法ってないでしょうか?
Embedded fontsでMS UI Gothicなどを指定してもどうしても駄目で文字化けしてしまいます。
0873名前は開発中のものです。2010/06/09(水) 09:21:10ID:J3ef38Vx
>>872
英語版はUnicode化されていないからだと思われます。
文字列を背景かアクティブに変換して画像として表示するしかないでしょう。
いずれ出るであろう日本語版のSWF出力なら日本語表示できるかもしれません。
0874名前は開発中のものです。2010/06/09(水) 12:10:53ID:QA/xRUez
英語版使っててそれが理解できないって割れ?
0875名前は開発中のものです。2010/06/09(水) 14:20:01ID:2/v1rYzu
>>873
ありがとう。画像でやってみることにします。

>>874
理解はしていたが、一縷の望みをかけてかな。馬鹿ですまん。
日本語版はClickTeamから代理店経由でいただいたが、英語版は普通に買ってるよ
0876名前は開発中のものです。2010/06/09(水) 14:35:21ID:FJAGr1qy
SWF出力を日本人で持ってる人がいたことにちょと驚いてる
文字化け具合をスクリーンショット撮ってみせてもらうことって
できますか?何ができるってわけではないんだけど好奇心です
0877名前は開発中のものです。2010/06/09(水) 16:01:58ID:2/v1rYzu
>>876
ttp://iup.2ch-library.com/i/i0100928-1276066299.jpg
本体はDevの3.0.249.8。Stringオブジェクト、フォントはMS UI Gothicで表示。
左から、ノーマルビルド、SWF出力、SWF出力(Embedded fonts:MS UI Gothic)

ちなみにSWFExp自体は日本語版には普通にインスト出来なかったです><
0878名前は開発中のものです。2010/06/09(水) 18:51:06ID:J3ef38Vx
>>887
Embedded fontsってMMF2の機能であったっけ?
0879名前は開発中のものです。2010/06/09(水) 19:01:53ID:RN+mKAJX
日本語版へのSWF出力の対応について問い合わせた猛者はいる?
0880名前は開発中のものです。2010/06/09(水) 22:46:57ID:FJAGr1qy
>>877
SSありがとう、
文字化けが例えばESCコードが抜けてる程度なら・・と思って
↓ここ見て予習しておいたんだけどやっぱお役に立てそうにないす
http://www.kanzaki.com/docs/jis-esc.html
このソフトどうしても文字コード関連が鬼門になってくる。。
0881名前は開発中のものです。2010/06/10(木) 12:50:20ID:VFlGOeqv
一気に過疎ったな
0882名前は開発中のものです。2010/06/10(木) 13:11:56ID:c9s6Z2S6
元々こんなんじゃ?
0883名前は開発中のものです。2010/06/10(木) 13:20:27ID:d35v2y7O
特に話す事も無いからなぁ
疑問があったらここで質問するけどそれが終わったら後はひたすら孤独な作業だし
0884名前は開発中のものです。2010/06/10(木) 16:36:01ID:c9s6Z2S6
イベント組む作業よりも、音楽とかグラフィックなどの素材を用意する作業の方が大変で死にそう
0885名前は開発中のものです。2010/06/10(木) 18:01:31ID:kGfP5dO5
それはあるな
イベント組みは出来たけどグラフィックと音楽のせいで挫折しそうだわ
0886名前は開発中のものです。2010/06/10(木) 18:10:45ID:LM9bEqpt
過疎気味だったら話題振ってもいいかな?

オリジナルルールのカードゲームを作っているんだけれども、
CPUを少し賢くしようとしたら、イベントが予想以上に煩雑になってきて困ってる。
そんなに本格的な思考ルーチンとかはいらないんだけど、どんな感じで実装するのがいいと思う?

思考ルーチン部分はLuaとか、スクリプトに投げるってのも考えているけど、
詳しいことは知らないのでちょっとためらい気味。
0887名前は開発中のものです。2010/06/10(木) 19:23:05ID:r8OLwzqo
>>886
どんなルールで、どこが煩雑になっているのか、わからないのでなんともいえないけど
イベントグループの切り分けと責務を明確にするしかないかな。
Luaを使えるからマの方だと想定して話すと、クラスの切り分けみたいな問題になるのかな。
パッと思いついた感じ↓(カードゲーム作った事ないからよくわからないけど)

<イベントグループ構成例>
・CPU
  ・思考ルーチン
    ・カードを引く
    ・役をチェックする
    ・カードを置く
    ・カードを捨てる
  ・手持ちカード管理
   ・戻ってきたカードを整理
   ・カード要求に応える

・山場カード管理
  ・戻ってきたカードを整理
  ・カード要求に応える
0888名前は開発中のものです。2010/06/10(木) 19:54:43ID:LM9bEqpt
>>887
マだけれどもLuaは名前しか知らない

役をそろえるような自己完結的な感じじゃなくて、
相手の出した札に対してどう応えるかみたいな、若干の戦略的要素があるんだよね
先読みとか、残り札の推測とかはひとまず置いておくとしても、少しは”思考”しないと話にならなかった

すると条件式がどうしても複雑になるよね
Aを出して Bを持っている場合 Bを持っていない場合 Cを持っている場合……
Bを出して……
みたいに、基本的な判断だけでも愚直にやるとすごい量になる
高速ループをサブルーチンとして使えるって気づいたから少しは落ち着いたけど

もしそういうの作ったことある人がいるんなら意見聞きたいんだけれども
あるいはイベントがみれるようなサンプルがあったら教えて欲しい
0889名前は開発中のものです。2010/06/10(木) 20:34:17ID:LM9bEqpt
Lua、基本的なことだけなら5分で学べるな……
XLua導入してみてもいいかもしれん
0890名前は開発中のものです。2010/06/10(木) 20:41:09ID:PebfO/F3
イベント組める様になってもAIの組み方で挫折する人多そうだなぁ…
なんとかならんだろうか
0891名前は開発中のものです。2010/06/10(木) 21:08:27ID:r8OLwzqo
>>888
将棋なんかだと駒毎に価値の評価点みたいな設定をしてそれで判断しているみたいだね。

例えば、グーチョキパー属性の相手のカードに対抗するカードを出すゲームだとして

グー属性の手持ちカードが
  石カード コスト(勿体なさ度)1、ダメージ3
  岩カード コスト(勿体なさ度)5、ダメージ8
だとして

相手のHPを1減らす価値:1

評価点計算式: ダメージ − コスト (+ 得られるカード等の価値)

石カードを使った場合:3-1=2
岩カードを使った場合:8-5=3

よって岩カードを使うことに決定

これは思い切り単純化した例だけど
もし、何かカードを得られる等のリターンがあるならそれらも評価点に加えて
1番評価点の高い決定をCPUにさせる。

CPUの思想や性格の違いは何をもって評価が高いと判断するか?
という式や評価点の値の違いで表現。
0892名前は開発中のものです。2010/06/10(木) 21:15:04ID:c9s6Z2S6
>>891
凄く分かりやすい!
0893名前は開発中のものです。2010/06/10(木) 22:55:32ID:LM9bEqpt
>>891
長文書いてもらって申し訳ない

評価関数がMMF2でスマートに実装できる形だったらいいけれども、必ずしもそうとは限らないわな
深い先読み&枝切りまで考えたりするつもりはないけど、それでもMMF2のイベント形式では限界がある
得手不得手があるのは仕方ないとして、その不得手をどうやって補えばいいのか、と言いたかった

たとえばその例でも、コストやダメージみたいに数値化できてる部分は容易に実装できるけど、
属性部分は類似の条件を複数用意するしかないだろ(この場合はテーブルでなんとかなりそうだけど)
そうすると可読性もメンテナンス性も下がるし、いいアイディアがあるんなら教えてもらいたい

XLuaを使うという方法もあるだろうけど(いや使い方よく分かってないけど)
誰しもがそれで解決できるってわけじゃないしね

# ていうかXLuaの詳しい解説Wikiになかったっけ?
# 探してるんだけど見つからない
0894名前は開発中のものです。2010/06/10(木) 23:09:50ID:KFc8l15I
>>893
そこまで求めるなら、XLuaでゴリゴリとスクリプトを書くのが一番楽でスマートだよ。
可読性についてはきっちり文法を駆使すればそれなりになるから、お前さん次第さ!
0895名前は開発中のものです。2010/06/10(木) 23:29:00ID:xgcTPjP+
Luaスレと聞いて
0896名前は開発中のものです。2010/06/10(木) 23:47:49ID:r8OLwzqo
>>893
思考プロセスを可視化するってのはどうだろう?

昔、パックマンか何かのサンプルを書いてくれたひとのコードで
敵が非表示の矢印オブジェクトに接触したら進行方向を変えるってのがあって
MMFの利点を活かた素晴らしい方法だと感心した。
メンテナンスも視覚的で容易だ。
条件式の記述が不得手なMMFを当たり判定の記述の強力さで補った形。

結論(出すカード)を探すオブジェクトがルールに従って動いて
選べない結論は消すなり塞ぐなりで選べないようにして
結論に接触したら結論が出るようにする。
デバッグ中のみ表示で。
思考プロセスに間違いがあれば視覚的にミスがわかるし。どうだろ。
ルールわかんないからなんとも言えないけど。
0897名前は開発中のものです。2010/06/11(金) 00:39:00ID:SBjOR976
>>896 の意見に一票
最初パックマン見たときは「え?」と思ったけど
いまならMMF的な解決方法としてあれはありなんだと思う
スクリプト使えるならXLua使えばいいわけだしね

MMF的な思考法というか参考になるのが
http://www.clickteam.com/epicenter/ubbthreads.php?ubb=postlist&Board=54&page=7

海外でもAIについては自力で解決が難しい人が結構いて
その解決用に?他人様製だけどWidgetという形で提供されてるものが
上のリンクに集まってる。カードゲームは知らんけど
いろんなMMF的な思考法ってことで参考になるものもあるかもしれないよ
0898名前は開発中のものです。2010/06/11(金) 01:34:26ID:QrU9YHII
>>896
なるほど
よくある「ロボのAIを組むゲーム」と同じことをMMF2上でやっちゃうわけか
フローチャートで組めるような思考パターンなら、かなり容易に実現できそうだ
ちょっと考えてみる、ありがとう

>>897
そのパックマンはもう配布してないのかな?
英語からは離れて久しいから、また根気があるときにでも見てみる
0899名前は開発中のものです。2010/06/11(金) 01:55:14ID:R6bL2Ugp
>>898
まだDLできた

303 248 sage 2009/12/11(金) 14:53:45 ID:C8/+sZhR
パックマンっぽい迷路を何も考えずに巡回するオバケ(ピンク)
ttp://www1.axfc.net/uploader/File/so/35638

意気込んでみたものの説明出来るほどのスキルがないな
おっかけ(赤)までは出来たけどゴチャゴチャなりすぎたorz
0900名前は開発中のものです。2010/06/11(金) 03:47:24ID:QrU9YHII
>>899
さんくす!壁に挟まって身動きとれなくなってる間に食われた!
こういう「らしい」イベントを組むには、圧倒的に経験が足りないな……

それはそうとXLuaが動いてくれない
ヘルプ読もうと思ったけど、英語力の衰えっぷりに我ながら驚いた
0901名前は開発中のものです。2010/06/11(金) 15:00:23ID:1MhZCl1d
店頭で見つけて少し気になって買ってみようかと思ったら全店舗で在庫切れ…
マニュアルは紙媒体で読みたいからパッケで購入したかったんだけどなぁ
過去ログ読み返す限りじゃなんか難しいみたいだけどプログラミング全くの初心者でも大丈夫かな
0902名前は開発中のものです。2010/06/11(金) 15:29:50ID:clcwgkeD
マニュアルペラペラだし機能説明も中途半端であんまり意味ないから安いDL版お薦め

基本的な部分は初心者でも大丈夫だけど
本格的なものを作るには高難度、自分で情報収集や試行錯誤が必要
日本語ヘルプ未実装で代理店サポートは役立たず

とりあえず購入する前に体験版いれて弄ってください
レス数が900を超えています。1000を超えると表示できなくなるよ。