トップページgamedev
996コメント396KB

【初心者歓迎】スレを立てる前にココで質問を【Part5】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/03/06 00:58ID:FXdKwbSn
ふと疑問に思った事があったらスレを立てずにまずはここで質問
してみましょう。あなたの長年の悩みがたった一つのレスで解決して
しまうこともあります。回答があるまでに数日間かかることもあるので
辛抱強く待ちましょう。

前スレ
ゲームに関する質問はここでしてね
http://pc2.2ch.net/test/read.cgi/gamedev/1057318143/
【初心者歓迎】スレを立てる前にココで質問を【その4】
http://pc2.2ch.net/test/read.cgi/gamedev/1044954179/

その前

【その4】http://pc2.2ch.net/test/read.cgi/gamedev/1043417025/l50
【Part3】http://game.2ch.net/test/read.cgi/gamedev/1032814540/
【Part2】http://game.2ch.net/test/read.cgi/gamedev/1013645518/
【Part1】http://game.2ch.net/test/read.cgi/gamedev/1005038203/

関連スレ・その他
>>2-3
0713名前は開発中のものです。04/07/18 19:16ID:m2/ulrdH
>>711
だーからー、二つの話をまぜこぜに吐いた漏れにも責任はあるけど、
なにも漏れだって初心者に後段の三つを勧める気は毛頭ないさー
「本気で勉強したいやつ」と言っておろうが。

学究の徒とサンデープログラマー予備軍で入るべき入り口が違うのは当然。

なのでVBやらdelphiやらが一発目というのもまあ悪くない。
QuickWin(Win=勝ちの意味の方な)な言語がサンデープログラマには良いさ。
まあ、VBは妙な癖が付くので、
サンデープログラマからゆくゆくはプロ方面と考える人間には勧めないが。
0714名前は開発中のものです。04/07/18 19:18ID:pTS0aXo0
>>712
いやいやいや、君はまだ本買わないほうが良いよ。
ネットで調べれる範囲でとりあえずがんばっておけ。
0715名前は開発中のものです。04/07/18 19:23ID:m2/ulrdH
あ、713補足
Squeakは十分初心者でもあっさり結果が得られて入門向きだとは思うが?
小学生向けバージョンもあるぐらいだし。
0716名前は開発中のものです。04/07/18 20:00ID:pTS0aXo0
こういってはなんだが、C、C++、JAVAあたりからはじめている人間が圧倒的に多いと思うが、
聞いたこともないようなスクリプトを薦める人達は何をお考えか。
C程度の言語が出来ないなら他を薦めても手につかないんじゃないの?
0717ぁきまさ04/07/18 20:43ID:XKbo+aX0
Pythonは聞いたことも無いようなスクリプトに分類されるのかな?…どーでもいいか。
C程度の言語とおっしゃいますが、
Cはポインタが分からないとお話にならないと思います。
だけど、ポインタの理解にはメモリの知識が多少なりとも必要であり、
初心者の方がメモリの知識なんてモンを持っているということは稀です。
ですから、C言語はモロ初心者には理解できないのでお奨めすべきではないと思うのです。
その点、Pythonに限らずスクリプト系言語はそういった小難しいことをオブラートに誤魔化してくれているので、
俺は初心者に薦めても良いのではないのかと思ったのです。

まぁVBもスクリプトみたいなモンですし、
俺もVBからはじめて「わープログラミングってこんなに簡単UREYYYY」と勘違いさせてくれたので、
VBも悪くないかと思います。
Delphiは無料で手に入るから手を出しやすいですね。

それでも俺はPythonをローカルルールが多いながらも文法の簡潔さからお奨めしたいと思う、
いわばPython信者なのです。

