トップページ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
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
普通は、動かす動かさずに関わらずに毎フレームチェックするものだと思いますが。
0507名前は開発中のものです。05/01/09 14:51:26ID:vGUkFhnG
>505
比較的軽い計算で、これは絶対に当たっていないって条件が判定できるものは判定する
ってやってるとは思うけど一応
0508名前は開発中のものです。05/01/09 16:01:21ID:8Mf88qbF
>>505
Quad Tree
Oct Tree
050950505/01/10 03:04:03ID:pQUwlE+5
>>506
すいませんすいません、毎フレームごとにチェックはしてます。
ただ、その1フレームの中でさらに二回やっているんです。
具体的には、オブジェクトAがあって、
A.x += velX
って感じの水平方向の移動後と、
A.y += velY
って感じの垂直方向の移動後。
他オブジェクトと当たっていた場合は位置補正してます。

>>505
・・・やってないかもしれない。
矩形での当たり判定のみなのでこれが一番軽いかな、と手抜きを(汗
X座標やY座標でソートして明らかに外れているオブジェクト達との
判定はしないようにしたんだけど、オブジェクトの数が少ないと
かえって時間がかかっちゃいまして。。。

>>505
8分木は名前だけ知ってたけど、4分木は初めてです。
8分木の2次元版?って感じですか、どうやら。
どう実装すればいいのかよくわかりませんが、これをキーワードにちょっと
調べてみようと思います。

みなさんありがとう!
0510名前は開発中のものです。05/01/14 03:51:03ID:i3bZFA1f
アクションRPG作ろうと思っているんですが
敵の思考ルーチンをプログラムする際に
参考になりそうなおすすめサイトがあれば教えてください。
0511名前は開発中のものです。05/01/15 00:22:48ID:Q+iKu070
>510
サイトじゃなくて書籍だけど
「定本 Cプログラマのためのアルゴリズムとデータ構造」
0512名前は開発中のものです。05/01/15 00:27:16ID:rN3ku86Q
>>510
サイトじゃなくて書籍だけど
「ゲーム開発者のためのAI入門」

A*ならgamdev wikiにもあったような・・・・
0513名前は開発中のものです。05/01/16 22:59:35ID:CY/+3klI
2次元配列をゼロクリアしたいのですが簡単な方法ないですか?
今はfor分の二重ループで1つずつ代入しています
使用環境はVC++です
0514名前は開発中のものです。05/01/16 23:01:24ID:NpLjrdXw
memset
0515名前は開発中のものです。05/01/16 23:23:24ID:CY/+3klI
>>514
うまくいきました。ありがとうございます。

使用前
  for (int i=0; i<3; i++)
  {
    for (int j=0; j<3; j++)
    {
      map[i][j]=0;
    }
  }

使用後
memset(map, 0, sizeof(int)*9);
0516名前は開発中のものです。05/01/16 23:26:51ID:IXkeSk7x
sizeof(map)じゃダメ?
0517名前は開発中のものです。05/01/16 23:42:36ID:CY/+3klI
>>516
なるほど!全体を指定してしまったほうが手っ取り早いですね。
うまくいきました。ありがとうございます。

改良後
memset(map, 0, sizeof(map));
0518名前は開発中のものです。05/01/17 02:12:10ID:Q4YWdrDN
なんか、ほほえましいな。自分が若かった頃を思い出す。
>>513は、もっとガンガレ!!
0519名前は開発中のものです。05/01/17 02:42:31ID:jWBtbAdV
callocって無かった?
0520名前は開発中のものです。05/01/17 07:52:36ID:6lEx3rdP
ZeroMemory(map, sizeof(map));

でもいいね。
0521名前は開発中のものです。05/01/18 01:05:52ID:7XkOXKh6
忘れるな。
memset は string.h
ZeroMemory は windows.h
0522名前は開発中のものです。05/01/19 16:17:57ID:ZQyRJ79S
むしろZeroMemoryは中身memset
0523名前は開発中のものです。05/01/19 18:28:10ID:aRH3B+4H
さらにインライン展開されて、関数を呼ばずにストリング転送に変換される。
0524名前は開発中のものです。05/01/23 04:37:44ID:LheYkhaz
なんかこんなのあったけど

http://www.microsoft.com/japan/msdn/library/ja/jpdncode/htm/secure10102002.asp
052552405/01/23 04:52:12ID:LheYkhaz
なんか違ってた
0526名前は開発中のものです。05/01/28 12:13:19ID:7PgE831H
ファミコンのラディア戦記みたいなアクションRPGを作りたいけど
イベントの処理やデータの管理(セーブ機能をつけたい)などを
どう実現していいやら検討も付きません。
どこかに参考になりそうなソース付きのアクションRPGをDL出来るところは無いでしょうか?
ちなみにVC++とDirectXで作っててキャラ&敵の表示、あたり判定、攻撃、マップの移動などは出来てます。
0527名前は開発中のものです。05/01/28 17:50:53ID:IiB3r9BB
>>526
暗号化と、バイナリモードのファイル入出力を習得すればできる
大事なのは考えることだ
0528名前は開発中のものです。05/01/28 18:07:56ID:DhbqYSB9
別に暗号化する必要もないし、バイナリファイルである必要もない。
大事なのは「他人にいじられないようにする」という勝手な用件を脳内で作らないことだ。
0529名前は開発中のものです。05/01/28 19:29:59ID:IiB3r9BB
>>528
よく意味がわからないんだが、どういうことだ?
0530名前は開発中のものです。05/01/28 20:52:13ID:KA8jG9qB
イベントもセーブもどう弄られ様とかまわねーっつーことじゃないの?
弄られることで自分が不利益被らないなら、どーなっても良いんじゃないのかな。

大事なのは考えることだ
だけど、余計なことは考えなくて良い
0531名前は開発中のものです。05/01/28 21:19:33ID:ZJQyR3uN
>>526
イベントが発生する時は、何かしらのアクションやシグナルがあるから、
それらをifやswitchとかで監視する。(他にも方法はあるだろうけど)
ボスが死んだらイベントが発生する、とか色々イベントを試していれば、おのずと形が見えてくると思う。
まぁ俺の言ってることは>>527、530と一緒で、とにかく試行錯誤したほうがいいよw
0532名前は開発中のものです。05/01/29 03:56:50ID:hwmUiymu
>>526
何が分からないのかよく分からないからもっと具体的な質問をしてみな。
データセーブはファイルの入出力さえできれば簡単だろ。どこができないの?

イベントについては、最高の理想を言えば、ごちゃごちゃプログラムで泥縄式に
作るするんじゃなくて、シナリオ記述言語(スクリプト)みたいなのを自分で
勝手に考えて創って、それを読み進めるプログラム(=ゲームプログラム)を
作る…という感じにすると美しいぞ。
0533名前は開発中のものです。05/01/29 06:10:59ID:dcHY39ty
>>526
>勝手に考えて創って、それを読み進めるプログラム(=ゲームプログラム)を
>作る…という感じにすると美しいぞ。

多分、526にはその技術が無いから、想像もできんのだよ。
イベントは、まず、イベントマップというのを作る。
これは、画面を表示するマップに重なっているイメージだ。
そんで、そのイベントマップに、イベント番号などを記録する。
すると、マップの。X=5.Y=6の地点で、イベントマップにイベント番号があれば、そこでイベント発生だ。
イベントは、メインルーチンと並列に実行されるようにせねばならない。
たとえば、勝手に上に歩いて、キャラクタが「勝手に足が動いたんだ」というセリフを出すイベントだとしたら、
その歩いてるときにも、ゲームの全体の進行を止めてはならない。
053452605/01/29 09:16:02ID:7YDq9IjJ
お返事ありがとうございます。

データの管理:まとめてメモリを確保して、セーブが必要なデータはそのメモリを使う。セーブする場合はそのメモリを保存する。
イベントの管理:イベントのデータが入ったファイルを用意して必要なイベントファイルを読み込んでおき、そのデータに応じて処理をする。

書き込む前に色々調べて上記のような処理で実現するのがいいんじゃないかとは思ったのですが、
教材になりそうなプログラムやサイトが見つからないのでここに書き込みをしました。
質問べたですみません。

シナリオ記述言語(スクリプト)をつくる技術はありませんが、イベントマップ方式?はできそうです。
イベントマップとはRPGツクールのイベント処理と同じ考え方ですよね。
体験版があるみたいなのでちょっといじってみようと思います。
0535名前は開発中のものです。05/02/07 22:00:54ID:lJKKg9iL
クイックセーブ(何処でもセーブ)ができるシステム組むのって大変だよね。
でもこれが作れたらかなりの腕だと思うよ。
0536名前は開発中のものです。05/02/10 07:15:16ID:wT+Y0IFB
>>535
場合によるだろ。
はじめからあらかじめ計画してあって
プレイヤーが今そこにいるための情報がすべてまとまっていれば
ファイルに書き込むだけで終わりだろ。

逆に何も考えずにただゲームを作った後で
どこでもセーブしたいとかいいだしたら地獄絵図だが。

システム組むのって大変だよね。
じゃなくてちゃんと計画できてなきゃそもそも不可能であってやるべきじゃねーことだろ。
0537名前は開発中のものです。05/02/10 15:17:17ID:pqZJazXR
これが正解

大規模なシステム組むのって大変だよね。
作れたらかなりの腕だと思うよ。
■ このスレッドは過去ログ倉庫に格納されています