トップページgamedev
981コメント424KB

ゲームプログラミング相談室【Part6】

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/03/06 01:25ID:d2e/eEyg
ゲームプログラミング全般の質問スレッド。
扱う話題のダイナミックレンジはやや広め。包容力高め。
他の初心者質問スレとの棲み分けを探りつつ
これからもマターリと活用しておくれ。
 
■過去スレ
【Part2】http://pc.2ch.net/tech/kako/985/985540361.html
【Part3】http://pc.2ch.net/tech/kako/1002/10028/1002894129.html
【Part4】http://game.2ch.net/gamedev/kako/1005/10050/1005040025.html
【Part5】http://pc2.2ch.net/test/read.cgi/gamedev/1036410116/
■関連スレなど
>>2-5
040740104/12/17 23:21:22ID:phamhyn5
>>405
細かくやれば、正しく表示は出来ると思うのですが、
セルという概念でデータを管理している以上、
それを生かした表示の仕方が無いかなと。
0408名前は開発中のものです。04/12/17 23:31:34ID:Am+j201E
>>407
じゃぁ、>>402の言うように背景表示してから
キャラ表示すればいいだけの話では?

 / ̄ ̄/
 /   /
/__/こんな風に全ての背景を一気に表示させてから

 / ̄ ̄/
 /('A`)/
/__/キャラを描写して


 / ̄w/
 /('A`)/
/w_/木とか、キャラの上に来るオブジェクトをのっける
040940804/12/17 23:32:15ID:Am+j201E
ズレた・・・しかも判りにくいし・・・・・・・
041040304/12/17 23:44:09ID:tQoXALVp
>>406
>位置を指定して表示する

そういうふうにするなら、移動後の座標を予測して、その通り道のマスだけを描画するってのは?
どのみちマスとマスの中間にキャラを表示するには、
「1マス分を表示する関数」では表現できないから、
複数のマスを>>408みたいに表示する関数を作ればいいんでない。
0411名前は開発中のものです。04/12/17 23:44:56ID:INtctKM+
>>408
たぶんだがそういうことをいっているわけではないかと・・・
だってそれはスプライトのプライオリティの設定だけですむわけだし

どっちにしろ抽象過ぎてどうしたいのかがつたわってこない
041240104/12/17 23:46:18ID:phamhyn5
>>408
もう一度その方法をやってみます。

引き続き、いい方法を見つけた方が居ましたら、教えてください。
0413名前は開発中のものです。04/12/17 23:49:38ID:INtctKM+
そもそも2プレーン+キャラ程度なら速度稼ぐためのせこいことする必要ないんじゃないの?
041440104/12/17 23:53:58ID:phamhyn5
>>410
移動は、半歩ずつとかは無く、1マスごとに飛び飛びに行われます・・。
一マス移動、前のを消す、1マス移動、前のを消すという感じです。

>>411
確かに文章で説明するのは難しいです。
041540104/12/17 23:58:14ID:phamhyn5
>>413
どうなんですかね。確かに見た目で遅いなとは思わなかったですけど。
いい方法が無い場合はそれで行きますが、何かあればいいのですが。
0416名前は開発中のものです。04/12/17 23:59:06ID:d+0PjBV1
補正値でキャラクタをずらして表示できるようにするか
シナリオ進行時は表示ルーチンを別にする

おそらくマップの論理座標x=1,2,3,....というの指定するだけでそれに対応した位置に
表示してくれる便利なルーチンを作ったんだろうが後から小芝居させるときに不便だと
気づいたんじゃないかな。
キャラクタをグラフィックの座標(0-639)で表示できるルーチンを先に作ってそれのラッパーで
論理座標を指定して表示でいるルーチンを作っていればこんなことにならなかったはず
今から作り直すか論理座標に追加でグラフィックの座標で補正できるようにすればいいと思う

>体が千切れて表示されてしまいました。
ここから推測するに1マス作成してから転送してるんだよね?
で、>>408みたいにするのは面倒だから代案を考えてくれと。
だったら影響があるマス全部に個別に対応するしかない
キャラクタが千切れたらその千切れたもう片方が本来あるべきマスに
描けばいい。
0417名前は開発中のものです。04/12/18 00:02:01ID:fcL5sLlu
別に処理が軽い分には、問題ないと思うのだが・・・・・

処理軽ければ派手なエフェクトとかガンガン入れても平気だろうし、
低スペックマシンにも優しいし・・・・・
0418名前は開発中のものです。04/12/18 00:05:48ID:fcL5sLlu
あ、思いついた・・・・

>キャラの立つ位置を変えたり、ダメージを受けた時に吹き飛んだりさせたく、
この処理の時だけ、動いたキャラを表示させないようにして
@から改めて動いたキャラを表示させれば良いんじゃないだろうか

この方法だと、キャラが一番上に表示されてしまうけど・・・・・・
0419名前は開発中のものです。04/12/18 00:14:29ID:aIR3jZyQ
>>417
SLGならフルフレームでなくてもいいだろうし
マップチップが固定されて2プレーン程度であれば
600MHzクラスのCPU+UMAの統合チップセットでも
60fps余裕で出るぞ

ノーウエイトにしてみればわかるがサイズにもよるが200fps余裕でこえるかな
042040104/12/18 00:16:54ID:oq7OWQ9j
連続投稿とか出て書けないです。

>>416
何となく見えてきました。

>おそらくマップの論理座標x=1,2,3,....というの指定するだけで
>それに対応した位置に 表示してくれる便利なルーチンを作ったんだろうが
>後から小芝居させるときに不便だと気づいたんじゃないかな。
まさにです。

>>417
ゲームの制作意欲を残す為に、
常に難しい方法でやるように心がけています。

>>418
グラフィックを綺麗にする為に、マップチップで陸と海の境界線とか、
草と砂の境界線とか、それらを2層目で書くようにし出したんですけど、
足の位置にその境界線が来てしまって、草か水かどこに居るのか分かりにくくなり、
キャラの位置を全体的に上にずらそうと思いこれをやろうと思ったので、
常にやることになります。ダメージを受けた時はその方法でいけますが。
0421名前は開発中のものです。04/12/18 00:19:25ID:nY+nxo0b
>>418
最後にソートすりゃいいんじゃね?
もしDirectX使ってるならrhwを指定するだけでいいだろうし
SDLならレイヤーに対応してたはず

でもそんな小細工できるならこんな質問しないよな_| ̄|○

>>419
環境がわからんから皆ツッコミが甘くなってるだけじゃないかと・・・・
GDIで>>401の方法だと40FPS出ればいいほうだろ
042240104/12/18 00:26:47ID:oq7OWQ9j
>>416
>影響があるマス全部に個別に対応するしかない
まさにここだと思うんですよね。
ずらして書いた後、そこの上に地形を書いたために千切れてしまったり、
逆にマスに上書きしたつもりが、キャラがずれている分消せなかったり。

>>419>>421
fpsの事を教えてください。調べてみると
「動画のなめらかさを表す指標。1秒間に何枚の画像を表示しているかを示す。」
らしいのですが。

ちなみに、C言語、SDKウィンドウズアプリ、イベントトリブン方式
で製作していて、フィールドのサイズは、13X13です。
042340104/12/18 00:38:29ID:oq7OWQ9j
かなりいろんな意見が聞けて勉強になりました。
それらを参考にもう一度やってみます。
うまく行きましたら、ご報告します。
みなさま、ありがとうございました。
0424名前は開発中のものです。04/12/18 01:09:32ID:aIR3jZyQ
>>421
DirectDrawでのbltを基準にして考えていた
だからRiva128以降で16bppなら余裕かと思っていたが
GDIでも同じね
DDB使えばDirectDrawより早い

>>422
あーfpsわからないか
その考え方で合っているんだが、ゲームはWinのイベントドリブンで
考えるのはよしたほうがいいぞ
メインループでがりがり毎回描画するアクション系の考え方で
そのなかで独自のイベントを作っていったほうが・・・

どっかにSTGとかならメインルーチンの雛形ころがっているはずだから
それ参考にしてみるといいよ
0425名前は開発中のものです。04/12/18 02:23:17ID:fcL5sLlu
('д`)ノ<先生、質問です

DxInputでパッドの入力処理を製作してるんですが、
bool型で各ボタンの状況を判断する方法以外で、何か良い方法は無いでしょうか?
042640104/12/18 05:54:22ID:oq7OWQ9j
1マスの全てを表示するのを全体に行うというのを、
地形を全体に、移動範囲を全体に、キャラを全体に、に変えました。

後の処理のやり方としては、キャラがずれてかかった分のマスをチェックして、
その分も追加して表示する、という案を使うと思います。
やり方は単純ですが、ずれチェックがかなり難しそうです。

ひとまず眠いので寝ますが、今日中に出来ると思います。

>>424
僕のやり方は、基本はメッセージループなんですが、
メインループの見易さ、細かさも取り入れたやり方をしています。

メッセージだと、その時に関係ないルーチンに当たったり、
グローバル変数だらけになったりして、メインだと、やや重くなりますが、
そこを両方とも解決できないかと編み出しました。
当然、アクション系では使いにくいやり方なのですが。
0427名前は開発中のものです。04/12/18 16:20:14ID:nRcDUE9K
>>425
意味がわからんが、
ゲーム的には、
・押した瞬間かどうか: bool
・離された瞬間かどうか: bool
・押してからどれだけたったか: int
も実装しておくとらくだが
042840104/12/18 20:45:34ID:oq7OWQ9j
ずれチェックがどうしても重くなってしまいました。
仰っていた通り、全部表示してしまった方が効率がよさそうです。
通常時はずれられないようにして、スクロールの時とかには、
高速の従来バージョンで表示できるようにし、
戦闘など特別な時にのみずれられるようにします。

しかし、まだ問題がありました。
キャラの足が地形の境界線に掛かり、どの属性の地形にいるか分かりにくい事です。
そもそも、キャラの位置を全体的に上にずらして、境界線が絶対こない所に
足の位置が来るようにしようと思い、この質問をしていたのですが、
先ほど結論に達した、通常時はずらさないに反してしまいます。

解決方法として、一番楽な、その部分には目を瞑る方法、
少ないずれチェックで済む、上にだけずれている時の表示関数を作る方法、
ずれている時も全表示でなく位置を指定して表示できる、
ずれ方を半マスに限定して、キャラを半マスずつ表示する方法を思いつきましたが、
逆に位置関係が分かりにくいなどの弊害が起こる事も考えて、
一番楽な、目を瞑る方法で行きたいと思います。

ここらの部分を納得して先に進むことが出来ます。
みなさま、ありがとうございました。
0429名前は開発中のものです。04/12/18 21:09:54ID:fcL5sLlu
>>427
成るほど!

じゃぁ、そのやり方で構造体作り直してみます!
ありがとうございます〜
0430名前は開発中のものです。04/12/18 21:13:56ID:aIR3jZyQ
ようはハイドライドの森みたいな描画やりたいわけね
あんなの速度的にも軽い軽い
8bitマシンでさくさく動いていたし、ノーウエイトにすると早すぎたしね
内部の作りはSTGと同じにしていたとか聞いたことがある希ガス

半キャラ単位で描画してもいいし、Y軸基準で描画してもいい
あの程度でいいのなら100MHzでもさくさくかも
043140104/12/18 22:04:34ID:oq7OWQ9j
>>430
やった事がないのですが、このゲームですか?
スクショが乗っていて、何か見た事があるゲームではあるんですけど。
http://www2.plala.or.jp/yasinoue/oldgame/hyd1_1.html
0432名前は開発中のものです。04/12/18 22:17:10ID:q7rx8BU3
>431
うわ、懐かしい
漏れがやったのはファミコン版のハイドライドスペシャルだけど
0433名前は開発中のものです。04/12/18 22:37:17ID:BHPEV/eq
>>425
列挙子で

FREE 押されてない
PUSH 押した
PULL 放した
HOLD 押しっぱなし

を作って分類すると楽かも。
043442504/12/18 22:46:42ID:fcL5sLlu
>>433
早速その方法も試してみます〜
0435名前は開発中のものです。04/12/19 06:16:39ID:DRqhJ+eh
スミマセン
D3DXMATRIXで、左右反転させるような関数って無いですか?
0436名前は開発中のものです。04/12/19 06:27:39ID:DRqhJ+eh
スミマセン

D3DXMatrixRotationYで180°指定してやったらできますた

もうちょっと自分で確かめてから質問するようにします・・・・・・
スミマセン
0437名前は開発中のものです。04/12/19 09:51:38ID:K0ZRB1bT
質問系のスレッドで質問させていただいたのですか、運悪くご返答を頂けなかったので
このスレッドで質問させてください。

今開発されてるスクウェア・エニックスのファイナルファンタジー12って
技術的にはかなり凄いんですか?
もぐりでも頑張ればグラフィック以外は再現できるレベル?
なんか戦闘がリアルタイムで、しかも地形の形状を戦闘に利用できて
かつ主人公以外は完全に自動で行動させられるらしいですけど。
プログラムの中さえ分かれば、自分でもどうにか再現できるレベルなのか。
皆さんはどう思っておられますか。
0438名前は開発中のものです。04/12/19 10:08:28ID:7IrxQaSK
>437
プログラムわかんない人に説明すると長くなるので短く漏れの意見
設計はすごくしっかりしてるんじゃないかと思う
0439名前は開発中のものです。04/12/19 10:33:30ID:bc/DHSmt
ttp://moon.cyberfront.co.jp/title/pc/halflife2/
ここのムービー見れ。

最高峰の物理エンジンとAI使ってるから。
FF12?ナニソレ?ってくらい凄いよ。

漏れはFPS系酔うから買ってないけど、
友人宅で見た時は鳥肌立った。
0440名前は開発中のものです。04/12/19 11:04:56ID:WMy/66MH
>>439
Half-life2は2.4GHzのメモリ256M、VRAM32M以上レベルの高性能であのグラフィック。
FF12はCeleron300MHz、メモリ32M、VRAM8M相当の低性能であのグラフィック。

…釣られた?w
0441名前は開発中のものです。04/12/19 11:13:00ID:7IrxQaSK
グラフィックはプログラムだけじゃ語れないからね
FFのテクスチャのクオリティはすごいと思うよ
小さくて制限の多いなかで、すごくいい仕事してると思う
素人さんはそれにだまされて「PCでFF以上のグラフィックって難しいですよね」
とか言いはじめるくらいだから
少し脳内補間が効いてるっぽいところもあるけど
多分>437もその口
0442名前は開発中のものです。04/12/19 11:13:24ID:2VUgMi4z
>>440
グラボでいうと
Radeon最新とRivaTNTだからな。
0443名前は開発中のものです。04/12/19 11:25:18ID:VXomDsbq
>>437
FF12のゲームシステムをツクールで再現したいという話か?
0444名も無き冒険者04/12/19 11:43:55ID:bc/DHSmt
>>440
アルゴリズムの話に何でグラフィックやらハードの差が出てくるんだ?


・・・あ、釣られた?w
0445名前は開発中のものです。04/12/19 11:50:22ID:bc/DHSmt
名前間違えた('A`)

つまり、>>437の言う

戦闘がリアルタイムで、しかも地形の形状を戦闘に利用できて
かつ主人公以外は完全に自動で行動させられる

システムなんてそんな敷居の高いものじゃないから、頑張れば
それなりのものは出来るんじゃね?
0446名前は開発中のものです。04/12/19 12:12:07ID:WMy/66MH
>>444
じゃあお前、アルゴリズムさえ知っていたらPC98やX68000時代のマシンでHalf-life2やFF12を実装できるってのか?
…あれ?釣られた?w

俺が言ってるのは

>最高峰の物理エンジンとAI使ってるから。
>FF12?ナニソレ?ってくらい凄いよ。

Half-life2もFF12も似たり寄ったり、どっちも限られた環境を追求してあのグラフィックを作ってるんだから比べられるもんじゃないって事だよ。
0447名前は開発中のものです。04/12/19 12:30:09ID:bc/DHSmt
>>446
>>437がグラフィック以外はって書いてるのに何でグラフィックの話持ち出すんだ?
あくまでアルゴリズムの話だぞ。

喪前さんは、ゲーム全体の話をしてるようだが・・・

0448名前は開発中のものです。04/12/19 15:24:24ID:DRqhJ+eh
>>446
釣りだと思うけど、十分いけると思うぞ
と書き込みそうになったorz

確かにグラフィックが無理だし、物理エンジンも走るかどうか微妙だな・・・・・
スマソ吊ってくる
0449名前は開発中のものです。04/12/19 15:33:27ID:DRqhJ+eh
マジレスすると>>437の言ってる事は
アルゴリズムが理解できて
尚且つ数学も理解できて無いと_

でも技術的には
結構ありふれた物使ってるのじゃないかと思われ
0450名前は開発中のものです。04/12/19 15:37:31ID:WMy/66MH
>>447
話題が二転三転してないか?
お前が>>439で書いてるのはほとんどグラフィック関係だけじゃん。

物理エンジンはグラフィックに関係してないのか?
アクションゲームのAIをロールプレイングゲームのAIと比べられるのか?

俺が突っ込んでるのは「PCとPS2でそもそもジャンルが違うHalf-life2とFF12を比べられるわけないだろ、釣りか?」
って事なんだが。

お前にとってHalf-life2のアルゴリズムはFF12より凄いらしいが、真・三国無双と初代ドラクエだとどっちのアルゴリズムが凄いの?w
0451名前は開発中のものです。04/12/19 15:56:57ID:DRqhJ+eh
>>437
連レスだけど・・・・・・
モグリじゃ再現はまず不可能
モグリでも再現できるようなら、
同人ゲームでそういった3Dをバリバリ動かすようなゲームが溢れてるはず

グラ関係等での制約もあるんだろうけど、
今の所そこまで高度な処理をするようなゲームは殆どない

こんな回答で良いのだろうか?
0452名前は開発中のものです。04/12/19 16:23:23ID:yaeQpsCQ
前線に出たがるタムリン(ヒーラー)
0453名前は開発中のものです。04/12/19 17:25:18ID:bc/DHSmt
>>450
はいはい、クマ-(AA略

アルゴリズムって言葉を調べてね。
0454名前は開発中のものです。04/12/19 18:31:41ID:bc/DHSmt
あー。公式のムービーはプロモーションか。


ttp://www.4gamer.net/store/movie/HALFLIFE2_E3_2003.lzh

こっちを見ればわかるだろ。
0455名前は開発中のものです。04/12/19 19:02:26ID:P175sgFg
国内だと低スペックの奴が、文句言いまくるからなぁ。
3Dですら、連中にとっては高スペックらしい。
0456名前は開発中のものです。04/12/19 19:36:37ID:WMy/66MH
>>453-454
池沼か?
>>437はそもそもFF12がグラフィック以外なら素人に作れる物なのかを聞いてるのに、何でHalf-life2が話題に出てくる?
全く関係無いだろ?
0457名前は開発中のものです。04/12/19 20:02:30ID:bc/DHSmt
>>456
読解力ってものが無いのか?

>>437
戦闘がリアルタイムで、しかも地形の形状を戦闘に利用できて
かつ主人公以外は完全に自動で行動させられる
技術が凄いのか?って聞いてるんだろ。

だから参考にするならHalf-Lifeを見ろと言ったわけ。


おまいさんは、ただFF12をけなされたと勘違いして脊椎反射で噛み付いてるだけじゃないか。

そりゃ総合的に見ればはFF12もかなり凄いって事くらい解るよ。
0458名前は開発中のものです。04/12/19 20:27:21ID:yaeQpsCQ
既存のゲームの名前を出さずに考えるとどーなん?
0459名前は開発中のものです。04/12/19 20:31:14ID:4xsPTOj3
ピンキリじゃないかね。
地形を戦闘に利用することが出来るようにすること自体は
そんな難しくないだろうけど、それを使ってゲームを面白くするシステムを考える方が難しい。

自動行動だって簡単な物はすぐ出来るだろうけど、「頭がいい」って言えるような
学習も備えたやつを作ろうとすると多少手間がかかる。
0460名前は開発中のものです。04/12/19 21:03:48ID:P175sgFg
シミュレーションだけど、PC-88時代から大戦略などで地形を戦闘に利用することは出来た。
RPGでは英雄伝説のAIは、敵のHP情報などを使用して、割と頭の良い行動が出来た。

>>459の「学習を含めた」、というのは恐らくないだろうから(保存メディアの必要領域が
大きくなるから)、そんなに高度なものは作られていないと思う。
0461名前は開発中のものです。04/12/19 21:16:32ID:+EamBMW/
>>460
以前どこかのRTSがやってたと記憶するんだが、
現在の状況を元に次の行動を決定する過程で
パーセプトロンと同じモデルを使っていれば
記憶に使う容量は学習が進んでも増える事はない(重みが変わるだけ)し、
SLGの分野では(類似した物が)そこそこ使われてる気がする
0462名前は開発中のものです。04/12/19 21:24:33ID:P175sgFg
へー、凄いなぁ。
勉強になります。
0463名前は開発中のものです。04/12/20 00:43:20ID:rMlKdZvO
何故にパーセプトロン限定、相互結合型も入れておいて下さい(A`)
てかNNがゲームに使われてるなんて話聞いたこと無いんだが、本当なの?
本当ならすげー嬉しい。
0464名前は開発中のものです。04/12/20 00:53:06ID:rMlKdZvO
なぜにパーセプトロン限定?
あとNNをゲームに使ってるなんて話は聞いたこと無いんだけど、それ本当?
知ってたらネットワーク構造とかも含めて教えてホスィ(A`)
0465名前は開発中のものです。04/12/20 00:54:11ID:rMlKdZvO
書き込みミスってたかと思ってたら出来てた。。。
0466名前は開発中のものです。04/12/20 00:58:26ID:7rZTeKhR
研究目的に作られたゲームならいくつか見たことあるけど
商用ゲームに使われてる事例は知らないし、
さすがにまだないんじゃないか?
0467名前は開発中のものです。04/12/20 01:01:51ID:7rZTeKhR
ごめん、調べてみたらあったわ
Renderware A.I.にニューラルネットマネージャがあるね。
曰く

「ニューラルネットワークは、一般に予測、分類、データの関連付け、概念化、およびフィルタリングに使
用される、高性能な統計分析データ構造」

実際に使った事例があるかどうかは知らないけど…
0468名前は開発中のものです。04/12/20 01:38:22ID:NwRcaupm
わおほんとだ。ありがと。
事例はともかく、ミドルウェアに一応置いておく位には使えるのか。

涙が出そう。NNって完全に窓際族扱いで。。
0469名前は開発中のものです。04/12/20 03:11:33ID:cqrg6fzo
NNってそんなにマイナーじゃないんでは?
Gems2の3.14にはColin McRae Rally2.0では多層パーセプトロンをつかってるって記述があった。
0470名前は開発中のものです。04/12/20 03:24:30ID:tkuWKnTl
パターン認識の分野ではSVMやらが脚光を浴びてNNはもうブームが去った感じもしてしまうけど
ゲームの分野ではまだまだ未開拓に近いのでは<NN
0471名前は開発中のものです。04/12/20 15:35:20ID:hImEK0ED
VC6にて、海賊をモチーフにした2Dな全方位シューティングゲームを製作しています。
現在、背景にポリゴンを用いて海面の揺れ処理を表現しているのですが
このコードでは、なんというか・・動きが変なんです。

gameFunctions.cpp内DrawSea関数で波の動きを制御しています。
ここの伝播処理部分にもっと施すことがあるだろうとは思うのですが、
具体的にどうすれば良いのかが、恥ずかしながら分かりません。

参考になるウェブサイトや、アドバイスなどを頂けたらと思います。
よろしくお願いいたします。

http://prisira.s59.xrea.com/20041219.zip
0472名前は開発中のものです。04/12/21 00:02:34ID:KKJvDASb
>471
だから動作環境ぐらい書け
0473名前は開発中のものです。04/12/21 00:23:26ID:YOOEfiig
>>471
そのままでも結構上手く動いてると思うけどね。
とことん凝るなら波動方程式で検索してみるといいよ。
0474名前は開発中のものです。04/12/21 00:27:21ID:w8c1Lm3U
>>473
いやこれはマズいだろ。
一見動いてるように見えるけど、たまたま波の伝搬で誤差を打ち消し合ってるだけで
伝搬をさせないとエネルギーの誤差が蓄積してどんどん振幅が増して大変なことになる罠
波動方程式に基づいて計算するのが無難かと
0475名前は開発中のものです。04/12/21 00:31:11ID:9lMiERGt
波動砲丁式
0476名前は開発中のものです。04/12/21 01:37:47ID:sch2axpx
>>472
すいません、動作環境ってどれを書けば良いんでしょうか?
とりあえず使用しているDirectXSDKは9.0です。

>>473-474
御助言ありがとうございます。
波動方程式について調べてみたのですが、
数式では私には大変難しくよく理解ができませんでした。

それから色々ググっていたら、恐らく私が目指すべきに近いと思われるjavaアプレットを見つけました。
http://hp.vector.co.jp/authors/VA012735/applet/dropimg.htm
しかも大変ありがたいことにソースも公開されていました。
しばらくこのソースと睨めっこして、波動をマスターしたいと思います。

・・・これも何だか難しいですね。
0477名前は開発中のものです。04/12/22 09:45:46ID:vEPXp48K
>>471のソースをコンパイルしてみると、sprite.cppのBeginSprite()で、
”error C2660: 'Begin' : 関数が不正な 0 個の実引数をともなって呼び出されました。 ”
というエラーが出る。
ちなみにVC++6.0、DirectX9.0 2004(October)
ヘルプを見ても HRESULT Begin(VOID);だし、引数はいらないように思うのですが。

d3dx9core.hを見ると、
DECLARE_ID3DXSprite_(ID3DXSprite, IUnknown)の中身が、
STDMETHOD(Begin)(THIS_ DWORD Flags) PURE; となっていた。
同じくd3dx8core.hでは、
STDMETHOD(Begin)(THIS) PURE; となっていた。
とりあえず、引数に0を入れてみるとコンパイルは通りましたが・・・。

みなさんはそのままでコンパイルが通ったようなので、どういった環境の違いに
よるものか悩んでいます。とりとめもなく書きましたが、何かわかる方、ご教授ください。
お願いします。
0478名前は開発中のものです。04/12/22 14:41:37ID:quiBQpLd
SDK付属の英語の Document(Help) 読んでるか?
日本語Help って 9.0 と 2004(December) しか無かったような

対応したバーションの Help 読んでるなら
コードを書いた奴の環境とバーションが違っているんだろ
0479名前は開発中のものです。04/12/22 18:58:33ID:JZkoDinq
>>478
×2004(December)
○2004(October)

ちなみにmsdnじゃOctber 2004って綴り間違えてる
             ↑
0480名前は開発中のものです。04/12/22 21:59:05ID:VEp0024I
SRPGを作っているのですが質問です。
オーソドックスな視点の2Dのゲームなんですが、
このタイプで高さを表現する良い方法はないでしょうか。

それを行う為に、今マップの坂を、以下の絵の様に、草、茂み等の下地の地形に、
崖の絵を合成する形で表示しているのですが、余りしっくり来ません。
http://gamdev.org/up/img/2160.png
(http://hp.vector.co.jp/authors/VA020046/
のMACKさん作の素材で、それを少し改変しています)

下地の地形をベースに、影の付け方を変えて坂を表現するという方法を
考えましたが、そういう素材は見つからず、
下地を取り込むと、坂を自動的に作ってくれるツールがあるのかもしれませんが、
グラフィックに詳しくなく見つけられませんでした。

これに沿った方法で、または別の方法で、
高さを表現する方法がありましたら教えてください。
0481名前は開発中のものです。04/12/22 22:35:59ID:qTuprgSw
ゼルダの伝説 神々のトライフォース
ttp://www.nintendo.co.jp/nom/9811/p04/zelda031.jpg
が参考になるかも。
048248004/12/22 22:49:44ID:VEp0024I
>>481
ありがとうございます。参考にさせていただきます。
自分もゲームでそういうのが使われていないか攻略本を見て探したんですけど、
ドラクエ6、ツクール4に少しあるぐらいでなかなかないんですよね。
048348004/12/23 00:24:56ID:zeGMsZ0H
もう一度ググって見た所、もこもこペイントというのを
見つけましたがこれでいけそうです。ありがとうございました。
0484名前は開発中のものです。04/12/23 01:31:56ID:vYKn4Xgr
>>478,479
旧バージョンのヘルプを見てしまっていました。
あらためて2004(October)のヘルプで確認し、納得できました。
ありがとうございました。
0485名前は開発中のものです。04/12/23 14:33:36ID:R6w3o4WD
>>425

enum{
BUTTON_A = 0x00000001,
BUTTON_B = 0x00000004,
BUTTON_C = 0x00000008,
BUTTON_X = 0x00000010,
BUTTON_Y = 0x00000020,
BUTTON_Z = 0x00000040,
BUTTON_L = 0x00000080,
BUTTON_R = 0x00000100,
KEY_UP = 0x00000200,
KEY_DOWN = 0x00000400,
KEY_LEFT = 0x00000800,
KEY_RIGHT = 0x00001000
};

これをDWORD型変数にOR演算でセット。
AND演算を使って判定。

以前の入力が欲しい時はDWORD型配列にする。

僕が以前格闘ゲームを作成したときに使用した方法です。
0486名前は開発中のものです。04/12/23 14:59:30ID:rYMlNBD2
トリガーキーとかいう言葉すら知らないんだろうな。
0487名前は開発中のものです。04/12/26 18:12:17ID:xK7O99x1
ゲーム作るならDirectX勉強しろーみたいなこと言われたのですが、
PSとかPS2,game cubeのソフトは、DirectXなるものが使われているんでしょうか?
0488名前は開発中のものです。04/12/26 18:29:15ID:JxCJBP69
>>487
コンシューマでDirectX使ってるのはXBOXだけ
0489名前は開発中のものです。04/12/26 19:23:21ID:z6k4KEYj
>>487
それを言ったのは誰だ?
WindowsやXBOXのプログラマが言ったならともかく、PS2やGCのプログラマに言われたなら軽くあしらわれてるぞw
0490名前は開発中のものです。04/12/26 19:27:18ID:U7hutUIm
(Windowsで)ゲーム作るならDirectX勉強しろー
0491名前は開発中のものです。04/12/26 21:10:46ID:PcH7Hb9Y
>487
まぁあながち間違いではない
右も左も2Dも3Dもその他もろもろもわからない香具師はとりあえずDirectXでも勉強しとけ
DirectXを通してグラフィックハードウェアがどういうものなのか知ることもできるし
3Dの勉強もできるし
ただDirectXにはD3DX系なんかの便利な関数やクラスの中身を
まったく理解せず使ってたらだめだろうな

プロットフォームが変われば使用するライブラリも変わるが、
しっかりとした知識を持っていればすぐ対応できる

逆にライブラリが変わったくらいで、すぐに対応できないような香具師は現場では使えない


049248704/12/27 14:22:37ID:c4eg2dH6
DirectXにしろPS、DCにしろ、言語はC++ですよね?
なんか、いまはC#だとか言ってるんですが。。。
0493名前は開発中のものです。04/12/27 15:16:06ID:DotxQdES
とりあえずC/C++やっとけ
それが出来ればC#もあまり苦労せずに出来るようになるから。
(逆は案外難しい)
0494名前は開発中のものです。04/12/27 16:44:29ID:FkSCbusX
案外というか、C#はいろんな機能提供してくれるからC#から入ると自分で
基本的な部分の仕組みを作る、というか考えるということが出来ない気がするなぁ。
0495名前は開発中のものです。04/12/27 18:05:01ID:+zVJFTQh
>>492
あー、そいつ典型的なWindows専門プログラマだよ。
エロゲの会社にでも勤めてる奴?
XBOX2以降だったらC#が使えるようになるかも知れんが…
0496名前は開発中のものです。04/12/27 18:13:48ID:PyUvd91V
ガベージコレクタだとか実行時型判定だとか、
最近の言語はプログラマの負担を減らす代わりに
CPUの負担を増やしてるからゲームには不向きだなぁ
0497名前は開発中のものです。04/12/27 18:37:27ID:7gyZFTAp
動作速度はゲームの種類によりけりだけど、
わざわざランタイムを入れてもらわなければ動かないという方が致命的。
0498名前は開発中のものです。04/12/27 19:54:05ID:VQkgEWr2
>>497
DirectXだって、ランタイム入れてもらわなきゃならんだろw
0499名前は開発中のものです。04/12/27 19:57:07ID:P9U2f31C
2重のランタイムってのが許せない
0500名前は開発中のものです。04/12/27 20:15:49ID:+zVJFTQh
このゲームをプレイするには拡張の周辺機器を買わなければなりませんよりはマシだけどな。
0501名前は開発中のものです。04/12/28 04:21:29ID:eZh/IZfo
バージョン別ランタイムの普及率が知りたい・・・・
0502名前は開発中のものです。04/12/29 21:26:24ID:y6PUZTMC
>>477
ID3DXSpriteインターフェースがDirectX9の前期と後期で変わってるっぽい
BeginのほかにDrawも変更食らってるのを確認済み
ID3DXSpriteインターフェース使って2Dライブラリ組んでた俺としては最新版は使えねぇ・・・
拡大縮小や回転が使えなくなっててもう最悪だった
2D作るのに気軽に使える環境を返してくれYO!
あと同じメジャーバージョンなのにインターフェース変えるなYO!
0503名前は開発中のものです。04/12/29 22:33:22ID:QlZN4+1J
ライバルがいないから、仕様変え放題やりたい放題だ。
0504名前は開発中のものです。04/12/30 00:08:24ID:KnybJ9RY
>>502
だから、拡大縮小回転は使えるって
全部Matrixで指定しる
0505名前は開発中のものです。05/01/07 21:15:47ID:PnxhwrgV
質問質問。
今、2Dのアクションゲーム作ってるんだけど、
オブジェクト(敵や特別な地形)とオブジェクトとの当たり判定っていつやればいいの?

今は水平方向に動かすときと、垂直方向に動かすときにそれぞれ全オブジェクトとの当たり判定やってます。
ちゃんと動くけど無駄が多すぎな気がする・・・
0506名前は開発中のものです。05/01/08 00:24:20ID:Mfb5U7xY
普通は、動かす動かさずに関わらずに毎フレームチェックするものだと思いますが。
■ このスレッドは過去ログ倉庫に格納されています