つーかPythonもVBなみに即効性がある言語だと思うんですけどねえ。(GUI除く
だって
import pygame
pygame.init()
screen=pygame.display.set_mode((640,480))
でSDLなウィンドウ表示できちゃう手軽さなんですよ!

Python信者、必死に語る。
でした。
0718名前は開発中のものです。04/07/18 21:28ID:pTS0aXo0
わるいけど分類されます。>Phython
言語の優劣ではないですよ。念のため。

で、知識がないからこその勉強でしょうに。
ポインタ、というかメモリの概念なんぞ遅かれ早かれ必ず理解しなければ
ならないんだから。
1週間くらいみっちりやれば基本的な言語の仕様は理解できると思うから、
あとはサンプルみながら、試しながらポインタを少しずつ理解していけばいい。
根気よく勉強ですよ。何事も。
0719名前は開発中のものです。04/07/18 21:29ID:AOJ90z6C
いきなりCはまずいと思う、漏れも。
ぁきまさと同じ事を言うがポインタは不適合者はとことんまで理解しづらいし(俺含む)、
ポインタと双璧をなす「Cの壁」はやっぱり文字列処理。文字列がcharの配列ってまず初心者は配列知らねーしw
はじめてプログラム組む奴はまず変数でコケるって教えてる教師もいるしなぁ、やっぱり地道にN88BASICからが良いんじゃないかい?
漏れが学習上一番良かったと思うのは
VBの後でC++を勉強したこと。
意味も無くドットで区切ってプロパティやらメソッドやら呼んでたのの背後にあるオブジェクト指向の仕組みと思想を知ったときは一日有頂天だった。
バカかな?
0720名前は開発中のものです。04/07/18 22:01ID:z08M52ck
ポインタは小学生にとっての分数だ。
0721名前は開発中のものです。04/07/18 22:36ID:Gy4iSWOW
C++とSDKを使ってWinアプリを作りたいと思い、Cを勉強しはじめました。
ですが、聞く話によるとC++とCでは大きく違うと言う話です。
このままCを勉強していっても大丈夫でしょうか?
0722ぁきまさ04/07/18 23:24ID:XKbo+aX0
>>718
http://bbs.gamdev.org/test/read.cgi/gamedev/1080264444/47/
PhythonじゃなくてPythonでつ。気になったので。
0723名前は開発中のものです。04/07/18 23:42ID:cDqRgrZb
PS2,XBOX,CUBE,PS,GBA,DC,SS,SFC,GB
その他もろもろのコンシューマはどういった言語や環境で
作られているのでしょうか?
誰か教えてください。
0724名前は開発中のものです。04/07/18 23:46ID:m2/ulrdH
>>721
全然問題なす。
大きく違うのは確かだが、機能が増えるのであって覚えたことは無駄にはならんよ。
0725名前は開発中のものです。04/07/18 23:50ID:Y//LoBxX
>Python
中学くらいでプログラミングに興味を持って、高校くらいで色々調べ始めて、
コンピュータ系専門学校の3年生(専門科)を卒業したけど
Pythonという名前は今ココで始めて知った、とか言ってみる。

>>721
C++の勉強にはCの勉強が必要なので心配せずに勉強してください。
まぁC++では不要になってしまった知識とかは少なからずあるけど無駄ではない。

>ポインタや配列
俺も理解するのには時間かかったけど、いつやっても同じだと思う。
確かにそういうのがないプログラムを覚えてからやったほうが覚えやすいという人もいるかもだが
別のプログラム覚えてる時間とポインタや配列を覚える時間を比べたらそう大したことない気もするが。

まぁ・・・勉強の仕方にもよるけどな。良い本か良い講座サイトに出会えることを祈ろう。
今なら先人の残してきた財産が山ほどあるしな。
0726名前は開発中のものです。04/07/18 23:53ID:m2/ulrdH
>>723
PS2:環境はLinux/Windows等、言語はC/C++とVU系アセンブラ等
XBOX:環境はWindows、言語はC/C++とシェーダ系アセンブラ
PS:環境はWindows/DOS、言語はC/C++とDSP系アセンブラ
SS:環境はWindows/DOS、言語はC/C++とSH系アセンブラ
SFC:環境はDOS/Windows、言語は65816系アセンブラ
GB:環境はDOS/Windows、言語は最近Cも増えたがまだZ80系アセンブラが主流
こんなもんかな
CUBEはPS2あたりと似たようなもんだと思うが、
GBAは知らん(C主流なんかなぁ?)
0727名前は開発中のものです。04/07/18 23:57ID:m2/ulrdH
>>725
Python厨を擁護するきは全くないが
それは君いくらなんでも勉強浅すぎな気がするぞ

ジジイ丸出しですまんのだが、
本当はポインタとかで悩む前にアセンブラを覚えるのが一番良いのだ、
素性よく勉強するって意味ではね。
0728名前は開発中のものです。04/07/19 00:02ID:ApxmKmGm
>>727
まぁいろいろ調べたってもゲーム製作系の雑誌とかそんなんばっかだけどな。
プログラミングに関する情報全て調べようとしてたわけじゃないし。
少なくとも、専門学校の3年間では数種類のプログラミング言語の名前が出てきたけど
その中にはPythonというものは無かったね。

>アセンブラ覚えるのが一番良い
それは俺も思う。
0729名前は開発中のものです。04/07/19 00:03ID:qE2pbi+V
ありがとうございます。
それとXBOXの環境ではDirectXが標準で使われてるとか聞いたのですが
そういったライブラリ?関連でPS2その他のコンシューマで使用されている
ライブラリなどはご存知でしょうか?
私の中では3D関連を扱えるライブラリはDirectXとOpenGLしかしらないので
その2つの中のどちらかでPS2も作られてるのかなとか思っていますが
どうなのでしょうか。教えていただけますか。
質問ばかりで申し訳ありませんがそういった情報というのは
どこから入手できるのでしょうか。今後のためにも教えていただけますか?
0730名前は開発中のものです。04/07/19 00:10ID:EWoR56EK
配列を覚えるという感覚がないので分からんが、
ポインタに関しては何でもいいからアセンブラを触ってみるといいと思う。
命令数が少ないPICとかのでもいい、CASLでもZ80でも。
それほど深くやらなくてもアセンブラを少しでも触っておけば
フォンノイマン型コンピュータの基本的な動作が分かるからポインタの理解もすごく早くなると思う。
でもってやる気があればさらに深くまでやっても損はないと思う。
アセンブラができる人間はゲームプログラマの中でも貴重な存在だし、
3D関係ではSSE化とかで需要は今も(多分今後も)十分にある。
0731名前は開発中のものです。04/07/19 00:12ID:EWoR56EK
長々書いてる間にみんなアセンブラ薦めてた、、、、、
0732名前は開発中のものです。04/07/19 00:14ID:IJbVGYi4
>>729
XBox以外はチップを直叩きしてライブラリを自前で作るのが普通。
まあRenderWareあたりのライブラリを使う場合もありだが、
OpenGLやらDirectXやらは「普通」使わん。
(OpenGL自体を自前で乗せる、というアプローチはあり)

情報の入手:Google
0733名前は開発中のものです。04/07/19 00:15ID:5FveKx0n
すごい初歩的なことを聞いてると思うんですが、すいません。
今恋愛シミュレーションを作りたくてツールをいじってるんですが、変数もいろいろ使えるようです。
ヘルプにも記述の仕方は書いてあるのですが、実際どういう場合に使うものなのかわかりません。
ネット上のプログラミング講座などでも、概念の説明はあるのですが使用法が見つからず。
そういったことを説明してくれているページはありませんでしょうか?
0734名前は開発中のものです。04/07/19 00:15ID:ApxmKmGm
>>729
答えてくれるかどうかはわからんが、オフィシャル(SCEJ)にメールで聞いてみたらどうだ?
あそこはどんな内容のメールでも、こちらが真面目に聞けばそれなりの返答をしてくれる。
以前、今思えば正直下らなさ過ぎた厨房丸出しの質問メールを送ったことがあったんだが、
非常に丁寧な返事を返してきてくれた(質問にちゃんと答えてくれてたし)。
0735名前は開発中のものです。04/07/19 00:17ID:iVZhKIfX
>>708
dクス
レス送れてすまん
やってみます
0736名前は開発中のものです。04/07/19 00:20ID:IJbVGYi4
>>728
まあ、そういう勉強の仕方なら出てこなくてもしょうがないわなぁ
Un*x系の世界で生きてると、「比較的」(あくまでも比較的な)
ポピュラーな言語なのだわ。
もっとも、「メジャー」では絶対ないから、
Pythonを「知ってる」「使ったソフトを使ったことある」人は結構いるが、
「組んでる」人はそうそうおらん。
(CVS使ったことある人は結構いるだろうが、
あれ書くのに使われてるModula-3で組んだことある人はそうそうおらんじゃろ)
0737名前は開発中のものです。04/07/19 00:20ID:KZID9xeG
コンシューマの開発関係の情報は
機密保持契約のため外には出してはいけない
0738名前は開発中のものです。04/07/19 00:23ID:ApxmKmGm
>>733
恋愛シミュレーションってことはフリーのスクリプターかなんか使ってんのか?
変数なんてもんは必要に応じれば嫌でも利用方法がわかるはず。
使い道がわからないというのならそれは今の君には必要の無いものということだ。
とりあえずいろいろ作ってみたらどうだ?
0739名前は開発中のものです。04/07/19 00:30ID:qE2pbi+V
ありがとうございます。
つまりDirectX,OpenGLなどの3D関連を扱えるライブラリは実際のコンシューマゲーム等には使われておらず,そういったものはある程度
会社ごとに作成,蓄積されていると考えてよろしいのでしょうか。

そう考えるとDirectX,OpenGLなどはどういった意図で作られたのでしょうか?
PGの育成?将来の標準のゲーム作成ライブラリ?
分かる方が居られたらお願い致します。
0740名前は開発中のものです。04/07/19 00:32ID:e9Iu4ism
>>733
とりあえず、キミが作りたいものを作り始めて見れ。
変数使わずに作れるならそれはそれでOKだろう?
0741名前は開発中のものです。04/07/19 00:33ID:ApxmKmGm
>>739
自分で調べる気はないのか・・・それぞれに関する本でも買ってきたらどうだ?
0742ぁきまさ04/07/19 00:34ID:j7btYjVr
PS2でPS2Linux使ってSDLを使えた気がする。
そんなサイトをどこかでみた。

変数はフラグとして使うのかな?ADVだと。
以前どこどこでだれだれと会った とかそういう情報を記憶しておくんじゃないでしょうか。

本質的に理解するという本来の目的からみればアセンブラ最強の予感ですが、
アセンブラはモノをすぐに得ることができないのでそれが初心者にはネックかも。
ロボコンに使うようなロボットとか持ってるひとは問題ないでしょうけどね。
RoboCodeアセンブラ版とかあったらいいのかもしれませんね。
0743名前は開発中のものです。04/07/19 00:40ID:IJbVGYi4
>>739
DirectX:
「PCゲーを作るために」
Microsoftが作ったライブラリ(のようなもの)
OpenGL:
「ワークステーション上でCADやらシミュレータやら作るために」
もともとSGIが作ったライブラリをOpen化したもの
DirectXと違って「Open」ゆえ、PC、WS以外にも移植しやすく
OpenGLを移植した上で動いているアーケード基盤とかも存在する。

ゲームはコンシューマ機以外ないのかと小一時(ry
0744名前は開発中のものです。04/07/19 00:45ID:KZID9xeG
>>739
多種多様なPCやワークステーションに個別に対応することは
不可能になったため、抽象化してハード依存部分をなるべく
無くすことを目的としたライブラリ群
074573304/07/19 00:49ID:5FveKx0n
ありがとうございます。
プロローグまでは一応できていて、実際のゲームを作るところで止まってます…。
とりあえず吉里吉里の講座などにあたっているのですが。

やりたいことは「スケジュールの決定」です。
週の初めに7日分のスケジュールをランダムで決めて、それをメニューから参照できる、というような。
1日の区分は午前・午後・夜の3つあって、行動(特訓とか)しなければいけない時間帯の組み合わせは7通り。
ランダムに決めるとは言っても、一応確率もつけたい。(組み合わせA,B,C>D,E>F,Gという感じに)
それを2人分、しかもスケジュール表にそれぞれのスケジュールに対応した画像を表示させるとなると…
さすがに欲張りすぎですかね(´・ω・`)
でも、時間かかっても完成させたいんです。
0746名前は開発中のものです。04/07/19 00:50ID:HMZmVFac
OpenGLのどこがOpenなのかと小一時(ry
Mesaの事を指してるのか?
規格自体はDirectXもOpenGLも公開されてるだろ。
その上でボードメーカーが独自の実装で対応してくるわけで。
規格策定者がM$かSGIとか色々な人たちの集まりかが違うだけで。
0747名前は開発中のものです。04/07/19 00:54ID:IJbVGYi4
>>746
初心者向けに噛み砕いたので言葉足らずになっちょるのは勘弁しておくれ
そのへんまで丁寧に説明しだすと長くなりそうだったのでな
0748名前は開発中のものです。04/07/19 01:00ID:ApxmKmGm
>>745
悪いことは言わない。まずは質素なシステムのものを作ることをオススメする。
冗談でも何でもなく、本当の話。
0749名前は開発中のものです。04/07/19 01:06ID:IJbVGYi4
>>733
吉里吉里のスクリプトは知らんので概念的な話だけする。
1.まず、ある程度ランダムな組み合わせを数種類用意する。
{"運動","運動","寝る"}
{"運動","勉強","寝る"}
{"勉強","勉強","寝る"}
2.それを出したい確立にあわせて複製する
{"運動","運動","寝る"}
{"運動","運動","寝る"}
{"運動","運動","寝る"}
{"運動","勉強","寝る"}
{"運動","勉強","寝る"}
{"勉強","勉強","寝る"}
3.乱数を引いて、引いた数字nに応じてn番目の組み合わせを適用する
n=5だったら{"運動","勉強","寝る"}

健闘を祈る
0750名前は開発中のものです。04/07/19 01:11ID:lwkR0NhW
すいません、最後に皆さんにご質問させて下さい。
いろいろな方のご意見を聞いたところ現在のPCにほぼ標準に入ってるOS、Windowsですが購入する時点で2,3万追加されていてそれがほぼ直で
2,3万Microsoftへ入るそうなのですがこういった部分でMicrosoftが安定して日本で稼がれている状況でソースは公開されない。
こういった状況で安易にWindowsOSで適当にVCとかでプログラムを打ってマウスがどうやって動いてるかとかそういった部分を考えずにプログラムを
打てる状況にある日本のソフトウェア産業、皆さんはどういった考えをお持ちでしょうか。
いずれ崩壊するとか当分はMicrosoftだよりなど皆さんのご意見お願い致します。
0751名前は開発中のものです。04/07/19 01:13ID:ApxmKmGm
>>750
スレ違い。
0752名前は開発中のものです。04/07/19 01:14ID:IJbVGYi4
>>750
ねえ僕、WSとか汎用機とか組み込みとかいう言葉を聞いたことはないかい?
ないの?あっそう。困ったな・・・おじさん話長くなりそうだから他の人に任せるよw
0753名前は開発中のものです。04/07/19 01:17ID:ZjuA9JH9
どこかのラマの人がアセンブラを知っているとDXなんかのシェーダーを組むときに野生のカンがつくって言ってたなあ……
アセンブラってJPとかいうコマンドが出てくる奴だったっけ?
075473304/07/19 01:25ID:5FveKx0n
>>749
>2.それを出したい確立にあわせて複製する
目からウロコ……!!
ランダムで出た値と確率の合わせ方でごっちゃになっていたのですが、組み合わせのほうを複製すればいいんですね。
ありがとうございました! がんばります。
0755名前は開発中のものです。04/07/19 01:37ID:IJbVGYi4
>>754
概念はわかってもらえたようじゃね。
まあ、蛇足かもしれんが実際の実装では、
「乱数がnだったら何番目の組み合わせを引く」かを表す配列を作った方がいいぞ
{1,1,1,2,2,3}
みたいのを作って
乱数が1〜3なら1番目の組み合わせ、といった感じじゃな
075673304/07/19 02:01ID:5FveKx0n
>>755
それは「組み合わせを複製する」のではなくて、
「乱数の範囲によって選ぶ組み合わせを変える」ということですか?

乱数≧99なら1番目、乱数≧75なら2番目、乱数≧50なら3番目・・・
といった感じでしょうか。
0757名前は開発中のものです。04/07/19 02:08ID:IJbVGYi4
>>756
そういうことじゃ、プログラムの条件分岐で組んでもいいんじゃが、
テーブルにしといた方が後々修正しやすい、ということじゃ
0758名前は開発中のものです。04/07/19 02:11ID:ApxmKmGm
説明した本人に横槍入れるのもなんだが、>>755>>756はイコールじゃないだろ;
まぁ>>756の考え方が出来るならそれに越したことはないけど。
075973304/07/19 02:14ID:5FveKx0n
わかりました。やってみます。
ありがとうございました。(^人^)
0760名前は開発中のものです。04/07/19 02:16ID:IJbVGYi4
>>758
まったくそのとおりなんじゃが、
「まあ概ねわかってるみたいだし、前には進めそうなのでいっか」
と大人の対応をしたつもりだったんじゃが、
ここは厳しく突っ込んだ方がよかったんかのう?この場合w
076173304/07/19 02:20ID:5FveKx0n
ありゃ、解釈間違ってたんですね。読解力なくてすみません…。
本当はどういう風だったんでしょうか。
0762名前は開発中のものです。04/07/19 02:23ID:IJbVGYi4
いや、条件分岐を使わずに配列を使って楽をする方法、を提示したわけじゃが、
本来あるべき条件分岐に引き戻ってしまった、というだけじゃて。
どっちでもやりたいこたぁ実現できるので気にせず進むとよろしいぞ。
076373304/07/19 02:32ID:5FveKx0n
ありがとうございます、ちょっと分かりました。
とりあえず「配列」でぐぐってみます。こっち使ったほうがすっきりしそうですね。
0764名前は開発中のものです。04/07/19 02:37ID:ApxmKmGm
>>760
俺は子供か(´д`;)

まぁそうだろうとは思ったんだが、違うものは違うと説明したほうがいいかなと。
余計なことしたんだったら謝る(-人-)
0765名前は開発中のものです。04/07/19 15:24ID:PDTxUtS9
質問なんですがスマッシュブラザーズのような対戦アクションをつくろうと思うのですが
思考ルーチンがうまく思いつきません。
やはり行動やキャラの位置などで評価をつけて最適なものをさがしていくしかないのでしょうか?
0766ぁきまさ04/07/19 16:01ID:j7btYjVr
http://www.1101.com/morikawa/index_AI.html
きっとこういうことです。
あと、質問はageていいと思うよ。
0767名前は開発中のものです。04/07/19 16:41ID:SVeDBz/F
板違い、スレ違いならスマソ

ゲームデータにあるグラフィックデータの解析ってどうやるの?

具体的には、圧縮されたグラフィックデータファイルにグラのデータがあって、
そこから抜き出して、フォーマットを調べる。
ってことをやりたんだが。
0768名前は開発中のものです。04/07/19 16:43ID:SVeDBz/F
すまんage忘れた。
それから言葉遣いが悪かった。

やりたいんですが、よろしかったら教えてください。
ですた。
0769名前は開発中のものです。04/07/19 16:44ID:SVeDBz/F
…ageれてなかったし。スレ汚しゴメンナサイ
0770名前は開発中のものです。04/07/19 16:46ID:zNSTrUiZ
>>767
ttp://ku-www.ss.titech.ac.jp/~yatsushi/analyze.html
とりあえずここ全部読め
直接は参考にならんだろうけど
0771名前は開発中のものです。04/07/19 16:49ID:SVeDBz/F
>>770
d 逝ってきます
0772名前は開発中のものです。04/07/19 16:52ID:ApxmKmGm
ここ(ゲ製板)で解析話ってアリなのか?
0773名前は開発中のものです。04/07/19 20:32ID:ZjuA9JH9
>>766
それは違うだろ……
おそらくスマブラの思考ルーチンも似非AIで真性AIなんて使ってないと思う。
ていうか真性AI使ってるゲームってがんばれ森川君とガンパレ(これも怪しいが)ぐらいしか知らんぞ

似非AIっていうのはあらかじめ定められた条件分岐で意思を決め、成長しない思考パターンのことね。
イマドキの真性AIは学習機能が必須。
0774名前は開発中のものです。04/07/19 20:33ID:NZda3o20
微妙だな。解析したものでゲーム作るんなら関係あるだろうが。
077577004/07/19 20:36ID:TZoI5FHR
それなりにゲ製作の糧になりそうなんで今回はアリかなと思ってレスした
ちょうどピッタリのURLを控えてたってのもあるけど

単なるクレクレだったらナシだね
(たまに立つ「PS2のムービーってどうやってパソコンで再生するの?」みたいなスレ)
0776ぁきまさ04/07/19 21:26ID:j7btYjVr
>>773
真性AIで学習させておいて、
学習機能を取り払って似非AIを実装してるんじゃないかなぁと勝手に思ったんですが、
しょっぱなから似非AIを構築するんですね。
スマブラ級になると(天下の任天堂様なだけに)えらくソースコードが複雑になりそうなんで、
しょっぱなから似非AIは無いだろうと勝手に考えてました。
0777名前は開発中のものです。04/07/19 22:09ID:ZjuA9JH9
>>776
そんな無駄なことはせんだろう……
簡単なのだったら、
・自分との距離と残HPから敵を検索、ロックオン
・攻撃開始、撃破、相手から致命傷を受ける、および長時間の格闘を要した場合は↑に戻る
のが一番単純かな。スマブラをやりこんで研究するしか手がないが、ゲームでありがちな一般的AIなんかはゲームの製作本に良く載ってるよ。
森川君の学習機能は人間の脳細胞のネットワークをマネして、周囲の環境に対応する行動との関連度合い(重み)を正誤から判断して毎回調整式で調整してるっぽいね。
ボタンがある→押した:(ユーザー「正解」)→ボタン・押す間の重みを強くする
鳥がいる→投げた:(ユーザー「不正解」)→鳥・投げるの間の重みを弱くする
ウンコがある→嗅いだ:(AI本体「不快」)→ウンコ・嗅ぐの間の重みをとても弱くする
のような感じで。
実際は属性分け(リンゴで学習した「丸い・食べる」間の強い重みを丸い爆弾でも適用して爆発させてしまう、とか)もしてるっぽいし、
もしかしたら多段階で判断させとるかもしれん。
「ニューラルネットワーク」「パーセプトロン」とかで検索するとわかるかも……生半可な知識だが。
0778ぁきまさ04/07/19 22:55ID:j7btYjVr
>>777
業界でも(概念としては)意外と単純に実装するんですね。
http://www.1101.com/morikawa/index_AI.html
なんか最近このURL張るの多いですが。一応。
0779名前は開発中のものです。04/07/19 23:37ID:IJbVGYi4
>>765
まあ、その手合いの対戦ゲーぐらいだと、本当のAIまでは普通持ってない。

ごく簡単に概念だけ説明すると
1)相手との距離、前に起こした行動やらをもとに「現在の状態」数を作る。
2)「現在の状態」の数だけ「その際取りうる可能性のある行動」テーブルを用意しておく
3)乱数を引いて、「取りうる行動」テーブルから次に取る行動を決める

