10/12/21 00:52:16
前スレ
ゲームプログラムなら俺に聞け14
スレリンク(tech板)
ゲーム開発に関してプログラムの観点からアプローチするスレッドです。
一応質問も受け付けます。
ソースをうpするとアドバイスがもらえるかもしれません。
2:デフォルトの名無しさん
10/12/21 03:31:24
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
3:デフォルトの名無しさん
10/12/21 04:09:30
>>1
おつ
4:デフォルトの名無しさん
10/12/21 07:10:10
板全体が過疎ってるぜ
5:デフォルトの名無しさん
10/12/21 07:16:33
年末はいつも大規模規制があるからな
マイナープロバイダーだとないけどw
6:デフォルトの名無しさん
10/12/21 08:44:24
from OCN
7:デフォルトの名無しさん
10/12/21 10:55:06
今更ながらにやっと矩形/円の軌跡による交差判定が分かったよ。
要は、ぶつけられる方のオブジェクトに対してぶつける方のオブジェクトの当たり判定と軌跡を足してやれば良いだけだ。
漏れ、なんでこんな簡単なことにずっと気付かなかったのだろう…
8:デフォルトの名無しさん
10/12/21 10:59:22
from ntt
9:デフォルトの名無しさん
10/12/21 17:12:30
Kinect中々優秀だなこれ
10:デフォルトの名無しさん
10/12/21 17:29:13
あのkinect使ったセックスゲーム、MSに止められたらしいね。
今こそ俺たちでHentaiゲーム作ろうぜ。
11:デフォルトの名無しさん
10/12/21 18:01:13
俺たちでとか言うヤツに限って何にもできないんだよなw
12:10
10/12/21 19:00:43
昼間ヨドバシでkinect買ってUbuntu10.10を入れてドキュメント読み出したよ。
お前と一緒にするなボケw
13:デフォルトの名無しさん
10/12/21 19:42:12
>>12
半年後のKinect on Linuxのニュースを待ってるよ。
14:デフォルトの名無しさん
10/12/21 20:00:46
どらいばは公開されてるんだよね
15:デフォルトの名無しさん
10/12/22 10:48:46
javaのswingで、背景画像を無限に横スクロールさせたいんだけど、
背景表示してるところにどういう処理加えたら動きますかね?
16:15
10/12/22 13:39:31
すんません、解決しました
g.drawImage(backimage, 0, 0, 800, 600, (int)lp, 0, 800+(int)lp, 600, frame);
lpch = System.currentTimeMillis() - stagetimer;
if (lpch % 2 == 0) {
lp = lp + 1;
}
if (lp >= 800) {
lp = 0;
}
17:15
10/12/22 15:02:55
ダメでござった・
>>16だと、画像の最後までいったときに
ぶつ切りで画像が表示されて滑らかな切り替わりにならない…
どうすればいいですか?orz
画像は1600x600
画面サイズは800x600でやってます
18:デフォルトの名無しさん
10/12/22 15:30:26
うれしくなるとついやっちゃうんだ
19:デフォルトの名無しさん
10/12/22 18:24:10
>>15
一度にスクロールさせたい画像を三枚並べて描画すればいいだけだと思うよ。
20:デフォルトの名無しさん
10/12/23 14:18:26
画像が800x600のときはこんなんか?
g.drawImage(backimage, 0, 0, 800, 600, (int)lp, 0, 800+(int)lp, 600, frame);
g.drawImage(backimage, 0, 0, 800, 600, (int)lp-800, 0, 800+(int)lp-800, 600, frame);
g.drawImage(backimage, 0, 0, 800, 600, (int)lp+800, 0, 800+(int)lp+800, 600, frame);//これいらない?
lpch = System.currentTimeMillis() - stagetimer;
if (lpch % 2 == 0) {
lp = lp + 1;
}
if (lp >= 800) {
lp = 0;
}
21:デフォルトの名無しさん
10/12/24 00:06:40
アニメーションは誰がコントロールするの?
シーン管理クラスがついでにって感じ?
それともゲームEntityがやるのかな
22:デフォルトの名無しさん
10/12/24 00:08:53
俺だよ俺
23:デフォルトの名無しさん
10/12/24 00:10:19
すいませんちょっと真面目な話なのでお願いします
24:デフォルトの名無しさん
10/12/24 07:07:35
>>21
アニメーションってモデルのアニメーションのこと?
tが決まれば描画できるだろ
ステータスAになってからの経過時間(orカウント)は
そのゲームオブジェクト自体がもってんじゃねーの?
25:デフォルトの名無しさん
10/12/24 11:22:21
描画メソッドの中でSystem.currentTimeMillisを上手く使え!
26:デフォルトの名無しさん
10/12/24 19:06:52
フォーチュン>ハート>ダイア>エンジェル>デビル>クローバー>スペード
27:デフォルトの名無しさん
10/12/25 12:51:12
C言語のfloatってWindowsでもLinuxでも精度が同じって保証ある?
28:デフォルトの名無しさん
10/12/25 12:52:04
有る
29:デフォルトの名無しさん
10/12/25 12:59:54
演算結果はCPUの命令セット依存だけどな
30:デフォルトの名無しさん
10/12/25 13:28:29
CPUが同じなら精度も同じだろう
CPUが違う場合はその限りではないし
同じCPUでもどういうコードが吐かれるかで違いが出るかもしれない
31:デフォルトの名無しさん
10/12/25 14:33:31
C言語の言語仕様ではどうとも定めてないから、CPUが同じでもコンパイラによって違うかもしれない
32:デフォルトの名無しさん
10/12/25 14:52:49
精度がdouble以下しか決まっていない
33:デフォルトの名無しさん
10/12/26 05:37:39
Windowsのfloatの値をビット単位でLinuxにコピーすれば内容が変わることはないですよね。
34:デフォルトの名無しさん
10/12/26 07:38:27
おまえの使ってるコンパイラとCPUがどういう内部形式使ってるか自分で調べろ
35:デフォルトの名無しさん
10/12/26 09:16:38
ARMのLinuxとAlphaのNT4.0なら違うんじゃね
36:デフォルトの名無しさん
10/12/27 05:44:19
音声ファイル(拡張子「.wav」)の最小限のヘッダ部と音データ以外の無駄なところを削りたいです。
.wavファイルサイズ(4112428Byte)の場合
【wavファイルのヘッダ部分(16進数)】
52 49 46 46 24 C0 3E 00 57 41 56 45 66 6D 74 20
10 00 00 00 01 00 02 00 44 AC 00 00 10 B1 02 00
04 00 10 00 64 61 74 61 00 C0 3E 00
※('R''I''F''F'から始まって'd''a''t''a'+4Byteのデータサイズまで)計44Byte
dataサイズは(00 C0 3E 00)=(4112384Byte)です。
★ファイルサイズ(4112428Byte) = ヘッダサイズ(44Byte) + データサイズ(4112384Byte)
おそらく、これが最小限のヘッダ部と音データ以外の無駄なところがない音声ファイルになると思います。
しかし、他の.wavファイルを見ると
★のように正しく計算が合いません。
※ファイルサイズが(ヘッダサイズ + データサイズ)より大きいのです。
例)
ファイル名[a.wav] データサイズ[161460] ファイルサイズ-(ヘッダサイズ+データサイズ)[1650]
ファイル名[b.wav] データサイズ[235336] ファイルサイズ-(ヘッダサイズ+データサイズ)[2226]
ファイル名[c.wav] データサイズ[218684] ファイルサイズ-(ヘッダサイズ+データサイズ)[88]
ファイル名[d.wav] データサイズ[124304] ファイルサイズ-(ヘッダサイズ+データサイズ)[1358]
ファイル名[e.wav] データサイズ[1518864] ファイルサイズ-(ヘッダサイズ+データサイズ)[11932]
以上、最小限のヘッダ部と音データ以外の無駄なところを削るツールがあれば、
教えていただけないでしょうか。よろしくお願いします。
37:デフォルトの名無しさん
10/12/27 05:58:25
ツールも何もそれくらい自分で書けばいいじゃない
38:デフォルトの名無しさん
10/12/27 07:21:12
ヘッダサイズが44バイト固定だと思ってるところが間違いだから計算が合わないのは当然
39:デフォルトの名無しさん
10/12/27 07:43:56
ていうかなぜそもそもたった44バイトを削りたいのかが知りたい
40:デフォルトの名無しさん
10/12/27 09:44:35
>>36
fmtチャンクとdataチャンクさえあればひとまず鳴りはするだろうけど、
とりあえず>>36の(例)で割り出されたサイズが本当に余分なものなのかどうかを
確認してからでも遅くはないと思う。
41:デフォルトの名無しさん
10/12/27 11:05:21
思うね
42:36
10/12/27 12:54:56
>>37-41
レスありがとうございます。
【やりたいこと】
ゲーム作成にてDirectX9.0cの本を見て16bit44.1kHzのステレオ/モノラルの
.wavファイルをDirectX9.0cSDKのdsutil.cppを使いストリーミング再生する
プログラムを作った。ゲームをインターネットに公開するにあたり、
「a.wav」というようにWindowsMediaPlayerで開いて再生できるのはマズイと思った。
「a.wav」をWindowsMediaPlayerで再生できないように暗号化することにした。
【暗号化方法】
①ファイル名「a.wav」のファイルの拡張子を削り「a」というファイル名にした。
②.wavファイルのデータ部に16ByteのXOR暗号をかけようと考えている ← いまここ
★もっとよい方法があったら教えて欲しいです。
【問題点】
4種類ぐらいのwavファイル編集ソフトを使って作られた.wavファイルに同じ方法で
まとめて暗号化をかけようとしたが、.wavファイルのヘッダ部とかバラバラで不安。
【解決策を検討】
余分な情報のない.wavファイルに統一したいと考えた。余分な情報のない
.wavファイルを書き出す波形編集ソフトが知りたい。
(そのソフトで.wavファイルをすべて変換する予定。)
URLリンク(www.kk.iij4u.or.jp)
上記のサイトを見ると「拡張部分のサイズ」「拡張部分」を除くと、ヘッダは44Byteになる。
今手元にある.wavファイルの大半が、「ヘッダ部44Byte+データ部」のかたちなので、
このかたちが標準形だと思われる。
43:36
10/12/27 12:56:32
>>37
自分で書くと音声を壊してしまいそうで怖いです。
>>38
>>42にて自分が調べてみたところ、標準的な.wavファイルのヘッダ部は
44Byte固定のようです。
>>39
削りたいのは44Byteではなくて、>>36の例であげた[]のByte数です。
ファイルサイズ-(ヘッダサイズ+データサイズ)[1650Byte]
ファイルサイズ-(ヘッダサイズ+データサイズ)[2226Byte]
ファイルサイズ-(ヘッダサイズ+データサイズ)[88Byte]
ファイルサイズ-(ヘッダサイズ+データサイズ)[1358Byte]
ファイルサイズ-(ヘッダサイズ+データサイズ)[11932Byte]
11932Byteなんて大きすぎ。
>>40>>41
「ヘッダ部44Byte+(ヘッダのdataサイズ分の)データ部」で鳴っている
wavファイルがあるので、>>36の(例)は余分だと思います・・・
(「思います」ですみません。)
44:デフォルトの名無しさん
10/12/27 13:03:53
> 自分で書くと音声を壊してしまいそうで怖いです。
じゃあ、暗号化も音声壊してしまいそうだからやらなくて良いじゃん…
ちゃんと元ファイルのバックアップしてけば問題ないだろwww
45:デフォルトの名無しさん
10/12/27 13:17:17
壊すも何もデータ部分と自分が必要なヘッダを連結するだけじゃん
46:デフォルトの名無しさん
10/12/27 13:19:37
いっそのことWAVファイル全体をxorすればいいんじゃないかな。
47:デフォルトの名無しさん
10/12/27 14:51:45
URLリンク(www.youtube.com)
48:36
10/12/27 15:08:52
>>44-46
結局、ファイルのヘッダ部分の一部を破壊後、ファイル読み込み時に
破壊部分を復元するという方法で実装しました。
【wavファイルのヘッダ部分(16進数)】
52 49 46 46 24 C0 3E 00 57 41 56 45 66 6D 74 20
10 00 00 00 01 00 02 00 44 AC 00 00 10 B1 02 00
04 00 10 00 64 61 74 61 00 C0 3E 00
【破壊した部分】
(57 41 56 45)='W' 'A' 'V' 'E'
を(00 00 00 00)に書き換えただけ。
これで、拡張子.wavを付けても
WindowsMediaPlayer等で再生できない状態になりましたが、
保育園児に解読されそうな暗号化です。
DirectX9.0cSDKのdsutil.cppに頼っている時点で、
僕の技量不足もあり、ここまでの暗号化が限界です。
>>46
wavファイル自体をすべてメモリに上げる必要がでてきます。
1曲20MByteぐらいあり、メモリに上げるのに時間かかるわ、
メモリ容量食うわだったので、その方法はボツになりました。
49:36
10/12/27 17:33:28
>>36(自己レス)
>以上、最小限のヘッダ部と音データ以外の無駄なところを削るツールがあれば、
>教えていただけないでしょうか。よろしくお願いします。
Audacityというフリーソフトで一括変換を掛けると期待通りに
無駄なところが削れたwavファイルが出力されました。
ただし、Audacityはバグがあるみたいで、たまに一括変換時に
無音wavファイルを出力する場合があります。
フリーソフトは、わからない挙動が多くて信用ならない。
これで安心してデータ部だけにXOR暗号を掛けられる。
50:デフォルトの名無しさん
10/12/27 17:49:12
BGMにwav使おうって感覚が理解できない
51:デフォルトの名無しさん
10/12/27 17:57:55
てか、.exe内部にリソースとしてくっつければ見れないんじゃ?
バイナリエディタとかでチェックされたらバレちゃうけど、
そこまでする人少数だし、そこまでしてでも見られたくない音なの?
52:デフォルトの名無しさん
10/12/27 18:06:37
スキンメッシュの更新は毎フレームすべきでしょうか?
SkinnedMeshクラスに render(), animate()という関数が2つあって
animate()の中だけでupdateSkinnedVertices()を読んでいたら、
ボーンを直接動かしたらスキンが更新されませんでした(update~が呼ばれないから当たり前)。
これrender()関数の中で問答無用でupdate~を呼ぶべきでしょうか?
(動いてないときでもupdate~するのが超嫌です)
みなさんどうしてますか?
53:デフォルトの名無しさん
10/12/27 18:08:11
>>52
お前ちょっとマリオ100人だして動かしてみろ
すべてがわかる
自分の設計も含めてすべて
54:デフォルトの名無しさん
10/12/27 18:09:26
スキンメッシュって何?
55:52
10/12/27 18:16:36
>>53
言ってる意味がちょっとわからないです。
毎フレーム、スキンをアップデートするコストは言うまでもなく高いです。
ただどうせスキンメッシュは毎フレーム動くはずなので(動かなければ普通のメッシュでいい)、
毎フレームrender()の中でアップデートしてしまっても良いような気がします。
56:デフォルトの名無しさん
10/12/27 18:26:19
>>55
だからその辺すべてわかるから
マリオ(マリオじゃなくてもいいけど)100人描いてみろって言ってるの
お前、同時に1体しか画面に出したことないだろ?
ごちゃごちゃ言わずにさっさとやれ
もっというと音も出してみるとなおよし
ライブラリ屋的脳みそだと口でいっても絶対納得しないから
俺はこういうのは面倒でもサンプルを書くのを勧めてる(そのほうが本人のため)
57:デフォルトの名無しさん
10/12/27 18:28:40
100人描くっていっても全員に違う動きさせろよ
58:36
10/12/27 19:23:46
>>50
何使うの?
wav以外は音が劣化すると思うのだけど。
>>51
.exe内部に大容量のリソース(100MByteぐらい)をつけると、
ビルドエラーになり.exeが作成できない。
それにWinXPでは、リソースからwavの再生時に
リソースのwavデータが丸ごとメモリに乗っかり、
メモリを圧迫する。(しかも、プログラム終了以外に、
リソースを開放する手段がない。)
>そこまでしてでも見られたくない音なの?
音楽担当の人が「見られたくない」って言っていたから、
意思を尊重しました。
59:36
10/12/27 19:25:43
誤)(100MByteぐらい)をつけると、
正)(100MByteぐらい)をつけようとすると、
60:デフォルトの名無しさん
10/12/27 19:34:44
どこまで能無しなんだこいつ
61:デフォルトの名無しさん
10/12/27 19:50:23
>>48
WAVファイルをオンメモリ再生しているってこと?
ストリーミング再生するなら少しずつ読み込んだ分だけ
XORで復号すればいいような気がしてたんだけど、そうでもないかな。
どういうコード書いてるか知らないんで勝手書いてゴメン。
62:デフォルトの名無しさん
10/12/27 19:57:43
プロジェクトJAPAN ※要注目
第0次世界大戦総合 2010年12月27日(月)午後10時00~59分
「坂の上の雲」の時代を、新たな史料をもとにグローバルな視点で見つめる歴史ドキュメンタリー。
12月放送のドラマ「坂の上の雲」第2部に対応し、日露戦争の時代を検証する。20世紀最初の大国間戦争・日露戦争。その背後では、欧米列強の思惑が渦巻いていた。
それはどのように影響し合い、何をもたらしたのか。戦争の引き金となった鉄道建設、第3国の画策、埋もれた同盟案…。日露戦争を「第0次世界大戦」として読み解く。
URLリンク(www.nhk.or.jp)
63:デフォルトの名無しさん
10/12/27 20:00:28
>>62
宣伝やめろ
アク禁食らうぞ
64:36
10/12/27 20:15:28
>>61
>WAVファイルをオンメモリ再生しているってこと?
ファイルから1秒ごとに1秒分のデータを読み込んで鳴らしています。
>少しずつ読み込んだ分だけXORで復号
その方法も併せて実装しました。
後日、PentiumIIのPCで処理速度的に間に合うか検証します。
65:デフォルトの名無しさん
10/12/27 20:23:32
出ていけカス二度と来るな
66:デフォルトの名無しさん
10/12/27 20:36:16
このスレも荒れているんだな
67:デフォルトの名無しさん
10/12/27 21:12:28
>>58
プログラム終了時にリソース解放できないってのは嘘だろ?
それってOS自体がメモリリークするバグ抱えてるってことだぜ?
68:デフォルトの名無しさん
10/12/27 21:32:10
メモリリークは起きなくても
断片化しまくって事実上
メモリ確保出来なくなる馬鹿OS
69:67
10/12/27 21:56:43
すまん、>>58の文章を読み間違えてた。
ただ、メモリに関しては今時のゲーミングPCなら最低4GBは
積むんだから、わざわざストリーミング再生しなくても
メモリ消費は余裕だと思うな。
3分のBGMを44.1KHz/16Bitで載せてもたった30MBなんだし。
むしろストリーミングでHDDに余計なアクセス生じる方がよくないかも。
70:デフォルトの名無しさん
10/12/27 22:31:17
30MB読み込むって結構時間かかんね?
モデル100体近く読めるけどこれ気にしないレベルなのか?今のPCって
71:デフォルトの名無しさん
10/12/27 22:31:51
>>64で「PentiumIIのPCで処理速度的に間に合うか検証します」って書くくらいだから
>>69が書くようなゲーミングPCより低いスペックを想定しているんじゃないかなと想像してみる。
72:デフォルトの名無しさん
10/12/27 23:12:20
読み込みに関しては、HDDはシーケンシャルリードで
60MB/Secくらい出るんだから1秒以内に終わる、理論的には。
PentiumIIで動くゲームってどんなゲームだ?
2Dでもかなりキツいぞ…
73:デフォルトの名無しさん
10/12/27 23:23:47
Pen2時代ってメモリ128MBくらいじゃなかったっけ?
音楽だけで30MBも持ってかれると辛そう
74:デフォルトの名無しさん
10/12/27 23:24:03
え?
75:デフォルトの名無しさん
10/12/28 03:45:39
>>70
読み込みながら再生すればいいだろハゲ
それか前のステージ(?)の最中とかディスクI/Oの少ないときに読み込んどくとか
76:デフォルトの名無しさん
10/12/28 03:54:27
>>58
音の劣化って言ってるけどそこまで音質にこだわる必要があるのか?
MP3でもかなり高音質だぞ。
たぶんお前はWAVとMP3聞きくらべても違いは分からんと思う。
あと、音の内容を見られたくないって言ってもどのレベルかによるしな。
何年か前にコピーコントロールCDとか出たけど1週間くらいで破られただろ、
たった1人の高校生に。
77:デフォルトの名無しさん
10/12/28 04:15:20
mp3だと特に高音域が落ちるんだよなぁ
78:デフォルトの名無しさん
10/12/28 04:22:56
そもそもMP3は使えない
79:デフォルトの名無しさん
10/12/28 08:17:05
CD音質のWAVEの可逆圧縮でも7割くらいにデータ量削減できる。
やり方は、まずサンプル間の差分データにする。
後はそれを可変ビット長で記録するだけ。
エンコードもデコードも単純だから自分で実装したり改造もできる。
ヘッダ削るとかよりもこっちの方がいいかと。
80:デフォルトの名無しさん
10/12/28 12:22:45
普通にMediaPlayerでMP3の320Kbps指定するだけでええやん。
81:デフォルトの名無しさん
10/12/28 13:01:02
一時期oggが流行ったよね
82:デフォルトの名無しさん
10/12/28 13:03:04
洋書で評価高い入門書ってない?
83:デフォルトの名無しさん
10/12/28 14:15:55
何の分野の入門書だよ?
ゲーム開発ってのなら、Game Programming Gemsは
いろんなとこでイイって話聞くけど。
84:デフォルトの名無しさん
10/12/28 17:48:06
イイって話聞くね。
85:デフォルトの名無しさん
10/12/28 17:55:45
gemsは入門書じゃねーよ。tips集だろ
中身理解するのにガチでやって1年はかかるわ
86:デフォルトの名無しさん
10/12/28 18:04:20
あれ以下のレベルだったら本なんて買わなくても
ネットで全部情報揃うと思う
87:デフォルトの名無しさん
10/12/28 18:37:00
思うね
88:デフォルトの名無しさん
10/12/28 18:38:51
左様
89:デフォルトの名無しさん
10/12/28 20:42:45
Game Programming Gemsって番号違いがいくつも出てるけど、
これは版を重ねたんじゃなくて、一つ一つ内容が違うの?
90:デフォルトの名無しさん
10/12/28 21:12:53
左様
91:デフォルトの名無しさん
10/12/28 23:22:33
奈良
92:デフォルトの名無しさん
10/12/29 11:25:38
kinectでMMDみたいにキャラクターを動かそうと思っています。
各関節の平行移動要素(T)と回転要素(R)は取れるようになったのですが、
それをどうやってモデルに適応したらいいのかわかりません。
kinectのキャリブレーションポーズ(C)(両手を90°折り曲げて上に向ける)が、モデリングした時のTポーズと
全然違うのでそのまま適応してもまったく意味が有りません。
これどうすればいいのでしょうか???
理想的にはTポーズからのRの変化量が欲しいのですが、どうやって計算すれば?
それとももっと簡単な計算方法がありますか?
93:デフォルトの名無しさん
10/12/29 12:52:37
Kinectスレに逝った方がいいと思われ
94:デフォルトの名無しさん
10/12/29 15:41:04
いやあまりkinect関係ないです。
これもしかしてkinectの想定しているスケルトン(ボーン)の構成と
同じボーンを作っておかないといけないんじゃ?
95:デフォルトの名無しさん
10/12/29 15:53:46
Xファイルだとオフセット行列(デフォルトポーズからボーンのローカルにもってくる行列)ってのが
あるけどそれに当たるもんはねぇの?
96:デフォルトの名無しさん
10/12/29 16:05:56
>>76
音源Digidesign Mbox 2 Proとスタジオモニタヘッドフォンを使っています。
MP3を聴くと抜けないヌメッてした感じがして不快です。
破られない暗号はないことはわかっているつもりです。
破る気があるプログラマーに真剣に取り組まれたら、
すぐに破られると思います。
数十Byteのxorテーブルによる暗号化です。
音声データの無音部分をバイナリエディタで見られれば、
xorテーブル丸見えです。
>>79
ありがとうございます。参考にさせていただきます。
97:79
10/12/29 16:19:35
>>96
あ、あとちなみに、
[ビット長][続くサンプル数]
みたいな制御コードを挟んだ方が、一般的なWAVEの場合は
圧縮効率あがるかも。
これはつまり、この制御コードから後は
[6ビット]のビット長のデータが[50個続く]とかね。
6Bit×50個の後にはまた制御コードが来る。
98:デフォルトの名無しさん
10/12/29 18:08:17
> MP3を聴くと抜けないヌメッてした感じがして不快です。
ビットレートは?
320kbpsでもそうなの?
99:デフォルトの名無しさん
10/12/29 18:10:18
そのへんのてきとーなスピーカとかじゃなくて、
MDR-CD900STとかで聴けばわかる。
高音がDCTでカットされてシャリシャリいうよ。
100:デフォルトの名無しさん
10/12/29 18:35:41
他のフォーマットを扱う能力がない言い訳なんだからつっこんでやるなよ
101:デフォルトの名無しさん
10/12/29 18:52:19
配布する対象がオーディオオタク向けなんだろ
102:デフォルトの名無しさん
10/12/29 20:11:26
絶対音感ゲームか
斬新だな
103:デフォルトの名無しさん
10/12/29 21:56:15
いや、wav配布とか普通だから。無知にも程がある
104:デフォルトの名無しさん
10/12/29 21:56:34
まぁ趣味の範囲ならどんな事に拘っても個人の勝手だろう
105:デフォルトの名無しさん
10/12/29 23:50:28
wavそのまま鳴らしていい音だって言ってるレベルなら
そんな馬鹿耳、切って塩漬けにしてしまえって感じだよな
106:デフォルトの名無しさん
10/12/30 01:30:23
ロスレスじゃなきゃ気持ち悪いんならテレビも映画もまともに視聴できないし
障害者は何かと大変そうだな
107:デフォルトの名無しさん
10/12/30 01:32:02
大変そうだね
108:デフォルトの名無しさん
10/12/30 15:34:24
▓▓▓▓▓▀
▓▓▓▓▓▓▓
▅▀▀█░░█▅░░
▅█░░██░░░▅░░░░
██▅░░░░▀█████
▀▀░░░░░▅
▅█▓████▓█▅
▅███▓████▓███▅
▅███▓▓████▓▓███▅
████▓▀▓▓▓▓▀▓████
░░░░▓▓▓▓▓▓▓▓░░░░
░░▓▓▓▓▓▓▓▓░░
▓▓▓▓▓▀▀▓▓▓▓▓
▓▓▓▓▓ ▓▓▓▓▓
████ ████
██████ ██████
109:デフォルトの名無しさん
10/12/30 22:17:38
ブロック崩し作ってて壊れるブロックの反射は出来たんだけど、
壊れないブロックの反射って意外と面倒なんだね
詳しく解説してるサイトあるかな?
フラッシュでつくってるから、線分と円の交差じゃなくて、もっと軽いアルゴリズムしりたいんだけども
教えてクレクレ
110:デフォルトの名無しさん
10/12/30 22:37:52
>>109
そもそもブロックが壊れる・壊れないで反射の仕方が変わるものなの?
111:デフォルトの名無しさん
10/12/30 22:44:58
破壊するにはエネルギーが必要なので当然反射係数が変わります
112:デフォルトの名無しさん
10/12/30 22:46:00
そのレベルだったら壊れてるときに反射係数変えてるだろうからそれをはずせばいいだけだろ
113:デフォルトの名無しさん
10/12/31 00:20:23
いや壊れるブロックはそのブロック自体が消えるからめり込みとかあんまり気にする必要ないし、ちょっとくらい反射おかしくても致命的な問題にはならないけど、
壊れないブロックはめり込み分戻すとか角判定とか壊れないブロックが2個連なってる時の処理とかで色々不具合起きるんだよね
114:デフォルトの名無しさん
10/12/31 00:24:50
代数的に計算すれば反射なんか気にしなくていいんだよ
115:デフォルトの名無しさん
10/12/31 00:26:43
なんだ
それなら真面目に時間分割すればいいだけじゃん
116:デフォルトの名無しさん
10/12/31 00:50:02
>>113
複数連なってるときなんかは不要な判定を消す必要があるな
□□□□
□□□□
□□□□
な感じでブロック同士が密着してるとしたときに(上の絵だと隙間がでかいように見えるが)
直線が4本の当たり判定になるような工夫しないと不具合消せないなそれ
他の不具合も簡単な方法なんてねーんじゃねぇの?
めり込み分戻す処理は真面目にやるより回避方法を仕様にまかせたほうがいいんじゃないか?
めり込む→補正→補正した瞬間に別のブロックにめり込む→補正→補正した瞬間に・・・
っていう無限ループだろ?4、5回やって気がすんだらあきらめろ的なもんしかそもそも解決策ないだろ
117:デフォルトの名無しさん
10/12/31 00:57:34
衝突判定って三角板・球・線・点の組16パターンだけ作って後はそれを組み合わせる感じ?
それとも四角板とか四面体とかありがちな形状を特殊化して最適化していく?
118:デフォルトの名無しさん
10/12/31 01:00:03
>>117
さすがにそれはケースで・・・
メッシュと法線でなんでもやっちゃう人もいることはいる
119:デフォルトの名無しさん
10/12/31 01:52:12
AABB か OBB くらいは用意した方がいい。
120:デフォルトの名無しさん
10/12/31 05:29:29
いわゆる古くからあるブロック崩しをそのまま再現するなら
複雑な衝突判定は不要に思うんだけど、
そこまで複雑なことをするってことはよほど凝ったゲームなのかな。
それともブロック崩しの様に見える別の何か?
121:デフォルトの名無しさん
10/12/31 05:32:21
物理演算使ったブロック崩しとか?
作るのは面白そうだな。
122:デフォルトの名無しさん
10/12/31 07:35:58
シューティングの当たり判定で悩んでいます
三平方の定理で計算した目標と弾の距離から判定しているのですが、
弾の移動速度が速いと、弾が目標をすり抜けます
1フレームで弾が目標を飛び越してしまうせいだと思われます
これをうまく解決する方法があれば教えてください
123:デフォルトの名無しさん
10/12/31 07:53:00
オブジェクト(自機や敵や弾)の軌跡を始点と終点を結ぶ線として考える
その線同士の最短距離を求めて、距離がオブジェクト同士の大きさの和より小さい場合は衝突している
124:デフォルトの名無しさん
10/12/31 07:59:49
ブロック崩しの動きってそもそも適当だろ
125:デフォルトの名無しさん
10/12/31 10:21:23
それなりにゲーム性考えられてあるだろ
お前にはわからんだろうが
126:デフォルトの名無しさん
10/12/31 12:34:01
ブロック崩し。
とりあえず移動を1フレーム10回に分けたらだいたい大丈夫になりました。
でも、やっぱり気持ち悪いから線分と法線でやった方がよさそうですなー
127:デフォルトの名無しさん
10/12/31 12:40:01
法線?
128:デフォルトの名無しさん
10/12/31 13:11:17
>>127
反射とか壁摺とかさせるときの法線さ
129:デフォルトの名無しさん
10/12/31 13:16:03
反射も壁刷りも法線なんかいらんだろ?
それとも、3Dオブジェクトに曲線の法線反射でもさせるのか、ブロック崩しなのに?
無駄なオバープログラミングだなw
130:デフォルトの名無しさん
10/12/31 13:17:24
×オバー
○オーバー
131:デフォルトの名無しさん
10/12/31 13:26:10
>>129
法線っていってもただ始点と終点からの直交ベクトルだすだけの2D法線
132:デフォルトの名無しさん
10/12/31 13:33:04
調べてみたが、法線とは局面及び曲線時の接点又は特定点の直交ベクトルを
表す物。だから、直線の直交ベクトルは法線とは言わないようだ。
と考えるが以下に。
133:デフォルトの名無しさん
10/12/31 14:22:36
>>132
調べたのか考えたのかどっちだ?w
134:デフォルトの名無しさん
10/12/31 16:52:50
直線の傾きとその法線の傾きを掛けると常に
-1
になる
これって余弦定理?
135:デフォルトの名無しさん
10/12/31 16:53:38
法線ってなに?
136:デフォルトの名無しさん
10/12/31 17:08:05
掛けるって何?
137:デフォルトの名無しさん
11/01/01 00:47:45
>>129
>反射も壁刷りも法線なんかいらんだろ?
斜面や曲面があったときはあったほうが楽じゃね?
無くてもできるけどあったら楽だろってもしかしてわかんないかな?
138:デフォルトの名無しさん
11/01/01 00:55:09
あけおめ。
>>137
好きに作ればいいよ。
139:デフォルトの名無しさん
11/01/01 01:33:51
あけおめ
時間分割は厳密にはバグの可能性が残ってるからな
線分でやった方がいい
140:デフォルトの名無しさん
11/01/01 14:23:55
無料RPG製作ツール「ロープレジェネレーター」
直感的操作で簡単なゲームが作れます。 簡単に配布可能な状態に出力することができます。
(HSP製のソースコード付きで、スクリプトの知識があれば自由度の非常に高いカスタマイズ
ができます)
他にも仲間預かり機能(100人も)や、仲間の状態/状態異常を細かく設定できたり、
乗り物が作れたりゲーム中に画像を差し込んだり、回転やフラッシュなどのエフェクト
なんかも簡単に作れる様です。
移動は矢印キーの他に、キャラがマウスを追っかけたりするとのこと。
戦闘はデフォだとドラクエ。
他にはオートアクションというのがあってオリジナルシステムの製作に役に立つかも
しれない機能です。これは、マップエディタで設定することで、「マップに入った時・
出た時・一歩歩いた時・戦闘開始前」に自動的に実行されるアクションを設定できる
機能です。
他にもいろいろ進化中だお。
141:デフォルトの名無しさん
11/01/01 17:19:23
左手座標系用の回転行列(3x3)を右手座標系用に変換するにはどうすればいいですか?
142:デフォルトの名無しさん
11/01/01 17:31:33
x -> -xとして考えれば分かるよ
143:141
11/01/01 18:13:45
わからないから聞いてます。
144:デフォルトの名無しさん
11/01/01 18:30:08
>>142で分からなかったらどうしようもないよ。
行列と空間ベクトルを基礎からやり直せ。
高校で数学3Cまでやってりゃ分かるし、
習ってないかまだ厨房なら高校生用の参考書買ってきて勉強すればいける。
145:デフォルトの名無しさん
11/01/01 18:32:35
>>134
何かは分からんがよげん定理ではないと思う。
146:デフォルトの名無しさん
11/01/01 18:56:35
ブロックが壊れた場合って
普通はあまり跳ね返らなくね?
147:デフォルトの名無しさん
11/01/01 18:59:45
普通はそんなどうでもいいことは考えない
ブロックに当たったときの弾の挙動は全て同じ
そのときブロックが消えるか消えないかの違いでしかない
148:デフォルトの名無しさん
11/01/01 22:07:04
>>143
ここに高校数学の基礎をまとめたPDFがある
勉強しなおせば良いよ
149:デフォルトの名無しさん
11/01/01 22:09:35
>>148
ミスったwww
ここね
URLリンク(www.h6.dion.ne.jp)
150:デフォルトの名無しさん
11/01/01 22:09:56
>>147
そんなだから何時まで経っても三流なんだよ
151:141
11/01/01 22:37:12
2流でも3流でもどうでもいいです。
(1,0,0)を(0,1,0)方向にむけたはずの回転が(0,-1,0)方向を向いてしまうのですが、
何を間違えているかプロの意見を教えてください。
152:デフォルトの名無しさん
11/01/01 23:22:48
>>151
行列についての知識が間違ってる。
とりあえずちゃんと勉強してこい。
153:デフォルトの名無しさん
11/01/01 23:23:30
素人ほど何もない所に壁を作って挫折する典型だな
154:デフォルトの名無しさん
11/01/01 23:24:57
他人との間に壁作って、コミュニケーションに挫折する俺達のようだな
155:デフォルトの名無しさん
11/01/02 01:47:36
壁が無い香具師の方が迷惑
156:デフォルトの名無しさん
11/01/02 01:54:17
ATフィールド
157:デフォルトの名無しさん
11/01/02 02:04:56
明日も定時で帰れないフィールド
158:デフォルトの名無しさん
11/01/02 05:11:46
上司 「サービス残業はいいね・・・・。リリンの生み出した文化の極みだよ」
159:デフォルトの名無しさん
11/01/04 22:41:56
Kinectスレでジョイントの回転角度の計算方法を聞いたのですが、よく考えるとこっちで聞いた方がよかった。
どなたか詳しい人が居たら教えてください。お願いします。
スレリンク(tech板:183番)
ようするにジョイントの回転角度を計算する時は親のジョイント空間で計算すべきなのか否かという質問です。
160:デフォルトの名無しさん
11/01/05 02:24:46
ゲームプログラム入門として2x2のルービックキューブ実装しようとしているのですが、
一般的なルービックキューブのデータ構造ってどんなものがありますか?
展開図考えてその配列で考えるって方法思いついたのですが、もうちょっとスマートな方法知ってる方、教えてください。
161:デフォルトの名無しさん
11/01/05 05:01:34
ルービックキューブなら、もう1つ「x2」が欲しいなw
冗談はさておき、
1箇所回転させると、その回転の側面も動いちゃう(3x3x3以上なら両端)わけだし、
立方体単位で考えたほうがスマートになりそうな予感がする……。
162:デフォルトの名無しさん
11/01/05 09:13:50
@\ @\ \冂/
\('A` ) \ > @ヽ、 @ヽ、 E('A`) ヨi /7
_()二)_(/~'ー,~~7.(≦) \ \ \ \ ()) 「/~'ー'~~ 7/ ̄ |
==ニ)]_] _迂〕 ,叉「」瓦〈‐|_| \('A` ) \ > ===二]匚ト〈‐〈iテ〈〈c iエコ
Li 弐ノ 「ioiヲ_上.]|二| _(/~'ー,~~7_(≦) ノヲ 弐ノ[]v/□ || ╋|
|^ーi| | る! (88),叉「」〉(88)_,)ノ | j | |.|| ┃|
◇-||◇┤ /三/,o/~/三/0 \ 几0(几)L二!
∠三0/i二i0 (三(ー―(三(0⊆0) ∠三ヲ/i二iヽ
 ̄ ̄  ̄ ̄ ̄ ̄  ̄ ̄ ̄  ̄ ̄
マンキャノン マンタンク マンダム
163:デフォルトの名無しさん
11/01/05 09:17:06
パッと思いつくのは3x3だとしたら
3x3x6で動き(回転)に応じて自分で操作を頑張る(まわしたときの組み換え)ってのが考えられるけど
拘束条件考えてデータを作ればその辺楽になるかな?とかちょっと思う
164:デフォルトの名無しさん
11/01/05 14:35:44
public class cube {
public cube(block[] blocks){this.blocks=blocks;}
private static final int cubeSize=4;
private block[] blocks;
private boolean isComplete(){return false;}
public boolean rotate(int way,int line){
//回転
if(way==WAY_TILT_UP||way==WAY_TILT_DOWN){
//縦回転(X軸が対象)
for(int i=0;i<blocks.length;i++){
block b=blocks[i];
if(b.x==line){//軸が合ってたら
//回転
b.y=b.y+(int)Math.sin(Math.PI);
b.z=b.z+(int)Math.sin(Math.PI);
}}}
else{
//横回転
for(int i=0;i<blocks.length;i++){
block b=blocks[i];
if(b.y==line){//軸が合ってたら
b.x=b.x+(int)Math.sin(Math.PI);
b.z=b.z+(int)Math.sin(Math.PI);
}}}
return isComplete();
}
165:デフォルトの名無しさん
11/01/05 14:37:25
private class block{
public block(int x,int y,int z,
blockColor c){
this.x=x;this.y=y;this.z=z;
}
public int x,y,z;
public blockColor c;
public void rotate(int way){
int _top=c.top,_behind=c.behind,_bottom=c.bottom,_fore=c.fore,_left=c.left,_right=c.right;
if(way==WAY_TILT_UP){
c.fore=_bottom;c.top=_fore;c.behind=_top;c.bottom=_behind;
}else if(way==WAY_TILT_DOWN){
c.fore=_top;c.top=_behind;c.behind=_bottom;c.bottom=_fore;
}else if(way==WAY_PAN_LEFT){
c.fore=_right;c.left=_fore;c.behind=_left;c.right=_behind;
}else if(way==WAY_PAN_RIGHT){
c.fore=_left;c.left=_behind;c.behind=_right;c.right=_fore;
}}}
166:デフォルトの名無しさん
11/01/05 14:38:50
private static final int
WAY_TILT_UP=1,
WAY_TILT_DOWN=2,
WAY_PAN_LEFT=3,
WAY_PAN_RIGHT=4;
private class blockColor{
static final int
RED=1,
GREEN=2,
YELLOW=3,
BLUE=4,
WHITE=5,
ORANGE=6,
NONE=0;
public int
top,bottom,fore,behind,left,right;
}}
こんなんでどう?(rotateメソッドとかisCompleteメソッドの中身は自分で考えてね!)
167:デフォルトの名無しさん
11/01/07 05:08:10
だっせー
168:デフォルトの名無しさん
11/01/07 20:32:58
ださいなw
169:デフォルトの名無しさん
11/01/08 12:00:31
コードの美しさを考えるスレ
170:デフォルトの名無しさん
11/01/25 18:55:17
マッピングするしかないかな
171:デフォルトの名無しさん
11/01/25 19:36:30
ゲーム作ります
C言語で作りたいので、C言語を学べるサイトとC言語でのゲームプログラミングを学べるサイト教えてください
C++でもいいです
172:デフォルトの名無しさん
11/01/25 19:45:51
URLリンク(c-production.com)
URLリンク(dixq.net)
URLリンク(msdn.microsoft.com)
URLリンク(www.h2.dion.ne.jp)
173:デフォルトの名無しさん
11/01/25 20:05:20
ありがとう兄弟
174:デフォルトの名無しさん
11/01/25 20:42:26
>>172
>>171じゃないけど、館以外は知らないサイトなので俺もありがたい
175:デフォルトの名無しさん
11/01/26 03:40:49
正直なところ「C言語でのゲームプログラミング」ってのがよく分からない
ゲームのアルゴリズムや描画方法と言語は関係ないし
「北海道産の男爵を使ったフライドポテトの作り方を教えてください」って言ってるのと同じで
前半か後半を並記する意味が分からない
フライドポテトに北海道産もクソも関係ないし、北海道産って言いたいだけちゃうんかと
何その北海道産アピール気持ちわりぃ
176:デフォルトの名無しさん
11/01/26 03:52:06
つかう道具は選ばないといけない。初心者には無理だから、言語名が乗る。
177:デフォルトの名無しさん
11/01/26 04:00:42
わかんないなら黙ってろよw
178:デフォルトの名無しさん
11/01/26 04:07:59
言語は関係ないってんならJavaScriptでゲーム作ればいいんじゃない
179:デフォルトの名無しさん
11/01/26 07:04:50
Javaみたいな欠陥言語を薦められても困るだろうから、最初にC言語と言っておくのは正解。
趣味でゲームプログラミングを楽しもうと思ったら、JavaとC++という二つの核地雷を避けるべき。
180:デフォルトの名無しさん
11/01/26 08:09:13
>>172
こういうの(単発プログラムの寄せ集め)がほしいんじゃないと思うな
ちゃんとシーンがあってステージがあってクリアができる
ゲームのプログラム(解説付き)がほしいんだと思う
俺も駆け出しの頃よく探したわ(十数年前だなw)
不思議とあまりないねw
まあ、ある程度経験積んだらゲームも所詮単発モノの積み上げだってわかるんだけど
その構成の仕方がわからないうちはこの辺は悩んじゃうよね
181:デフォルトの名無しさん
11/01/26 08:20:44
ミニゲームも作れないのに大作を作ろうとするやつなんているの?
182:デフォルトの名無しさん
11/01/26 08:26:04
>>181
だからミニゲームでもいいんだろ?(っていうかミニゲームじゃなきゃ読めんだろ)
でもそれすらない残念な状態なんだよ
単発プログラムはよくみるけど
ゲームの体裁まで整えてあるソースはあんまりみないな
183:デフォルトの名無しさん
11/01/26 09:43:36
となるとやはりセガの本を薦めることになるのか
184:デフォルトの名無しさん
11/01/26 10:16:22
30日で出来るOS自作入門みたいに、
30日で出来るゲーム自作入門、みたいな本?
185:デフォルトの名無しさん
11/01/26 10:26:18
その手の本は結局その本のゲーム作れるだけで、
応用できるかどうかという壁がある
186:デフォルトの名無しさん
11/01/26 10:31:54
応用できないヤツは、どんな本読んでもかわんない
結局知ってるコードのコピペしかできなくなる
187:デフォルトの名無しさん
11/01/26 10:36:19
>>185
まあ、でもはじめはそれでいいんじゃない?
赤ちゃんだってはじめはそうやってなんでも覚えていくわけだし
きっかけさえあれば伸びる奴はここにひっかかる
これでも助からん奴は一定数はいると思うけど
そーゆーのはそもそもチュートリアルすらこなせる忍耐力ないと思うけどねw
188:デフォルトの名無しさん
11/01/26 16:00:31
ちゃんとC言語って言っとかないとHSPとか薦める気違いが出てくるからだろ。
189:デフォルトの名無しさん
11/01/26 17:06:48
HSPは必要悪
HSPを薦めて納得してくれるならそれでいいじゃん
190:デフォルトの名無しさん
11/01/26 17:13:03
>>188
HSPを薦められた経験でもあるのかな?
薦める人も相手のレベルに合ったものを薦めてくるからしょうがないよ。
191:デフォルトの名無しさん
11/01/26 18:13:37
というか、言語よりも入力・グラフィックを明示せんとゲームなんぞ作れんぞ。
192:デフォルトの名無しさん
11/01/26 18:32:16
現在のゲーム業界どのような技術で3Dモデルをアニメーションさせているのでしょうか。
現在はDirect9でプログラミングしていますが、他の言語でも対応できるようにしたいです。
①3Dモデル自体にアニメーションセットを持たせておく
②自分で3Dモデルの部位(メッシュ)毎にプログラムで動かすのか
この2つの方法以外にやり方はありますか?
193:デフォルトの名無しさん
11/01/26 18:38:15
>>192
③アニメーションのコマ分モデルを保持する
スキンメッシュじゃ対応できないぐらい変形するならやるよ
っていっても指定するのはデザイナさんのほうだけど
194:デフォルトの名無しさん
11/01/26 18:45:20
自動でキャラを現在地から目的地に移動させる時、
移動経路に障害物などがあった場合どう回避させるのでしょうか?
195:デフォルトの名無しさん
11/01/26 18:47:40
>>194
きみがそのキャラと同じ立場、同じ目線にいるとして、
何を考えて回避する?
同じ事をプログラムすればいい
196:デフォルトの名無しさん
11/01/26 19:10:11
>>195
部屋を歩きながら考えてみたんですが、
移動中に当たり判定のフラグが立ったらxかyのどちらかをへらしたり増やしたりし、もう一度行動すれば何時かは回避出来る。
と思ったんですが効率が悪いうえにでかい障害物を回避出来ないなど問題が多いですね・・・
もっと色々考えてみます。
197:デフォルトの名無しさん
11/01/26 19:46:11
>>196
> 効率が悪いうえにでかい障害物を回避出来ないなど
例えばきみが自宅からお花屋さんまで行きたいとする
が、途中の道が工事中で通れなかった
それでもきみは問題なく効率よく迂回してお花屋さんまでいけた
なんで効率よく迂回できたかというと、
きみが頭の中に「自宅からお花屋さんまでの周辺の道路情報」を持ってたからだ
初めての土地だったら効率よく迂回なんてできない
あるいは情報を持ってたとしても、それを元に行動のための「良い戦略を練る」
ことができないとお花屋さんには上手くたどり着けない
そのキャラも効率よく目的地へ移動させるには「マップ情報」と「行動戦略」が必要
具体的には、「マップ情報」なら例えば道の繋がり方とか、
「行動戦略」ならたとえば(近似)最短経路を導き出すアルゴリズムとか
機械的じゃなく、より人間っぽく行動するのを目指すなら、
また別の問題もいろいろ出てくるけどね
198:デフォルトの名無しさん
11/01/26 19:59:12
考えるのは重要だけど、車輪の再発明もねぇ。
3Dとかナビならともかく、普通はA*でいいでしょ。
199:デフォルトの名無しさん
11/01/26 20:11:40
決まった形のマップを作らない予定なのでアルゴリズムで回避させて行く形にします
なのでアルゴリズムを探していたらこんなサイト
URLリンク(codezine.jp)を見つけたのでこれを目指して作ってみます
そもそもRTSを作るため最近プログラムを始めたんですが、望みが高すぎたかなと…。
200:デフォルトの名無しさん
11/01/26 20:17:55
アメーバですら最適に動くのに
201:デフォルトの名無しさん
11/01/26 21:30:20
>199
ゲームプログラムの話に限れば、
RTSはあらゆるゲームジャンルの中でも最高難易度のひとつだろうね。
マップの情報に関してはグラフが使えるかもね。
202:デフォルトの名無しさん
11/01/26 22:06:54
俺なんかFPSの敵AIのアルゴリズムだけで
3ヶ月かかった上にウンコな出来だったぜ
203:デフォルトの名無しさん
11/01/26 22:16:01
AIは昔からガンビット方式、ガンビット出る前からガンビット方式
これしか組んだことないし、これ以上やるとコストに合わないと思う
204:デフォルトの名無しさん
11/01/26 22:28:38
ゲームの AI 系の書籍がいくつか出てるけど、
それらも解説してるのはガンビット方式だけ?
205:デフォルトの名無しさん
11/01/26 22:38:06
頭が痛いお
206:デフォルトの名無しさん
11/01/26 22:49:17
つピンクの小粒 コーラック
207:デフォルトの名無しさん
11/01/26 22:51:12
ボラギノールだろ
208:デフォルトの名無しさん
11/01/26 23:39:32
ガンビット方式ってなによ?
209:デフォルトの名無しさん
11/01/26 23:41:43
有限状態機械のことじゃね
210:デフォルトの名無しさん
11/01/27 00:19:42
FSMってよく聞くけど学術的に学んだことない
いい教科書教えて
211:デフォルトの名無しさん
11/01/27 00:48:22
GoF本でも一読しとけばそれで十分だと思う
212:デフォルトの名無しさん
11/01/27 00:52:08
wikiで十分。つかプログラミングしているなら自然と使っているはず
213:デフォルトの名無しさん
11/01/27 02:12:18
そういう話じゃないだろ・・・
214:デフォルトの名無しさん
11/01/27 02:35:34
応用はたくさんあるだろうけど、基礎は数ページで終わっちゃいそう
215:デフォルトの名無しさん
11/01/27 04:27:14
ガンビットねぇ。
人間らしい知恵とか計画性みたいなものが欲しいんだよ。
数値だけで最適解ばかり出すAIにはうんざりだ。
「こうしたいいかなと思ってやってみる」的なのが欲しいんだよ。
特に自分の作ったゲームのガンビットAIってどうしても行動パターンを知ってるから
あとはダメージとかで調整する感じになってしまうのが萎える。
もっと気持ちの良いオナニーがしたいんだよ。
216:デフォルトの名無しさん
11/01/27 05:14:06
予め設定した道以外は移動しないように作っていい。
完全武装して道のない森や山を歩くなんてどうせ無理。
217:デフォルトの名無しさん
11/01/27 05:21:17
>>215
キャラクターに属性によって選択する行動の傾向に偏りをもたせ、過去に選択した行動の
正否を考慮して次の行動を決定するようにすればいい。GPM、絢爛舞踏祭、EVA2、
GPOと、参考になるゲームはいくつか出ている。
218:デフォルトの名無しさん
11/01/27 06:50:09
ソースが公開されてないのに、どうやって参考にすんだよw
219:デフォルトの名無しさん
11/01/27 07:16:09
参考にするのにソースコードは必ずしも必要ではない。
攻略本などでNPCの行動を決定するAIシステムの仕組みについて軽く触れられている。
その情報を元に自力で研究するなり、簡易版のソースコードを書き上げることは十分に可能だ。
動いている「仕組」そのものは日本語と論理の問題にすぎん。
それともコピペできるソースがなければ、何も理解出来ない手を付けられないと泣き言を言うのか?
220:デフォルトの名無しさん
11/01/27 07:53:46
じゃ、ちょっと書いたヤツあげてみて
221:デフォルトの名無しさん
11/01/27 08:32:09
>>215
それも表現がそうなだけでパラメータがたくさんあるだけの話じゃないの?
問題が見えてなくね?
222:デフォルトの名無しさん
11/01/27 08:46:19
人間的なAIなんて夢みるのは素人w
223:デフォルトの名無しさん
11/01/27 08:58:07
そう考えると「みんながんばれ」とか凄いな。
AIコマンド自体に曖昧な部分を持たせてる。
224:デフォルトの名無しさん
11/01/27 09:03:37
>>223
はぁ?
225:デフォルトの名無しさん
11/01/27 09:05:56
無脳ばっか
226:デフォルトの名無しさん
11/01/27 09:16:06
>>223
見た目が曖昧なだけで、中身は「体力が○○以下になるまでは攻撃を続ける」みたいなものだろ
227:デフォルトの名無しさん
11/01/27 09:24:48
>>226
そう言ったつもりなんだが?
228:デフォルトの名無しさん
11/01/27 09:30:24
>>227
そしたらどの辺がすごいんだよ
229:デフォルトの名無しさん
11/01/27 09:40:39
>>228
「みんな頑張れ」だと説明しにくかったんで少し変えるが、
例えばHPが半分以下になったらホイミを唱えるという処理があったとする。
(A)コマンド「HP50%以下で回復魔法」
(B)コマンド「体力に余裕を見て回復魔法」
(C)コマンド「いのちだいじに」
やってることは同じでも、名前が違うだけでユーザが受ける印象ってのは全く違うなあと。
もちろん、(A)よりも(B)、(B)よりも(C)の方が実際の内容に幅を持たせられるというのも大きい。
230:デフォルトの名無しさん
11/01/27 09:49:54
>>229
はぁ?バッカみたい
それにDQ4のAIはあんまり評判よかったと思えないけどねぇ
231:デフォルトの名無しさん
11/01/27 09:59:22
>>229
まあ、いのちだいじにとか書きつつ
(変な例だけど)裏側ではマルコフ連鎖で敵の行動を推定して
体力が十分残るようなタイミングでホイミをかけてもいいわけだ
でもFFのガンビットみたいに厳格な制御ができるほうが
慣れたユーザーにとっては嬉しいかも
行き着く先はカルネージハートw
232:デフォルトの名無しさん
11/01/27 10:04:12
昔PCのゲームで、キャラの動きをC言語か何かで
記述できるゲームなかったっけ?
PC-98時代だったかも。
233:デフォルトの名無しさん
11/01/27 10:05:59
なんかのネトゲ(ROだったか?)で、
自分が召喚だかした味方NPCの動作をスクリプトで指定できるという話を聞いたような。
234:デフォルトの名無しさん
11/01/27 10:23:21
>>231
>行き着く先はカルネージハートw
俺が2年間遊んだゲームだw
235:デフォルトの名無しさん
11/01/27 11:05:00
>>233
ラグナロクのココ URLリンク(www.ragfun.net) かな。
つかLuaでAI作ってて少々参考にしてるw
236:デフォルトの名無しさん
11/01/27 11:35:02
マルコフ連鎖関係ねーだろw
237:デフォルトの名無しさん
11/01/27 11:47:29
DQって5のAIは賢かったのに6で馬鹿になったよな。
理由は5は能力固定だけど6は転職とかできてAIができること増えすぎたせいだって聞いたけど
238:デフォルトの名無しさん
11/01/27 11:54:45
SFCのスペックじゃ当然ああなるわな
逆に7のAIはコマンド入力時じゃなくて行動順番が回ってきた時の状況を見て判断するから
過去作どころか手動コマンドより賢すぎて引いたけど
239:デフォルトの名無しさん
11/01/27 12:51:21
このスレに来るくらいだし、
ゲーム内でキャラの行動をプログラムしたいという気持ちは分るな
ただ、個人的には「いのちをだいじに」とか「みんながんばれ」
みたいな曖昧なインターフェースの方がゲームしてて楽しいな
方針を与えて、あとは個人の「強烈な個性」によって行動してほしい
ドラクエのは、各キャラの行動としての個性はあまり感じられなかったから、
その辺はちょっと残念だった
その個性もストーリーの進歩に合わせて変化していくように
ゲームをデザインしてプログラムできたら、最高だ
240:デフォルトの名無しさん
11/01/27 14:56:26
>>239
うぜぇ
DQ4のAIは人気ないだろ
ザラキザラキ一生いってろ
241:デフォルトの名無しさん
11/01/27 18:57:35
すごい
242:デフォルトの名無しさん
11/01/28 02:30:14
ゲームデザイン論的な話だなw
243:デフォルトの名無しさん
11/01/28 02:34:52
デザインなのか?
ネーミングだけの上っ面しか見えてないとしか思えん
244:デフォルトの名無しさん
11/01/28 02:36:44
個性とは属性である。
245:デフォルトの名無しさん
11/01/28 02:42:50
属性とは状態である
状態とは過去の蓄積である
246:デフォルトの名無しさん
11/01/28 02:53:49
具体的なコード書けないやつほど、こういう言葉遊びが好きだよなw
247:デフォルトの名無しさん
11/01/28 02:55:30
性格の基礎となる不揮発性の「過去」
経験による学習を表す揮発性の「過去」
これらを元に行動を決定させればよい。
248:デフォルトの名無しさん
11/01/28 02:58:36
>>246
プログラムの善し悪しは論理設計の段階で決まる。
そして論理設計は日本語で行っても何ら問題は無い。
あとは採用するプログラミング言語にあわせて実装していくだけだ。
コーディングだけがプログラミングではない。覚えておくといい。
249:デフォルトの名無しさん
11/01/28 03:59:26
つまりコード書けない奴が出すようなむちゃくちゃな設計てことか
250:デフォルトの名無しさん
11/01/28 04:17:21
>>249
何がむちゃくちゃなのか理解できない
言葉遊びとか好みとか関係無く
入門書で普通に見られる基礎レベルの事じゃないか
わざわざ抽象度を下げてまで決め打ち言語で実例出す程のもんじゃないっしょ
251:デフォルトの名無しさん
11/01/28 05:48:32
ガンビットより良いAIを知ってるわけじゃないけどさ、
ガンビットみたいなifの嵐じゃ負荷的に遅からず天井が見えてくる。
例えば戦後ものとかで1万人vs1万人が戦うときってどうするわけよ。
全員に相手の太刀筋やら地形やら読ませるガンビット実装してたらそこらのパソコンじゃ動かんよ。
クラスターとか使ってある程度まとめて処理するならわざわざパソコン持ち出さなくても将棋やってろって話だしな。
252:デフォルトの名無しさん
11/01/28 05:55:55
設計も実装も同程度に大切
どっちに偏るのも良くない
253:デフォルトの名無しさん
11/01/28 08:37:06
>>251
馬鹿乙
条件による分岐がないってことは初手でいろんなことが一斉に決まってるだけの話だろ
めちゃくちゃなこと言う奴が出るのはなんでだろうか?
254:デフォルトの名無しさん
11/01/28 08:59:48
煽りたいか場を引っかき回したいかのどちらかなんだろう。
255:デフォルトの名無しさん
11/01/28 09:03:20
具体的にどういう目的でどういう実装をしたいのかっつーのが出てこないと話にならん。
そもそもAIなんてゴキブリAIから自己学習型AIまで様々なんだし、
AIという言葉が指す物自体があやふやだって事を認識して喋るべき。
256:デフォルトの名無しさん
11/01/28 09:25:14
学習型にしてもガンビット方式だとifが動的に増えていくだけの話で終わっちゃうよね
この場合必要なのは大量のデータ
他、ゴイスーでパーハイなAIを主張したいなら視点からしてまったく新しいなんたらが必要になる気がする
でもそんなものあるだろうか?
せいぜい、ガンビット方式を最適化するだけで終わってるようなのしかみたことないけどね
257:デフォルトの名無しさん
11/01/28 13:26:33
ゴイスー
パーハイ
プログラム用語?
258:デフォルトの名無しさん
11/01/28 13:28:58
何にしても割り込みのないAIは嫌だな
状況変わってんのに最初に判断したのを終わらせてからしか次の行動を考えられないやつ
259:デフォルトの名無しさん
11/01/28 14:05:48
>>258
仕様によるんじゃね?
ガンビット方式だって
if(○○実行中より優先度の高い条件)~処理
if(現在の○○実行中)~処理継続
なだけじゃね?
FF12のは実行中のときはじいてるだけ
260:デフォルトの名無しさん
11/01/28 14:31:53
なんか「ガンビット方式」っていうAIの形があると思い込んでいるのが紛れ込んでいるような。
あれはインターフェースであって、言ってしまえば複数の単純なAIを条件順に起動させてるだけだろ。
ボトムアップ型とトップダウン型みたいな形で話が進むんならまだ分かるんだけど、
今の流れはゲームで得た知識を自慢げに語りたい中二病を感じる。
261:デフォルトの名無しさん
11/01/28 14:38:19
今更かよw
262:デフォルトの名無しさん
11/01/28 14:47:42
>>260
表現方法なんてどうでもいいじゃねーか
マリオみたいなゲームをマリオって言ってるだけで
なじみがあるならロックマンでもドラキュラでも好きにしたらいい
263:デフォルトの名無しさん
11/01/28 14:51:21
亜硫酸列島は北太平洋に弧状に連なり、
アメリカのアラスカ半島からロシアのカムチャツカ半島にかけて約1930㎞に渡って延びる列島。
大部分がアラスカ州に属しているが、西端のコマンドルスキー諸島はロシアに属し、
環太平洋造山帯の一部を構成する。
264:デフォルトの名無しさん
11/01/28 14:57:09
>>262
表現方法は何でもいいけど、AIとガンビット方式ってのを取り違えるのは表現方法の枠を越えてる。
両者は厳密には同じ物を指さない以上、AIの事を話したいならガンビット云々っていうのは混乱を招くし、
その逆もそう。
マリオ、ロックマン、ドラキュラって全部細部が異なるから、
「横スクロールアクション」の話において具体例としてあげる事は出来ても置換する事は出来ない。
265:デフォルトの名無しさん
11/01/28 14:59:45
>>264
みたいなの+○○でいいじゃん
説明として楽なんだから
仮にマリオみたいなゲームで別にマリオが全画面ボム使ったからって
全画面ボムはマリオにないから表現として駄目だって話にはならないだろ
266:デフォルトの名無しさん
11/01/28 15:11:38
>>265
全てのゲームをひっくるめて「今のゲームってマリオをちょっと弄ったようなのしか見たことないんだよね」とか
言われたらあんたも突っ込みたくなるだろ。
267:デフォルトの名無しさん
11/01/28 16:09:43
>>266
そこまで飛躍した話してないじゃん
268:デフォルトの名無しさん
11/01/28 16:47:51
ないじゃんね
269:デフォルトの名無しさん
11/01/28 22:25:13
ないない
270:デフォルトの名無しさん
11/01/28 23:17:53
作ったもので語れよ・・・
271:デフォルトの名無しさん
11/01/29 00:14:37
ファジィ論理をうまく使ってAIに個性を持たせるとか
そういう話ではない・・?ガンビット方式って何?
272:デフォルトの名無しさん
11/01/29 00:18:45
>>271
人気ゲームぐれーはやんねーと人と仕様の共有ができないぜ
エロゲばっかりやってないでたまにはFF12でもやれ
273:デフォルトの名無しさん
11/01/29 00:46:25
人気・・・?
274:デフォルトの名無しさん
11/01/29 01:36:21
そこは触れてやるなよモナミ
275:デフォルトの名無しさん
11/01/29 02:10:00
オイオイヨ!
276:デフォルトの名無しさん
11/01/29 04:35:30
AIってのは知能だぞ
ifの集積で知能が作れるのか。
例えば超リアル指向の街中でドンパチやるゲーム作るとして、
状況に応じてアイデアに基づいた行動をとらせるにはガンビットじゃ無理。
例えばガソリンの入ったドラム缶があったとして、
敵がそのドラム缶の近くに来たときに撃って爆発させようとか、
坂道の上にあったら転がして下の敵にぶつけようって発想はガンビットにはできない。
ifで「敵とドラム缶の距離が~」とか「坂道とドラム缶の距離が~」ってガンビット方式でやることはできるが、
それはAIの発想ではなくプログラマの発想であってプログラマの発想の域を超えることはできない。
そこをAIの発想にしたいって言ってんだよ。
277:デフォルトの名無しさん
11/01/29 04:39:03
自分でハードルあげてるんだから、自分で解決しなよ
278:デフォルトの名無しさん
11/01/29 06:53:11
否定する人は居るだろうけど、完全ランダムでもAIっちゃAIだと思うしなあ。
279:デフォルトの名無しさん
11/01/29 07:17:25
>>276
>ifの集積で知能が作れるのか。
え?
280:デフォルトの名無しさん
11/01/29 07:31:14
レベルの低い話をしているのに高みを目指してるんだなw
281:デフォルトの名無しさん
11/01/29 07:58:58
>>276
ま、とりあえずどれでもいいから言語を勉強して、コード書けるようになれよ。
それでお前の悩みは全部解決するから。
282:デフォルトの名無しさん
11/01/29 08:06:36
計算機科学も学ばずにAIを語る
283:デフォルトの名無しさん
11/01/29 08:28:38
>>276
局面を評価できる知識データベース組めば、
if文だけでも十分な思考が可能。
まあ、作るの大変だし、死ぬほど重いけど。
284:デフォルトの名無しさん
11/01/29 08:55:04
>if文だけでも十分な思考が可能。
>まあ、作るの大変だし、死ぬほど重いけど。
はぁ? どんだけ高級な言語使ってるんだ?
学術論文の類に予測木の枝切りにhashtableとか使えってことに
なってるけど、無くても動くんだよw
285:デフォルトの名無しさん
11/01/29 11:09:55
ガンビット?を組み合わせてAIを作るんであって
ガンビット自体はAIじゃねえよな
286:デフォルトの名無しさん
11/01/29 11:26:05
>>285
は?
287:デフォルトの名無しさん
11/01/29 11:52:35
そういえば昔がんばれ森川君2号ってクソゲがあったけど
あんな感じにオブジェクトに対して一定の行動を取らせてそのつど結果を記憶していけば
そのうち複雑な思考を持つAiに育つんじゃね
288:デフォルトの名無しさん
11/01/29 12:03:31
if(過去の成功例はあるか?)~処理
ってガンビットが動的に増えるだけじゃね?
289:デフォルトの名無しさん
11/01/29 12:15:49
昔、テトリスの上達法を考えてた時に、練習用に実験がてら作った『一人練習用の対戦型テトリス』です。つまり相手はAIがしてくれます。
git clone git://git.pf.sourceforge.jp/gitroot/k/ke/kemeco/ai_teto.git
OSはlinuxです
コンパイルは make
インストールは sudo make install です(/usr/local/bin に ai_tetoのバイナリをコピーします)
実行は ai_teto
アンインストールは sudo make uninstall です
操作方法は、ホームポジション j k で左右移動。スペースで高速落下。ホームポジション d f で回転です。(あとnで下)。終了は q です。
(消した列ー1)列が相手に行きます。ブロックの切れ目の位置はずっと固定。
mainソースのコメントアウトしてある行と入れ替えれば、AI同士の対戦にもできます。
思考はAI.c内ですべて行ってます。ほかのソースは思考には直接関係はありません。
(ソースをgitのみ、OSをlinuxのみにして敷居高めにしてあるのは、わざとです… 子供よけですw)
これ作って練習しても、結局私はテトリス下手なままだったのですが…(w)
290:289
11/01/29 12:18:56
<AI.cが行ってるアルゴリズムの具体的な説明>
自分はAIの本などは一冊も読んだこと無いですし、あえてググって調べることも行ってません。まったく自分のオリジナルのアルゴリズムです。
だから、これを本来、学術的にはAIと呼ばないであろうことも、なんとなく想像できますが、いちおう、今回は説明のためにAIと呼びます。
まず最初に思いついたのは、テトリスでは「死なないこと」が何よりも重要だろう。と。
(『死ぬ』とは、ブロックが一番上まで積み上がった状態です。こんなの言わなくてもわかりますか?そうですか…)
とにかくAIの目的は『死なないこと』にしようと。 そして、もし余裕があれば『敵(プレイヤーである私のことですね)を殺そう』と。
つまり優先度では、
『生き残る』 > 『敵を殺す』
となってます。
そして、この『生き残りたい』という欲望は、『自分が死にそうになるほど高まる』ようにしようと。
そのためAIは、
状況が不利になればなるほど(生き残るために)『保守的』となり、とにかく列を消すことに重点を置くようになります。また、ブロックをなるべく低く積むようになります(高さへの恐れ)。
また反対に、
ブロックが少なければ少ないほど(敵を殺すために)『攻撃的』となり、相手を殺すことにつながる強力な攻撃(つまりテトリス)を行うための、多少の危険は容認するようになります。
という具合に、状況に応じて、『心境』が刻一刻と変化します。
新たなブロックの配置をどうすれば、現在の心境が望んでいる結果に最も近づくのか? という指標に従って最適パターンを推測してブロックを配置します。
繰り替えしますが、『敵を殺したい』という気持ちが強ければ攻撃的になり、『死にたくない』という気持ちが強ければ保守的になります。
これらのしきい値は、結局は数値的なパラメーターなので、最後は結局パラメーター調整というアナクロな作業になりました。
パラメーターを調整してると、ほんのわずかな数値の違いで、驚くほどAIが弱くなったり強くなったり急激に変化するのがおもしろかったです。
おそらく数学に強い人ならば、ここに数学的ななんらかの根拠や意味を見出せるのでしょうけど、自分には無理でした。
291:289
11/01/29 12:23:33
とりあえずテトリスを人並みに戦ってくれるパラメーターが設定できて、最後に気づいたのですが、
自分は、けして、『具体的な必勝法』をプログラムしたわけでは無いのに、
結果として、テトリスのAIは、なにやら必勝法らしきものに従ってるかのような、『独特の積み方』をするようになってました。
それはたとえば、人間、こと私がそれと同じケースだとしても「そうは積まないだろ…」という積み方です。
その積み方をAIが『(私が具体的に教えた・プログラムしたわけではないのに)勝手に発見』していて、
しかも、その変則的な積み方こそが、実は『理に叶った積み方』であることは、トリプルやテトリスを私よりも遥に素早く構築してしまうことからも明らかでした。
つまり、私は必勝法の『具体的な手順』を手取り足取りプログラムした覚えは無いのに、AIは、『生き残る』という目的を達成するためにもっとも有効な手を行うことによって、
結果的に必勝法を『勝手に発明してしまった』と。ここがすごく不思議な感じがしておもしろいと感じました。
実際、このAIは、私より遥にテトリスを上手に行います…orz
それなりに動作速度を低めにして弱めにしてるつもりですが、それでも私では10回に1回くらいしか勝てません。
なんで作った本人より上手い並べ方知ってんだよ、このAIは…と。(苦笑
292:デフォルトの名無しさん
11/01/29 12:23:57
そういうあいまいな調整はGAでやれ
293:デフォルトの名無しさん
11/01/29 12:32:23
と何か言った気になってる妄想君
294:デフォルトの名無しさん
11/01/29 13:09:31
そうそう、>>291みたいに開発者の能力や想定を超えて自分で考えるAIが欲しいんだよ。
ただそれがテトリスみたいにルールが単純で行える動作の少ないゲームじゃなくて、
複雑な3Dアクションゲームで実現したい。
295:デフォルトの名無しさん
11/01/29 13:11:38
>>291は開発者が自分で何をしてるかわかってなかっただけで、
開発者の能力を超えたAIってわけじゃないだろw
296:デフォルトの名無しさん
11/01/29 13:15:05
>>289-291
大して伝えたいことがないのに長文書くなよ
っつか貼ったのか?
俺にはディスプレイごしにお前の主張がまったく見えない
馬鹿らしいのでこういうのレスしないよ
297:デフォルトの名無しさん
11/01/29 13:15:10
プログラムは、クロックのスピードで判断出来て
その速さで知りうる情報をチェック、処理できる
テトリスのような、アクション性のある動作においては
それを組んだからと言って、人間が勝てるわけないのは当たり前
(判断を下すのを間違わない)
人間なんて、目でみて、脳で判断して、手で操作する
これを短い間にミスや最善手以外を選ばずに、戦略通りに操作できる人間は
プログラムの達人ではなくて、テトリスの達人だろ
そう言う理解が無い時点で、
まだまだコーダーレベル程度、プログラムに振り回されてる
298:デフォルトの名無しさん
11/01/29 13:18:58
>>294
それもすべて想定内だって気づけよw
人間の思考だって所詮大量のデータ(経験則)の蓄積でしかない
あんまり膨大だから見た目勝手に考えてるように見えるだけで
その1つ1つはコンピュータと同じ
299:デフォルトの名無しさん
11/01/29 13:57:06
今時の3Dドンパチゲームをプレイしたこと無いから知らないんだけど、
その手のゲームのAIは「予測」という処理はどうやってるの?
たとえば坂道の頂上にいて、オイルが入ったドラム缶が脇にある
それを転がせば下の敵を巻き込んで倒せるかも知れん
しかしその辺りに炎が上がってるから爆発するかもな
すると向こうの吊り橋に火が回って焼け落ちるかも知れん
一番の目標は橋を渡って向こうに行くことだから、
ここはリスクを回避して、ドラム缶は落とさないようにしよう
とか、達成目標の優先順位や性格に合わせて
2手3手先の状況を読む感じの予測
囲碁とか将棋なら交互にフェアに指すから
盤上の状態のツリー構造も表現しやすいけど
こういうのも基本はガンビットで実現するの?
300:デフォルトの名無しさん
11/01/29 14:16:08
発想が違う
囲碁や将棋は、ターン制の挙句、一手を選べば良いからだろうなんだけど
3DのFPSとかで、個の細かなヒューリステッィックな発想を
一手一手プログラムしようとしてるから難しく思えるだけ
リアルタイムだと、そもそも個の思考だけじゃない
チームや局所的なエリアとして”指令”や”目標”のような物があり
それに従って、個が行動を決定し、特定の時間その行動を取る
ある程度の行動を取ったら
(途中で局所的な行動をとる場合もある、例えば銃撃を避けるため隠れる等)
その現在の指令や目標が有効か、それを達成するための今の行動がまだ有効か判断する
それから、行動(内容を変える場合もあるし、そのままの場合もある)を再度始める
こんな感じ
ってGDCで聞いた覚えがある、あれCEDECだったかな…
個の完璧なAIが集まって、それが集団行動を取ってなんて
ボトムアップの集団AIなんて、どこ探してもないでしょ
301:デフォルトの名無しさん
11/01/29 15:08:52
>>300
それをガンビットで表現するのは現実的なの?
302:デフォルトの名無しさん
11/01/29 15:15:46
製作者の想定を超えるAIなんてゲームに必要ないでしょ
極論言えばネット対戦以上のリアルなAIなんて作れないんだし
人間的なAIより面白いAIを考えたほうがいいと思う
303:デフォルトの名無しさん
11/01/29 15:42:55
人間的なAIはそうとう面白いと思うが
人間的なAIより面白いAIってどんなの?
304:デフォルトの名無しさん
11/01/29 15:49:23
>>303
無理ゲーとかハメゲーにならないようにわざと隙を見せてくれるAI
305:デフォルトの名無しさん
11/01/29 15:58:41
>>304
それ普通に「やさしい人間」のAIじゃん
妹「お兄ちゃんハメずるい!」
兄「わかった、もうちょっとやさしくしてやる」
306:デフォルトの名無しさん
11/01/29 15:59:19
>>303
自キャラの目の前に坂があってその上にドラム缶が有り、敵キャラが居たとする
単純なAIならドラム缶を確実に落としてくるだろうが、
人間的なAIの場合作者の想定外の行動もするでしょ?
その場合少なくとも俺は前者の単純なAIの方が面白いと思うし、
何回遊んでも同じ行動ばかりでつまらんと思うなら、ネット対戦した方が面白い
307:デフォルトの名無しさん
11/01/29 16:01:21
人間的なAIを組めるようになってから、どっちが面白いとか議論してくれw
俺は組めないけどな
308:デフォルトの名無しさん
11/01/29 16:49:10
>>305
エロゲかよ・・・
確かに最近の妹は優しさが足りないかも
309:デフォルトの名無しさん
11/01/29 16:54:25
おまえらパックマンの追跡アルゴリズムすら解析できないだろ
310:デフォルトの名無しさん
11/01/29 17:05:28
お前らとか一括りにする奴はたいてい頭がおかしい。
色んな人間がいるってことを忘れて一括りにして作り上げた仮想敵と戦う人種。
そうやって何でもかんでも一括りにしてればガンビットにしがみついててもなんとかなるんだろうなwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
311:デフォルトの名無しさん
11/01/29 17:17:24
>>308
なに勘違いしてんだ?
312:デフォルトの名無しさん
11/01/29 17:47:00
>>301
ガンビットはフレームワークでしかない
お前が書いた
if()~
の通りに動く
後は用意された条件と行動コマンド次第
ま、結局、用意された条件や行動の組み合わせになるんだけどね
過去の経験を元にして条件や行動を作り出すAIもいいわいいけど
多分、センスのある開発者の考えた単純なAIのが人間らしく動いちゃうと思うよ
313:デフォルトの名無しさん
11/01/29 19:00:24
ネトゲでPT組んでるのに勝手に飯食いに行く奴
ハメ技見つけたらひたすらそればかりで攻撃してくる奴
思い通りに行かないと暴言を吐く奴
借りたアイテムを返さない奴
自分の見つけた攻略法を上から目線で説教同様に延々と語ってくる奴
ゲームやってると色んな人間がいるけど、
こういうことまでちゃんとする人間らしいAI見たことない
314:デフォルトの名無しさん
11/01/29 19:04:17
>>313
見たくない
315:デフォルトの名無しさん
11/01/29 19:05:53
見たくないね
316:デフォルトの名無しさん
11/01/29 19:24:25
>>313
ネトゲでPT組んでるのに勝手に飯食いに行く処理
ハメ技見つけたらひたすらそればかりで攻撃してくる処理
思い通りに行かないと暴言を吐く処理
借りたアイテムを返さない処理
自分の見つけた攻略法を上から目線で説教同様に延々と語ってくる処理
を作ればいいんじゃないか?
317:デフォルトの名無しさん
11/01/29 19:47:10
>>316
それはそれで AI プログラム(その他応用)の勉強になりそうな題材ではある
たとえば「ハメ技見つけたら・・・」というのは、
何を以て「ハメ技」と認識するのかという問題だけど、
行動と(周りの環境も含めた)その結果起こることの積み重ねの中から
パターンを見つける問題と言える
「思い通りに行かないと・・・」というのは、
「思い」「やりたいこと」をプログラムで表現する必要がある
目的が少しでも達成できなければいつも決まって暴言を吐くのか、
時間や手段は選ばす目的が達成されるだけでいい(暴言を吐かない)のか、
どのような状況のどのようなタイミングでどのような目的を持つのか、
それらをどうやってデータ化し、どのようなアルゴリズムで表現するのか
318:デフォルトの名無しさん
11/01/29 20:10:21
この話題いつまで続ける気だよ
319:デフォルトの名無しさん
11/01/29 20:11:09
他に話題があるわけでもないし
320:デフォルトの名無しさん
11/01/29 20:12:41
・特定の時間中にクエストを終えると「じゃ、メシ食ってくる」とPTチャットに発言して三十分から一時間ほど停止する処理
・ハメ技を予め作っておいて、可能な状態になったら延々実行しつづける処理
・自分のレベルと敵のレベルの差分から時間を設定し、戦闘開始からの経過時間で暴言を吐く処理
・特定プレイヤーのアイテム情報を取得して、非消費アイテムの中でポイントの高いものを「貸して」という処理
・ターゲットしているモンスターの情報を取得して、予め作っておいたテキストを垂れ流す処理
321:デフォルトの名無しさん
11/01/29 20:17:28
>>320
> ハメ技を予め作っておいて
それじゃ、ゲームがアップデートされたら使えないじゃん
俺はそんなのは「知能あるキャラ」とは感じられないな
きみはそんな AI で十分かも知れんが
322:デフォルトの名無しさん
11/01/29 20:25:02
>>321
「知能あるキャラ」 ≠ 人間らしいAI
323:デフォルトの名無しさん
11/01/29 20:27:44
屁理屈ばかりでコードにできない人種
324:デフォルトの名無しさん
11/01/29 20:49:36
理屈がちゃんと分ってないと、正しくコード化できないだろ
コード書いたらなんかできちゃった、これ以上触ったらバグりそうだから、
もうこの辺で凍結しよう
なんて事をやってたら、次に活かせないし、問題点も見えてこないだろ
こんなプログラマには絶対になりたくないな
325:デフォルトの名無しさん
11/01/29 20:51:27
一般的なプログラマがAIと言われれば
思いつきそうな本や論文を一切読まない
ゆとりを観察するスレ
岩崎 夏海 (著)
326:デフォルトの名無しさん
11/01/29 20:53:09
人工的に作られた無能に知能を作らせる
という全く新しい
327:デフォルトの名無しさん
11/01/29 20:57:24
ここまで全部俺の作ったAIなんだ
馬鹿でごめんな
328:デフォルトの名無しさん
11/01/29 20:58:41
ゲームごときに出てくるようなキャラのアルゴリズムをAIと呼ぶのがそもそもの間違いだと思う
329:デフォルトの名無しさん
11/01/29 21:02:35
この言葉遊びAIよくできてんな
まー ただの辞書学習人工無能な事はバレバレw
330:デフォルトの名無しさん
11/01/29 21:04:47
何でたかだかゲームレベルのアルゴリズムをAIって言うんだ?
アルゴリズムって言えばいいだろ。
331:デフォルトの名無しさん
11/01/29 21:08:06
>>330
どのレベルからアルゴリズムが AI に変わる?
332:デフォルトの名無しさん
11/01/29 21:11:31
本当の意味でのAIはまだ無い
そもそもプログラムによって作成可能かどうかも不明だしね
333:デフォルトの名無しさん
11/01/29 21:14:14
本当の意味でのAIってなんだよw
「オレの考えた最強のAI」の間違えじゃね?
334:デフォルトの名無しさん
11/01/29 21:14:57
>>331
AIの教科書によると、
AIとはある作業において人間の方が機械よりも優れている分野を機械にやらせる研究であると定義されてて、
つまり機械がその分野の作業ができるようになったら(実現したら)
その時点でそれまでの研究はAIではなくなるんだと。だから>>328,330のような意見が出てくる。
335:デフォルトの名無しさん
11/01/29 21:15:00
あらゆるheuristicな研究をぶち壊す
336:デフォルトの名無しさん
11/01/29 21:20:19
口ばっかで何も作れない奴らのスレ
337:デフォルトの名無しさん
11/01/29 21:20:48
>>334
始めて聞いた。 SFの本?
338:デフォルトの名無しさん
11/01/29 21:21:58
×口ばっかで何も作れない奴らのスレ
○口ばっかで何も作れない奴らが懸命に無知を晒すスレ
339:デフォルトの名無しさん
11/01/29 21:25:34
>>333
無知過ぎるw
340:デフォルトの名無しさん
11/01/29 21:44:13
>>334
アクションゲームや格ゲー、RPG や FPS、囲碁などのボードゲームなどにおいて、
人間が操作した方が機械よりも優れている「敵の行動」を
機械にやらせる研究をしてたら、それは AI と呼んでいいのかな?
341:デフォルトの名無しさん
11/01/29 21:48:22
>>337
URLリンク(www.amazon.co.jp)
6ページ目
342:デフォルトの名無しさん
11/01/29 21:51:10
>>340
いいと思うよ。
AIとか人工知能ってのは基本的にクラウドみたいなバズワードの一種みたいだし。
AIって言っとけばなんかかっこいいよね、くらいの意味しかない。
もっとも、一般人の中には人間を模倣することだと信じて疑わない人が多数いるので、
その人たちと折り合いをつけるのがめんどくさいけど。
343:デフォルトの名無しさん
11/01/29 21:56:37
たいていは思考ルーチンのことをAIと呼んでるだけだからな
344:デフォルトの名無しさん
11/01/29 22:01:35
>問題解決
>探索
>知識表現
>プラニング
>推論
>機械学習
これらが上の奴等が言ってた事の正式名称ぽいな
っで、探索の事を言ったら推論を返すコンニャク問答をしていたと
345:デフォルトの名無しさん
11/01/29 22:12:15
ガンビットってなに?
調べてもFFが出てきてよくわかんのだが
346:デフォルトの名無しさん
11/01/29 22:15:32
調べたらFFが出てきてよくわかるのだが
347:デフォルトの名無しさん
11/01/29 22:15:37
>>345
だから流行のゲームはやってないとみんなとお話できないんだって
いい勉強になっただろ?
たまにはエロゲ以外のゲームでもやれよw
348:デフォルトの名無しさん
11/01/29 22:23:16
ガンビットはガンビットだよ
プレイすれば分る
としか説明できないプログラマって・・・
349:デフォルトの名無しさん
11/01/29 22:28:12
ググって解らないなら
プレイしても解らないし
説明しても解らない
ご愁傷様
350:デフォルトの名無しさん
11/01/29 22:29:34
>>348
そもそも、プログラミングのプの字も知らないような人がいる気がする
351:デフォルトの名無しさん
11/01/29 22:33:47
ガンビットは単なるif then else ifの羅列。
352:デフォルトの名無しさん
11/01/29 22:39:37
>>345
if(automode){
foreach(gb in gbs){
if(!gb())break;
}
}else{
...
}
こんな感じのふつーの逐次処理
353:デフォルトの名無しさん
11/01/29 23:31:21
>>352
FF12 が世に出る前は、そういうのは何て読んでたの?
354:デフォルトの名無しさん
11/01/29 23:37:16
>>353
if文の羅列
って呼んでた(多分)
355:デフォルトの名無しさん
11/01/29 23:37:19
>>353
ガンガンいこうぜ
356:デフォルトの名無しさん
11/01/29 23:37:46
>>353
MOBならAI
PlayerならBOT
357:デフォルトの名無しさん
11/01/29 23:46:05
じゃあ、AI や BOT や、ガンガンいこうぜやif文の羅列でみんな通じるんだから、
わざわざガンビットなんてノムリッシュに言わなくても、そのままでいいじゃん
358:デフォルトの名無しさん
11/01/30 00:03:02
あたまがおかしい奴が
自分から名乗り出てきてくれてスッキリした
359:デフォルトの名無しさん
11/01/30 00:44:19
分岐以外で実現するプログラムがあるのかよ・・・
360:デフォルトの名無しさん
11/01/30 00:46:47
○○なら○○するって部分を分岐じゃなくて、イベントドリブンで表現することもできるだろうけど。
361:デフォルトの名無しさん
11/01/30 00:57:05
if文の羅列だけでAI作んのか?
超原始的FSMだな
362:デフォルトの名無しさん
11/01/30 01:02:01
>>360
if,switch,jumptableなどはどれも分岐だけど
それらを使わずに実現できるの?
363:デフォルトの名無しさん
11/01/30 02:05:35
>>294
まず、
根本的に、ノイマン型コンピューターはプログラムされたとうりにしか動きません。
もしもAIが、人間のような自主性によって予想外の行動や創造性を発揮してる『ように見える』のならば、
それは、実際は、「プログラムによって実現されうる可能性を、予想しきれてなかった」というだけのことです。
それを、ロマンチックに捉えて擬人化して、おもしろがってるだけのことです。「AIが勝手に必勝法を編み出したぁ~~」と。
予想しやすいか、予想しづらいかのわかりやすい例えは、
たとえば、X個の変数の値に対する操作に例えると、
例あ:
a[8]に対する操作を、具体的に行えば予想しやすいですよね?たとえば単純に、
int i=8;while(i-->0){*p++*=(i/8)}
なら何が起こるかは小学生にも明確ですが、一方、
例い:
b[k]を b[k]=f(a,k)として考えて、反対にc[k]=f'(b,k) で c[k]=a[k]の場合で考えてみると、
たとえば
f(a,k){int i=8;b[k]=0;while(i-->0){b[k]+=a[i]*cos((pi/8)*(n+(1/2))*(k+(1/2)))}
f'(b,k){int i=8;c[k]=0while(i-->0){c[i]+=b[i]*cos((pi/8)*(n+(1/2))*(k+(1/2)))}
だとします。そうですスペクトルです。
このp=bに対して例あ同様にint i=8;while(i-->0){*p++*=(i/8)}とした場合、f'(b,k)の結果としてcとaの差分についての変化は
ちょっと、直感的にパッとは予想しづらいですよね?(いや、できる人にはできますがw)少なくとも例あの場合と比べればパッとは浮かびませんよね?
つまり、例のAIが見せた答えは、単純に「”私には”予想外の答えだった」というだけの話です。
誤解しないでほしいのは、AIは必勝法を”創造”したのではなく、単純に、数式に従った結果の”必然”として答えを出したにすぎません。
あの文章は、ちょっとふざけて、おもしろおかしく擬人化して書いただけです。
そこ本当に、文章のとうりまんま受け取って、変に誤解したままの人が現れちゃったら、ちょっと罪悪感感じるので…一応補足しときました。
364:デフォルトの名無しさん
11/01/30 02:29:52
変に誤解したままの人が現れちゃったずいぶん後になって
いゃ~実はあれねって感じに補足するのには罪悪感は感じない?
365:デフォルトの名無しさん
11/01/30 03:26:03
論理学も知らない奴がAIを語るスレ
366:デフォルトの名無しさん
11/01/30 06:15:18
A「論理学って知ってる?」
B「いや、知らないな」
A「じゃあ教えてやるよ……お前、芝刈り機持ってる?」
B「いや、持ってないよ」
A「じゃあお前はホモだ!!」
367:デフォルトの名無しさん
11/01/30 07:06:08
病院逝け
368:デフォルトの名無しさん
11/01/30 07:18:08
>>360以降頭のおかしい奴しか居ない
昨日一日中粘着して居た池沼の自演なんやな
369:デフォルトの名無しさん
11/01/30 08:44:09
>>357
クラウドがまったく新しい・・・わけないんだけど
名前が定着しちゃったのは色々理由があるよね
370:デフォルトの名無しさん
11/01/30 08:48:29
実際の現場じゃガンビットなんて言わないから安心しろw
371:デフォルトの名無しさん
11/01/30 09:00:30
クラウドもオブジェクト指向も名前先走り
372:デフォルトの名無しさん
11/01/30 09:03:52
オブジェクト指向はSimulaをベースとした由緒あるものだぞ。
まあ名前をつけたアランケイあたりから胡散臭いが。
373:デフォルトの名無しさん
11/01/30 09:33:28
クラウドもオブジェクト指向も元々は由緒はあった
374:デフォルトの名無しさん
11/01/30 09:44:47
ガンビット≒「只の」ifの羅列
は>>344のどれにも含まれないので
いいんだよな
375:デフォルトの名無しさん
11/01/30 10:05:44
>>374
プロダクション・システムの一種と解釈すれば
ガンビットは344の分類でいう「知識表現」「問題解決」となるだろう
といっても、そこまで大層なものではないが
376:デフォルトの名無しさん
11/01/30 10:09:09
簡単なことでも大層な名前をつけてやれば支持されるのがこの業界です
377:デフォルトの名無しさん
11/01/30 10:10:54
確かにそうだが
たいそうな技術も地味なアイディアの積み重ねってこともわかってない奴多い
378:デフォルトの名無しさん
11/01/30 10:11:54
Ajaxですねわかります
379:デフォルトの名無しさん
11/01/30 10:13:37
CRUD の悪口はそこまでだ
380:デフォルトの名無しさん
11/01/30 10:16:15
AIをガンビットでしか組まない人間をガンビッターorガンビストと・・・
381:デフォルトの名無しさん
11/01/30 10:17:59
なんで会ったことの無い
居るかどうかも解らないカスの批判を
必死にできるの?
382:デフォルトの名無しさん
11/01/30 10:27:44
むしろまともなのが見つけられない
383:デフォルトの名無しさん
11/01/30 10:28:06
>>381
おいおい落ち着けよ
そんな必死になるなよ
384:デフォルトの名無しさん
11/01/30 10:44:28
ただの営業SEもエバンジェリストと肩書き付けると偉い人に見える不思議
385:デフォルトの名無しさん
11/01/30 13:39:46
>>384
営業職はそれでいいんだよ
「偉い人に見える」ことがその場では役に立つから
偉い人に見えるような肩書きを付けるんだよ
多数の相手に支持してもらわなければ営業できん
一方プログラマが偉く見えるかどうかなんてのは、どうでもいいだろ
386:デフォルトの名無しさん
11/01/30 14:21:46
ホモってケツでやってそのまま尿も中に出すんだろ?
直腸にシッコとかキモ
シッコ
387:デフォルトの名無しさん
11/01/30 14:23:53
黒猫のタンゴ。
388:デフォルトの名無しさん
11/01/30 14:27:49
ガンビットも昔は革新的な手法でもてはやされた時代もあったけど
いつまでも古いものにしがみついてるのはどうかと思うよ。
ガンビットガンビット言ってる人って未だにゲームをシングルスレッドで作ってる池沼と同じ臭いがする。
389:デフォルトの名無しさん
11/01/30 14:29:43
がちほもすれ
390:デフォルトの名無しさん
11/01/30 14:35:47
>>388
もてはやされてねーよw
ガンビット出るまでガンビットやそれに変わる表現すらなかったのに
もてはやされるわけないだろw
しかも、ガンビット自体はただのif文の羅列w
391:デフォルトの名無しさん
11/01/30 18:00:52
ああガンビットってIFをつかった条件分岐のことなのね
つかエロゲなんて一度もやったことない
392:デフォルトの名無しさん
11/01/30 18:07:10
CPUのコアを割り当てられないスレッドを作る奴は馬鹿
393:デフォルトの名無しさん
11/01/30 18:14:22
i7 って i5 以下のと互換性ないの?
394:デフォルトの名無しさん
11/01/30 19:22:15
>>391
いやー、まちがっちゃいないんだけど
お前は1回FF12やったほうがいいと思うな
395:デフォルトの名無しさん
11/01/30 19:38:12
で、ガンビット方式ってプログラム的になんか優れてんの?
ゲームの要素としてAIを簡単に組むシステムという意味ではいいのかもしれんが、
AIプログラミングの話なら何の価値もねーだろ
396:デフォルトの名無しさん
11/01/30 19:38:35
>>394
うんやる
今度
397:デフォルトの名無しさん
11/01/30 19:40:49
>>395
だからFF12買えよw
なんでここで聞こうとするんだw
それかニコ動で見てきたらどうだ?
398:デフォルトの名無しさん
11/01/30 19:44:02
>>395
状況判断から学習、作戦の指示などの全てをプレイヤーに丸投げすることで
人間並みの適応力を発揮する究極の戦闘システムです。
399:デフォルトの名無しさん
11/01/30 19:44:27
カルネージハートなら知ってるんだけど
それに似たもの?
400:デフォルトの名無しさん
11/01/30 19:45:51
>>399
なんでサグリをここで入れるの?w
youtubeかニコ動いけよw
それか早く死ねよ
401:デフォルトの名無しさん
11/01/30 19:46:02
>>395
プログラムとか全く理解できず、唯一FF12で触れたガンビットだけが「プログラムっぽい何か」だったんだろ。
それでそこから「ガンビットでAIの事は全て語れる」と勘違いして、
実際にゲームAI作ったり作ろうとしたりしてる人間の前でしたり顔で語って引き返せなくなってると。
402:デフォルトの名無しさん
11/01/30 19:46:17
必死だなw
403:デフォルトの名無しさん
11/01/30 19:47:10
>>400
動画見た見た
404:デフォルトの名無しさん
11/01/30 19:49:31
>>403
そうか
ガンビットが何かわかったか?
405:デフォルトの名無しさん
11/01/30 19:54:01
>>404
敵1対なら○○
MPが30以下なら○○
こんなの
406:デフォルトの名無しさん
11/01/30 19:56:03
PGのHPが30%以下→たたかう
407:デフォルトの名無しさん
11/01/30 20:01:46
>>405
おお、だいたいばっちりじゃん
また一つ賢くなったな
408:デフォルトの名無しさん
11/01/30 20:02:38
楽しいか?
409:デフォルトの名無しさん
11/01/30 20:03:48
>>408
動画みただけじゃわかんなくね?
410:デフォルトの名無しさん
11/01/30 20:05:15
もうガンビットはNGだなw
411:デフォルトの名無しさん
11/01/30 20:06:17
>>410
なにか明確な理由があって言ってるの?
412:デフォルトの名無しさん
11/01/30 20:39:31
はあ、それで、
ガンビット方式でどんなAIプログラムが実現できるんだ?
413:デフォルトの名無しさん
11/01/30 21:20:51
ガンビット君必死
414:デフォルトの名無しさん
11/01/30 21:27:01
はったりだけの言葉「 AI 」を多用するなよ。恥ずかしい
415:デフォルトの名無しさん
11/01/30 22:01:31
なんでお前が恥ずかしがるの?
恥ずかしかったら NG ワードに入れとけばいいんじゃない?
416:デフォルトの名無しさん
11/01/30 22:51:03
>>412
お、わかりやすいな
いっそなにか目標になるものを決めて
ガンビット厨とガンビットを嫌う奴とでそれぞれの方法でAI組んでみるか?
417:デフォルトの名無しさん
11/01/30 22:53:54
ところで、ガンビット厨は分るが、
ガンビットを嫌う奴はこのスレでいうと例えば誰?
418:デフォルトの名無しさん
11/01/30 22:56:43
>>417
なんか上の方で自分で考えるAIがどうとか言ってる奴いなかったっけ?
いなかったならそんな奴いないんだよきっと
419:デフォルトの名無しさん
11/01/30 23:04:15
if(条件){ 行動 } の羅列でAI組むとか正気かよ
420:デフォルトの名無しさん
11/01/30 23:06:36
>>419
おうよ
やってやるぜ
421:デフォルトの名無しさん
11/01/30 23:07:27
FF12やってガンビットすげーってなる?
422:デフォルトの名無しさん
11/01/30 23:09:22
>>421
それは自分で確かめるしかなくね
少なくともこのスレだけでも受け取り方が違う人間がいるみたいだし
423:デフォルトの名無しさん
11/01/30 23:09:31
if(レスにAIが含まれる){ガンビットと言う}
else if(レスにガンビットが含まれる){FF12買えよと言う}
424:デフォルトの名無しさん
11/01/30 23:23:45
>>419
>>420
それって状態遷移図を if 文で表現するんですよね
デバッグやメンテ大変じゃないんですか?
状態遷移表を配列で表現した方がまだ扱いやすくないんですか?
425:デフォルトの名無しさん
11/01/30 23:25:41
ガンビットって特許出願されてるんだね
出願人 : 株式会社スクウェア・エニックス
発明の名称 : ビデオゲーム処理装置、およびビデオゲーム処理プログラム
【課題】 キャラクタの行動の詳細を容易かつ的確に設定することができるようにし、遊戯の興趣を向上させることを目的とする。
426:デフォルトの名無しさん
11/01/30 23:29:47
俺もガンビット知らんけど、ようはゲーム内でユーザーに
AI弄らせる手法としては知る価値はあるが
開発者視点語るなら普通にスクリプトで書けよってだけなんじゃねえの