この「行動」テーブルを
{ぬるい反応...厳しい反応}と並べておいて
「easy」だとなるべく左から「hard」だとなるべく右から取るようにするのが普通
0780名前は開発中のものです。04/07/19 23:46ID:IJbVGYi4
779補足
2D格ゲーあたりで、「very Hard」あたりにすると、
反応自体はエグいけど、案外行動が単調になって読みやすくなったりするのは
テーブルの候補が狭まって、次の行動の候補が限られてくるためだったりする。
078176504/07/19 23:48ID:akKgvtvQ
みなさんありがとうございました。
とりあえず>>779さんの概念を参考に
まず攻略本を買ってきてキャラの動きなどや必勝パターンなど研究し
実際に再度注意しながらスマブラをやって勉強しようと思います
078277004/07/20 00:20ID:mfOQLZ8/
>>777
学習ならパーセプトロンだろうけど、今回はオートマトンっぽい気がする

>>781
スマブラは複雑だからまずは初期の格ゲーから見ていくのがいいと思う
例えばスト2のCPUガイル戦だと

こちらがある程度間合いを取る→ガイルはしゃがむ
├┬→こちらが近づく→ガイルは足払いをする
│└→こちらが近づかない→ガイルはカウントが溜まったらソニックブームを撃つ
│  └→ガイルはソニックブームを撃った後こちらに近づく
└┬→こちらがジャンプで近づく→ガイルはサマーソルトキックで反撃する
 └→こちらがジャンプで近づく→ガイルはカウントが溜まってないのでジャンプキックで反撃する

こんな風な状態遷移をするのよ
>>779の言う「行動テーブル」をガイルの場合で例に表しただけだけどね
0783名前は開発中のものです。04/07/20 00:21ID:mfOQLZ8/
名前消し忘れ・・・スマン
078477904/07/20 00:41ID:jDncQmgy
>>782
補足さんくすこ

研究題材の初期格ゲーだと、スト2はもちろんだが、
案外おすすめなのがスーファミで一杯出たスト2の粗悪コピー系粗製濫造格闘だ。
何とは言わないがあのへんとかこのへんとかなw
クソゲーっぽいのの方が良い、この場合。
なぜかと言うと、テーブル割りが単純なので、素人でも分析しやすいのだわw
0785名前は開発中のものです。04/07/20 09:38ID:TIjHVPPU
>779

これ、うまくやれば学習型にもできるな。
選択肢に用意してない行動は学習できないけど。
0786とむ ◆TOM/oiT7jE 04/07/20 15:19ID:zMYLWV5u
誰かペイペッポオのAAだしてください
0787名前は開発中のものです。04/07/20 18:30ID:CjjqkQkQ
AA板にでも行きやがれ
0788名前は開発中のものです。04/07/20 23:44ID:opbEx0+r
>>785
どんなタイプのAI(GAでもNNでも)を持ってきたとしても
選択肢に存在しない行動は取れないよ。
形はどうあれ、最終的に「ゲーム」という極度に抽象化されたものへのアウトプットが必要だから。
多くの場合には行動に修練度(時間や精度みたいな)的なパラメータを持つ事で、行動の範囲を広げる。
0789名前は開発中のものです。04/07/21 17:03ID:5QCYqUEJ
バーチャファイターは一時期学習機能ついてたけど
あれは確かCPUがレバーを直接入力してたよな。

VF1でアキラの膝をCPUが出すけど、どうやってるのか開発者がわからんかったとか。
0790名前は開発中のものです。04/07/22 21:45ID:z1h/Hfir
質問させて頂きます。
Unix Linuxでゲーム製作している板はございませんか?
0791名前は開発中のものです。04/07/22 21:48ID:dsDe4Hb2
[game] ゲーム on Unix
http://pc5.2ch.net/test/read.cgi/unix/1082601568/
【GBA】Linuxから目覚めるぼくらのゲームボーイ!
http://pc5.2ch.net/test/read.cgi/linux/1070983168/

SLGスレとMMORPGスレでLinux使ってる人がいた
079279004/07/22 22:00ID:z1h/Hfir
どうもありがとうございました。m(_ _)m
0793名前は開発中のものです。04/07/23 21:36ID:7gbUqWWz
んーと、吉里吉里のトランジションルールを作りたいんだが、
問題が一般的すぎるのでここに書きます。

800x600くらいの領域を、ランダムな傾きの直線で一様に埋めたいんだが、
どういう方法が密度バラつきなくできますか?

今やってる方法は、
1) MTで-10000〜9999な乱数を4つ取る
2) 1)を2点の座標とみなし、2点を通る直線を適当に800x600の矩形でクリッピング

これでも結構偏りが出てる気がする。気がするだけかもしれないけど…
なんか定番のやり方とかあったら教えてください。
0794名前は開発中のものです。04/07/23 21:59ID:BeLzsHsh
その画面を何に使うか目的が見えないので(吉里吉里シラネ)、
的外れなのかもしれんけど、
とりあえず乱数で取った点が(800,600)の矩形内だったら、
乱数を引きなおしては?線が短くなって無意味になる時がある気がする。
0795名前は開発中のものです。04/07/23 22:20ID:7gbUqWWz
>>794
目的は、画面フェイドIN/OUTの時に使う定義ファイルで、
スクリーントーンみたいな均一な模様にしたいのです。

アドバイスのとおり、矩形におさまるような点は無視するようにし、
さらに乱数のフィールドを8000x6000にして中央を取るようにしてみたら
大分偏らなくなりました。ありがとうございました。
0796名前は開発中のものです。04/07/24 04:03ID:qEmxnU+2
物体の衝突をテーマにしたゲームの作成について、意見交換とういうか
ブレーンストーミングするスレ立てたいのだけど、これはローカルルール
に違反しないかな?

↓のゲームっぽいもの作成したので、導入としてこれを使うから
単発スレのような感じになってしますから少し無理でしょうか?
http://www.geocities.co.jp/SiliconValley-Bay/4652/balls.htm
http://www.geocities.co.jp/SiliconValley-Bay/4652/cabin.htm
0797名前は開発中のものです。04/07/24 06:20ID:fm3xWK8O
やっぱ単発スレとみなされてしまうのではないでしょうか
↓ここはどうですか?

ゲームのための物理(力学)
http://pc5.2ch.net/test/read.cgi/gamedev/1018255106/
0798名前は開発中のものです。04/07/24 06:23ID:sBREqJXF
>>796
【Collision Detection】
http://pc5.2ch.net/test/read.cgi/gamedev/1015484028/
0799ひろさん ◆EriosvaGhM 04/07/24 06:41ID:1lN+r1r0
         ,r::::::::::::::::::::、:、   / ̄ ̄ ̄ ̄ ̄ ̄ ̄
          |:::∧_∧::::::::|:::|   |
         ⊂(@∀@)つ|:::| <>>1クズ・・・っ!ゴミ・・・っ!
       //(手  塚)//::::!
       |:::|/とヽ ♂ θ|:::| :::/  
    / ̄ ̄旦 ̄ ̄ ̄/|
  /______/ | |
  | |-----------| |

   _
  / /|)
  | ̄|
/ /
080079604/07/24 07:20ID:qEmxnU+2
レスありがとうございますm(_ _)m

むむ、やはり単発スレという感じになってしまいますか。
衝突の手法についてではなく、衝突を使ってどの様なゲームを作成するか
というのを気楽に話し合うスレにしたかったので、物理やコリジョンを扱うスレでは
ないかもです(コーディングについては出来るものとして進める:ちなみに私は
ペナルティ法等知りません^^;)。

すれ立てるとすればもう少し板の雰囲気等も考えてスレ立てることにしますね。
0801名前は開発中のものです。04/07/24 12:02ID:9Bmm6sMI
ネタを出し合うだけなら雑談でもいいし下のでもいいと思う。

アイディアがあるが技術が無いので代わりに作って2
http://pc5.2ch.net/test/read.cgi/gamedev/1027414183/l50
0802名前は開発中のものです。04/07/24 12:30ID:muzUYG7A
DirectXの質問なんですが、
ビルドしてVCから実行するとHALで起動して普通に実行できるのですが、ビルドしたEXEファイルを
直接実行するとREFになっていますみたいなメッセージがでて強制終了します。プロパティをみると
REFになっています。何とかHALで起動して実行させたいのですがどこをいじればよいのでしょうか?

使用ソフトはVisual Stadio AcademicでビデオカードはGeforceFX5200です。
0803名前は開発中のものです。04/07/24 13:03ID:w3BXFz/1
>>802
>どこをいじればよいのでしょうか?
あんたのプログラムのどこか。
0804名前は開発中のものです。04/07/24 17:10ID:deJPmHn6
>>802
こっちで聞きなされ、と誘導してみる

DirectX総合スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/l50
0805名前は開発中のものです。04/07/25 22:42ID:wTIwkwfC
グラフィックやサウンドなど入れとく変数(リソースっていうのかな?)は
普通はローカル変数に入れとくもんですか?それともグローバル変数ですか?
0806名前は開発中のものです。04/07/26 01:53ID:xL5qDpJf
>>805
バッファ
0807名前は開発中のものです。04/07/26 02:37ID:+vmEbW+C
>>805
わたしはstaticな感じのクラスが管理してる。
でもって戻り値にIDを返す。そのIDを指定して描画とかする。
てことで物自体はグローバルな感じ、それにアクセスするためのIDはローカルな感じ。

、、でも私の頭ではその程度しか思い付かないというだけで、普通はもっとかっこいい方法で管理してるのかも。
0808名前は開発中のものです。04/07/26 04:05ID:IvYgsk6a
>>807
staticな感じのクラスってのがよくわからないけど、

とりあえず、全体で同一の実体にアクセスしたいんであれば、
http://www002.upp.so-net.ne.jp/ys_oota/mdp/Singleton/
Singleton パターンを使うのが普通じゃないかな。

グローバルだと実体の所在が把握しづらくなることがあるから止めといた方がいいね。
0809名前は開発中のものです。04/07/26 10:52ID:KAV4hfSh
わたしはスケベチックな感じのクラスが管理してます。
0810名前は開発中のものです。04/07/26 21:43ID:DTawJWmS
3DMMORPGのエミュレートサーバを作るにはどうしたらいいですか?
0811名前は開発中のものです。04/07/26 22:42ID:boyt2ViD
1)
パケットモニター等を使用して、
クライアント上からコマンド(キャラクタ移動等も立派なコマンドだ)を送ってみて、
その際にどのようなパケットが発行され、
サーバからどのようなパケットが帰ってくるかを調査する。
多くの場合暗号化されているだろうから、その暗号解析も必要。
2)
前ステップで得られたパケット情報から、クライアントサーバー間の
プロトコルとネットワーク仕様を推測し、仕様を固める。
3)
前ステップで推測したプロトコル仕様を実現するサーバプログラムを記述する
ここから先は自前でネットゲーを作るときと一緒なので省略。

大まかにはこんなもんだ、
ステップ1とステップ2が終われば80%できたと言ってしまっていいかもしれん。
(ネットゲーサーバ作りで一番大変な「プロトコルとネットコード設計」が終わってるんだから)
0812名前は開発中のものです。04/07/26 22:48ID:MCmYCtp8
>>808
わお、勉強になり舛田。
staticな感じってのは
class hoo
{
static int load(char* fn);
static void draw(int num);
}
て感じのアクセサでhooが実体を一元管理。でもって
int bar = hoo::load("orebaka");
hoo::draw(bar);
て使うものでスタ。漏れ脂肪。。。
■ このスレッドは過去ログ倉庫に格納されています