ゲームプログラミング相談室[2]

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ゲームプログラム技術についての質問スレです

前スレ
http://piza.2ch.net/test/read.cgi?bbs=tech&key=969984472

DirectX関連はこちらのスレもあります
http://piza.2ch.net/test/read.cgi?bbs=tech&key=966655286
リフレッシュレートに関するものはこちら
http://piza.2ch.net/test/read.cgi?bbs=tech&key=972165437
2デフォルトの名無しさん:2001/03/26(月) 02:27
向こうにもレスしちまったが、これじゃダメなん?

#define FRAME_INTERVAL 16;

bool isLooping = true;
DWORD gate_time = 0; // 1回目は問答無用で更新

MSG msg;
while(isLooping)
{
 DWORD tick = timeGetTime();
 if( PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) )
 {
  if(msg.message == WM_QUIT)
   break;
  TranslateMessage(&msg);
  DispatchMessage(&msg);
 }
 else
 {
  if(tick > gate_time)
  {
   tick(); // 更新
   gate_time = tick + FRAME_INTERVAL;
  }
  RenderVisuals(); // 描画
 }
}

3デフォルトの名無しさん:2001/03/26(月) 03:56
フリーソフトのゲームかな。
こんなところばかりこだわってゲームの中身を作らず、
ぽしゃるプロジェクトが多いんだろうな、という例でしたね。
4デフォルトの名無しさん:2001/03/26(月) 04:01
tickが重なってる、、、鬱だ。
tick_timeにでもしておいてくれ
5デフォルトの名無しさん:2001/03/26(月) 04:06
俺だったらゲームのメインルーチンはノーウエイトでグルグル回して
描画を1/60秒おきに更新するよう作る。
6この業界から逃出した男:2001/03/26(月) 04:36
>>4
RenderVisuals()
でやってる内容がどうかで決まりますよ たぶん。
tick();
で、キャラクターの移動をやってるなら、
プログラム的には問題ないでしょうけど、たぶん。
(約 1/60 で「キャラクター」が動いてるようになる)

キャラ移動、レンダー、待ち ってのが私のゲームプログラム
方法だから。
やっぱ、移動計算、レンダー って順番で繰り返したいんですよ。

レンダーを二回やって、移動計算とやるのなら
計算二回、レンダー2回やって行きたいと。
(ただ、VGAが遅すぎる物を使っているからってのも有るけど)

勘違いだったらすまぬ。

>>5
もしかして、WM_TIMER とか 1/60で発生させるような作り方ですか?
グルグル回すって、描画前にいったい何回の処理をしているのか
気になったものですから。

7デフォルトの名無しさん:2001/03/26(月) 05:15
>>3
同意。プロが作るゲームだってそんなの厳密になんか
やってないのに、素人程度でこんなの頑張ったって少しだって
ゲームに反映することはありえない。それに2,4,5,6が今
話してる内容はリフレッシュレートスレにさらに追求した形が
書いてあったはず。理論をプログラムに直せないなら厨房決定。
己等の腕じゃこんなことにこだわってる場合じゃない。
あと話すにしても垂直同期を考慮する場合としない場合とで
大きく話がかわる。少なくともそれをハッキリしろ。
84:2001/03/26(月) 06:36
いや、あのね、確か1の要求が更新を1/60でやって、
描画だけガンガンまわしたいって事だと受け取ったからああ書いただけで。
俺はもうちょっと別な方法使ってるよ。

いわゆるdtを掛けてやるやつね。

>もしかして、WM_TIMER とか 1/60で発生させるような作り方ですか?

Flipを使用すれば、そこで自動的にウェイトが入る(はず)から、
プログラム側でわざわざタイミングを取る必要が無いってことでしょ。
移動処理はdt掛けてやるから、描画が一回間に合わなくても、
補正されるし。
94:2001/03/26(月) 06:50
>>7
前スレから読み進んでください。
俺はリフレッシュレートスレよんでたし、一応あそこ参考に実装しました。
しかし、今回1の出してきた情報はメッセージループ部だけで、
環境(DirextX,GDI,OpenGL)についての情報はまったく無かったし、
どうしようもないのですがね。

しかも前スレ886あたり意味不明で、描画処理は連続で呼び出されるけど、
更新あたりが不明で、880を参考に1/60で座標更新したいんだな、とおもったわけで。

まぁ、厨房呼ばわりするならそれでも良いけど、
>理論をプログラムに直せないなら厨房決定。
主語が不明で理解できないね。
10デフォルトの名無しさん:2001/03/26(月) 08:15
>>9
それはどうでもいいけど邪魔だからここでやんなよ。
やっぱりどう考えてもこの内容はこっち↓の方がふさわしいだろう

リフレッシュレートに関するものはこちら
http://piza.2ch.net/test/read.cgi?bbs=tech&key=972165437

これからこの話題はこっち↑でね。
114:2001/03/26(月) 08:39
>>10
だから、リフレッシュレートなんて関係ないんだって。
1はそんなことまで考えてないよ
12吾輩は名無しさんである:2001/03/26(月) 11:37
あっちはリフレッシュレートのみならず
ゲームループ全般の話だから、やっぱあちらだと思うナリが。
13この業界から逃出した男:2001/03/26(月) 13:55
>>4
なるほど、了解。
読違いすまねー

>>11 >>12
とりあえず、メインループ聞かれたから答えたんですよ。
これ以上最適化したいと思うのなら、別の板に行ってくださいと
言う感じで。
14デフォルトの名無しさん:2001/03/30(金) 10:36
みなさん、PCゲームでの最低動作環境ってどれくらいに設定されてます?

とりあえず、オレの場合。
Pentium200MHz以上。ゲームパッド必須。
自力描画系。アクションゲーム。
15デフォルトの名無しさん:2001/03/30(金) 10:58
最低も、「○○で絶対60FPS出す」も考えない。
ただしフレームレートはスケーラブル。
>http://piza.2ch.net/test/read.cgi?bbs=tech&key=972165437のAタイプ

快適動作の推奨。市販で発売は1年後(?)
Pen3 700MHz, HwTnL有り。
16デフォルトの名無しさん:2001/03/30(金) 11:01
メーカー製の市販の最低線あたりを推奨にしてます。
いまだとセレロン500〜あたり。
1714:2001/03/30(金) 13:29
あー、なるほど。
最低環境でなく推奨環境を示しておくわけですな。
つかAタイプだとまさにそうしないといけませんね・・・。

うちはB-1タイプでして。
推奨環境でいくと、Pen2 300MHzくらいかなー。
あと、低解像度対応のビデオカード(藁
18吾輩は名無しさんである:2001/03/30(金) 13:38
吾輩はCeleronの300MHzを対象にしておる。
300Aお買い得〜ってことで、このライン近辺で
マシン買い替えor組み替えた趣味人が多いであろうことを考慮してのもの。
19デフォルトの名無しさん:2001/03/30(金) 14:26
俺のマシン=推奨環境
20デフォルトの名無しさん:2001/03/30(金) 20:41
>>19
フリーだとそうだよね。大概。
で、リフレッシュレート非固定で補間処理だけやっとくと。
21デフォルトの名無しさん:2001/04/07(土) 07:10
下がってるのでage。
22デフォルトの名無しさん:2001/04/11(水) 14:51
エーと、単語について教えてください。

V-Syncっていうのは、ディスプレイの電子銃が上から下まで行ってまた上に戻ってくるまでの時間、
V-Brancっていうのは、V-Syncの中の、電子銃が上に戻ってくる時のかかる時間

で合ってますか?
23デフォルトの名無しさん:2001/04/11(水) 14:52
まちがってsageちゃったんでage!
24デフォルトの名無しさん:2001/04/11(水) 15:57
>>22
V-Blank?
25デフォルトの名無しさん:2001/04/12(木) 18:56
>>22
V-Syncてのは時間の事ではないのでは?
V-BlankはV-Blank (Time)の事だとは思いますが。

V-Syncは信号の名前だと思うんですが、詳しい人plz
26デフォルトの名無しさん:2001/04/12(木) 23:27
>>22
電子銃が下まで行ったあと、上に戻ってくるまでの時間が垂直帰線期間(vertical blanking time)
電子銃が上に戻ってきた瞬間のタイミングを提供するのが垂直同期信号(vertical synchronization)
27デフォルトの名無しさん:2001/04/14(土) 04:58
C言語のhello worldからはじめて
DOSでテトリス程度のゲーム作りたいのですが
初心者用参考書でいいのありますか?
28デフォルトの名無しさん:2001/04/14(土) 09:13
hello, worldが終わってないのに質問する時点でアウト
29デフォルトの名無しさん:2001/04/14(土) 10:24
俺もそー思う。
30デフォルトの名無しさん:2001/04/14(土) 10:32
>>27
あおりっぽく見えるかもしれないけど、28,29はマジレスだと思われ。
hello, worldが出来てからまた聞きにこようね。
31この業界から逃げ出した男:2001/04/14(土) 14:47
えーと、最近 3D に手を出したのですが、
正直、脳みそが足りないのか 剛体力学について、なんか
判ったような判らないようなそんな感じです。

ゲームに使える剛体力学って感じで、「日本語」でわかりやすい
Webか本など有りましたら教えていただきたいのですが。

どうか、よろしくお願いします。m()m
32デフォルトの名無しさん:2001/04/14(土) 15:50
http://www.cim.pe.u-tokyo.ac.jp/~kawachi/thesis/mthesis_kawachi.pdf
こんな有名なのはとっくにチェック済みっすかね。
33この業界から逃げ出した男:2001/04/14(土) 17:20
>>32
この人のページは何回も言った記憶があるのに、見つけられなかった...

ありがとうございます。
助かります〜。
34デフォルトの名無しさん:2001/04/14(土) 23:15
今んとこゲームでの力学シミュ考えると、ペナルティ法が楽なのかなあ。
35デフォルトの名無しさん:2001/04/15(日) 03:24
>>14
>Pentium200MHz以上。ゲームパッド必須。

ゲームパッド対応ならともかく、必須はマズイんじゃないか?
PCユーザーでパッド持ってる奴ってそうそういない。
市販のゲームでもほとんどマウス・キーボード操作でしょ。
36デフォルトの名無しさん:2001/04/15(日) 03:44
キーボード操作といえば……
大抵のキーボードで、3つ以上のキー同時に押すとうまく効かない場合が多いッスけど
この法則、なんか分からないッスかね?

手元にある106と112で全然違うし、
Javaアプレット作って店のPCからいろいろ試してもやっぱり違うし。
37デフォルトの名無しさん:2001/04/15(日) 03:53
>>36
それは安物キーボードだからでわ?
38デフォルトの名無しさん:2001/04/15(日) 04:31
>>36
組み合わせで、データ量を減らしているんだよ。あんまり同じ押しを
多用するゲームもどうかとおもうよ。SHIFTとCTRLとALT
あたりは同時押しでも大丈夫そうだけど。
キーカスタマイズもつけてみては?
3914:2001/04/15(日) 09:00
>>35
ども。いいところ突っ込んでくれました。
うちは、アーケードとかコンシューマのノリでアクション系を作ってるんでどうしてもそうなってまうんです。
パッドでのボタンの機能と配置を考慮して作ってるんで、
キーボードでやってほしくないというのがあって必須と言っています。
# もちろん説明書には推奨ボタン配置みたいのを書いてます。
とは言え、キーボードもデフォルトで対応してますけどね。

そこまで考えてるならアーケードとかコンシューマで作れよ、とかよく周りに言われてます(藁

40デフォルトの名無しさん:2001/04/15(日) 09:01
>>36
PC98だと3つ以上同時押しOKですな
41デフォルトの名無しさん:2001/04/15(日) 13:10
>>36
キーボードを分解して中のLSIの種類をみれば分かるかも。
42デフォルトの名無しさん:2001/04/15(日) 17:58
>>37
高いキーボードなら大丈夫なの?
43デフォルトの名無しさん:2001/04/16(月) 00:56
線分と円の交差判定式を教えておくれ。
レベル低い質問でスマン
44デフォルトの名無しさん:2001/04/16(月) 02:09
Z,Xあたりのキーを使ってると、同時押しが認識されない
組み合わせが出てきちゃう。だからCtrl、Shiftにしようね。
45デフォルトの名無しさん:2001/04/16(月) 02:16
うん、三つまでということは無いみたいよ。特定の組み合わせが駄目みたい。
漏れのきぼは¥2000の安もんだけど、←+↓+Z+Xの同時押しをちゃんと認識してたよ。
46デフォルトの名無しさん:2001/04/16(月) 02:17
>>43
2D、3Dどっち?
4743:2001/04/16(月) 02:26
まずは2Dでお願いします。
最終的には3Dで円筒と円筒の交差判定やってみたい。
(バーチャファイターで使ってるらしい)
48デフォルトの名無しさん:2001/04/16(月) 04:34
>>47
円は真円ということで。
交差判定だけなら、点と直線の距離を求め、その距離が円の半径以下なら交差していると言えます。
で、点から直線におろした垂線との交点が線分上にあれば、その線分と円は交差していると言えます。

円の中心点の座標をpとして直線のベクトル式を(P,V)(線分をx0→x1とするとPはx0Vはx1-x0)
とすると点から直線におろした垂線との交点qは
q = P + ((-P・V + P・V) / (|V|^2))V (・は内積)
垂線の足qが求まったので、点pと直線(P,V)の距離は
|q-p|
これが円の半径以下なら円の線分は交差している可能性がある。
あとは点qが線分の範囲内にあるか判定するだけ。
(x1-x0)・(q-x0) > 0 && |V| >= |q-x0|

間違ってたらすまそ……

>最終的には3Dで円筒と円筒の交差判定やってみたい。
>(バーチャファイターで使ってるらしい)
円筒よりもカプセルのほうが良いとおもわれ。カプセルというのは半径と線分のデータを持ったもの。
両端が円でキャップされてる円筒との判定はちょっと複雑で重いし、あたり判定に使うには向いて無い。
49デフォルトの名無しさん:2001/04/16(月) 04:41
カプセルなら線と線の距離を求めるやり方で、あとは上の円との交差判定と
同じような感じで出来るよ。
50デフォルトの名無しさん:2001/04/16(月) 05:57
>>44
CtrlとShiftあたりが一番安全なのは確かだけども(元々同時押しするキーだしねえ)
やっぱりカーソルorテンキーと3つ押し効かないケースそこそこあるっす。
わりかし頭遺体
51デフォルトの名無しさん:2001/04/16(月) 11:08
点と直線の距離の方程式
AH^2 = (ax1+by1+c)^2 / (a^2 + b^2)
52デフォルトの名無しさん:2001/04/16(月) 11:11
あ、有限直線なら48の言うように、
回転した方がいいな。
53デフォルトの名無しさん:2001/04/16(月) 11:47
つーかイイページがあった。
ttp://ahirujigen.hoops.ne.jp/d3dtip02.htm

3Dのコリジョンデータは線分と半径を持った「カプセル体」(実はドリキャスのライブラリがこの形式を使ってる)
で持つようにして、カプセル同士の接触判定は線分同士の距離を求めて、その距離がお互いの半径の合計と同じか、
それ以下だったら、接触。
まず例によって2直線間の距離と垂線との交点を求めて、交点が線分上にあるかどうかなどをチェックして、最終的
に2線分間の距離を出す。
54デフォルトの名無しさん:2001/04/17(火) 01:23
ああ、ごめんまちがってた。
48で書いた線分と円の交差判定だけど、これも「線分と中心点」の距離を求めないと。
垂線との交点qが線分上に無かった場合は、線分の端点のうち交点qに近いほうと中心点との
距離を求める。それが半径以下なら接触。
5543:2001/04/17(火) 01:27
うーん、思っていたより難しい…鬱。
交点の求め方すらよく分からないよ。
とにかく算数の本片手に頑張ってみます。
レスサンキュー。

Dreamcastってコリジョンチェック用のライブラリがあるんですか。
羨ましいな。
56デフォルトの名無しさん:2001/04/17(火) 04:28
以前似たような質問があったときは自分でヤレとさんざん
叩かれていたがずいぶんヤワになったものだ>all
57デフォルトの名無しさん:2001/04/18(水) 01:45
普通真っ先に思いつくのは、円の式と直線の式の連立方程式の解を求めて
交点を求めて……っていう回り道することにならないか?楕円じゃなけりゃ
そんな必要無いのに。
こう言う些細な知識も「車輪の再発明」という無駄を省くためにもシェアして
いきたいなぁと思うんだけど。

つーか上のやり方より効率の良いアルゴリズム無いかなぁ……
5843:2001/04/21(土) 01:07
外積・内積の概念がよくわからないよ〜。
2本のベクトルを(x0,y0,z0)(x1,y1,z1)とすると、

内積 = x0*x1 + y0*y1 + z0*z1

外積
x = y0*z1 - z0*y1
y = z0*x1 - x0*z1
z = x0*y1 - y0*x1

なぜこうなるのか分からん!
理屈は置いといて、使い方を考えるだけでいいのかな?
59デフォルトの名無しさん:2001/04/21(土) 04:29
どうしてそうなるのかもなにも、それが内積と外積の定義です。
内積とか外積というものが先にあって、その求め方がこうです、では無く、
ベクトル同士の位置関係を計算するのに便利なこの式を内積・外積と呼びましょう、
というだけのことです。

内積はベクトルのなす角度、外積は面の方向を出すためのものと覚えておけば十分です。
60デフォルトの名無しさん:2001/04/21(土) 20:10
>>58
外積は面積、内積は体積って考えればOK
座標系の変換は内積を使って座標軸に沿った長さを計算しているとも言える
外積参考ページ
http://member.nifty.ne.jp/Mukai/javacrs.htm
61デフォルトの名無しさん:2001/05/05(土) 03:11
DirectXのヘルプから抜粋
>Microsoft® Direct3D® の優れたパフォーマンスを実現するための鍵となるの
>は、ワールド内のオブジェクトを収める信頼性あるデータベースを構築すること
>である。これはラスタ化やハードウェアの改善より重要なことである。
なるなる。
でも具体的にはどうしたらいい?おせーて!
62デフォルトの名無しさん:2001/05/05(土) 04:48
>>61
データベース構築による具体的なメリットを述べよ。
ちゃんと書けたら教えてやらないでもないでもない。
63デフォルトの名無しさん:2001/05/05(土) 05:08
>>61
テケトーにハッシュとリストで管理したらいんじゃないの?
SQLみたいじゃ遅くてしょうがないし。
よく知らないからツッコミ歓迎。
6461:2001/05/05(土) 05:53
とりあえず思いつくメリットとしては、すでに同じ物を読みこんでいるんなら
それを再利用する、ってのが自然に出来るって事ですか。
とりあえず今はstringがキーのmapで実装してて、テクスチャだったら
ファイル名がそのまんまキー値って感じでやってるんですけど、マテリアル
ソートの事考えるとそんな単純なもんで良いのかなぁ、と。
あ、あと参照カウンタはつけました(藁
う〜ん、しなきゃ逝けないことってそんだけ?
65デフォルトの名無しさん:2001/05/05(土) 17:45
自前のタスク処理(システムに依存しない)で
強力(個々のタスク専用の記憶域が確保でき、
配列並みの速度で読み書きできる)
かつ奇麗(メモリ制限のない、GCを必要としない)
かつシンプル(出来れば言語処理系を作るまではしない。
仮想機械程度なら、まあOK)
な方法ってないですか?

特に"奇麗"という事にこだわってます。
個々のタスクにレジスタやらスタックやらとして
ほにゃららバイトを固定して割り当てる、なんていうのは
簡単なんだけど、そこにメモリの制限が出てきてイヤ。

いろいろ探したけど、なかなか見つからない・・・
ンナモン、アルワケナイカ
66デフォルトの名無しさん:2001/05/05(土) 21:11
メモリ制限が無いってあんた、システム依存以前に物理的に不可能だ。
6765:2001/05/05(土) 22:47
>>66
何も積んである以上のメモリがほしいって訳じゃなくて・・・
要するにスタックみたいに必要に応じて拡張できればよいって話。
68デフォルトの名無しさん:2001/05/06(日) 02:33
ゲーム屋が言う所のタスク処理ですよね?たいていのことは「アクタークラス」とか
呼ばれている仕組みで十分間に合うと思うけど。
とにかく1ループ毎に特定のメンバメソッドが呼ばれるんだから、その中で描画処理を
まったくせずに、何かの待ち行列の内容だけチェックしたりとかしても構わないわけで
すし。メモリの確保もその中でしちゃえば良いだけですし。
もし、処理の単位が1ループ毎になるのが気に入らないのだとすると、1タスク1スレ
ッドにするか、スクリプト言語+仮想マシンってことになっちゃうけど、前者は非現実
的、後者は手間がかかるし処理が重い。
# 3Dゲームエンジンのランタイムデータベースの構築法の話しをもっとしたいのだけ
# ど……新スレ立てたほうが良いのでしょうか?
69デフォルトの名無しさん:2001/05/06(日) 06:25
>>68
興味あるので新スレきぼーん
よろしくお願いします
70デフォルトの名無しさん:2001/05/06(日) 07:38
>>68
メチャメチャ興味ありまする。
71mario:2001/05/06(日) 11:34
今日、マリオカートをやってて思ったのですが、ああいったレースゲームのように
自機は傾いたり回転するだけで周りの画面が迫ってくることで実際に走ってるように
見せたい場合、周りの風景はどうやってコースに合わせて描画させたらいいんでしょうか
72デフォルトの名無しさん:2001/05/06(日) 13:39
>71
試行錯誤でパラメータ決める
73デフォルトの名無しさん:2001/05/06(日) 13:41
ビューを切り替えてるだけだろ。
74デフォルトの名無しさん:2001/05/07(月) 03:45
・2Dソフトウエアレンダリング(自力描画)
ってどのような感じでやっています?
私は、バックサーフェスのVRAM(システムメモリ)ロックして
直接、データを書きこんでいますが、
フルスクリーンは普通なのに
ウインドウモードで、半透明描画やると、重くなるのです。
なぜでしょうか?
AGPボードで、サーフェスはシステムメモリにいれています。
なんか違う方法ではやいっていうのがあったら教えてください。
DOSは勘弁。
7574:2001/05/07(月) 03:47
>AGPボードで、サーフェスはシステムメモリにいれています。
PCIバスボードでシステムメモリやったら、
なんかおそくなったし。
訳わからんです。
メモリに関しても教えて欲しいです
76駄レス御免:2001/05/07(月) 05:35
>74
自力描画のシステムでスピードは重要なんですか?
77デフォルトの名無しさん:2001/05/07(月) 06:48
>>74
えーとわりきって全部、DIBSectionで全部メインメモリ(システムメモリ)に確保するとなかなかよいです。
いわゆる、最終的にウインドウか、サーフェスだかにBltするときだけハードウェアを頼る形です。
よほど遅いマシンでない限り(MMXなにそれ?AGPなにそれ?みたいなマシン)、
フルスクリーンだろうが、ウインドウモードだろうがほとんど速度はかわらなくなります。


この板にはソフトレンダ経験者が何人もいることがわかってるので
もっと有用なレスつけてくれる人を期待しよう(藁
78デフォルトの名無しさん:2001/05/09(水) 01:27
256色で半透明って、足し算した先のパレット番号に合成した色を入れておく方法しかないんですか?
これでやると半透明の物が2つ重なった時の処理が面倒なんですが。
DirectX的に何か上手くやってくれる方法はありますか?
7978:2001/05/09(水) 01:32
あ、今はDIBSection使っています。
何か便利なやり方があるならDirectXを使おうと思っています。
80デフォルトの名無しさん:2001/05/09(水) 01:45
>>78
点滅させる。
81デフォルトの名無しさん:2001/05/09(水) 06:28
まともなものを作ろうと思ったら変換テーブルしかないよ。
「合成した結果の色を256色の中の最も近い色に置き換える」ってこと。
リアルタイムで検索したら実用にならないので、変換テーブルを作っておく。
DirectXのサポートはまったく無い。

参考
CreatureJungle16 AlphaLib http://tko-ta.hoops.ne.jp/
とびでばいん体験版 http://www.scarecrow.co.jp/main.htm
YsII ETERNAL 市販。256色エフェクトの最高峰。
8281:2001/05/09(水) 08:11
>81
CreatureJungle16は違った。CreatureJungle256なんだけど、
なかった。すまん
8377:2001/05/09(水) 08:56
うちのところもも81の方法でやってるヨ
8478:2001/05/09(水) 20:17
ありがとうです。

ハイカラーの変換テーブルのサイズの大きさにビビってたけど、上手く出来そうです。
って、320*240 より小さいんですね。
点滅は… 最後の手段として…(笑
85デフォルトの名無しさん:2001/05/09(水) 20:22
っていうか、今時ニゴロはないだろ。
86デフォルトの名無しさん:2001/05/09(水) 21:56
2Dゲーだと256でも十分な場合がある。
そういえばこの前、ドッターさんに256色は多すぎと言われたぞ(w
87デフォルトの名無しさん:2001/05/09(水) 21:57
高FPSだと点滅はかなり有効な手段だよ。
コンシュマー系のゲームでもよく使われてたよ。
8874:2001/05/10(木) 06:49
どうもです。
とりあえず、DIB使って比較してみます。
私は現在16bitColor使用していますが
とびでばいん体験版
見て、640x480に近い描画(Ysは、ゲーム画面が小さい)が
300Mhzでも動くので256Colorやって見ようかなと。
半透明濃度を変えてるのは、やっぱり
その濃度分のテーブル持ってるのかしら。64K*8段階とか
89デフォルトの名無しさん:2001/05/10(木) 11:29
>>81
YsIIEternalって256色だったの?
信じられん…。256色でマジであんな美しいエフェクトがかけられるのか?
9077:2001/05/10(木) 12:36
>>88
うちは強引に8段階分テーブルもってやったぞ(w

ちなみに、CreatureJungle256だと違う方法でやってた。
確かRGBで計算して擬似パレットテーブルでパレットインデックスに変換してやってた。
処理速度はかかるかもしれないけれど、濃度は細かく指定できるっぽい。
ソースが公開されてるはずだから参考にするといいよ。
91デフォルトの名無しさん:2001/05/11(金) 20:41
プログラミングではないのですが、RPGの戦闘バランス調整は
どのように行うのが効率がいいのでしょうか?
完成品を遊びこんで直す以前にダメージなどの算出公式を作るのに
良い方法はありますか?
良い方法があれば教えてください。
92デフォルトの名無しさん:2001/05/12(土) 01:08
ありません。
93デフォルトの名無しさん:2001/05/12(土) 02:13
>>91
ダメージ算出式を作る良い方法など無いが、その式が妥当かどうかは
大体計算でわかるだろ。
このスレ読むより確率統計の教科書読みな。
94デフォルトの名無しさん:2001/05/15(火) 06:52
>>77
>最終的にウインドウか、サーフェスだかにBltするときだけハードウェアを頼る形
って、BitBltでいいのですか?これは、ハードウエア使うのですか?
詳しいこと聞きたいです。
95sage:2001/05/15(火) 19:53
>>94
DirectX に blt が有るよ。
96:2001/05/16(水) 13:32
BASICで簡単に作れる「クイズゲーム」はC言語でも造れるんですか?また造る場合
どのくらいのプログラムの量になりますか?BASICの構造は理解できるけど、C言語の構造
は理解できん。
97債務不履行の名無しさん:2001/05/16(水) 14:16
>>96
スレ違いじゃ。

>>95
94氏じゃないけどDirectDrawのBltってDirectDrawSurface間だけでは?
77氏の方法はシステムメモリ上のBitmapをDirectDrawSurfaceのDCを取得し、
Win32APIのBitBltで転送すると思ってたんだけど違う?

今ちょうどDirectDrawに手を出しててその部分で悩んでるんですが…
よく聞く手法だけどパフォーマンスが心配。(特にWin2000とか)

沈み気味なんでage
98債務不履行の名無しさん:2001/05/16(水) 14:18
>>96
スマン、スレ合ってる。
鬱氏DirectXと間違えてた。逝くよ…
99デフォルトの名無しさん:2001/05/16(水) 16:46
>BASICで簡単に作れる「クイズゲーム」はC言語でも造れるんですか?
Cでも簡単に作れます。

>また造る場合 どのくらいのプログラムの量になりますか?
実装の方法によって違います。
凝った事をすればそれだけプログラム量は増えます。

>BASICの構造は理解できるけど、C言語の構造は理解できん。
俺はBASIC知らんのでノーコメント。
10077:2001/05/16(水) 17:33
自分のライブラリではフルスクリーン時、最終的に
・DirectDrawのSurfaceに描画後Flipするか
・ウインドウ(ハンドル)に直接描画するか
を選べるようにしています。

前者だと
 1.あらかじめ、DirectDrawのプライマリSurface、バックSurfaceを生成しておく
 2.システムメモリに確保したオフスクリーンにゴリゴリ描く
 3.バックSurfaceのDCをゲット、そのDCにBitBlt
 4.Flip
となります。利点は、FlipでVSyncを待つことでちらつきが少なくなること。かな?

後者だと
 1.システムメモリに確保したオフスクリーンにゴリゴリ描く
 2.ウインドウハンドルからDCをゲット、そのDCにBitBlt
となり、DirectDrawSurfaceは一切つかいません。
# やむを得ず、フルスクリーンにするためにDirectDrawは生成しますが
かなーり、古いマシンだと前者より早いです(藁
注意点は、8bitモードの場合、256色フルに使えないことです。

いまどきのマシンだと、フルスクリーン環境で後者を選ぶ意味はないと思います。
ちなみに、ウインドウ時は後者オンリーです。
10177:2001/05/16(水) 17:36
あやういところは、バシバシ突っ込んでやってください。
あと、もっといい方法があると思うんで他のソフトレンダ系の人の意見も聞きたいです。

81にも出てるけど、Ysってスゴスギ。どうやってんだろ。
10297:2001/05/16(水) 21:21
>>100

やっぱBitBltですよね。となると95はデムパ?
私が以前書いたライブラリは完全にDirectDrawを排除した後者のタイプ。
解像度変更だけにDirectXってのも変かな?と
しかしこれに飽きていっちょシューティングでも作ろうかと思い立ってDirectXに手を出しててます。
でもSystem上のBitmapからSurfaceへの転送じゃぁこの手の動きのあるゲームに使えんのかいな?と、ちと疑問。
エロゲならともかく、アクション系でこの手法は無理では?
103デフォルトの名無しさん:2001/05/16(水) 21:26
>>102
アクションだと厳しかろう
10495:2001/05/16(水) 22:54
>>102
電波男です。
BitBlt自体、DirectXで使用するのは、
Drawで作成したサーフェースにロードしたイメージ等を貼付けるとき
しか使わないから。

DirectX でシステムメモリサーフェース作って、
そこで直接書換えで、blt使えば良いんじゃないの。
ビット毎に書換えたいエフェクトなど有る場合は。

ただのスプライトなら、普通に抜き色指定出来るから
VRAM to VRAM でやった方が早いからね。

ゴメンな電波で。
鬱だ死のう
−−−−−−−−−
       ||
     Λ||Λ
    ( / ⌒ヽ
     | |   |
     ∪ / ノ
      | ||
      ∪∪
10597:2001/05/16(水) 23:38
本当にマジでスマン。
俺もコレ↓よくわかってなかった。

>DirectX でシステムメモリサーフェース作って、

ハナシの流れからすると”システムメモリサーフェース”ってのはCreateDIBSectionとかで作った
単なるHBITMAPオブジェクトの事で、転送はBitBltを使ったデバイスコンテキスト経由じゃネーノって思ってた。
でも調べたらDirectXドキュメントにちゃんと書いてあったヨ。

・ディスプレイ・メモリが消費された場合や明示的にリクエストされた場合、システム・メモリにも存在することが可能である。
・DirectDrawは、このサーフェスをディスプレイ・メモリに作成する。しかしディスプレイ・メモリに入りきらない場合には、サーフェスはシステム・メモリに作成される。 このときDDSCAPS 構造体のdwCapsメンバ には、サーフェスをシステム・メモリで作成しなければならない場合にはDDSCAPS_SYSTEMMEMORYフラグを、ディスプレイ・メモリで作成しなければならない場合にはDDSCAPS_VIDEOMEMORY フラグを、それぞれ使用する。指定した場所にサーフェスを作成できない場合は、エラーが返される。

↑コレの事だったのね。当社比120%で無知な俺が悪い。
かなり鬱だ。
後を追うから涅槃で待って。
−−−−−−−−−
       ||
     Λ||Λ
    ( / ⌒ヽ
     | |   |
     ∪ / ノ
      | ||
      ∪∪
10677:2001/05/17(木) 00:05
>>102
爆速ではないけどそこそこスピードはだせるんで、
3Dでないならアクション系でもなんとかなりますよん。
107デフォルトの名無しさん:2001/05/17(木) 01:51
>>106
それこそ、最近の速いマシンなら十分ですね。
ビデオカードの個体差をまったく無視できるから、結構イイかも。
10877:2001/05/17(木) 05:47
>>107
いまどきそれくらいですね、利点は(w
加算合成やらスプライト変形やらもDirect3Dで代用できる時代ですし。
10995:2001/05/17(木) 15:03
>>105
それの事です。
>>108
もうそろそろ、3D扱えないグラフィックボード完全無視
ジーフォース必須でも問題ないですよね。
110デフォルトの名無しさん:2001/05/17(木) 16:17
>>109
日本でゲーム作ってる限りノートユーザーは無視できないよ

まあ、彼らに氏んで欲しいのはおおむね同意ではあるのだが…
11195:2001/05/17(木) 17:50
>>110
ノートパソコンで3D扱ったゲームをやるという根性が
既に納得できない…
せめて、マニュアルに
「ノートパソコンは、仕事で使う為の物です、ゲームには対応していません」
とか書きたい。
…ウツ
11277:2001/05/17(木) 19:55
ですよねえ。ノートパソコンで3Dゲームできないって文句言うなって。まったく。

とかいいつつ、オレの開発環境ノートだったり。鬱氏。
113デフォルトの名無しさん:2001/05/19(土) 02:34
nage♪

----------------------
題目: アニメーション作成に特化したプログラミング言語と開発ツール

概要:

ゲーム等、アニメーションを扱うプログラムを開発するにあたり重要な要素として多数のオブジェクトを並行的に処理する、画面のレイアウトを行う、画像や音データ(リソース)を管理するといったものがあげられる。これらの作業を積極的に支援する開発環境Tonyu Systemを作成した。Tonyu Systemは、プログラミング言語Tonyuとそれをもちいたアプリケーション開発ツールからなる。

Tonyuの処理系は、各オブジェクトに最低1つのスレッドを割り当てオブジェクトの振る舞いを個別に定義できる。各スレッドは仮想機械上で実行されOSのスレッドを用いた場合より少ないリソース量で並行処理を再現する。一方、開発ツールを用いることにより、各オブジェクトを視覚的に配置することが可能である。Delphi,JBuilder等のRADツールではGUI部品の視覚的な編集が可能であったが、Tonyu Systemは、これをアニメーションにおけるオブジェクトに対して行える。

また、このシステムは、多くユーザに積極的に開発をしてもらうための仕組みを提供する。作成したアプリケーションは実行可能形式で配布可能だが、同時にソースコードを埋め込み、他の人による改変を許可することが必須となっている。

-
東京大学情報基盤センター 田中哲朗
http://www.tanaka.ecc.u-tokyo.ac.jp/~ktanaka/
114デフォルトの名無しさん:2001/05/19(土) 03:29
デスクトップでもまともな3Dビデオカード載ってるとは限らないんぢゃあ。
11595:2001/05/19(土) 07:42
>>114
そう言う人は、
「あなたのディスクトップは3Dに対応していません、VGAをパワーアップした後、
再度挑戦してください」
とマニュアルに書きたい。

ジーフォース以上必須と書くつもりですし。

PS.
DirectX8を今日触ったのですが、
Direct3DSurface8のDCを手に入れる方法が判りませんでした。
よって、DIBからそのままサーフェースLockRectして転送するしか
無さそうです…。

鬱だ死にたい。
11695:2001/05/19(土) 07:44
ageとこ。
117つじっこ:2001/05/19(土) 09:24
ども、つじっこです。
えと、GDIについての質問です。
BMPを透過させたいのですが、DirectXなしで。
void Paint(HWND hWnd)
{
HDC hdcScreen;
HDC hdcSrc, hdcWhiteMask, hdcBlackMask, hdcMask;
HBITMAP hbmSrc, hbmWhiteMask, hbmBlackMask, hbmMask;
PAINTSTRUCT ps;
COLORREF DefColor;

InvalidateRect(hWnd, NULL, FALSE);

hdcScreen = BeginPaint(hWnd, &ps);
hdcSrc = CreateCompatibleDC(hdcScreen);

switch(FacePatNum){ //BMP選択
case 0:
hbmSrc = LoadBitmap(hInst, "MYBMP0");
break;
case 1:
hbmSrc = LoadBitmap(hInst, "MYBMP1");
break;
case 2:
hbmSrc = LoadBitmap(hInst, "MYBMP2");
break;
default:
hbmSrc = LoadBitmap(hInst, "MYBMP0");
}
SelectObject(hdcSrc, hbmSrc);
DefColor = SetBkColor(hdcSrc, RGB(255, 0, 255));

hdcWhiteMask = CreateCompatibleDC(hdcSrc);
hbmWhiteMask = CreateBitmap(BMP1_X, BMP1_Y, 1, 1, NULL);
SelectObject(hdcWhiteMask, hbmWhiteMask);
BitBlt(hdcWhiteMask, 0, 0, BMP1_X, BMP1_Y, hdcSrc, 0, 0, SRCCOPY);

hdcBlackMask = CreateCompatibleDC(hdcSrc);
hbmBlackMask = CreateBitmap(BMP1_X, BMP1_Y, 1, 1, NULL);
SelectObject(hdcBlackMask, hbmBlackMask);
BitBlt(hdcBlackMask, 0, 0, BMP1_X, BMP1_Y, hdcWhiteMask, 0, 0, NOTSRCCOPY);

SetBkColor(hdcSrc, DefColor);
BitBlt(hdcSrc, 0, 0, BMP1_X, BMP1_Y, hdcBlackMask, 0, 0, SRCAND);

hdcMask = CreateCompatibleDC(hdcSrc);
hbmMask = CreateCompatibleBitmap(hdcSrc, BMP1_X, BMP1_Y);
SelectObject(hdcMask, hbmMask);
BitBlt(hdcMask, 0, 0, BMP1_X, BMP1_Y, hdcWhiteMask, 0, 0, SRCCOPY);

BitBlt(hdcScreen, 0, 0, BMP1_X, BMP1_Y, hdcMask, 0, 0, SRCAND);
BitBlt(hdcScreen, 0, 0, BMP1_X, BMP1_Y, hdcSrc, 0, 0, SRCPAINT);

ご指摘お願いします。
118デフォルトの名無しさん:2001/05/19(土) 09:33
>>115
>Direct3DSurface8のDCを手に入れる方法
なかったような気が。
サンプルがあったとおもったら、確かDirectX7の相当を使ってたってオチだったと思われ
119デフォルトの名無しさん:2001/05/19(土) 09:33
>>117
インデントしないと見る気にならないよヽ( ´ー`)ノ
120デフォルトの名無しさん:2001/05/19(土) 09:40
って、別にインデントしてもたいして変わらんか・・・。

んー、どうなんだろ。
すこし上のレスで散々似たようなのがでてきてるけど、
BitBltで矩形しか色抜き転送しないのなら、素直にDirectDrawつかったほうが早い(速い)よ。
それ以外で特殊なことをしたいなら、メモリ上のイメージをCPUでゴリゴリ弄るか、
Direct3Dでハードにお任せするかしたほうがいいよ。

純粋なGDIの質問ならここより、こちらのほうがよいかも。
http://piza.2ch.net/test/read.cgi?bbs=tech&key=973187725
12195:2001/05/19(土) 10:02
>>119
コメントが無いから読みづらいと思う僕は…
とりあえず、ビットマップそれぞれが何か書いてないと。
(ソースから想像できるけど、想像通かかなり謎)
122デフォルトの名無しさん:2001/05/19(土) 10:06
昔codeguruにalpha ブレンドのサンプルがあった。>117
つーかまず検索しろよ
123つじっこ:2001/05/19(土) 12:04
インデント・・・コピペしたらこうなったんで。
コメントも文を短くするために省略。
codeguru・・きいたことあるようなないような・・
そうですね、検索してみます。
ゴロゴロでてきそうだ・・

いろいろご指摘ありがとうございました。
12495:2001/05/19(土) 12:26
>>つじっこさんへ
DIB作れば簡単に出来るのに…。
125デフォルトの名無しさん:2001/05/19(土) 21:40
TransparentBltじゃだめか?
いまさらWin95サポートしてやる必要もないし。
126デフォルトの名無しさん:2001/05/19(土) 21:49
>>Win95
まだ結構いるんだなーこれが。

とはいっても、今のご時世、3DゲームとかだとWin95サポートどうしようかなんていってられんな・・・。
そんなやつのハードは大抵、3Dなんかまともに動かないだろうし。
12795:2001/05/20(日) 02:26
って あれ?
ここって、業界の人も書き込んで居るんでしたか。
すんません。
フリーソフトとかでゲーム作るなら、DirectX8必須でGeForce2必須でとか
言えるけど…
市販品じゃあ言えないわな。
128デフォルトの名無しさん:2001/05/21(月) 00:50
ゲームのオブジェクトを管理する場合、
似非タスク方式に比べてマルチスレッド方式が優れている点って
どんなのがあるんでしょうか?

個人的には、1フレーム毎の処理をきっちり区切れて、少なくとも自分のタスクに
制御が来ている間は他のタスクが消えたりしない似非タスク方式の方が
ゲームには合っているような気がするのです。

あと、スレッドを何百個も生成するとシステムに負担がかかったりしませんか?
逆に、1つのスレッドで複数のオブジェクトを扱うなら、結局そこで似非タスク的な
処理を行う訳ですよね?

煽りとかではなくて、本当に素朴な疑問です(似非タスクって言葉が嫌いな方すみません)
129デフォルトの名無しさん:2001/05/21(月) 07:08
>>128
オブジェクト一個一個にわざわざマルチスレッドを使う人などいないと思うが・・・。
誰が言ってたの?
130デフォルトの名無しさん:2001/05/21(月) 10:09
>>129

でも、>>113 みたいな環境もあることだし(藁
131129:2001/05/21(月) 13:33
ほんとだ(藁
13295:2001/05/21(月) 13:37
>>128
何処かにその事が書かれててレスした者だけど。
一応Win9x or NT以降のしっかりとした?マルチタスクシステムじゃなくて、
内部でタスク切替えのルーチンを持ったタイプのタスクシステムらしいですから
必ず全ての処理を一周するようなシステムみたいです。

だから、処理的には似非タスクと同じ処理になるみたい。
(僕の読解能力が低いなら逝って来ます)
133デフォルトの名無しさん:2001/05/21(月) 14:30
>>132
内部的には擬似タスク。使用者から見ればスレッドってことかな?
134デフォルトの名無しさん:2001/05/21(月) 14:50
だから「疑似タスク」って呼び名はだなあ……。
そんなに普及させたいですか?
135デフォルトの名無しさん:2001/05/21(月) 15:15
疑似でなく擬似ヽ( ´ー`)ノ
136デフォルトの名無しさん:2001/05/21(月) 15:18
擬似タスクって何ですか?
擬似マルチタスクのことですか?
137デフォルトの名無しさん:2001/05/21(月) 15:34
マルチスレッド式だと、CPUが沢山載ってる環境で
動作速度が向上するかもしれない。
いまどき個人でも2個くらいのっけてる人多いんじゃないかな。

また処理の途中で制御を返してあげたりとか面倒な手続きがいらないので
時間がかかるタスクを生成することもできる。
タイムアウトになるまでポートを監視しつづけるスレッドとか。

逆に自前制御の擬似マルチタスクだと、一つのリソースに同時に二つが
アクセスするということがありえないから、
クリティカルセッションとか面倒なことを考えなくていい。
生成とか削除とかも完全に自分の制御下でできるから安心だし。
138デフォルトの名無しさん:2001/05/21(月) 23:56
擬似タスクて、Bio掲示板の
老年ゲームプログラマの世迷い言のアレか?
139広辞苑野郎:2001/05/22(火) 00:33
>>135 疑似も擬似も似たようなもんじゃゴルァ
140デフォルトの名無しさん:2001/05/22(火) 03:11
>>134

ソルマックあげようか?
141デフォルトの名無しさん:2001/05/22(火) 06:36
>そんなに普及させたいですか?
というか、単に自分が長年使ってきた言葉に固執してるだけだと思われ。

一般的に、ヘンな用語を何度指摘されても平気で使うようなプログラマは
関数や変数の命名もことごとくヘンだから、
かなり一緒に仕事したくない感じではあるが。
142デフォルトの名無しさん:2001/05/22(火) 06:59

   λ_λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
  ( `ー´) < どーでもいいんじゃネーノ?
   /    ;つ \____________
  (人_つ_つ
143デフォルトの名無しさん:2001/05/22(火) 09:53
ゲーム作るのにHumanMDL使ってる人いる?
144デフォルトの名無しさん:2001/05/22(火) 12:51
>>142
ハゲ!!しく同意
145デフォルトの名無しさん:2001/05/22(火) 13:26
>>142
>>144
結局また逃げるのか……。
14695:2001/05/22(火) 14:25
>>133
使用者から見ても、疑似マルチタスクです。
スレッドは、使用者が何も考えなくても動き続けて欲しいですから。

>>137
適材適所って奴ですね。

PS.
 それにしても、高々 疑似タスク 疑似マルチタスク くらいな言葉なのに
ドーデモいいんじゃないっすか?
 方言みたいな物だし。
147デフォルトの名無しさん:2001/05/22(火) 14:32
>>145
どちらも本気で走ってない

 Λ_Λ マッテー
 ∂/ハ)ヽヽ      Λ_Λ  / ̄ ̄ ̄ ̄
 |ハ`∀´ノ      ( ´∀`)< あはは
≡( つ つ     c(    つ \___
 人  Y       人  Y
 し(_)     〃 し(_)
148つじっこ:2001/05/22(火) 16:10
また、おじゃまします〜

えと、透過したら、デスクトップが透けて見えますよね?

なんか、codeguruで検索してひっかかったプログラムを真似しても
できなかったので・・なんか心配になってきました。
ウィンドウのスタイルはPOPUPですけど・・大丈夫ですよね?^^;
149デフォルトの名無しさん:2001/05/22(火) 16:54
>擬似タスク馬鹿話

用語論争ですか。もう飽き飽きですよ。
ローカル用語をペロっと書いてしまう奴もアホ。
それを鬼の首を取ったように噛み付く奴もアホ。
大抵の場合、
前者はくたびれた現場の技術屋さん。
後者は世間知らずの神経過敏な学生さん。

ちなみに俺、過去は後者で今は前者でございます。
どうです、救いようが無いでしょう。俺の告戒に
免じてこの馬鹿論争は止めてくれないか。
150134:2001/05/22(火) 16:56
> それにしても、高々 疑似タスク 疑似マルチタスク くらいな言葉なのに
>ドーデモいいんじゃないっすか?

えっと、なにげなくローカル用語を使ってるだけならどうでもいいんですが、
どうも以前から「それって擬似タスクですね〜」みたく
まるで一般的な言葉でもあるかのように堂々と啓蒙する御仁がいるようなので、
不毛と知りつつつい一言言ってしまう次第です。

言葉そのものについても、「擬似マルチタスク」はプリエンプティブ・マルチタスクから
相対的に見て擬似とついてるわけですが、マルチを省くと何が擬似なのか意味不明、
(プリエンプティブだろうがコオペラティブだろうが、タスクはタスクですから)
しかもタスクと言いながら、なぜかタスク管理機構全体のことを指しているようなので。

たぶんここらへん↓から次々伝染してるんじゃないかという気はするんですけどね。
http://www1.odn.ne.jp/giggle/hotate/shoot/step03.htm

>>149
了解。私の主張はこれで全部ってことで、これでおしまい。
151傍観者@名無しさん:2001/05/22(火) 17:17
>>150
>了解。私の主張はこれで全部ってことで、これでおしまい。

フェアな文字コミュニケーションのコツを教えます。
>>150の書き込みに対し了解の意思を示するならば
持論を展開せず、了解の意思のみを書くほうがより
「スマート」です。
152151(訂正スマソ):2001/05/22(火) 17:19
× >>150の書き込みに対し
>>149の書き込みに対し
153デフォルトの名無しさん:2001/05/22(火) 17:39
>>151
スマートかもしれませんが、フェアとまで言ってしまうのはどうかと。
自分のよってたつところを明確にするのはいいことではないのでしょうか。
第三者的には発言の理由もあきらかにしないまま終了してしまうのは、
なんか後味悪いですから。

ここで議論しても仕方ないことなのでsage
154デフォルトの名無しさん:2001/05/22(火) 19:08
ま、簡単な話なんだけどね。

主張を続ける意思があるならば、続ければよいのさ。
その場合、止めてくれという声に同調するのはナンセンス。

主張もするし、止めるとも宣言するのは、捨て台詞と等価。
相手の反論を塞ぐ効果もあるので、議論の場に良い雰囲気
を与えない。これ一般論。

>フェアとまで言ってしまうのはどうかと。
その通りだ。2chでフェアも糞も無いかモナ( ´∀`)

余計な事書いてスマヌ。忘れてくれい
155デフォルトの名無しさん:2001/05/22(火) 19:25
通りすがりの厨房なんですが、
擬似タスクダメっていう人は、擬似マルチタスクと言えば良い、
という理解でいいんでしょうか。
あるいは擬似マルチタスクシステムとか?

元スズキ総理大臣とスズキ元総理大臣との違いみたいなもんでしょうか。
今は苗字変わったから元スズキ総理大臣でも構わない、とういうことは
あるんでしょうか。
156デフォルトの名無しさん:2001/05/22(火) 19:33
>>155
もう蒸し返すなよ。好きに解釈しとけ。
157デフォルトの名無しさん:2001/05/22(火) 19:37
>>155

>>149を読みな。
スレが荒れるから終わりにしようや。
158デフォルトの名無しさん:2001/05/22(火) 19:38
「擬似タスク」だと
タスクっぽいけどそうでもないような……という、
タスクの概念そのものにかかわるものに聞こえます。

マルチタスクっぽいけどそうでもないような……という意味合いで使うなら
擬似マルチタスクって言わないと。
159デフォルトの名無しさん:2001/05/22(火) 19:48
はぁ、宗教論争的で嫌やねぇ
160155:2001/05/22(火) 20:44
>>156-157
うい、すんません。
161デフォルトの名無しさん:2001/05/23(水) 00:20
前に言っただろうが。
マルチタスクじゃなかったらそもそも「タスク」なんて概念が生まれないって。
つまりタスクって言った時点でマルチタスクを内包してんだよ。

しかしどうしてそんなことにこだわるかね。
162デフォルトの名無しさん:2001/05/23(水) 00:21
>>161
一番こだわってるのがお前だと思うが
163デフォルトの名無しさん:2001/05/23(水) 00:23
>>161
あなたはそれで勝手に納得してるかもしれませんが、
俺らはあなたでもあなたのママでもないので、
勝手に省略されてもわかりません。
164デフォルトの名無しさん:2001/05/23(水) 00:25
たすきとタスクはどうちがうの
165デフォルトの名無しさん:2001/05/23(水) 00:28
芸は身をタスク
166デフォルトの名無しさん:2001/05/23(水) 00:43
ははは
167デフォルトの名無しさん:2001/05/23(水) 00:45
さて、相談室らしいムードに戻そうか。>ALL
初心者も歓迎、駄スレ立てる前にここおいで〜。
168デフォルトの名無しさん:2001/05/23(水) 01:00
ふふふ
169デフォルトの名無しさん:2001/05/23(水) 01:02
マターリ
170デフォルトの名無しさん:2001/05/23(水) 01:09
DirectX未経験者ですが、今からDirectX7以前とDirectX8のどちらから入ったほうがいいのでしょうか?
DirectX8の入っているマシンはまだ少ないので、やはり7以前からやった方がいいのでしょうか。
171デフォルトの名無しさん:2001/05/23(水) 01:10
ヒヒヒ
172デフォルトの名無しさん:2001/05/23(水) 01:11
7>170
173デフォルトの名無しさん:2001/05/23(水) 02:21
170へ。
初心者のくせに気にする観点が違うんだよ。
自分のマシンでも動かしたことがねーお前に話したってわかるのかよ。
しかもダイレクトエックスなんて最新版入れるにキマッテンダロ?
まだ入れてる人が少ないだ?あ?
馬鹿かてめーは。
そもそも8入れても7や6でも開発できんだよ。
もう一つ炒っておくと俺はこの系統の質問をするやつがゲームを作り上げたところを見たことがない。
大抵できもしない異機種動作にばかり力を入れてゲーム本編を作る事無く終了。
174デフォルトの名無しさん:2001/05/23(水) 02:21
状況によっていろいろ。

・新しいモノが好き。
・DirectDrawが無くても平気。
・ランタイム無けりゃダウンロード&インストールさせる。
→ DirectX8が無難。

・DirectDrawを使いたい。
・ランタイムがOSに標準インストールされているほうがいい。
→ DirectX7以前が無難。
175デフォルトの名無しさん:2001/05/23(水) 02:22
※各OSに標準インストールされてるDirectXのバージョン

WinNT4  → DirectX3
Win98   → DirectX5
Win98se → DirectX6.1
Win2k   → Direct7.0
WinMe  → Direct7.0
(※OEM版は除外)
176174=175:2001/05/23(水) 02:22
>>170

以上です。
177174=175:2001/05/23(水) 02:22
>>170

以上です。
178デフォルトの名無しさん:2001/05/23(水) 02:26
異常です。
179デフォルトの名無しさん:2001/05/23(水) 02:26
>>173

まぁまぁ。
ここは相談室だから、マターリな。
180デフォルトの名無しさん:2001/05/23(水) 02:30
 ┌──────────┐
 │                    |
 │  キチガイ警報 >>178 .|
 │                    |
 └―――──――───┘
       ヽ(´ー`)ノ
          (  へ)
          く
181デフォルトの名無しさん:2001/05/23(水) 02:34
別にキューアンドエーじゃねーんだ。
相談なんだから、意見を出しあうのが主だろ。
俺の意見が逝ってよしでもそれは一つの意見なんだ。そうだろう?

ソンナワケネーダロ
182デフォルトの名無しさん:2001/05/23(水) 02:37
>>173=181
ダイレクトエックス
キューアンドエー

いや、なんとなくさ
183デフォルトの名無しさん:2001/05/23(水) 02:39
いやつーか流れから逝って俺でいいだろ?
184デフォルトの名無しさん:2001/05/23(水) 02:39
>>181
>俺の意見
おいおい、番号ぐらい名乗れよ。
誰か分からんぞ?
185デフォルトの名無しさん:2001/05/23(水) 02:41
哀モードだと記号とか数字とかいちいちめんどくせんだ
186デフォルトの名無しさん:2001/05/23(水) 02:42
7と8は、グラフィックまわりについてはまったく違うので、
7のスタイルが好きか、8のスタイルが好きかで決め手いいのでは?
仕事でやるんならアレだが、趣味だったら自分が一番面白そうだと思ったものが一番だ。

俺は仕事なので5でやってる。
6は情報がほとんど集められなかったので(書籍やWebで)避けて、
7以降はWindows98が必須になってしまうので、断念。
187デフォルトの名無しさん:2001/05/23(水) 02:45
エロゲの人かね?
3Dやるなら7ぐらいがお手ごろ。
188174:2001/05/23(水) 02:57
>>181=173という仮定で

>別にキューアンドエーじゃねーんだ。
>相談なんだから、意見を出しあうのが主だろ。

質問の質の良し悪しを定義するのは困難である。
あえて基準を設けるなら、個々人が自らの技量を
基準にした相対評価、つまり主観論です。不毛。

>俺の意見が逝ってよしでもそれは一つの意見なんだ。そうだろう?

レスをよく読もうぜ。誰もキミの書き込みを否定してないんだよ。
>>173なんてマターリしようぜと書いてるだけだし。落ち着こう。
189174(訂正):2001/05/23(水) 02:58
スマン、マターリしようぜと書いてるのは>>179だった。
190デフォルトの名無しさん:2001/05/23(水) 03:09
ゲームプログラミング相談室ってなぜか荒れやすいよね。
191デフォルトの名無しさん:2001/05/23(水) 03:25
>>190
そうですねぇ。言ってしまえばゲーム系スレ全般がそうだね。
なんでだろう、良い見方をすればしっかりこだわる人が多いのかな?
アプリ系プログラマと違って実行速度の追求とか大変そうだし。
192デフォルトの名無しさん:2001/05/23(水) 03:28
ゲームだとWindows95、Pentium133MHz、メモリ32MB、VRAM1MBくらいの
スペックの奴らも相手にしないといけないからねー。
193デフォルトの名無しさん:2001/05/23(水) 04:12
>>190
ゲーハー厨が混じってるせいだと思われレ
194170:2001/05/23(水) 05:19
とりあえず7から触ってみることにしました。
今DirectX8.0aSDKをダウンロードしています。
相談できるくらいになったらまた来ます。
195デフォルトの名無しさん:2001/05/23(水) 05:51
>192
そんなん相手しなくて良いよ。
そんな低スペック志向で商品価値のあるモノできる?

技術ないエロゲプログラマの逃げ道かい
196デフォルトの名無しさん:2001/05/23(水) 05:56
エロゲは抜けさえすれば商品価値ある。
あと転売用初回特典。
197デフォルトの名無しさん:2001/05/23(水) 06:16
商品価値とは何か?
198デフォルトの名無しさん:2001/05/23(水) 06:32
>>195
逆だろ。
総じて低スペックマシンのユーザが多いから、
快適に動かさせるために技術力を付けなきゃならない。
クロック数を計算しながらアセンブラでコーディングするのが
今のエロゲーの実情なんだよ。
199デフォルトの名無しさん:2001/05/23(水) 06:40
>198
ごく一部のアクションゲームのエロゲーなら判る。
しかし9割はほぼ一枚絵のアドベンチャーゲームだからなあ。
画面のワイプエフェクトをアセンブラでコーディングしたりするのが
プログラマの頑張りなのかな。
200デフォルトの名無しさん:2001/05/23(水) 07:37
それが売り上げに直結しているかどうかなんて調べたことなんて一度もないんだろうね。
低スペックなマシンで快適に動かしたいなら話は簡単、なにもしなければいい。
この決断がどんなに意味のあることかエロゲプログラマには何故か理解できないらしい。
大切なことなんだよ。
201デフォルトの名無しさん:2001/05/23(水) 07:59
元々技術を語ってるスレじゃないよ。
誰も基本技術以上のことは喋らないし喋りたくないだろ。
202デフォルトの名無しさん:2001/05/23(水) 09:31
>>192
>ゲームだとWindows95、Pentium133MHz、メモリ32MB、VRAM1MBくらいの
>スペックの奴らも相手にしないといけないからねー。

それだけのスペックがあれば、かなりすごいゲーム作れます。
20395:2001/05/23(水) 09:43
ゲーム作るのなら、最低ラインは
GeForce2 Windows Me or NT2000 とか、
CPUは、P-III 800Mz とかにすればいいのに。

そうすれば、いや、そのレベルでやっと凄い3Dのゲームが作れるような気がします。
とか、エロゲー以外がターゲットの場合とか言ってみるテスト。

>>202
DOS で、自分で3D描画エンジン書いて作るのなら、凄い物が作れそうですけど…
かなり時代に逆行してると思われます。

日本の伝統的な「fpr 低スペック」はこの際無視したひ。
204デフォルトの名無しさん:2001/05/23(水) 10:29
エロゲーを熱く語りたい奴はPCゲーム板に逝ってくれ。
205デフォルトの名無しさん:2001/05/23(水) 10:35
>>198
>クロック数を計算しながらアセンブラでコーディングする

クロック数を計算か・・・・。
哀愁漂うオプティマイズ手段だな。
206デフォルトの名無しさん:2001/05/23(水) 11:39
>>205
80x86程度のCPUのニーモニックで、
オプティマイザ付きのコンパイルを期待するんで無いよ。おい。
207205:2001/05/23(水) 11:56
>>206

ちょっと質問。
最近の最適化手法てどんなものなの?ツールとか。
まさかVCのインラインアセンブラとRDTSC使って
チマチマと手動で計測しながら作業してるわけじゃ
ないよね。
208デフォルトの名無しさん:2001/05/23(水) 12:02
>>206

クロック表と睨めっこしながらリニアなべたーっとした
とても読みやすいアセンブリコードを書くのかしら。
209206:2001/05/23(水) 12:18
おや、人気あるな俺

アセンブラで書いてんのに、どうやってオプティマイザかけるんだろうね?

>>208
アクロバチックなクリティカルな副作用を期待したようなコードを書きますね。
210205:2001/05/23(水) 12:26
>アセンブラで書いてんのに、どうやってオプティマイザかけるんだろうね?

あーいや、そういう話をした憶えはないんだけど。
何か誤解があるようだ。真面目な質問なので煽らないでちょ。
MMXやSSEを使うならアセンブラでコーディングするのは
分かるんだけど、クロック数云々で片付く簡単なお話じゃ
ないと思うんでございますよ。で、最近の猛者はどうやって
るのかしらという率直な疑問ナリ。
211205:2001/05/23(水) 12:30
書き忘れたゴメン。208も私。
212デフォルトの名無しさん:2001/05/23(水) 12:53
そろそろリフレッシュレートスレみたいの作ったほうがいいか?
213デフォルトの名無しさん:2001/05/23(水) 13:05
>リフレッシュレートスレ
前スレ、dat落ちどころか消えちゃってるね。
google検索したらこんなのがあった。↓
http://matsuzak.pobox.ne.jp/directx/faq/refresh-rate.html
214デフォルトの名無しさん:2001/05/23(水) 13:46
リフレッシュレートとFPSを勘違いしてる人がいると思われ。
外出だったらスマソ
215デフォルトの名無しさん:2001/05/23(水) 13:56
>>206
う〜ん。
『オプティマイザ』と『オプティマイズ』を混同してると思われ。
オプティマイザの話に触れているのはあなただけで、まだ誰もその
話には触れてませんね。一人で違う話題に飛んでしまってますよ。

#抽象的な言葉の羅列で意図的に話を逸らして煽ってる
#だけなんじゃないかと穿った見方をしてみるテスト。

せっかく面白くなってるんだから落ち着こうぜ。>ALL
216デフォルトの名無しさん:2001/05/23(水) 14:45
>>214
FPS=First Person Shooter
だからな(藁
217デフォルトの名無しさん:2001/05/23(水) 16:08
http://www.csl.sony.co.jp/person/fnami/asm.htm
がいしゅつだとは思うが。
最低↑(Pentium&PProの部分)位丸暗記してから最適化を騙れよ
クロック数とか言っても恥書くだけだぞ
218デフォルトの名無しさん:2001/05/23(水) 17:03
Pentiumは面倒くさい
R3000がいい
21995:2001/05/23(水) 17:12
>>218
まぁ、レジスターが沢山あるし。
イイ命令も沢山あるしね。

んで、リフレッシュレートの話は、みんな自分に適した物に
勝手に変えているからプログラム側ではFPSをタイマーで固定するという
方向性で良いんじゃないですか?
(まあ、個人の好きずきだけど)
リフレッシュレートに合わせて動きを変化させるのは、
処理落ちとか常に起りそうで見ていてなんか気持悪く感じたり。

sageます。
220デフォルトの名無しさん:2001/05/23(水) 17:28
>>219
その辺の話はこちらでね。

リフレッシュレートに関する論争
http://piza.2ch.net/test/read.cgi?bbs=tech&key=972165437
221デフォルトの名無しさん:2001/05/23(水) 18:20
ゲームプログラミングでDLLの使いどころってどこですか?
ジャンルはシューティングでお願いします。
222デフォルトの名無しさん:2001/05/23(水) 18:54
d3d.dll
223デフォルトの名無しさん:2001/05/23(水) 19:38
224デフォルトの名無しさん:2001/05/23(水) 20:16
ははは、さぁ。
225デフォルトの名無しさん:2001/05/23(水) 20:22
この相談室、いつも荒れてるよね。
226デフォルトの名無しさん:2001/05/24(木) 00:14
>223
時々、あそこが匿名だったら ぼこすかに書いてやれるのにとか思います。
227デフォルトの名無しさん:2001/05/24(木) 04:08
前に一回それやったら技術じゃなくて人格云々について叩かれた。笑。
あそこの奴らは一部の奴らの馴れ合いがキショクテかなわん。
ほかのやり方を認めない頭の硬さをどうにかしれ。
228デフォルトの名無しさん:2001/05/24(木) 04:26
>>226
ぼこすかに書いてストレス発散したいなら
2chでやっとりゃ充分だしょ(w
229デフォルトの名無しさん:2001/05/24(木) 04:29
みんな100%のバイオ人間にされちゃったんだよ。
勘弁してやれ!
230デフォルトの名無しさん:2001/05/24(木) 05:10
>>223
翻訳ソフトで変換した文章っぽいよね。
231デフォルトの名無しさん:2001/05/24(木) 05:10
>>229
>バイオ人間
ワラタ
232226:2001/05/24(木) 05:40
まぁ、僕の場合、人格が破綻してるかもしれないけどね。
あそこにいる人たちと比べると。
233デフォルトの名無しさん:2001/05/24(木) 07:58
>>223
日本人じゃないに一票(ネタではなく)。
234デフォルトの名無しさん:2001/05/24(木) 12:03
確かに日本人とは思えない。
プログラムの前に、日本語勉強しろと突っ込みたい。
しかしネタだったら笑われる。
畜生、俺はあいつの掌の上で踊らされているのか。
235デフォルトの名無しさん:2001/05/24(木) 12:49
「日本人は反省しる!」を思い出してしまった。
236デフォルトの名無しさん:2001/05/24(木) 13:20
>さ、そろそろ勉強をはじめろ、どうもありがとうございました!
教えてもらっておきながら、「勉強をはじめろ」と命令しているし。
煽るか礼を言うか、どっちかにしろ。
23795:2001/05/24(木) 14:32
>>230
確かに、
翻訳ソフトそのままみたい。

もしかして これが噂の バイオ人間か?
238デフォルトの名無しさん:2001/05/24(木) 18:35
バイオ人間DANあげ
239デフォルトの名無しさん:2001/05/24(木) 19:08
メールアドレスとIPアドレス見ましょう。誰でも異国の言語を
ならい始めたときはそんなもんです。この件はこれで終わり!
240デフォルトの名無しさん:2001/05/24(木) 19:15
x86アセンブラの最適化やるんなら,普通V-Tune使うYo!
241デフォルトの名無しさん:2001/05/24(木) 19:36
ぶっちゅーんハチマンエン逝ってよし。
242デフォルトの名無しさん:2001/05/24(木) 22:45
ああ、クラスAのIPか
243デフォルトの名無しさん:2001/05/26(土) 17:18
スペランカーなどの坂道を1ドットずつおりる処理はどのように
してるのでしょうか?
244デフォルトの名無しさん:2001/05/26(土) 17:37
チップキャラに高さ情報を持たせてやる
245デフォルトの名無しさん:2001/05/26(土) 17:47
>>244 折角レスしてくれたのにプログラムの具体例がないと
理解できないかも。鬱氏
246デフォルトの名無しさん:2001/05/26(土) 20:54
キャラの真下のマップチップを検索して、そのチップの高さ属性をゲットしてキャラに反映する。
坂なら、sin,cosで高さを求める、もしくはあらかじめテーブルに座標を格納しておく。

でいいのかに。
247デフォルトの名無しさん:2001/05/26(土) 21:30
>>246 意見ありがとうございます。
2Dだし、ファミコンでも処理してるから簡単かと思ったけど
難しそう。
248デフォルトの名無しさん:2001/05/26(土) 21:37
ソニックはもっとムズイでー。
249デフォルトの名無しさん:2001/05/26(土) 21:59
そうか?
ソニックは曲線かなんかの式に軸をのせちゃて動かしてるだけのような気がするが。
普通の坂道は普通の処理かな。
場合によって色々と用意せにゃならんのはめんどいね。
250デフォルトの名無しさん:2001/05/26(土) 22:03
┌─────────┐
│                  │
│ ageないでください  │
│                  │
└―――──――――┘
     ヽ(´ー`)ノ
        (  へ)
        く
251デフォルトの名無しさん:2001/05/31(木) 09:52
もしよかったら、こっちも見たってよ

『ゲーム作品、きちんとテストプレイしてます?』
http://tako.2ch.net/test/read.cgi?bbs=2chbook&key=991063240
252デフォルトの名無しさん:2001/06/01(金) 02:53
r /| sin (Y軸)
/_ |
cos(X軸)

rが分からないのに、どうやってsin cosで高さを求めるんだろう?
そもそも、ファミコンでsin cosはツライ。
253デフォルトの名無しさん:2001/06/01(金) 04:11
テーブルを使おう。

あと、斜面とかは馬鹿正直に全部の地点について計算しなくても、
チップキャラの中心の高さだけ決めておいて、
残りは線形補完でもいいんじゃない?
凹凸の激しい地面を作らない限り大丈夫だと想うよ。
254Install:2001/06/01(金) 13:57
本を探しています。
Install Shield For Visual C++6.0
大沢文孝/著
ネットサーブ/監修
出版社 アスキー
価格 3400円(税抜き)

新宿近辺で見かけた方いませんか???
255デフォルトの名無しさん:2001/06/01(金) 14:08
↑スレ違いですので放置して下さい(´д`;)
256デフォルトの名無しさん:2001/06/01(金) 14:53
>254
みたよ
>255
すまぬ。放置しきれんかった
257373:2001/06/01(金) 23:43
RPGとかで使うレベルアップのテーブルなんだけど
Lv HP
01 10
02 15
03 35
って感じの場合のテーブルをExcelでLv200ぐらいまで打ち込んであるのだけど
これからこのテーブルを作る関数(点200個から高次の関数を作る?)を求められるそうなのですが
どうすればよいのでしょうか?
258デフォルトの名無しさん:2001/06/01(金) 23:54
グラフ描いて見れば?
259373:2001/06/02(土) 00:04
グラフはかけましたが式の求め方がわかりません。
x,y = (1,2),(2,4),(3,6)
から y=2xという式を求めたいのです。(実際はもう少し複雑ですが)
260リアル厨房@名無しさん:2001/06/02(土) 00:44
>>259
この間、塾で教わった。

 (x;Lv,y;HP)
 y=ax+b・・・(1)

 @に(x,y)=(1,10)代入
 10=1a+b・・・(2)
 @に(x,y)=(3,35)代入
 35=3a+b・・・(3)
 (3)-(2)より
 25=2a
 a=25/2・・・(4)
 (2)に(4)代入
 10=25/2+b
 b=10-25/2

 よって(1)は
 y=(25/2)y+10-25/2
261デフォルトの名無しさん:2001/06/02(土) 00:55
>>257
うーん、マジでリアル厨房の数学レベルだね。
もし257が高校生以上ならプログラムよりもまず公文式をおすすめする。
262デフォルトの名無しさん:2001/06/02(土) 01:09
ツマンネー煽り入れるな
263リアル厨房@名無しさん:2001/06/02(土) 01:20
ごめん。最小二乗法とかを使いなさいって先生に注意された。
264補足:2001/06/02(土) 02:00
ttp://www5.airnet.ne.jp/tomy/cpro/sslib9.htm
厨房なので難しいことは分かりません。
265デフォルトの名無しさん:2001/06/02(土) 02:12
(・∀・)!!!
266デフォルトの名無しさん:2001/06/02(土) 05:24
えーとですね257の問題は結構難しいですよ。
属にいう補間の問題です。線形代数でもやるのがベストです。
ただそれでも値が二つや三つならなんとかいけそうですが、
それ以上いくと格段に難しくなります。
式は求める値が二つなら一次、三つなら二次、四つなら三次になります。
要素が200ということはPCでは計算できません。
サンカクホウとか計算方法は色々あるみたいですがまともに計算できたためしがないです。
のでアルゴリズムはスプラインなどの特殊な補間が必要です宇治社中でもいきましょう。
おちまい。
カイケツ!ヨカッタネ!
267デフォルトの名無しさん:2001/06/02(土) 06:18
一番簡単なのは線形補間だわな。
線形ならリアル厨学生でもできるだろ。
268デフォルトの名無しさん:2001/06/02(土) 06:34
線形だって関わる要素が複数になればそれなりに難しいよ。
この場合だと200個の要素の変化が大きい値をとって云々てやらなきゃいけないじゃん。
素直に宇治社中いって式コピッタ方がなんぼかはやいよ。
269デフォルトの名無しさん:2001/06/02(土) 07:46
逆転の発送で、適当な式(曲線)をでっちあげて
よさげな値がでるまでやるってのもいいと思う。
曲線をグラフで見られるような簡単なツールでもつくるとGOOD
270デフォルトの名無しさん:2001/06/02(土) 09:24
というか、Lv/HPのテーブルを作ったんだったら、補間する必要ってないんじゃ…?
271257:2001/06/02(土) 11:08
そういわれればそうですね。ご忠告ありがとうございます。
それに、よく考えたらレベルMAXは60でした。
272257:2001/06/02(土) 11:28
>>261,262
はい。一応中学は卒業していますので、直線の式は求められます。

>>264
これ使えそうですね。ちょっとこれから見てみます。ありがとうございます。

>>269

実はこの方法が一番いいかも(笑)

>>270
まあテーブル使ったほうが早いのはわかるのですが今回はそうしたくないのです。

>>271

偽者?俺は今おきたとこだけど?レベルMAXは60じゃありません。
もっと増えそうです。
273デフォルトの名無しさん:2001/06/02(土) 11:44
Excelのグラフで近似式を自動で計算できるでしょ?
274257:2001/06/02(土) 11:59
>>273

そう。それなんですけど、どうやればいいんですか?
275257:2001/06/02(土) 12:26
ここのソースがわかりやすかったです。これで解決できそう。やった!
飯でもくいにいこう。

http://www.and.or.jp/~ikeuchi/makedemo/effect/interpo/lagrange/index.htm
276デフォルトの名無しさん:2001/06/02(土) 13:32
よりによってこれか?
大丈夫か?
かなり値が飛ぶぞ。
277デフォルトの名無しさん:2001/06/02(土) 14:05
バランス調整の現場から言わせてもらうと、
数式を出して補完したりするより、
テーブルやスクリプトを使って調整したほうがいい。
細かい調整がしやすいし。
テーブルのほうがダサいけど、そのダサさが大切。

プログラマーが調整するのは避けたほうがいい。
調整する頃には、開発が押していて、
プログラムの修正やデバッグに追われているはず。
テーブルにしておけば誰でも調整できる。
担当の企画者が忙しくなっても、
他のラインの暇になった企画者が調整を手伝ってくれたりすることもできる。
278257:2001/06/02(土) 14:32
ちなみに座右の書は「メガデモをつくろう」です
279257:2001/06/02(土) 14:44
ちなみに座右の銘は「さわらぬ髪に抜け毛なし」です
280デフォルトの名無しさん:2001/06/02(土) 15:05
べつに曲線だからってプログラマが調節するわけじゃないよ。
要は成長曲線でしょ?
こんなのどう考えたってテーブルなんかじゃやってらんねーよ。
そもそも変化する値が一人につき20個あって最高レベルが200。
さらにそれがキャラクタごと個性を見せたいです。で登場キャラ10人。
尚且つパラメータのいくつかはキャラによって単位や使用目的が異なります。
とかいう仕様をテーブル操作でなんとかなるのか?
まあ、俺がやるんじゃねぇから別にいいけど。
こんな1日程度で作れそーな手間惜しんで何苦労してんだ?
281デフォルトの名無しさん:2001/06/02(土) 15:10
>>280
そんなの別にたいしたデータ量じゃない。
どうせExcelなんかでいじるんだし、テーブルを作るのもそんな手間じゃない。
それより1日程度でできるというのはおかしい。現場の人間じゃないね?
データは1日でできても、調整は1〜2ヶ月はやるだろ。
数式の調整は企画がやるにしても、プログラマーに
「調整したから組み込んで」とお願いするのを、
2ヶ月も続けられたら、いいかげんうざいだろ。
データ化すれば調整は別の場所でできるし、
そのデータを作るためのプログラムを別に作ってもいいんだぞ。
282デフォルトの名無しさん:2001/06/02(土) 15:21
あとパラメーターが20個あっても、
プレイして実感できるほどの個性の差を感じないだろうな。
テーブルで動くのは4〜5個ぐらいで、他のパラメーターは
組み合わせで算出だな。例えば、HPは体力とレベルから算出するとか。
体力が低いけどHPはなぜか高い、なんてキャラを作りたいのなら別かも知らんけど…。
本当に20パラメーター×10キャラ=200個の数式を組み込んでいるの?
それはそれですごいな。見習いたいよ。
283257:2001/06/02(土) 15:29
>>278
>>279

偽者うざい。

>>280~282

実際にはテーブルでしのぎました。あの時は時間がなかったので。
ただ時間のあるうちにもう一度研究しといたほうがいいかなと思って
質問しました。Excelで簡単に式が求められるならそれが一番ですね。
284デフォルトの名無しさん:2001/06/02(土) 15:31
いやだから一日でできるのは曲線を使って設定できるツールだって。
データ量は大したことないかもしれないけどさすがにさっき俺が挙げたような例だといじるのは嫌だろう。
計算してみたか?
あれだけでも40000個のデータをチクチクいじるんだぞ。
他にやることもあるだろうし、なにより手動によるバグの問題も起きやすいだろう。
285デフォルトの名無しさん:2001/06/02(土) 15:38
数式といってもキャラごとにもたせるのは個々の係数だけ。
元になる数式は一つ。
その代わり結構いい補間曲線使ってるけどね。
286デフォルトの名無しさん:2001/06/02(土) 16:04
マクロってどう使えばいいんですか?
287デフォルトの名無しさん:2001/06/02(土) 16:48
マグロ
288デフォルトの名無しさん:2001/06/02(土) 16:53
>>286
たとえば
#define BOO(a,b) if(a > b)
とか
#define LES(a,b) {BOO(a,b) { a=b; } else {b=a;}}
みたいな
289デフォルトの名無しさん:2001/06/02(土) 17:05
マクロくろすけでておいで〜
290デフォルトの名無しさん:2001/06/02(土) 17:07
使うとVCの構造体やクラスのメンバが自動的にリストされる機能が使えなくなっちゃう。
えっ?そんなのどうでもいい?
いやーん
291デフォルトの名無しさん:2001/06/02(土) 18:33
オレもイヤーン
292デフォルトの名無しさん:2001/06/02(土) 18:55
マクロは色んな意味でC言語のガンだね。
プリプロセッサというのがいかん。
完全に言語機能の一部として取り込まれればよかったのだがぁ・・
293デフォルトの名無しさん:2001/06/02(土) 22:30
誰かXFILEを読み込むスレを上げてきて。
詳しくは駄スレ立てる前にどーたらのスレの12辺りにて。
294デフォルトの名無しさん:2001/06/05(火) 20:12
メガデモ。。あ、、、そーいえば。
雷とかスパークとかああいうのってどうやっているんですかね。。
というか使われているのを直接見たことないし(汗
情報キボーン。
自分は適当にポイントとって、んでピクセル演算している(2Dじゃん!)だと思っているのですが
3Dだとやはりビルボードという手しかありませんか?
295デフォルトの名無しさん:2001/06/05(火) 20:25
>>294
ヘイベイビー、こっちにこないかい?
つか、最近寂しいから話題振ってやってよ。お願い。

###メガデモを語る###
http://piza.2ch.net/test/read.cgi?bbs=tech&key=979635776
296295:2001/06/05(火) 20:27
ゴメン。メガデモってかいてるだけで、内容はゲームむけっぽいね。
297デフォルトの名無しさん:2001/06/05(火) 21:19
          _人
       ノ⌒ 丿
    _/   ::(
   /     :::::::\
   (     :::::::;;;;;;;)_
   \_―― ̄ ̄::::::::::\
   ノ ̄     ::::::::::::::::::::::)
  (     ::::::::::::::;;;;;;;;;;;;人
 / ̄――――― ̄ ̄::::::::\
(        :::::::::::::::::::::::::::::::::)
 \__::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;ノ
298294:2001/06/05(火) 22:19

>>295
ゴメン。この板はじめてなんだ。
メガデモはだいすきだからぜひ行
かせてもらいます。
っーか気が付かなかっただけです
(大汗
再投稿するうざがられるのでこれ
だけはここでご勘弁。
自分的にはゲームにもメガデモに
も両方使いたかったんだよね
ソースなくてもいいからあったら情
報ください(しつこい)
299デフォルトの名無しさん:2001/06/05(火) 23:05
>>297
いやはや見事なクソっぷりですな。

>>298
雷とかスパークいうてもいろいろあるんで。
デモでいう雷ってていうと、電気力線とかそのへんか?
300298:2001/06/06(水) 19:04
>>299
電磁力線とはちょいちがうみたいです。
こんな感じのをリアルタイムで出したいだけなんですけど
ttp://homepage1.nifty.com/kmaeno/gallery/test/lightning_m/lightning01.jpg
301298:2001/06/06(水) 19:05
無駄にageちゃった(汗
302デフォルトの名無しさん:2001/06/06(水) 19:33
2or3次元配列に電気抵抗値ランダムにぶちこんで
テキトーに小さいとこ通してやるとか。
303デフォルトの名無しさん:2001/06/06(水) 20:20
こういうのは、やっぱフラクタルを使うと格好良くないかえ?(w
304デフォルトの名無しさん:2001/06/06(水) 20:48
ギザギザじゃなくてウネウネなら三角関数の重ね合わせでできるかも?
Photoshop でそういうテクニックをよく見るぞ。
305デフォルトの名無しさん:2001/06/06(水) 21:51
とりあえず、本物の雷について書籍を当たるべし。
306テーブル:2001/06/06(水) 23:48
関数→テーブルってやった方が良かったよね
HP=exp(LV)とか・・・
まあ、LVによって、関数を変えたりするのかな・・・
近似って言ったら
Σax^iとかフーリエ級数しか思い浮かばないけど・・・
数学科の人に頼むのがグー
307デフォルトの名無しさん:2001/06/07(木) 06:29
>>305
ネタはぷー。
308305:2001/06/07(木) 12:06
いや、ネタのつもりは全然ないんだが。
309305:2001/06/07(木) 12:07
ちなみに、CG関係の論文当たると出てくるかも知れないぞ。
いま探す暇ないのでスマ
310298:2001/06/07(木) 22:36
>>302
ランダムだと激しすぎるかな。。と思います(無知w
そこまで厳密でなくても良しというのもありますし。
>>303
複雑系でいきますか。。。何次元かなw
でも、天から地に落ちるのは出来そうでも、球を中心にとなると辛いかも知れません。
>>304
とりあえず見て回ります
>>305
湿度、温度などかなり複雑に絡んでくるのでシュミレートはきついかと思います(汗
見た目がそれっぽいという感じでつくりたいので
論文探してみます。希望するエフェクトを使ったメガデモにはまだぶちあったっていません。
>>306
最適化時にはテーブルつかいます

実装するときには結局ビルボードとかになるのかなぁ。
FF8であったのを見つけたのでみてみると何だかビルボードみたいだし。(半透明ポリゴンに貼っている
または3次元的なラインを大量に作って、そこになんかエフェクトをかけながらレンダリングと、、、、
にしても、どのように育成するのだろうか。
311デフォルトの名無しさん:2001/06/08(金) 00:02
>>298
とりあえず落ち着いてくれ
312デフォルトの名無しさん:2001/06/08(金) 19:19
ゲームプログラミングを1から叩き込んでくれるスレ作って。。結局何が必要なんだ?C++、WINプログラム、directX、こんだけでいいの?
313デフォルトの名無しさん:2001/06/08(金) 20:11
>>312
■サクラ大戦 Vol1〜平成浪漫にプログラム〜
http://piza.2ch.net/test/read.cgi?bbs=tech&key=990900658
変じて、『超弩級初心者のための(ゲーム)プログラミング相談スレッド』
となっている模様ですぞ。基本的にsage進行でやっているけれど、
ちゃんとした質問ならageても全然平気だ。頑張れ。
314デフォルトの名無しさん:2001/06/08(金) 23:01
「初心者が現実を前にして挫折していく様子がリアルタイムで見れるスレ」
の間違いだろう…

もう下火(っつーか鎮火)になってるだろが
315デフォルトの名無しさん:2001/06/08(金) 23:11
(・∀・)マァマァ
316デフォルトの名無しさん:2001/06/08(金) 23:15
>>313-314
こちらで気長に続いてるっぽい。
http://green.jbbs.net/computer/885/xoxox.html
317デフォルトの名無しさん:2001/06/08(金) 23:22
メインスレッドで一定時間毎に更新し、描画は別スレッドでGPUにまかせつつ
ぶん回す、ってなのをどっかのスレで読み、これだ!と思って実装してみました

で、作ってからようやく気付いたのですが更新スピード以上に描画しまくっ
ても意味がないんですよね。動いてないから。そこでお聴きしたいのですが
ジオメトリ演算はどっちのスレッドでやればいいのでしょうか?

別スレッドでやればいいとは思うのですが、それじゃ折角分けた
意味無いし…。WindowsでDirectXです
318デフォルトの名無しさん:2001/06/08(金) 23:29
>>317
俺の場合。

描画スレッド オブジェクトの動作、ジオメトリ、描画
メインスレッド オブジェクトの動作、生成、破棄

両方でオブジェクトを動かしているけど、
メインスレッド側は順次処理、
描画スレッド側は並列処理って感じ。
ジオメトリの演算結果を受けてオブジェクトを動かしたいときもあるし。
319317:2001/06/08(金) 23:48
レスありがとうございます。両方でやる、と言うことですか
なーる気付きませんでした。うーん、でも管理が難しそう

スキルないので、とりあえず手頃な補間処理辺りから
描画スレッドでやってみようと思います
320デフォルトの名無しさん:2001/06/09(土) 18:52
ttp://www.vector.co.jp/soft/win31/prog/se028202.html
これって送金しなくても平気?
321デフォルトの名無しさん:2001/06/09(土) 19:44
ソースがいらないなら送金はいらないともとれるけど、
シェアウエアっていってるんだから使うなら送金する必要があるだろう。
別にそれ使わなくてもDirectX使えばいいじゃん。
322デフォルトの名無しさん:2001/06/09(土) 19:54
>>320 はWin3.1のゲームを作りたいと思われ
323デフォルトの名無しさん:2001/06/13(水) 07:01
A-GE
324デフォルトの名無しさん:2001/06/13(水) 14:08
>>322
Win3.1ユーザは絶滅したから、作っても誰も遊ばないと思われ。
っつーか、まだ金とってんのね。
いいかげんフリーにしてもよさそうなもんだ。
325デフォルトの名無しさん:2001/06/16(土) 15:22
ゲーム系クソスレたて防止のため上へ参ります
326デフォルトの名無しさん:2001/06/17(日) 18:43
あげ
327デフォルトの名無しさん:2001/06/17(日) 19:51
別にWin95だって、DirectXを生で使うよりずっと楽に速いゲームが作れるじゃん>WinGL
でも今時256色ってのもねえ…
328デフォルトの名無しさん:2001/06/17(日) 20:17
256色をなめてはいけないよー。
3Dでなくて、2Dで激しいエフェクト必要ないなら256色で十分。
むしろ、3Dカードなくてもそこそこエフェクトだせて高FPSで安定できる。

まあ、この辺はゲームのタイプにもよるでしょう。
ビジュアルノベルなら256色は今時っていわれても仕方ない。
329デフォルトの名無しさん:2001/06/17(日) 20:24
というか、256色ですら色数をフル活用してるのってあんまり知らないんだけど。
330デフォルトの名無しさん:2001/06/17(日) 20:38
確かに単純に256色フルに活用ってなかなかできない。
でもまあハイカラー以上なら
αブレンドとか色んな効果を面倒なアルゴリズム考えず気軽に使えていいよね。
CPUパワーはそれなりに喰うけど。
331329:2001/06/17(日) 21:20
知ってるのといえば、コンパイルのディスクステェーションのとか、
Ysとかその辺の市販系かな?
あとは、コンシューマからの移植だとバリバリのはあるけど…。
332デフォルトの名無しさん:2001/06/18(月) 17:59
 そういえば、256色αブレンドって、えらく手間がかからんか?
テーブル使えば何とかなるかもしれんが、えらく容量いりそうだし。
っても、64K程度だが。
333デフォルトの名無しさん:2001/06/18(月) 18:23
>>331
そうそう、YsEternalって(2もかな?)256色って話聞いたことあるんだけど
それほんと? 特に2が256色って信じられないんだけど…
334デフォルトの名無しさん:2001/06/18(月) 19:36
>>332
先生!!自分は256色でα用に600KByteほどテーブル確保してやったことあります(藁
335デフォルトの名無しさん:2001/06/18(月) 19:51
>332
普通にα合成を計算した後にパレット中から近似色を選択すればいいと思う。
もちろん、近似色の選択もテーブル使ったほうが良いと思うけど。
336335:2001/06/18(月) 19:54
>>332
ちなみに下のAlphaLibを参考にするとヨロシ。

ttp://tko-ta.hoops.ne.jp/
337332:2001/06/22(金) 03:40
http://piza.2ch.net/test/read.cgi?bbs=tech&key=985540361&st=334&to=334&nofirst=true
 一応、念のために断っておくが、64kというのは三段階のみな。
0が描画無しで、1が半透明、2が全転送。
600kというと、十段段階ぐらいか。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=985540361&st=335&to=336&nofirst=true
 情報提供Thanks!
Delphiか。文法がC++に似ているから、そこそこ読める。

 見栄えを気にするなら、使用頻度の多い色に、
パレットを集中させると良いかもしれんな。
338334:2001/06/22(金) 12:25
>>337
先生!!そのときは8段階αと加算、乗算のテーブルを持たせてました!!(w
339332:2001/06/23(土) 01:27
 0と7はテーブル不要だから……あれ?
64k*(6+1+1)=512k
340334:2001/06/23(土) 06:21
>>339
ん。そんくらいかも
341デフォルトの名無しさん:2001/06/27(水) 03:57
age
342342:2001/07/08(日) 08:53
タクティクスみたいなゲームのソースとか、あるかな。。
ふつうのRPGなら腐るほどあったけど。。
343デフォルトの名無しさん:2001/07/08(日) 09:42
思考ルーチンを組めるヤツがあまりいないと見た。
344342:2001/07/08(日) 11:42
誰かルーチン以外だけで作っているのいないかなw
つーか最初から生で作って公開している人間というのはいないのか!?

移動ルーチンとかだけならあんまり苦労しないけどな。。
345加護:2001/07/08(日) 14:17
加護、virtualの存在価値がわからんねん。教えてお兄たん。
346デフォルトの名無しさん:2001/07/08(日) 14:21
>>345
激しくスレ違いです。
347加護:2001/07/08(日) 14:29
なんでやねん。加護ゲーム作りたいねん。だからクラスつくっとんねん。教えてくれてもええやん。
ヴァチャール カコイイヨ( ● ´ ー ` ● )
テンプーレト カコイイヨ( ● ´ ー ` ● )
STL カコイイ( ● ´ ー ` ● )
同僚に自慢するヨロシ
friend カコイイ( ● ´ ー ` ● )
goto カコイイ( ● ´ ー ` ● )
asm カコイイ( ● ´ ー ` ● )
349デフォルトの名無しさん:2001/07/08(日) 14:58
GameProgramingGemsかっとけ
シングルーd カコイイヨ( ● ´ ー ` ● )
351加護:2001/07/08(日) 23:37
DirectX8にDirectDrawがないねん。どうなっとんねん。
352デフォルトの名無しさん:2001/07/09(月) 00:23
Direct3Dで代用しと毛。
353デフォルトの名無しさん:2001/07/09(月) 02:58
>>345
ポリモーフィズムって調べてみ。
マップファイルも見てごらん。
354デフォルトの名無しさん:2001/07/09(月) 13:26
>>351
DirectX7使いましょう。
355デフォルトの名無しさん:2001/07/11(水) 10:36
あげ
3563D初心者:2001/07/11(水) 11:20
質問なのですが、64ゼルダのようなカンジのゲームをつくる
とき、フィールドってどうやってつくればいいんでしょーか?
Lightwaveなどでキャラからマップまで全部つくれちゃいますか?
初歩的な質問ですみません・・・
357an:2001/07/12(木) 11:13
age
358デフォルトの名無しさん:2001/07/12(木) 15:41
>>356
マップ作ったとして、当たり判定とかどうするんだろうね?
コリジョン用に矩形とかで再構築するのかな。
359関西人:2001/07/12(木) 16:21
そらもう、あたり判定用の簡易モデル作るに決まってまっせ。
360デフォルトの名無しさん:2001/07/12(木) 21:07
>>359
3Dアクション物作りたくない理由の筆頭だね(藁
モデラ死にまくり。
361デフォルトの名無しさん:2001/07/13(金) 00:44
凝りジョンなんてまじめにやるわけねっしょ
362デフォルトの名無しさん:2001/07/13(金) 01:50
>>361
アホ発見。
363デフォルトの名無しさん:2001/07/13(金) 09:13
>>362
普通は簡易モデルでやるだーろ?
カスですか?
364デフォルトの名無しさん:2001/07/13(金) 12:27
>>363
その簡易モデル作るのモデラだろうが。
作業2倍に膨れ上がって死ぬって言ってんだよ。
365デフォルトの名無しさん:2001/07/13(金) 13:17
あげ
366356:2001/07/13(金) 18:11
>>358
そのへんのことが詳しくかいてある参考書とかってありますか?
367初登場:2001/07/13(金) 20:29
リアルモデルから簡易モデルを自動生成。
生成後にちょっとだけ手直し。
368デフォルトの名無しさん:2001/07/13(金) 22:23
最初に簡易モデルでゲーム成立させてから
リアルモデムちまちま作ってく。
369デフォルトの名無しさん:2001/07/13(金) 22:23
s/モデム/モデル/
370デフォルトの名無しさん:2001/07/13(金) 22:37
>>367
ちょっとづつの修正が作業量が大きくなると厳しくなってくる気が…。

レベルエディタで簡易モデルをレベルデザイナーが直接エディットできるように
しておいて、その簡易モデルを表示モデルとして実際のエンジン上で試せるよう
にしておく。ここでゲーム性のチェックを行う。
ある程度ゲームとして面白いレベルになったら、デザイナーのオーサリングツール
に取り込めるデータ形式としてエクスポート→それをアウトラインにして、
表示用モデルをオーサリングしてもらう。

というのが(レベルデザイナーが簡単に試行錯誤できるようなレベルエディターを
作るのメンドイけど)効率よいと思う。
371356:2001/07/14(土) 00:16
うおおおお
なんかめっちゃむずかしそーだ・・・
とりあえず動くようになるまでどんくらいかかるかな・・・
372365:2001/07/14(土) 03:34
>>370
めんどい… ツール作るの?
373デフォルトの名無しさん:2001/07/14(土) 06:39
>>372
 本格的にゲームを作りたいなら、ツール作りは大事だよ。
374デフォルトの名無しさん:2001/07/14(土) 13:47
ソレは判るけど人手は足りないものでしょ?
375デフォルトの名無しさん:2001/07/14(土) 15:08
>>374
人手が足りないならなおさら大事かと。いいツールを作った場合
の生産性の向上は最終的にはツールをつくらない(もしくは
ツールを安普請した)場合に比べて充分に見合うものになる。

たとえばEDLIN(わからない人はメモ帳でもいいや)でプログラム
書け、っていわれたら激しく萎えるでしょ?プログラマがエディタ
を大事にするように、レベルエディタにとってもツールは生産性に
大きく関わってくるんだよ。(多分)
376気弱な人:2001/07/14(土) 15:26
最初からいいレベルエディタが出来るかどうか不安です。
例えばメタセコとかで判定用モデルを作ってもらい、
その変換ツールだけで済ませた方が安全なんじゃなかろうか。
すくなくとも、ダメレベルエディタとデータを心中させる危険性は減る。
怖がりすぎだろうか。
377デフォルトの名無しさん:2001/07/14(土) 20:26
>>376
単純なツールで済ますことでプログラマの責任の回避は出来るけど、経験測
からいって単機能なツールでは出てくるデータも「それなり」になりがちな
気がする。

最初から完璧なのは勿論出来ないよ。使う人によっても「完璧」の定義は
変わってくるしね。ある程度フィードバックを反映させる期間は重要。

個人的にいいツール作るために注意すべき点として、

・あらゆるデータは柔軟に設計しておいて、どの部分が変更になっても
従来作成してきたデータを無駄にしない。
・機能の向上、新仕様の追加があっても操作系の変更は頻繁に行わない。
単純で一貫性のある操作系を。
・プログラマが単純作業を嫌うように、レベルデザイナーも単純作業を
嫌っています。キー操作の記録や、アンドゥ、単純作業をスクリプト記述
などでバッチ処理が行えるような機能をあらかじめ実装する。

などが(経験的に)アドバイスできます。また、上記のような目標を守る為
にデザインパターンを学ぶ事は有効だと思います。
378デフォルトの名無しさん:2001/07/14(土) 23:36
全然関係無い話で恐縮なんですけど
2Dで良いマップエディタ無いですか?
379デフォルトの名無しさん:2001/07/14(土) 23:49
>>378
ネタか? 自分で作れ
380373:2001/07/14(土) 23:53
>>377

んー、補足したい内容が沢山あるなぁ……
まあそれだけ、ツール作りは大切って事で。

 本当に良いツールを作りたいなら、
ツールを実際に使ってみる事も大事。
自分にとって扱いづらいツールは、
他人にも扱いづらい。

 他人の作ったツールも参考にしましょう。
例えば、マップエディッタを作るなら、
ペイントツールの処理方法が色々と参考になる。
RPGツクール2000やコミックメーカーは、
ツールとしての出来はかなり良い。
まあ、ツールが良いからといって、
完成品の出来が良いとは限らんケド(藁

 汎用スクリプトを自作すると、
ツールのバッチ処理以外にも、
簡単な敵のAI、イベント関連処理、
簡単なアニメーション等、色々と応用が利く。

 デザインパターンを学ぶ前に
オブジェクト指向を学ぶと、
デザインパターンを理解するのが楽。
オブジェクト指向を学ぶ前にモジュールを学ぶと、
オブジェクト指向を理解するのが楽。
381デフォルトの名無しさん:2001/07/14(土) 23:54
ペイントブラシ>378
382デフォルトの名無しさん:2001/07/15(日) 00:02
自分にとって扱いやすいツールが、
他人にとって扱いやすいとは限らない(藁
383デフォルトの名無しさん:2001/07/15(日) 00:24
>>380
海外の有名な3Dエンジンのレベルエディタ・スクリプトエンジン
とかも参考になるよ!
http://unreal.epicgames.com/
とか、良く出来てる。

>デザインパターンを学ぶ前に
>オブジェクト指向を学ぶと、
>デザインパターンを理解するのが楽。
楽…というよりは当然の前提では?(藁

>>382
激しく同意。
384356:2001/07/15(日) 08:47
なんかすごいことになってきたなあ。
オレのレベルを遥か上をいっている。
385デフォルトの名無しさん:2001/07/15(日) 11:36
私もレベル下スギでアレなんですが、
「ツールが作れない状態は問題の分析や設計がマズイ状態」
ってことでイイですか?

いや、趣味でゲーム作ろうとしてるんですが、全体の流れは
浮かんだものの、このスレみて、「うーん、どう適用する?」と
思ったもので...
386加護:2001/07/15(日) 12:19
キャラクターのアニメーションで、何番目までアニメーションが進んだか管理するのに上手い方法ないですか。オブジェクト一つ一つにカウンタつけるしかないですか?それともカウンタは別にオブジェクトを作って管理するべきですか?
387デフォルトの名無しさん:2001/07/15(日) 12:47
オブジェクトで抱えた方が融通つけ易いんじゃねーの?
388373,382(藁):2001/07/15(日) 16:01
>>384-385

始めはとにかくツールを作るよりも、試作品を作った方が良いね。
ヘボでも良いから試作品を完成させれば、凝るべき点がはっきりする。
凝るべき点がわかっているなら、その部分だけツールを作れば良い。

昔は、テキストエディッタやペイントツールすら、無かったわけだし。
389デフォルトの名無しさん:2001/07/15(日) 17:36
オブジェクトをテーブルで管理すれば良いのでは?
Tbl[] = {0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,2,2,2,2}
ってな感じで。
390デフォルトの名無しさん:2001/07/15(日) 17:50
ネタじゃないんですが、
ファイナルファイトを再現しようとしていますが、
良いツールというか、ソースってあるんですかね。
391デフォルトの名無しさん:2001/07/15(日) 19:54
>>386
3Dモノでよく使われている、キーフレーミングなどはどうでしょう?
0 frame : A
7 frame : B
15frame : C
20frame : D
(A〜Dはそのキーフレームのパターンなり、姿勢なりを表す)
で、中間のキーフレームについては任意の法則で繋いでやれば
(3Dの階層構造式のモーションデータのように補間できるデータ
ならしてもいいし、2Dのパターンデータなら単純に次のフレーム
まではその姿勢でもいいし:一例として)
1frameずつデータを持つとデータとして冗長になりがちなので、
いかがでしょ?
392デフォルトの名無しさん:2001/07/16(月) 04:04
皆様が3Dゲームに使ってる行列クラスはどんな感じでございましょう?
フルスペックの同次4次元? それとも4列目の要素0, 0, 0, 1限定?
はたまた3次元?
393デフォルトの名無しさん:2001/07/16(月) 13:03
>>392
クォータニオン+座標値。(いやネタで無しにね)
慣れるとマトリックスよりも使い勝手がちょっとだけいいんだよなぁ。
そもそも行列じゃないのでsage。
394デフォルトの名無しさん:2001/07/16(月) 19:34
クォータニオンがわからん・・・。解説ページよんでもさっぱりだ・・・。
これやみゃぁテメェみてえなバカでもわかるぜっていうページない?
395デフォルトの名無しさん:2001/07/16(月) 20:27
>>394
大丈夫だ。実はクォータニオンが何か理解してるヤツなど全体の1%もいない。

……よね?
396デフォルトの名無しさん:2001/07/16(月) 20:32
>>394
http://layer-8.com/sce/smp_detail.php3?argCatId=1&argSubCat=23&argSmpId=366
直接ソース漁った方が早そう。

>>395
本とか読むと行列よりは何やってるか解りやすい気がする。(4つしか値無いし)
もっとも、漏れは行列もクォータニオンもなんで回転するのか全く理解出来ませんが。
397デフォルトの名無しさん:2001/07/16(月) 21:58
Geometry.h
>(これはバグではなく、4元数の特性のようだ)
やはり理解してないと思われ(笑)
ちゅーかほとんど魔法やね。数学者は偉大だ。
398デフォルトの名無しさん:2001/07/17(火) 01:00
クォータニオンって、2階のテンソル?
399デフォルトの名無しさん:2001/07/17(火) 15:04
行列は、ある座標系を他の座標系に置き換える計算を
パッケージにしたものだと考えればよいでござる。

2次元で考えてみると、頂点(x, y)を原点周りにθ角回転した(x', y')は
x' = xcosθ-ysinθ
y' = xsinθ+ycosθ

で求まるでござるが、これは行列を使うとこう表せるでござる。
[x']=[x][cosθ sinθ]
[y'] [y][-sinθ cosθ]

このとき、x軸(1, 0)、y軸(0, 1)の座標系を
新しいx軸(cosθ, sinθ)、y軸(-sinθ, cosθ)の座標系に
移したと考えることができるでござる。

しかぁし! これでは原点の移動ができないではないか!
以下次号。(かどうかはしらん)
400デフォルトの名無しさん:2001/07/17(火) 15:55
だもんでもう一次元増やすと。
401デフォルトの名無しさん:2001/07/17(火) 16:20
>>399
スケーリングは?
いや、なんとなくは解るけど。
402デフォルトの名無しさん:2001/07/17(火) 19:22
初歩的な質問で申し訳ないですが、とある座標に向かって等速度で移動する
時の計算式ってどうするんでしょう…
つまりはシューティングの弾なんですが。
403デフォルトの名無しさん:2001/07/17(火) 19:34
>>402
>>399に既に答えが書いてある(w

たとえば、y方向に1の速度で移動する場合のx,yの増分
[x]=[0]
[y] [1]
同じ速度で、x軸となす角がθの方向に移動する場合のx,yの増分
[x']=[x][cosθ sinθ]
[y'] [y][-sinθ cosθ]
404デフォルトの名無しさん:2001/07/17(火) 19:36
目的地N ( nx, ny )
現在地O ( ox, oy )

N - O = P ( px = nx - ox, py = ny - oy )

Pの絶対値が距離だから、sqrt( px * px + py * py ) = 距離 ( len )

P を 距離で割れば、単位ベクトルになる。
P /= len ( px /= len, py /= len )

あとは、P に速度をかければよい。
(まあ、普通は len を速度で割ってから、P /= len するが)
3DでもZが加わるだけで同じ。
405デフォルトの名無しさん:2001/07/17(火) 20:31
angle = atan2(dy - y, dx - x)
で角度を求めて
vx = cos(angle) * speed;
vy = sin(angle) * speed;
でもいいナリ。
割とFAQかもついでにage
406デフォルトの名無しさん:2001/07/17(火) 20:55
>>405
三角関数、超越関数系は重いから却下。
407デフォルトの名無しさん:2001/07/17(火) 21:04
>>406
敵の弾くらい256段階のsin,cos テーブルで十分。
多分最速だよ。
408405じゃないけど:2001/07/17(火) 21:06
>>406
あと、発射時に一回だけx,yそれぞれのスピード割出すでもいいじゃん。
遅いって言う根拠なはによ?
409デフォルトの名無しさん:2001/07/17(火) 22:47
いまどき三角関数重いてどこの話やねん。
3Dでバリバリ多用してるっちゅーのに
2Dゲーごときでビビッちゃダメだぜ。

それぞれCeleron450Aで1000万回計算した時間
sin() 3秒
cos() 3秒
tan() 4秒
asin() 10秒
acos() 10秒
atan() 4秒

関係ないが、エースコンバット4の
自機のセルフシャドウめちゃめちゃかっこいいぜ。
410デフォルトの名無しさん:2001/07/18(水) 00:19
>いまどき三角関数重いてどこの話やねん。

PS1じゃないか?
411デフォルトの名無しさん:2001/07/18(水) 02:08
次号きぼ〜ん
412402:2001/07/18(水) 02:53
皆さんありがとうございます。

>>403
むしろ角度の求め方がわからなかったのです。

実は俺も三角関数重いと思ってました(w
確かに考えてみたら3Dなご時世ですし、普通に計算すれば良かったんですね。

>>405
数式がスマートで良いですね。
413デフォルトの名無しさん:2001/07/18(水) 03:10
>>410
PS1だってsinはテーブルだし行列はGTEだから早いんじゃない?
414デフォルトの名無しさん:2001/07/18(水) 06:38
>いまどき三角関数重いてどこの話やねん。
GBかと。って、三角関数なんかもともとねーけど。
415デフォルトの名無しさん:2001/07/18(水) 06:39
ちょっとまて。405でいいってことは、402は高校数学(中学)も一度やった方がよいのでは???
416デフォルトの名無しさん:2001/07/18(水) 12:08
すんません、GTとかのレースゲーでよくある、
テールランプの残像ってどうやってるんですか?

配列を20個くらい用意してテールランプの座標を順送りに
保存してみたんですけど、金魚の糞みたいになってしまいます・・・(T_T)
417デフォルトの名無しさん:2001/07/18(水) 12:11
モーションブラーかけてみればどうよ。
418デフォルトの名無しさん:2001/07/18(水) 12:12
あの残像みるとおれはアキラの劇場版思い出すな。
419デフォルトの名無しさん:2001/07/18(水) 12:12
どうでもいいけどな。
420デフォルトの名無しさん:2001/07/18(水) 12:17
テールランプ部分だけ別テクスチャに描画

ゲーム画面に貼り付け

次のループ

テールランプを前回の画像に合成

ブラー効果

(゚д゚)ウマー

ってことですか?
421デフォルトの名無しさん:2001/07/18(水) 12:19
テールランプの位置をスクリーン座標で保存すればどうよ?
422デフォルトの名無しさん:2001/07/18(水) 13:07
すげー。VCのmath.hのsin()とかって直接fsin命令とかに変換されるのな。
昔とはえらい違いだ。
423デフォルトの名無しさん:2001/07/18(水) 13:19
R4とかは>>421みたいな感じだろうね。
テールランプのエフェクトだけZ順位無視だし。
424デフォルトの名無しさん:2001/07/18(水) 13:29
ていうか、そもそも網膜の残像現象による残像なんだから
Z無視が正しい動作でしょー。
425デフォルトの名無しさん:2001/07/18(水) 14:10
Z無視だと車とか背景の陰になって見えないはずの
ものまで残像が残るからなぁ。
>>417>>421どっちが正解なのかね〜?
426デフォルトの名無しさん:2001/07/18(水) 14:24
テールランプとそのレンズフレアが見えるときだけ保存すればいいっしょ。
もちろんスクリーン座標で。
(モーションブラーできるマシンパワーあればそっちでもいいけど)
金魚の糞ってのは間違ってオブジェクトの座標を保存してるのでわ?
427デフォルトの名無しさん:2001/07/18(水) 14:29
ランプが見えれば濃度あげる。車体の陰になるなら、濃度さげる。
428416:2001/07/18(水) 15:04
そのとおりでした。>>426
ランプが見えてるかどうかの判定はどうやるんですか?
Zバッファを調べるとか?
429ポーリング:2001/07/19(木) 03:13
えーと、質問

ポーリングって何ですか?

DInputのヘルプを見てもいまいちよくわからないもので。

あと、ここの前スレを見ると画面関係の方にもポーリングって言葉があるらしくてよけいに気になってます(^^;
430デフォルトの名無しさん:2001/07/19(木) 03:15
>>429
もちろん、10本のピンを重いタマで倒すやつだよ。
431デフォルトの名無しさん:2001/07/19(木) 03:23
7740 I$=INKEY$:IF I$="" THEN 7740
要は状態の変化をループ回して待つことでござる。
432デフォルトの名無しさん:2001/07/19(木) 04:52
433ポーリング:2001/07/19(木) 05:14
>>432
これも見たのですが、「通信?」って感じでやっぱりよくわからなかったんです。(苦笑)

結局の所、これでなんとか納得しました。
http://yougo.ascii24.com/gh/78/007838.html

>>430-432 、および にゃんこ先生(InternetLinkAgent 作者)に感謝です♪
434デフォルトの名無しさん:2001/07/19(木) 14:56
Game Programming Gemsゲット!
とりあえず、ざっと流し読みして鬱になってます。
みんなも買えぃ。
435デフォルトの名無しさん:2001/07/19(木) 16:41
おれもここで勧められて買ったゾ。けっこー鬱だゾ。
436デフォルトの名無しさん:2001/07/19(木) 19:00
俺も買ったんだけど。
CDROM付いてないんだけど書いてあるのはハッタリ?
それとも外れを引いたのか…。
437デフォルトの名無しさん:2001/07/19(木) 19:04
裏表紙の裏(ああややこしい)についてへん?
438デフォルトの名無しさん:2001/07/19(木) 23:12
Game Programming Gems p.580
デフォルトコンストラクタで初期化しないことで
matrix44 tranMtx = TranslateMatrix44(-10.0, 0.0, 5.0);
とかの冗長な代入を排除とかゆーとるけど、
そんなんコンパイラが最適化してくれるから
不定値を扱ってしまう危険性を考えると初期化したほうがいいと思うなあ。
439デフォルトの名無しさん:2001/07/19(木) 23:15
と思ったけど、大量のVectorとか扱うときはそうもいかんか。うーむ。
440デフォルトの名無しさん:2001/07/19(木) 23:32
>>437
付いてない…何で…。
糊の後すら無いぞ…。

問い合わせてみます。
441加護:2001/07/19(木) 23:41
Game Gems、買ったほうがいーんですかぁー?加護、前に立ち読みしたけど、12000円もするもん買えないねん。
442デフォルトの名無しさん:2001/07/19(木) 23:43
放置
443デフォルトの名無しさん:2001/07/20(金) 01:30
>>440
↓とりあえず、急場はこれを落として頑張れ。
http://www.satori.org/gamegems/files.htm
444デフォルトの名無しさん:2001/07/20(金) 08:59
あげ
445デフォルトの名無しさん:2001/07/20(金) 09:30
視点ハットって何?

一応検索したんだけどよくわからん。
実例ageて教えてくれ。
446デフォルトの名無しさん:2001/07/20(金) 12:38
>>443アリガトウ。
447デフォルトの名無しさん:2001/07/21(土) 00:13
>>445
ジョイスティックのハットスイッチの事?
448デフォルトの名無しさん:2001/07/21(土) 03:55
>>447
そう、それ
これってなんだ?
449デフォルトの名無しさん:2001/07/21(土) 04:09
>>448
ハッとしたよ!
450デフォルトの名無しさん:2001/07/21(土) 04:28
新鮮なバラがこの通りになるくらい寒いぞ。
451デフォルトの名無しさん:2001/07/21(土) 05:34
バナナで頭打って氏んでください
452デフォルトの名無しさん:2001/07/21(土) 06:48
豆腐の角で頭われそう。
453デフォルトの名無しさん:2001/07/21(土) 13:40
あげ
454デフォルトの名無しさん:2001/07/22(日) 14:21
ラジアンの角度の変数って、
できるだけ0〜2πの間に収めておいたほうがいいのかな?
ゲーム中ずっと放置して回しまくりでも不都合ないかしらん。
455C++スレはスレ違いでした:2001/07/22(日) 15:12
GDIでダブルバッファリングってどうやるんですか。下のようにやりましたが駄目でした。
BITMAP bm;
LoadBitmap(hInstance,"IDB_BITMAP1")
HDC hdc,hdc2,buf;
hdc=GetDC(hwnd);
buf=CreateCompatibleDC(hdc);
hdc2=CreateCompatibleDC(hdc);
SelectObject(hdc2,bm);
Bitblt(buf,0,0,600,600,hdc2,0,0,SRCCOPY);
Bitblt(hdc,0,0,600,600,buf,0,0,SRCCOPY);
456455:2001/07/22(日) 15:13
間違えた。
HBITMAP bm;
bm=LoadBitmap(hInstance,"IDB_BITMAP1")
です。
457デフォルトの名無しさん:2001/07/22(日) 15:31
Createいらないんだっけ?
458デフォルトの名無しさん:2001/07/22(日) 16:40
>>455

マルチポストかよ。

しかもそれはトリプルバッファリングになってねぇか?
459APIスレの127:2001/07/22(日) 18:15
>>455
APIスレで同じ質問をして回答をもらいました。
ちなみに、僕と455さんとは別人です。

http://piza.2ch.net/test/read.cgi?bbs=tech&key=991576947&st=127&to=127&nofirst=true
http://piza.2ch.net/test/read.cgi?bbs=tech&key=991576947&st=134&to=134&nofirst=true
460APIスレの127:2001/07/22(日) 18:21
と思ったら、解決されてますね。
鬱だ氏脳
461デフォルトの名無しさん:2001/07/22(日) 19:12
Mark DeLoura著「GAME PROGRAMMING Gems」の邦訳が¥12000で
出てますけどどうなんでしょ?
http://www.amazon.co.jp/exec/obidos/search-handle-form/249-7850456-7037145

なんかありがたそうな気もしますが役に立つのかなぁ?
462デフォルトの名無しさん:2001/07/22(日) 19:14
>>461
何を今更…………………
463デフォルトの名無しさん:2001/07/22(日) 19:42
>>461
他スレでもさんざん話題にでてるけど、とりあえずかっとけや。
464デフォルトの名無しさん:2001/07/22(日) 22:01
>>461
ゲーム作る人ならCマガ10ヶ月分より遥かに役に立つので
とりあえず買っときなはれ。
465デフォルトの名無しさん:2001/07/22(日) 22:14
>>464
いやCマガ無期購読してもGPGの情報が得られるかは怪しい。
466バード大佐:2001/07/23(月) 09:32
厨房な質問だけど
ダブルバッファリングてフルスクリーンじゃないとできないの?
467デフォルトの名無しさん:2001/07/23(月) 10:51
delphian でも買い?
468デフォルトの名無しさん:2001/07/23(月) 12:33
>>466

フルスクリーンだろうと
表示用バッファと描画用バッファを用意すれば
それがダブルバッファリングだわさ。

GDIだとメモリDCにいったん書き込んで云々に当たると思うが。
469468:2001/07/23(月) 12:34
×フルスクリーンだろうと
○フルスクリーンでなかろうと
470バード大佐:2001/07/23(月) 13:17
>>468
なるほど。どうもです。
471デフォルトの名無しさん:2001/07/23(月) 14:32
>>467
del厨だけど買ったよ。自分がゲーム作る人だと思ったら買い。
472デフォルトの名無しさん:2001/07/23(月) 14:56
特定のプラットフォームに依存しない内容、
みたいなことが書いてあったが。

買ったはいいけどあんまり読んでない。
473関西人:2001/07/23(月) 15:18
Game Developer Magazineってどうにかして購読できへんかなー。
クレジットカード持ってへんし。
474名無しサソ:2001/07/23(月) 15:38
>>470
 何となく思ったけど、FlipとBltの違いを聞きたかったのでは?
同じダブルバッファリングでも、画面切り替えの方法が違うよ。
475デフォルトの名無しさん:2001/07/23(月) 15:56
>>474
その場合だと、DirectXスレネタじゃないか?
476デフォルトの名無しさん:2001/07/23(月) 16:42
pDDS->tulip();
477デフォルトの名無しさん :2001/07/24(火) 02:43
WinゲームでBGMを付けようと思うんだけど、
MIDI、WAVE、DAで処理の速度差ってあるん?
478デフォルトの名無しさん:2001/07/24(火) 03:23
>>477
当然ある。
ユーザの環境にも寄るので一概には言えないけど、
ハードウェアMIDIなら高速だけど、ソフトウェアMIDIは結構重いものあるし、
WAVEはHDD転送とメモリバスを多少食う。
DAが一般的には一番速そうだけど、昔ポーリングかなんかで何秒かに一回引っ掛かる
現象が起こったことがあるなぁ。<俺のミスかもしれない
479デフォルトの名無しさん:2001/07/26(木) 15:16
さがりすぎ
480デフォルトの名無しさん:2001/07/26(木) 20:34
あげあらしうざい。
481デフォルトの名無しさん:2001/07/27(金) 11:21
>>478
じゃあWAVEにしてみようかな?
482デフォルトの名無しさん:2001/07/28(土) 15:50
DirectX8で半透明のソートとかやってるサンプルソースどこかにありませんか?
483デフォルトの名無しさん:2001/07/28(土) 23:01
タクティクスオウガみたいなクォータービューを作っているのですが、
いまいちパフォーマンスが出なくて困っています。
タクティクスはSFCでもバリバリですよね。やっぱりみっちり最適化を行っているんでしょうか。
隠面消去みたいな感じで、表示されないチップを描画しなければ多少は高速化できるかな、と考えているのですが。

あと、タクティクスでは地形に段差がありますよね。
ああいうのは、最初から「高さ」の違うチップを用意しているのでしょうか。
それとも、同じ「高さ」のチップを何個も積み上げて表現しているのでしょうか。
後者なら用意するチップの数が少なくてすみそうですけど、パワーは余計食いますよね。
484デフォルトの名無しさん:2001/07/28(土) 23:19
age
485デフォルトの名無しさん:2001/07/30(月) 10:53
>>482
半透明のソートってOT使えば良いんじゃないの?
外してたらスマソ
486デフォルトの名無しさん:2001/08/01(水) 13:54
ディアブロちっくなアクションRPGを作ろうと思っているのですが、
敵の思考ルーチンの組み方が解りません。
解説してるページとかないですか?
487デフォルトの名無しさん:2001/08/01(水) 15:03
>>486
自分ならどう動くか考えな
488デフォルトの名無しさん:2001/08/01(水) 15:57
>>486
ディアブロ?
ローグライクのゲームならたいていソース公開されてるから参考になるんでは。
489デフォルトの名無しさん:2001/08/01(水) 21:02
#include < iostream.h >
↑これさえ知ってれば問題ないよね?>ALL
490デフォルトの名無しさん:2001/08/01(水) 21:03
Kein Problem.
491デフォルトの名無しさん:2001/08/01(水) 21:16
>#include < iostream.h >
>↑これさえ知ってれば問題ないよね?>ALL

間違いかつ、時代遅れがひとつあります。
『プログラミング言語 C++ 第3版』を読みましょう。

名前空間というキーワードを調べてみるのも吉。
492 :2001/08/01(水) 21:59
半透明ソートの OTって プレステ用語?
バケツ(ビン)ソート?。バケツ数幾つ位用意するんだろう?
256くらいで後はバケツ内でソート位かなぁ

ハイポリゴン数で沢山密接してるとどうなんだろう。つっても他にいい方法もないのかな?
493デフォルトの名無しさん:2001/08/01(水) 23:17
>半透明ソートの OTって プレステ用語?

私もわかりませんでした。

OTってアルゴリズムの呼び方でしょうか?調べたのですがわかりません
でした。何かポインタがあればご教授願えませんでしょうか・・・
494デフォルトの名無しさん:2001/08/02(木) 00:48
OTはプレステ用語と思われ
495デフォルトの名無しさん:2001/08/02(木) 00:50
496デフォルトの名無しさん:2001/08/02(木) 03:17
>>493
495みればわかるやん(;´д`)
497デフォルトの名無しさん:2001/08/02(木) 04:33
498485:2001/08/02(木) 11:11
OT=OrderingTableって一般で使ってないのか・・・
実体はプリミティブを描画順に単方向リストでつないだもの。
半透明なんかはこれを使って奥から描画してやらんと破綻する。
D3DなんかでやるときはOTとZバッファ併用でやるんじゃない?
#あ、当然だけどOTは自分で実装してね
499デフォルトの名無しさん:2001/08/02(木) 22:03
マジで質問です。
OTってなんでしょ?

たとえば、256個のPrimitiveへのポインタの配列を用意して、
256段階にZ値で分類して配列からリンクリストで繋ぐことでしょうか?
RadixSortみたいな感じですか?
500引退プログラマ:2001/08/03(金) 00:29
ちょっと違う。
ノーオペレーションプリミティブの配列。
501デフォルトの名無しさん:2001/08/03(金) 02:58
Game Programming Gems 2、入手した人がいたら感想モトム。
502デフォルトの名無しさん:2001/08/03(金) 23:39
OTの実装サンプルってないですか?
これってタスク(ジョブ?)と組み合わせてみんな使ってるの?
503デフォルトの名無しさん:2001/08/03(金) 23:51
ぷれ捨ては知らぬ…
504デフォルトの名無しさん:2001/08/04(土) 00:04
505デフォルトの名無しさん:2001/08/04(土) 00:45
>>504
ブラクラ!!!
ひさびさにひっかかった(´д`)
506デフォルトの名無しさん:2001/08/04(土) 13:18
もうかってまっか?
507デフォルトの名無しさん:2001/08/04(土) 15:22
>>503

OT=ぷれ捨てとは限らないと思いますが。
508デフォルトの名無しさん:2001/08/05(日) 17:34
簡単な事で悪いんですが、
例えばシューティングの敵の移動でサイン波のような
波状移動をさせたい時はどうするのが効率いいんでしょうか?
自分は普通にサインテーブル使ってますが・・・・
509デフォルトの名無しさん:2001/08/05(日) 17:46
いいから普通にsin関数使いなさい。
>>409参照。
510デフォルトの名無しさん:2001/08/06(月) 07:12
>自分は普通にサインテーブル使ってますが・・・・
というところからみて、テーブル化しないと重いか、もしくはsin関数が使えない、
又は浮動小数点そのものが使用できない環境かもしれない。
511デフォルトの名無しさん:2001/08/06(月) 07:35
単にいまどきサインテーブルを使うのが普通と思ってる厨房かもしれない。
環境くらい書けよ。
512508:2001/08/06(月) 11:07
サインテーブル使うのが普通と思ってた厨房でした。
逝ってきます。
513デフォルトの名無しさん:2001/08/06(月) 11:47
別段厨房だとは思わないけど
ケースバイケースじゃん
514デフォルトの名無しさん:2001/08/06(月) 20:16
うん。
515デフォルトの名無しさん:2001/08/10(金) 22:32
カードゲーム等作る時のシャッフルってどうやってます?
ぱっと思いつくのは必要な大きさの乱数だして一度も出てない
数だったら追加していく っていうのと
配列に順に並べて乱数二つだしてそのインデックスの数を入れかえる
っていうのだけれど 前者だと最後の方なかなか決まらなそうだし
後者だと順序に片寄りが出るみたいだし。他に良いアルゴリズムないですかね?
516デフォルトの名無しさん:2001/08/10(金) 22:38
>>515
2つを合体させてみてください。
517デフォルトの名無しさん:2001/08/10(金) 23:05
for (int i = 0; i < CARD_NUM; i++)
  swap(card[i], card[random() * CARD_NUM]);
518デフォルトの名無しさん:2001/08/12(日) 02:28
>>507
漏れはプレステ以外では聞いたことないなぁ。

元ネタ、ていうか、元の呼び方はどの辺から来てるの?
論文、歴史、なんか知らない?

当方、プログラム関係の書籍は結構買ってるけど、そういう
呼び方をしているのは見たことがありません。
519デフォルトの名無しさん:2001/08/14(火) 18:50
これが沈んでるから変なすれがたつんだage
520デフォルトの名無しさん:2001/08/14(火) 18:59
どんあスレがたったんだ?
521gggg:2001/08/14(火) 20:04
FFがつくりてーとかなんとか
522デフォルトの名無しさん:2001/08/14(火) 20:09
ファイナルファイト
523デフォルトの名無しさん:2001/08/14(火) 20:23
JAVAでRGBがどうとか
524デフォルトの名無しさん:2001/08/14(火) 22:39
クオータービューのRPGやシミュレーションをつくるとして、
このビットマップはどのように保持し、どのように
マップを組み立てればよいでしょうか。

ひし形をしたビットマップマップをそれぞれつくり、
位置を計算して配置し、隙間なく描画されるようにしているのですが、
実際のプログラムではどのように処理しているのかと。
  /\
 | |  \/
厚みあるパーツ↑
  /\
  \/
厚味の無い平面のパーツ↑
  /\
 |  |
 |\/|
 |\/|
  \/
下層のパーツから順番に描画し、積み重なった部分を表現
私は上記のような感じでやっています。
525デフォルトの名無しさん:2001/08/14(火) 22:40
ずれ修正。

  /\
 | |
  \/
厚みあるパーツ↑
526デフォルトの名無しさん:2001/08/14(火) 23:12
>524
頭使わないでメモリ使う方法(絵をイパーイ用意しよう)だと簡単だよ。ばか。
527デフォルトの名無しさん:2001/08/14(火) 23:42
クォータービュー自体無駄じゃねん?
はじめから3Dで組んだ方がいいんでない?
2Dでやると重なる部分が増えるたびに
爆発的に処理が重くなるんじゃない?
そんな無駄なことに神経を使うぐらいなら別なところに
ちからを注いだほうがよいのでは?
そもそも2Dで無理してまでユーザーは
クォータービューなど望んでは・・・・・・。どう?
528チュー:2001/08/14(火) 23:43
◆◆◆(新)芸能人彼氏とH芸能界の表裏画像動画大公開◆◆◆
◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
◆綺麗なおねぇさんは好きですか?◆
http://www.futomomo.com/netidol/sister/megu/
◆セーラー服◆
http://www.futomomo.com/netidol/sailor/miku/
◆モーニング娘 ◆
http://www.futomomo.com/netidol/morning/mai/

◆◆◆(新)芸能人彼氏とH芸能界の表裏画像動画大公開◆◆◆
◆アイドル画像秘宝館◆
http://www.futomomo.com/netidol/idolhappy/maki/
◆綺麗なおねぇさんは好きですか?◆
http://www.futomomo.com/netidol/sister/megu/
◆セーラー服◆
http://www.futomomo.com/netidol/sailor/miku/
◆モーニング娘 ◆
http://www.futomomo.com/netidol/morning/mai/

.kljkoijl
529デフォルトの名無しさん:2001/08/15(水) 00:58
>>524
Zバッファみたいな処理を頑張るしかないねぇ
まぁ2Dアクセラの腕力でダブルバッファ描画してもいいんじゃん?
クォータービューアクションゲームとかじゃないんでしょ(w
530デフォルトの名無しさん:2001/08/15(水) 01:00
>>524
ようはタクティクスオウガでしょ。ちがう?
531ヒント:2001/08/15(水) 02:41
>>483
>>524-525
クォータービューのゲームでは、地面と物体が
重ならないように作られているゲームが多い。
532デフォルトの名無しさん:2001/08/15(水) 21:03
物体と物体も?
533ヒント:2001/08/16(木) 12:08
いや、物体と物体はY軸ソート。
534デフォルトの名無しさん:2001/08/16(木) 15:30
Game Programming Gemsの
「汎用的で強固なAIエンジンの設計」ってあったまいい〜
状態マシンの導入だけならともかく、
ここまで一般化・汎用化できるモノなのだとは思ってなかったでござるよ。
ちょっと感動したので記念カキコ。

すぐ次の項の「有限状態マシンクラス」はつまらんな。
こんなクラス作って一体何がどうなる。
535デフォルトの名無しさん:2001/08/16(木) 19:51
風船とその糸にぶら下がっている荷物を出したいんだけど、
(荷物は、風船の浮力でゆっくり上昇していて、風船が割れると落下する)
風船と荷物をつなぐ糸の挙動って、どんな感じになるでしょう?
そんな状態の参考ページってありますか?
536デフォルトの名無しさん:2001/08/16(木) 23:34
振り子じゃないの?
537デフォルトの名無しさん:2001/08/17(金) 15:53
風船と荷物の質点2つをバネで繋げなさい。
538デフォルトの名無しさん:2001/08/18(土) 23:19
初心者質問で申し訳無いのですが、
Windowsでエロげーを作る際にどうやってCDをフェードさせるか困ってます。
要するに音量が弄れれば良いのですが、APIひっくり返しても見つけられませんでした。
一応検索エンジンでも当ってみたのですが収穫は無く………
心優しい方がいらっしゃいましたら、よろしくお願いします
539デフォルトの名無しさん:2001/08/18(土) 23:53
auxSetVolume
540デフォルトの名無しさん:2001/08/19(日) 00:23
mixerSetControlDetailsでも可
541デフォルトの名無しさん:2001/08/19(日) 00:50
マージャンゲームの役判定アルゴリズムを教えてください
542デフォルトの名無しさん:2001/08/19(日) 01:22
FFXのユウナの振袖はどうやって動かしていると思う?っつうかあれデザイン
さんにモーションつけてもらってるだけじゃないの?

複数の点とって拘束条件つけてるだけ?もっとうまい方法があるの?
543デフォルトの名無しさん:2001/08/19(日) 03:01
544デフォルトの名無しさん:2001/08/19(日) 09:53
自作のゲームが最低どの程度のスペックのマシンで動くかどうか
調べるにはどうしたらいいでしょうか?
うちには一台しかありませんし、古いPCを持っている友人もいません。
545デフォルトの名無しさん:2001/08/19(日) 10:00
>>544 それなりの水準だと思えるならWebで公開して使ってみて貰いなさい
546デフォルトの名無しさん:2001/08/19(日) 12:49
「最低どの程度」というのはドキュソ
・GeForce3必須なように作る
・TWTnL必須なように作る
しかないじゃん。
547 :2001/08/19(日) 22:22
PCゲーでは当たり前でフレームレート可変 で タイミングシビア(格ゲー)とか 作るのは
どうやったらいいのかな?

表示部と演算部を切り離すと表示中に変数書き換えないようにする為に変数のダブルバッファ化が
必要?(2Dシーティングとかは楽だけど、、、クラス多様な構造とかだと面倒な予感)

完全に切り離さなくても、キー入力だけ別スレッドとか考えたけど
それで リプレイ機能とか実装して、、、環境の違うマシンで問題でないかなぁ
548デフォルトの名無しさん:2001/08/19(日) 22:39
当方、PCゲー&フレームレート固定&アクション系だけど、
表示部と演算部を切り離してやってます。
一応、いつでも表示だけをとばせるように作ってますヨ。
キー入力は演算部でとってて、リプレイもそれで。
参考までに。
549厨房:2001/08/19(日) 22:48
いや、切り離すって >>548の場合は 演算、表示が1:1で呼ばれる訳でしょ
それじゃ全然問題でないとおもうんですけど
550    :2001/08/21(火) 20:04
アーケードゲームの「ギャルズパニック」ってゲームありますよね。
何作か出てるやつ。あの陣取りゲームけっこうおもしろいと思い、
自分で作ってみたいと思うのですが、アルゴリズムがちょっと・・・。
けっこうやり方によっては複雑な形とかになっちゃいますよね。
ああいうのは、どうなってるんでしょう?
551デフォルトの名無しさん:2001/08/21(火) 20:24
クイックスが元祖ですね。
作ったことないけど、シードフィルアルゴリズムで塗り分けた後、
(壁にくっついたときの自キャラの左右後方を始点にすればいいかな?)
面積の小さい側を塗り直せばいいんじゃないでしょうか。

もっと効率いい方法ある気がするけども。
552551:2001/08/21(火) 20:34
って、適当な1点から塗って、全体スキャンで面積調べたほうが楽か。
553551:2001/08/21(火) 20:48
おっと、ゲーム中に残りの領域のサイズを保持しておけば、
シードフィルが終わった時点で既に面積の大小が判明してますな。
554デフォルトの名無しさん:2001/08/21(火) 20:57
>>552
別に全体をスキャンする必要はないでしょ。
線は縦横直角にしか描けないんだから、角の座標を利用して
四角形の組み合わせで面積が出せる。
555デフォルトの名無しさん:2001/08/21(火) 22:40
2DのFEみたいなSLGで
C++で組むとして、
ユニットやマップ、イベント管理のデータ構造などで
参考になるページはありませんか?
556550:2001/08/21(火) 23:55
レスありがとうございます。
シードフィルよく知らなかったのでちょっと調べてみました。
ある座標をSeedにしてそのまわりで塗りつぶすべきピクセル
を探して、それをまたSeedにする、ってやつですか?
実はまだピンときてないんですが、けっこう重いですかね
これって。
557デフォルトの名無しさん:2001/08/22(水) 00:02
>>556
重いかどうかはマシンスペックに依存するとおもわれ。
ターゲットマシンのスペック書くぐらいしないと重いかどうかはわからないだろ。
あとその方法だとスタックがパンクするんじゃないか。
558デフォルトの名無しさん:2001/08/22(水) 00:30
もっと効率良いロジックあるはずだろう...
559デフォルトの名無しさん:2001/08/22(水) 00:34
とりあえずCマガ読んどけ
560デフォルトの名無しさん:2001/08/22(水) 00:40
シードフィルって言葉が出てきた時点でアウト?!
561デフォルトの名無しさん:2001/08/22(水) 00:46
>>558-561
ていうかお前らなんか建設的なこと書けよ。
562デフォルトの名無しさん:2001/08/22(水) 00:47
この手のゲームは机上であれこれいうよりも作った方がはやくねーか?
どっかの同人サークルがWSで作っていたような気がするから
少なくともシードフィルではないだろう。
563デフォルトの名無しさん:2001/08/22(水) 00:49
ねえねえ、シードフィルじゃダメなの?
564デフォルトの名無しさん:2001/08/22(水) 00:55
Cマガってよく聞くし、気になってたんだけど、
どんな雑誌なの?
CマガのCはC言語のC??
565デフォルトの名無しさん:2001/08/22(水) 00:56
長方形のあつまりとして管理するんか?
566デフォルトの名無しさん:2001/08/22(水) 00:58
>>562
WSどころかZ80クラスでも余裕だと思うのだが。
567デフォルトの名無しさん:2001/08/22(水) 01:00
>>565
魅力的に聞こえるが、具体的な方法が俺には思い浮かばねえ。
誰か考えてくれい。

#ていうか、斜めにも線引けるクイックス系ゲームあるじゃん。
568デフォルトの名無しさん:2001/08/22(水) 01:01
1ピクセル単位で曲がれるのかな?ってそりゃきついか。
569559:2001/08/22(水) 01:04
>>561
オマエモナー
っていうかちょっと前のCマガにまさに塗りのアルゴリズム載ってたから
読んどけばって言いたかったんだスマソ。2001.3-4あたりだ。
570デフォルトの名無しさん:2001/08/22(水) 01:06
>>568
クイックスもギャルズパニックも2ドット単位でしか動けないから
(そうするのが楽だからな)
塗りつぶすシードの数はピクセル数の4分の1だというのは内緒。
571デフォルトの名無しさん:2001/08/22(水) 01:10
572デフォルトの名無しさん:2001/08/22(水) 01:12
>>550
率直に聞くが、ソースくれって言ってるわけか?
ペイントアルゴリズムで検索してそれを片っ端から試してみれば
自然に解決する問題だと思うが。
573デフォルトの名無しさん:2001/08/22(水) 01:13
>>571
ものすごく読む気のしない糞ソースですが、とりあえず読んでみます。
574デフォルトの名無しさん:2001/08/22(水) 01:14
>>571
>There is small bug and some images causes crash of game
おいおい、、、
575デフォルトの名無しさん:2001/08/22(水) 01:24
シードフィルならGraphics Gemsにあったけど。
http://www.acm.org/tog/GraphicsGems/gems/SeedFill.c
でもこれ一番シンプルで遅いやつだな。
576デフォルトの名無しさん:2001/08/22(水) 01:31
リブルラブルの件といい、塗りつぶしは我らには鬼門のようだ。
577デフォルトの名無しさん:2001/08/22(水) 01:37
とりあえず作ってみるしかないのか...

懐ゲーのロジックは今考えると「なんであの時代のマシンで?」ってのが多いな
578デフォルトの名無しさん:2001/08/22(水) 02:47
シードフィルはもともと的外れなんじゃないの?
579デフォルトの名無しさん:2001/08/22(水) 03:19
>>578 シードフィルで駄目な理由を40文字以内で述べよ。
580デフォルトの名無しさん:2001/08/22(水) 03:44
折れ曲がるときに元の方向に線を延ばせば
フィールドを長方形に分割できるようなのだが、何か役に立つであろうか?

>>577
トライ&エラーでは無理っぽいと思われ。みんなで考えよう。
>>578
チャチャだけ入れとらんと代案出せゴルァ

クイックスのCPUは6502が2つのようだ。
seed fillでも線分スタックなら間に合わんとも思わんが
さりとてそのような鶏をさばくに牛刀を用いるようなことをするかどうか。
何ぞエレガントな方法がある気配はするな。
581デフォルトの名無しさん:2001/08/22(水) 03:47
シルフィードに見えてしかたがない
582デフォルトの名無しさん:2001/08/22(水) 03:56
とりあえずシードフィルでやってみて、話はそれからじゃないか?
プラットフォームと画面サイズで処理時間が変わってくるのは容易に想像つくだろ。
583デフォルトの名無しさん:2001/08/22(水) 04:23
考えてみた。まずフィールド全体の2次元配列が必要だわな。

境界線についたときに、境界線を左右どっちかに辿れば
3つの領域の境界が完全に確定するっしょ。
んで、全体スキャンで3つの領域を塗り分け、
クイックスのいる領域を調べて、
もいっかい全体スキャンで塗り直しでどうよ?

シードフィルよりは軽いと思うのだが。
584デフォルトの名無しさん:2001/08/22(水) 04:26
QixのJavaアプレット探して逆コンパイルかけてみたが、
全ピクセルにPolygon.insideメソッドなんて使ってるよトホホ。

というわけで、今の時代
どんな方法使ってもプレイヤーは気づかないと思われ>550
とりあえずがいしゅつの方法で実装してみよう。
585デフォルトの名無しさん:2001/08/22(水) 04:43
いろいろ調べていて思ったんだが、この手のアルゴリズムって社外秘なんだろうか?
586デフォルトの名無しさん:2001/08/22(水) 04:54
境界線についたときに、境界線を左右どっちかに辿って
(距離が短いほうがいいな)
1つの領域の境界ピクセル群を確定、バッファに記録。
スキャンラインコンバージョンでその領域を仮ペイント。
全体スキャンでクイックスのいない側を再ペイント。
もっといい方法があるだろう……。
587デフォルトの名無しさん:2001/08/22(水) 07:41
588デフォルトの名無しさん:2001/08/22(水) 09:33
いや、実は面積はどうでもいいんだ。
クイックスのいない側が塗り潰されるわけで。
589デフォルトの名無しさん:2001/08/22(水) 12:59
現在の領域が何%か?ってのは計算する必要あるよね。
だいたい80%でクリアだっけ?
590デフォルトの名無しさん:2001/08/22(水) 15:27
それは塗りかえるときにピクセル数数えるだけで良いッス。
591デフォルトの名無しさん:2001/08/22(水) 20:24
そういやギャルズパニックで、新たに領域を囲った瞬間、ちょっと止まる
けど、あそこでけっこう処理が集中してるのかね。
592デフォルトの名無しさん:2001/08/22(水) 22:19
MSXやぴゅう太にあった「ナイトフライト」というクイックスもどきでは、
でかい領域を囲むと数分待たされることさえあった。
593ぺーぺー:2001/08/23(木) 10:34
趣味でゲームを作りたいので教えてください。
専門外の事は他人に任せたいのですが、
サウンド(SE)はどんな人にお願いするのがいいのでしょうか?
(サウンドのプログラムではなく、音の選出や音作りとか)
ちなみに画像はネットで見つけたグラフィック系の専門学校生に
お願いしました。
594デフォルトの名無しさん:2001/08/23(木) 11:56
本来なら専門の人を割り当ててもいいくらいだけど、
効果音専門でやってる人なんか少ないだろうから、
音楽系に詳しい人になるだろうな。
もしくは手の空いた人か。
595デフォルトの名無しさん:2001/08/23(木) 14:45
>>593
要は、金出さずに、ってことでしょ?
やってくれる人なら誰でもいいんじゃない?
それとも、趣味で作ってるけど、スタッフに金を払うつもりはあるの?
って、個人でン百万もだすわけないから、それはないか。
596ぺーぺー:2001/08/23(木) 15:09
>>595
いや、それがさー、そのグラフィック頼んだ専門学校生も
金取るって言ったから、人日いくらだ?と思ってかまえてたら、
絵1枚3000円とか言われちゃって、拍子抜けしちゃったんだよ。
趣味で作ってるけど、そう大きな金額にならなければ金出しても
いいと思ってるよ。
相手も趣味の延長で請け負ってくれればベストかもしれないんだけどね。
597デフォルトの名無しさん:2001/08/23(木) 15:13
>>593
著作権フリーの効果音素材集を使用するというのも、選択肢の一つ。
近くの図書館に置いてあるかどうかを、調べてみると良いカモ。
598ぺーぺー:2001/08/23(木) 15:52
>>597
ほおほお、そんなのあるんですね、知りませんでした。
あー、でも、問題はその中からピッタリあった効果音を
取り出すのが意外と難しいかもしれない。(所詮素人)
599デフォルトの名無しさん:2001/08/23(木) 16:33
別板の別スレからコピペ

>試聴してから現物を購入すれば何も問題はないと思う。
>
>あと、図書館以外にCDレンタル屋でも
>なぜか効果音集が借りられることがある
600デフォルトの名無しさん:2001/08/23(木) 17:13
>>599
だから購入しないと利用許諾できないって…

ちなみに、俺は「RPG&ホラー」の素材集を買って使った。
601デフォルトの名無しさん:2001/08/23(木) 17:27
>>600
だから、図書館やレンタル屋で借りて試聴した上で、現物買えってことだろが。
602デフォルトの名無しさん:2001/08/23(木) 18:24
DAKARAってCMといい味といい好きなんだよな。
それはそうと、TVアニメとかで使われてるSEも売ってるん?
603ぺーぺー:2001/08/23(木) 18:24
やはり他力本願は無理か・・・
604デフォルトの名無しさん:2001/08/23(木) 18:48
>>602
むしろ逆。TVアニメで使ってるのと同じ素材集を見つければいい。
605デフォルトの名無しさん:2001/08/23(木) 20:15
>>600
音辞典か。
606ぺーぺー:2001/08/24(金) 09:39
とりあえず、格ゲーのサントラCDいっぱい買ってきました。
607デフォルトの名無しさん:2001/08/24(金) 09:45
>>606
著作権は大丈夫?
608デフォルトの名無しさん:2001/08/24(金) 10:12
>>606
(´д`;)
609デフォルトの名無しさん:2001/08/24(金) 10:44
効果音に関しては、似た音を録音する手段もあるのだが……
出てないね。
610ぺーぺー:2001/08/24(金) 12:32
秋葉原ってすごいんです。
サントラCDが一枚2、300円で売ってました。

著作権は・・・・ダメですね。
買ってきたものは参考程度にとどめておきます。
効果音作るって事は出来るんでしょうか?
SoftMIDI→WAVとかかなあ・・・
611デフォルトの名無しさん:2001/08/24(金) 17:49
Cでオセロ作ったんだけど、コンピュータが弱すぎて
面白くもなんともない。
ってことで強い思考アルゴリズム組みたいんだけど、詳しく解説
してるサイト知らないですか?検索してみたらミニマックス法が
なんちゃらとかあったけど具体的に解説してるサイトが
なかなか見つからないもので・・・。

微妙にスレ違いのような気もするけど、一応ゲームなんで。
612デフォルトの名無しさん:2001/08/24(金) 19:17
AIで組んでみるとか
613デフォルトの名無しさん:2001/08/24(金) 20:03
>>611
「一緒に考えて下さい」じゃなくて「サイト教えて下さい」なんだから、解決の指針をあげても駄目なんだよね。
614612:2001/08/24(金) 20:49
615611:2001/08/25(土) 00:01
>>614
無知でスマソ
>>613
解決の指針でもありがたいです
616612:2001/08/25(土) 01:57
とりあえずオセロに勝つ為の本は買ったの?
せめて、それからじゃないのか
617デフォルトの名無しさん:2001/08/25(土) 02:40
あんなの角とれば勝ちじゃん
618デフォルトの名無しさん:2001/08/25(土) 08:23
角とるにはどうすりゃいいの?
619デフォルトの名無しさん:2001/08/25(土) 09:35
>>618
相手がフチのラインを制圧できないように置く。
詳しい話は、オセロに勝つ為の本を読みませう(藁
620デフォルトの名無しさん:2001/08/25(土) 10:19
>>618
相手の石を角の隣のマスに置かせればいい!
621611:2001/08/25(土) 13:39
>>616
とりあえず暇なとき図書館にでも行って調べてみることにしますわ。
622デフォルトの名無しさん:2001/08/25(土) 19:43
ヘックスマップの距離計算や障害物回避を考慮した最短距離探索などの
情報が載ってる本や URL を教えてください。

検索サイトで頑張ってみたけどキーワードが悪いのかぜんぜんみつかり
ませんでした。一応、SYSTEM なんとかって開発環境の掲示板にそれっ
ぽいのが1つあったけど、すでに 404 だった
623デフォルトの名無しさん:2001/08/25(土) 20:21
SOFTBANK Professionalゲームプログラミング
四角マップだけど、やるこた同じ。立ち読みで十分。
624デフォルトの名無しさん:2001/08/25(土) 21:40
2Ch閉鎖の危機らしいので、いざという時のため、
したらばをオススメしておく。
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998704295
前スレ
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=997804717&st=814
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998670947&ls=100

参考スレ(ひろゆきのコメントがいろいろある)
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998704295&st=2&to=2&nofirst=true
(必読!)
625デフォルトの名無しさん:2001/08/25(土) 23:42
今更ですが「シードフィル」が「シルフィード」に見えました。
シルフィード?リブルラブル?へ?
って状態。ごめん。いってくる。かえってこないから。
626デフォルトの名無しさん:2001/08/26(日) 00:04
>>622
再帰つかって計算するんだよ。
627デフォルトの名無しさん:2001/08/26(日) 02:19
CマガかOhXで見なかったか?
628デフォルトの名無しさん:2001/08/26(日) 03:14
四角から六角へ距離計算すら応用できていません。

[ ][ ][ ]
 [ ][ ][ ]
[ ][ ][ ]

このタイプのズレかたの場合、上下に移動すると横に
も足が稼げますよね、障害物がなければ最短距離は...

上下の移動で足が稼げない条件やらいろいろあって、
スマートな式ができなかったりするんです。
テーブルを組み合わせれば良いのでは?

Cで書くならこんな感じ
for(i=0;i<6;i++)
{
x2 = x + xTbl[i];
y2 = y + yTbl[i];
//(x2,y2)の位置を基準に再帰してチェック。
}

あと、y軸が偶数か奇数かで、別にテーブルを用意する事。
630デフォルトの名無しさん:01/08/26 21:19 ID:xZWsAlGA
C/C++でwinのゲームプログラム講座をしてるHPがあったら教えてください。
631デフォルトの名無しさん:01/08/26 21:34 ID:T95KUHcw
>>630
ここらへんとか。
http://www.google.com/
632デフォルトの名無しさん:01/08/26 21:36 ID:xZWsAlGA
>>631
630を書き込む前にgoogleで一時間探したけど見つかりませんでした。
無いのか?
633デフォルトの名無しさん:01/08/26 21:59 ID:r9kv7gys
というわけでネタフリもあったことだし、
ゲームプログラムに役立つwebページでもあげていきますか。
634デフォルトの名無しさん:01/08/26 22:16 ID:rrgurWqc
635デフォルトの名無しさん:01/08/26 23:21 ID:aei/wFuw
636デフォルトの名無しさん:01/08/26 23:47 ID:T95KUHcw
>>635
そこ却下したい……。
637630:01/08/28 14:34 ID:i33myGXs
http://web.kyoto-inet.or.jp/people/takuma/howtoprogram.html
とか
http://www.orchid.co.jp/computer/cgame/index.html
とか見つけたけど・・・うん。

エミュレータのREWとかのような窓のゲームを作りたい・・。
638デフォルトの名無しさん:01/08/28 19:11 ID:DwbZUWmA
>エミュレータのREWとかのような窓のゲームを作りたい・・。
詳細キボン
639デフォルトの名無しさん:01/08/28 19:12 ID:DwbZUWmA
エミュレータのような?窓のゲーム?
エミュレータ?エミュレータで動かすソフト?
やっぱわからん
640デフォルトの名無しさん:01/08/28 23:02 ID:hqIaNNpM
>>639
スマソ
Win窓で動くもので、全画面表示じゃないそれ単体のゲーム。
具体的にわからないのは窓の中の画像処理。
ということで更に何かサイトは無いかサーチエンジンに旅してきますです・・・。
641デフォルトの名無しさん:01/08/28 23:12 ID:uMAauu/Y
全然わかんねーよ
表現力足りないとゲーム人にやらせてもつまんないぞ
642デフォルトの名無しさん:01/08/28 23:13 ID:un0lsa4U
>>640
それならDirectXじゃない?だったら幾らでもTipsサイトあるけど。
HALサポートしてないビット深度ならDIBでもあまり変わらないけどね。
643デフォルトの名無しさん:01/08/28 23:26 ID:QBBZCcyI
>>640
よくわからんけど、フルスクリーンモードでなく、ウインドウモードで動作するゲームってこと?
フルスクリーンとウインドウモードを切り替えれるアプリならいくらでもあるけど。
644642:01/08/28 23:38 ID:un0lsa4U
643みて補足。>642で言ってるのはあくまでWindowモードだけしか使わない場合の話ね。
645デフォルトの名無しさん:01/08/29 00:33 ID:iyF47r7w
DirectXで全画面表示させなけりゃ良いだけじゃないの?
646デフォルトの名無しさん:01/08/29 00:39 ID:Mf58huQg
というか、書き込みを見る限り640はそんなにすごいものを作ろうとしていないと思われ。
つまりはウインドウ(モード)で動くマインスイーパとかその辺のものでは?
DirectXすらいらないと思われ。
647デフォルトの名無しさん:01/08/29 00:44 ID:Mf58huQg
調べてみたけどrewってGBのエミュレータみたいだけど、
フルスクリーンモードあるじゃんか。
もうちとわかりやすいたとえ方しようよな。
648デフォルトの名無しさん:01/08/29 00:50 ID:iyF47r7w
自力でダブルバッファしる!
649デフォルトの名無しさん:01/08/30 09:53 ID:9gGD8KMI
DirectX覚えるの面倒くさいんだけどAPIだけで
フルスクリーンにする方法無いですか?
650デフォルトの名無しさん:01/08/30 09:57 ID:jczwzR5Q
解像度も変えたいんだったらDirectX使ったほうが早い。
別に覚えるほどのことも無いしCOMオブジェクトに触れることも無い。
651デフォルトの名無しさん:01/08/30 18:55 ID:6/9p5gqo
>>649
あるけど、サイズ変更後
デスクトップのアイコンぐちゃぐちゃ、ウインドウのサイズ変更しまくりで
ユーザーの顰蹙かってもいいなら教える。
652デフォルトの名無しさん:01/08/31 02:14 ID:44BFTqPM
フリーの(そしてなるべくならソースを公開している)スプライトアニメーションエディターを探してます。
どなたかご存知の方いらっしゃいませんか?
ドットの編集はできなくてもかまいませんが、3万2000色以上に対応していて、アニメーションを視覚的に
確認できて、コリジョンなどのアニメーション以外の情報をグラフィカルに編集でき、Windows上で動作する
ものが理想です。
653 :01/08/31 02:25 ID:RKpdaxm6
ちゅーか当たり判定どーするかなんて人それぞれやねん。
汎用ソフトになんかでけへんねん。
自分でツール作れっちゅうねん。
654デフォルトの名無しさん:01/08/31 02:41 ID:GpATFhDU
ツールであたり判定しないっちゅうねん
655デフォルトの名無しさん:01/08/31 04:33 ID:6MGPuHeU
ところで皆さんWebサイトはどういったところを見てますか?
http://www.gameprog.com/
自分はこんなところしか知りません。もし良いところがあれば
教えていただけないでしょうか?
656デフォルトの名無しさん:01/08/31 08:25 ID:kKdtgz.k
>>652
そういうのは普通ゲームにあわせて自作する。
657デフォルトの名無しさん:01/08/31 10:14 ID:FUJU9Qzo
>>652
そこまで既製品に頼りたいんならナントカツクールとかでいいんじゃないの?
そのままゲームも作れるし。
凝りジョンの編集まで出来ちゃったら、自分のゲームエンジンがそれに制約を
受けるという本末転倒状態になっちゃうじゃん。
658デフォルトの名無しさん:01/08/31 20:29 ID:qZidlL3k
ゲームであるマスコットとピンが紐が繋がっていて、
ピンを動かすと、マスコットもそれにつられて
揺らしたように動くというマスコットの
糸とマスコットの動かしかたを
解説しているページはありませんでしょうか
659デフォルトの名無しさん:01/08/31 20:38 ID:hZjTsVzQ
>>658
>>535-557
660デフォルトの名無しさん:01/08/31 20:39 ID:hZjTsVzQ
もとい>>535-537
661デフォルトの名無しさん:01/08/31 21:00 ID:qZidlL3k
>>660
ありがとうございました
662デフォルトの名無しさん:01/09/06 22:05
キー入力で上下左右歩くという動きをそれぞれ3パターンのグラフィックで表現すると仮定した場合、方向転換やアニメーションは普通どのように実装しますか?
663 ◆Oq8Zhosg :01/09/06 22:27
>>662
いや、そりゃそのまま普通に実装するだろぅ
664デフォルトの名無しさん:01/09/06 22:45
どのように。
そのように
かのように
667デフォルトの名無しさん:01/09/07 01:31
何度かDirect3dIMを勉強したけどいつも挫折します。
で、自作3dエンジン作っても速度が出ません。
これから勉強するならIM(今は新しい呼び名になってたっけ)とopenGL
どっちがいいですかね?
正直、もう弱音は吐きたくないんで経験者の方の御意見をお願いします。
668662:01/09/07 01:54
てゆうか、キャラクタの座標とかをメンバに持つクラスになんて名前つけます?まんまCharacterやSpriteとかでいいの?教えてチョン。
>622

DirectXSDKのサンプルソースと同じにしとけばいいんじゃない?
670デフォルトの名無しさん:01/09/07 02:07
>>668
私の場合はUnitですね。
671668:01/09/07 02:46
おお、なるほど。それいただきます。
672 :01/09/07 09:28
そんなことまで人に聞くのかよ・・。ヽ(´Д`)ノ アキレタ...
超低レベル質問スレ
>667
ゲームを作るんでなく、
純粋に3Dエンジンを作るのが目的なら、仕様が安定したOpenGL。
他は一概には答えなどない。
675662:01/09/07 11:37
てゆうか、僕の作るゲームに名前つけます?まんまGameやGe-muとかでいいの?教えてチョン。

↑つぎはこう言う質問が来ると思われ>>662
662は考え過ぎにみせかけて、実は一切何も考えてないと思われ
好意的に見て、アニメーションパターンの管理方法を聞いているのかと思っていたが、
そうではにようだな・・・。
678662:01/09/07 18:28
てゆうか、DirectX8よりDirectX7のほうが2Dやりやすいと思うんですが、ダウングレードしたほうがいいですか?
>ダウングレードしたほうがいいですか?
ん?DirectXはダウングレードせんでも前の機能が使えるぞ。COMって知ってる?
# つかダウングレードってできるの?
8で7のプログラム動かしたら、なんか変になったことがある。
8aなら大丈夫なんかなあ
681622:01/09/07 21:25
>679
そうなんですか。COMはIUNKOWNとかいうのから派生するやつですか。あんまり知らなかったです。

ところで、OSでビットマップの背景を透過して描画するAPIを標準搭載するのはいつですか?
682デフォルトの名無しさん:01/09/07 21:47
上位バージョンのDirectXを使う場合、例えば、
DirectX8でDirectX7のDirectDrawを使う場合は、
#define DIRECTDRAW_VERSION 0x0700
を宣言しないと、バグる可能性がある。
DirectX3を使うなら、
#define DIRECTDRAW_VERSION 0x0300

VC++の場合ね、他は知らん。
683デフォルトの名無しさん:01/09/07 22:08
DX8DIで(WINDOWベース)、
HRESULT hr;
hr = g_lpDIDevice->SetCooperativeLevel(h,DISCL_FOREGROUND | DISCL_NONEXCLUSIVE);
if FAILED(hr) {
DI_Term();
return FALSE;
とやってアクセスしたらエラーになる。

HRESULT hr;
hr = g_lpDIDevice->SetCooperativeLevel(h,DISCL_BACKGROUND | DISCL_NONEXCLUSIVE);
if FAILED(hr) {
DI_Term();
return FALSE;
とやったら大丈夫なんだけど、ウインドウが隠れたあともキー入力が入ってしまう。
なぜFOREGROUNDにしたらエラーになるんだろう。
>>683
エラー時の hr の値は?
685デフォルトの名無しさん:01/09/11 20:55
キャラクタの座標を取得するとき、いちいちクラスにint GetX()とか実装するんですか?面倒くさいのでpublicメンバにしちゃっていいですか?
>>685
そんなもんメンドくさがるなよ。
>686に同意。

BCBとかDelphiだったらpropertyがあるからラクだけどな。C#もか。
まったくだ、ただGet、Setを多用するのは設計まずいって説もあるよね
VC++ も C++ Builder も Delphi もプロパティがある

当面は変数に対する読み書きだけであっても、後から何らかの変更や
制限を加えたいと思った時にメソッドを1つ足してプロパティ構文を
すこし変更するだけで済むんだから何も考えずプロパティにしておけ。
あ、VCにもあったのか・・・。
691デフォルトの名無しさん:01/09/12 17:24
「ツインタワー旅客機特攻ゲーム」が作られてそう・・・厨房プログラマに。
692デフォルトの名無しさん:01/09/12 18:02
すみません、マップデータ(絵の座標とか属性)を格納したクラスを書き出すのですが、100X100のサイズで書き出したら157KBもあります。1000X1000では15.7MBです。zipで圧縮すれば10KB、32Kbにはなるのですが、
普通に編集したりHDDに展開するときに、かなり大きい容量を食ってしまいます。しかも大部分が構造体の変数間の空白バイトなので、これをなんとかする方法はないでしょうか。自分で圧縮アルゴリズムを作って読み取るときに展開するしかないでしょうか。
>構造体の変数間の空白バイト
構造体そのまま出力してるの?
これが出ないように変数一つずつ出力するとか、
バイト数が少ない型にするとか。

あとは圧縮か。
694デフォルトの名無しさん:01/09/12 18:58
>693
intからshortにしてひとつづつ書き込むことで約3分の一にデータを減らすことが出来ました。どうもありがとうございました。
695デフォルトの名無しさん:01/09/12 23:47
マップデータなんてcharで充分だと思うけど
チップサイズを縦横2倍にしてshortとかも効率いいんじゃない
>>691
すでに下逸君が作っているのでご安心下さい。
>>692

説明すんのめんどいんで一言。

256色BMPを参考にすべし。
絵の座標と属性をもったパレットデータをインデックスで指定するということかな
これはかなり節約になるね・・・
常識だと思ってたよ...
ある意味新鮮な驚き
700692:01/09/13 15:15
VB厨のときに厨サイトを回ってつけた知識そのままなのでそのような高度な技は知りませんでした。
701デフォルトの名無しさん:01/09/13 18:02
質問ですが、よろしいでしょうか

3D空間における
衝突判定なのですが
リング状のもの(穴があいていて通り抜けられる)と
球状の辺り判定をもつ物体とで
簡潔で高速に衝突判定を行うにはどのようにしたらよいでしょう?

どうかご教授願えませんでしょうか?
702_:01/09/13 18:31
>>701
思ったんですが、
リング全体に属する立方体と、リングの穴に属する直方体の
2つのバウンディングボックスを設けて、

IF( 球と立方体が接触する )AND( 球と直方体は接触しない )
THEN 球とリングは接触した

こういうアリゴリズムをとれば良いのではないでしょうか?
703デフォルトの名無しさん:01/09/13 19:37
回転するときは?Nightsみたいに。
704デフォルトの名無しさん:01/09/13 21:38
>>703
リングのワールドトランスフォーム行列の逆行列を
球のワールドトランスフォーム行列に掛けてやれば良いと思う。
間違ってたらゴメンね。
705692:01/09/15 01:48
マップエディタとかもそろそろ出来てきたので、次にスクリプトを考えたいのですが、初めてなんです。優しく教えてくれるところありませんか?
706692:01/09/15 01:56
>697
しまったそんな良い方法があった
しかし仕様変更きかないほど作り上げてしまった
残念
次作るときにやってみよう
>>705
lexとyaccを使おう・・・って、なんか雰囲気からしてVB使ってそうなのでlex/yaccは使えないな。どうしよう。
RPGなら、メッセージだけは外部ファイルに置いて暗号化して、処理そのものはハードコーディングしてしまう、というのが簡単でいいかも。
708705:01/09/15 04:13
>707
いや、VC++です。VBは中退しました。
lex/yaccを調べてみます。ありがとうございました。
つーか最初は再帰下降で書けよ
710デフォルトの名無しさん:01/09/15 07:02
初心者すぎる質問ですみません。
WindowsプログラムでJPEGは使えるのでしょうか。
BMPだと容量が多すぎて・・・。
ちなみに、言語はVBです。
711l:01/09/15 07:48
>710
VBならLoadPictureでjpeg使えるだろ?
俺も今再帰下降で組んでる。なんか自分で作るのって勉強になるわ。
713707:01/09/15 12:33
>>708
VC++なんだ。勘違いだった。正直すまんかった。
今ならXMLで書くという選択肢もあるよ。解析器はIE4以上の環境にはMSXMLが入っているし。
XMLだと市販/シェアウェアのエディタが使えるので、入力が楽になるというメリットもあり。
710に便乗で
BCCでもjpagは使えますか?
715デフォルトの名無しさん:01/09/18 00:50
>>714
JPAG曝し上げ。

BCCに標準でJPEG使える機能があるのかどうかはしらないけど、
普通はIJG(http://www.ijg.org/)ライブラリを使ってJPEGのデコードします。
インテルからも高性能なDLLが無料で配布されているので、そっちを当たるのも吉。速くてしかも使いやすいので。
716デフォルトの名無しさん:01/09/18 01:25
>>714
jpeg.hpp があれば使えるんじゃない?
717デフォルトの名無しさん:01/09/18 01:35
>>714
OleLoadPicture();

副作用でgifやpngまで読めちゃったりしますが。
718デフォルトの名無しさん:01/09/18 02:06
アルファチャンネル付きPNGを出力できるフリーソフトって無いのでしょうか?
かれこれ2日間探しているのですが見つかりません
PhotoShopですらできない(条件付き)とかの情報もあるので、やっぱないのかなぁ
>>718
自作なら有るけど。
別にグレースケールのAlphaMap用意しないとダメだけどね。
>718
http://www.vector.co.jp/vpack/filearea/win/art/graphics/conv/index.html
それらしいのがあるようなのでここから先は自分で何とかしてくれ。
おそらくビジュアルノベル関係だと思うんだがこういう質問は
同人ノウハウでしよう
721718:01/09/18 02:34
>>719 >>720
情報ありがとうございます。自作の欲しいなぁ…(w
Vectorは真っ先にチェックしたのですが、紹介で駄目そうなのは弾いてたもので…
ちょっとおざなりだったみたいです。この中にあるのでしょうか?今度は一つ一つさらってみます。

用途はDirectGraphic用のテクスチャです。他のフォーマットにしろ、
ってな話もあると思いますが、PNGで可能ならば色々と便利なので。

同人ノウハウ板の方が詳しいのですね?これから見てきます。レスサンクスです。
722718:01/09/18 02:36
ちなみに自作でやった場合、何かライブラリとか利用したのでしょうか?
まだ調べてないのですがlibpngとかで簡単に作れますか?
723718:01/09/18 02:56
失礼しました>>720さんのリンク先にありました。
てっきりパレット透過しか出来ないのかと思って早々に蹴ってました(言い訳)
情報重ね重ねありがとうございました。
>>718
僕 TGA32ビットの奴を PNGに変換する奴作ったよん。
725クリムゾン怠惰:01/09/18 07:14
>>723
せっかくだからどのソフトか書いて〜(w
C++でのタスクのサンプルはよくでまわっていますが、
Cやアセンブリといったクラスのない言語で書くにはどうしたらよいのですか?
newとかでクラス宣言等出来ない分ちょっとやりにくそうだなって思っているのですが、、
mallocでできちゃうものなのでしょうか?
他力本願ですいません。。
>>726
タスクの管理側からコールバック関数を呼び出すときに、タスク固有の
作業領域(ワークエリア)へのポインタを渡せば良いだけだと思うが。
たとえば、こんな感じ。

typedef struct task_ {
  struct task_ *prev;
  struct task_ *next;
  void (*func)(struct task_*);
  char work[WORKSIZE];
} task_t;

void
exec_all_task()
{
  task_t *p;
  for (p = task_begin; p != task_end; p = p->next)
    (*p->func)(p->work);
}

static void
cbfn_task_a(char *p)
{
  work_a_t *work = (work_a_t *)p;
  // work を使って状態遷移
}

task_t *
create_task_a(void)
{
  task_t *p;

  p = malloc(sizeof(task_t));
  if (p != NULL) {
    work_a_t *work;
    p->prev = p->next = NULL;
    p->func = &cbfn_task_a;
    work = (work_a_t *)p->work;
    // ワークエリア初期化
  }
  return (p);
}

実際には malloc() じゃなくて固定長で確保した配列から切り出してくる(実行時に
メモリ不足が発生しないように)とか、task_begin ... task_end で繋がれたリストに
作成したタスクを登録/削除する処理とかも必要。
728718:01/09/19 03:23
>>724
おお凄い。みんな自前でサクッと作るんですねぇ。
でも願わくば公開の方向で(w
>>725
そりゃそうだ。訊くだけきいといて逃げちゃあね〜。
いや便利で良いソフトの上、2chということで無意識に躊躇したみたい(w
shin's PNG Editerというやつです。ここに書いてもしょうがないけどshinさん感謝。
730デフォルトの名無しさん:01/09/30 04:17
あげてみる。
だけでは申し訳ないので、ゲームにスクリプトが必要ならPythonとかRubyみたいなスクリプト言語を組み込むソリューションを提案してみる。
プログラマがスクリプトを使うならPythonやRubyで問題ないが、
シナリオライタなんかがスクリプトを使う場合はそうもいかない。
文章+埋め込み型スクリプトなんかになる。
>>731
その文章+埋め込み型スクリプトを、RubyやPythonに
置き換えるツールを作るのは駄目?
>>732
プログラマじゃない人が扱う可能性のあるスクリプトに
あまりプログラムプログラムした機能はないほうがいいというのが
プログラマのほぼ共通した見解。
>>733
でも、フラグや分岐機能のあるスクリプトって、行番号BASICやアセンブラに近いと思うんだけどね。
RubyのOOPな機能をフルに使ってくれ!というのは酷(プログラマ相手でもそんなこと言えない)だけど、
>>732みたいなアプローチは有りかな?と思ったり。
配布サイズがDLLだけで1MB越す辺りで、ネットワークによる配布が厳しくなると思われるけど。
735デフォルトの名無しさん:01/09/30 15:47
>>734
RubyやPythonへのトランスレータ書くなら、
独自のデータに落す方が楽だし、ライセンス問題もないからな。
736デフォルトの名無しさん:01/09/30 15:53
>>730
時系列の記述が容易に出来ないから駄目。
737モナーもな:01/10/01 18:31
ものすごく初歩的な質問なんですけど
C言語の力がどのくらいのレベルまで身に付けば
ゲーム開発の基礎力はОKですか?
作ろうとしているゲームに必要なだけの実力があればいい。
ゲーム製作は、Cをマスターするよりも学ばないといけないことが
多いんで心してかかれ。
739モナーもな :01/10/01 18:59
>738
そうですね。
確かにCのマスターが目的じゃないですからね。
それから、C以外にどんな分野の基礎力を付けておくべきですか?
740デフォルトの名無しさん:01/10/01 19:24
>>739

高校1,2年くらいの数学(とくに幾何関係)は必要だよ。
3D はもちろん、2D でも三角関数とか使うよ。

あと、とにかくコードを書くというチャレンジ精神。
ゲームプログラミングはやってみないとわからないことが多いから。
> 2D でも三角関数

どんなときに使うのですか?
742sage:01/10/01 20:23
>>737
とりあえずそんなこと聞いてる段階ではNG

目標があるのはよいことだ。
がんばれ
>>741
塗り絵屋のオタ女を口説く時
ゲームだからって数学が必要とは限らんよ。
別にVisualに凝ったものとは限らないし
745デフォルトの名無しさん:01/10/01 20:50
なんでも3Dって風潮が、ダメっぽいな
746デフォルトの名無しさん:01/10/01 21:13
>>745
>なんでも3Dって風潮が、ダメっぽいな
などとほざいてる奴は、技術遅れのダメ社員

2D格闘ゲーですら背景3Dの時代だぜ。
747デフォルトの名無しさん:01/10/01 21:18
SF映画も3D CGの時代だしな(藁
で、背景が3Dだと、ゲームがおもしろいの?

それでおもしろいんなら、べつに、いいや。
3Dが流行ってるのは、たとえゲーム性が2Dであっても
表現の幅を広められることができるからだ。
エロが入っているからおもしろいのかどうかと似ている。
(最近の萌えゲーはどうよ?エロは本当に必要か?)
エロは単純に言えば表現の幅を広げることができる利点がある。

エロゲオタキショイ
表現の幅を見たいんじゃなくておもしろいゲームをしたいだけなんだけどなあ。

見せたがってるモノを見せられるだけゲームにはうんざり。
752デフォルトの名無しさん:01/10/01 21:26
エロげーやらんけど
ごっこ遊びとおなじで、遊びの世界にはお約束があってもいいんだとおもう。
誰も見せたがりはせん。そういうのはFFでやってくれるからな。
表現の幅が広がることの利点とは何か?
それは、広まった表現法をくしすることで、損をすることがなくなるということだ。
つまりそれ相応の技術を使っていて普通。
(それがおもしろさに繋がるかはまた別)
使っていないとどんなにおもしろくても舐められる。
下手すると手にもとってももらえない。

>見せたがってるモノを見せられるだけゲームにはうんざり。
これには同意しておこう。
正直おもしろいだけでプレイしてくれる751みたいなのが大半ならうれしい。
正直、非生産的
756デフォルトの名無しさん:01/10/01 21:42
ある程度の話題性がないと、
そもそも、見向きもしてくれないもんね。

そういう、雰囲気作りとか、話題づくりとか
ご褒美をあげる絶妙なタイミングとか
落とし方って

ゲーム作る技術のうちだと思うんだが
んー。

よく見たらスレと関係ない話題だね。ごめん
757デフォルトの名無しさん:01/10/01 22:00
スクリプトって作るの面倒だね。
RPG等のひとつのイベントは命令クラスのベクトルでいいのかな。
758デフォルトの名無しさん:01/10/01 22:26
ミニゲーム付きムービーもうんざり。

パラメータ付きストーリーもうんざり。
現実問題として、ドット絵職人がもういません。
画面の解像度だってVGAが標準になっちゃったし、
3D背景のほうがむしろ楽なのよ。
760デフォルトの名無しさん:01/10/01 23:02
ドット絵なら遠藤氏だ!
761デフォルトの名無しさん:01/10/01 23:04
3Dだとおお
馬鹿な!
そんな馬鹿な!!
3Dにしたって
バーチュアルリアリティーみたいに
実際に触ったりもんだり
入れたり
入れられたり
できなきゃ
3Dにしたってそれはただの平面画像だ!!!!
あるいはギルティーギアみたくアニメ絵になるとか、そういう流れだな。今はもう。
763デフォルトの名無しさん:01/10/01 23:08
今はもう・・・懐かしい 雪に消えたクリトリス
764デフォルトの名無しさん:01/10/01 23:20
氏合わせ、あふれ、変人たちの輪の中に
765デフォルトの名無しさん:01/10/01 23:22
>>757
クラスのベクトルって意味不明なんだが
ゲームプログラミングではよく使う言葉なのか?
766デフォルトの名無しさん:01/10/01 23:23
>>765
C++的に言うと
vector<Hoge> aHoge;
のことだろ?
うお、あんなので意味が通じてるのか。
勉強不足だったスマソ

ひょっとしてゲー専って、そういう用語を教えてくれる学校なのか?
768757:01/10/01 23:28
>767
もっと読解力と想像力を身につけろよ。
769実は・・・:01/10/01 23:31
>>757=766=768
いや、そのくらいの想像力はあったんだが
持ちうるあらゆる読解力を駆使しても

>RPG等のひとつのイベントは命令クラスのベクトルでいいのかな。

は解読できなかったんだよ。

だから、なんかの専門用語かと思ってた。

なんでイベントが、命令クラスのベクトルでいいなんて考えるんだ?
いえ、全部自作自演です。
772757:01/10/01 23:36
>770
イベントは、上から下まで命令で出来ているからです!!
773757:01/10/01 23:38
ああ、残念ですがもう寝る時間です。又明日。熱いのを期待してますよ(^ー^;
せめて用語の意味をはっきりさせろ。

スクリプトとはなに?
スクリプトを書くのか、インタプリタを書くのか

イベントは、actionと言う意味のイベント?
それとも、questのこと?

命令クラスってなに?
>>774
言語能力が劣る人間を問いつめてもかわいそうだよ。
ああいうのはきっと、頭の中にある言葉の断片を、そのまま掲示板に垂れ流してるだけなんだ。

自分の抱えている問題を明確に説明できないようなのが
今時のゲーム業界の底辺を支えてるのかな?
>>775
んな事はどうでもいいよ
有意義なこと書こうぜ
>>774
命令クラスってのは、デザインパターンで言う
commandパターンのようなものじゃないかな?
本人じゃないから分からないけれど。
とりあえず、リアルタイム対戦なネット対戦ボコスカウォーズみたいの作ろうと思う。
通信データ量はたかがしれてると思うので
操作できるユニット数を頭が悪く思われるほどたくさん増やしたい。

同時に4人くらいで遊べるとして、

いったいどのくらいのユニットをスムーズに操作できると思う?
>>776 じゃ、有意義っぽい事書こうか。

>RPG等のひとつのイベントは命令クラスのベクトルでいいのかな
イベントというか、もっと細かい単位の命令(キャラを右に動かす、音を出す、体力を4つ増やす)を
commandパターンのクラスで実装。
スクリプトエンジンからシナリオランナーにcommandの配列(std::vector)で渡す。

これ以外に、スクリプトエンジンとシナリオランナーの上手い橋渡しってあるかな? コールバックも有力だと思うけど。
780779:01/10/02 00:17
>>776 オトモダチ ハケーン
>>772
スクリプト内でサブルーチンの呼び出しなんかが入ってると
もう少し凝った構造が必要になるかも知れんね。

あ、でもアセンブラのcallとretの例を考えれば、
ただの命令の羅列でもいいか。

>>778
通信データ量とか試算してみた?
想定している通信速度なんかを挙げてもらえないとなんとも。
ふつうInterpreterパターンとCommandパターンを併用すると思うが、どうよ?
>>779
やっぱcommandパターンか
コールバックを用いる方法について詳細希望ヽ(´ー`)ノ
>>781
ボコスカウォーズしらん?

操作はカーソルキーだけだよ。
全ユニットが、指定した方向に一個ずつ動くの。
障害物があれば引っかかるし、
敵対物があれば、攻撃する。

通信量は限りなく問題にならず
どちらかというと、マスデータの効率的なやりくりと
表示が問題になる。
>>777
772によると、
>イベントは、上から下まで命令で出来ているからです!!
こういうことなんで意味不明。
命令がcommandだとすると、イベントはクエストのことではなく、
複合commandのことなのかな?
>>784
ゲーム内容知らなかったスマンコ(;´Д`)
ってことは
>いったいどのくらいのユニットをスムーズに操作できると思う?
クライアントの処理能力の観点からってこと?(?´ー`)

>>785
772の言っているのは
単なるcommandパターンオブジェクトのvectorの事だと思われる。
>>786
そそ。

たとえば一プレイヤー一千騎のユニットを4人で同時に操作するとして
現実的な速度で処理と、描画が行えるかという問題。

これが一プレイヤーあたり一万騎とかいったら、
工夫せんと、処理しきれないでしょ?
788デフォルトの名無しさん:01/10/02 00:31
暗号解読記念age
>>787
画面外のキャラもちゃんと処理するん?(?´ー`)
そうすると大変やねー
とりあえず何が最大のネックになるだろ・・・
どう考えても描画だ (藁
>>790
(藁 と付けて大物気取りですか?(^Д^)
つか、描画がネックなら普通に描画を工夫する、
ってだけでネタ終了かよ
787の考えてるゲームにおいて
どんなうまい描画方法があるかとか、
それくらい書こうな
その、どんなうまい描画方法があるか、が
問題のところなんだけど

まず、一度、ボコスカウォーズ見てくれ。
話しはそれからだ
>>787
本当に通信が問題にならん?
判定処理ををホストにさせるとして、移動できたか出来なかったか、
攻撃があたったからユニット消滅とかいちいちデータをクライアントに
送らないとあかんの違う?
ユニットの初期配置と、地形の情報だけはじめに共有しておけば
後は各プレイヤーが、自軍をどっちに動かしたかだけを送ればよいので
通信は問題にならないねー。

個別に操作するのではなく、自軍が全部同じ方向に動くってのがポイント。

どお?イメージは伝わったかな
googleで「ボコスカウォーズ」を入れて三番目にヒットしたとこ、画面とレビューが載ってる。
ナツカシー
>>794
他プレイヤーの操作データが届くまで処理が止まるから
ガックンガックンになりそうな感じですが。
4人同士一バイトですむ情報のやりとりくらいなら、同期とれないかなあ。
>>797
同時に動かす必要はなさそう。
一人一回ずつ動かせばいいんだよね。

トルネコと同じだ。
問題は各プレイヤー間のマシンスペック(描画能力)ギャップだと思うんだが。

通信遅延はこの場合ほぼ問題にならんだろ。
>>798
たしかに。
リアルタイムはダメだな。

一人一コマンドずつってことにしよう。
いや、すまん。
で、
王様が一万騎くらいの仲間を動かすとして、
よい描画方法はないモノかな?
802デフォルトの名無しさん:01/10/02 01:22
746が、3DでかっちょよくしてくれるYo!
3Dって、おい..
804>>801:01/10/02 01:39
とりあえずコード書いてこい
>>801
1画面内に1万騎いるのかい?(笑)
>>805 それはそれで見てみたい!
ライフゲームか
ウンカのむれのごとくワラワラワラワラと!
ゲームの新しい地平のヨカン
1280×1024の解像度を使えば、なかなか良いカモ・・・
いや、コンセプトは、大昔にすでにあって
ゲームとしても完成してるんだって。

ただ、スケールがでかくなったときに、
どうやって実現するべき何だろうなーって
考えない?

馬鹿正直に全部描画は出来ないよなあ。
拡大スケールごとに描画オブジェクトの一覧を作成しておくべきかな?

今時のCPUは速いから、演算処理そのものは間に合いそうだよね。

戦闘処理も、ランダムでどっちかしぼんぬってだけだし。
809デフォルトの名無しさん:01/10/02 04:30
それって1万の兵隊が全部画面内にいるの?
それだと描画負荷以前に、解像度とかが問題になりそうだが。
両軍1万ずつだと2万の兵隊になるから、240*160=38400マスくらいは欲しいかな。
1キャラ8*8ドットだと1920*1280くらいの解像度が必要になるよ。

ちなみに言語は何を使うか知らないが、ボコスカ程度なら馬鹿正直にやっても余裕。
1キャラ1オブジェクトじゃなくて、1キャラ1ドットの画像処理だと思えば良し。
240*160の画像にちょっとしたエフェクトかけるのと大差ないよ。
そもそも、ボコスカはシステムの都合上フレームレートが低くていいから、多少重く
ても関係無いし。

ちなみにボコスカって全部まとめて移動だけじゃなくて、種類別に移動できるよ。
王様だけなら単独でも移動できるし。
しかし、ボコスカの魅力って味方の兵隊を鍛え上げてレベル上げて、それを
駆使して戦うゲームだと思うが、1万もいたらどれがレベル高いのか分から
ん気もする。
素人だからよくわからんが
「とりあえずシンプルなのをつくって、どんどん拡張して実験してみろ」
っていう声が庭から聞こえた
ただでさえゲーム関係はローカル用語が多いから
なるべく人に聞くときはわかる単語をつかってくれ・・・
812811:01/10/02 09:34
スマン 765以前に対してのレスね
種類の違う兵は形を、レベルの高い兵は色を変えるとか。
814デフォルトの名無しさん:01/10/02 09:49
表示も最小表示で2x2ドットありゃーなんとかなるよね。

ゴチャ系ゲー age
陣形の有効性とか地形効果とか
ランチェスターの法則とか
判定式でなくマジでシミュレートできそうだな
つーか、普通に1ユニット単位できちんとシミュレートして
結果的にランチェスターの法則が成立するというのが理想でないかい。
オブジェクト数100倍の決戦とか三国無双とか見てみたいな。
PS3はよ出せ。(気がはええ〜〜
とりあえずPCで実現してミレ
最高スペックのPCは、ゲーム機よりも性能は上だ
>>818
PCはメモリ転送速度が致命的に遅いのでそれは無い
>>817-819は食傷気味な展開なので置いておくとして・・・・。

流れを追っている感じ、「派手なライフゲーム」のようなものを
イメージしているんだけど、そんなもんで宜しいか。

プログラマが好みそうな普遍的なテーマなのか、何か共感してもうた(w
821757:01/10/02 19:35
つまり、イベントは、メッセージを表示する、キャラを動かす、エフェクトを入れる、サウンドを鳴らす、どこの命令にジャンプなどの命令でできているので、命令のベクトルで成り立っているということです!
>>821
イベントの構成要素ではなく、イベントの定義を聞いているわけ。

>命令のベクトルで成り立っているということです!
それなら命令のベクトルでいいじゃん。
何を聞きたいわけ?

もしかして、ネタ?
823757:01/10/02 19:45
>822
用語を説明したまでです。

>イベントの定義
知りませんか?RPGつクールで出てくるアレですよ。あれ以外に何かあります?

それと、余計なことは口にしないでください。
要約すると、「お前らは俺の質問にだけ答えて、余計なことは気にするな」か。
vectorかベクトルかはっきりさせろ。

ていうか>821は>757じゃないだろどうみても。
826757:01/10/02 20:33
>もしかして、ネタ?

これが余計です。いちいち「ネタじゃありません」というのはうんざりです。
827757:01/10/02 20:34
はい、vectorです。
821=757です。757とついてるものは全て757です。
>>826
じゃぁ聞くけどさ、821の記事ののどこが説明なわけ?
言い回しを変えただけで、今まで書いてた事と内容に違いないでしょ?
質問するならもっと整理してからにしてください。
まぁ、いいや。
命令のベクトルでいいから、一度実装してみろ
それでダメならまた質問しにこいよ。
830757:01/10/02 20:50
>828
あれで理解できないとなると、残念ながらもはやあなたは私の手に負えません。
>>820
んー、派手じゃなくても、
ASCIIキャラでもなんでもOKなんだよね。

今、一応設計チュー。

ゲーム作ったことないけど、なんか、こういう題材だと、
ゲームの本質って何なのか問いやすいんじゃないかって思ってね。
文盲がいるな・・・
>>831
できたら見せてね
>>830

これだけいってもまだ説明できないとなると、残念ながらもはやあなたは私たちの手に終えません(藁
ゲー専の講師ってこういう言語障害者を相手にしなきゃいかんのか。
ゲーム理論や制作以前に、小学生の国語から教えないとだめそうだな。
>知りませんか?RPGつクールで出てくるアレですよ。あれ以外に何かあります?

自分の頭の中にあることを言葉で明確に表現できないのな。
指示代名詞で説明した気になられてはな。
君掲示板に書くのに向いてないよマジデ
757は新鮮だった。俺は見ててエンジョイしていた。
神経太くいこうぜ。『757=ネタ』は公然の秘密さ。
飼って遊んどけ。
>>837
ありがちなパターンだろ

「ネタだったら釣られないようにしつつ、真性だったら引きずり出す!」
っていう殺るか殺られるか、そんな殺伐とした雰囲気がいいんじゃね―か。
839あ〜あ:01/10/03 10:46
>>838
そんなん俺らに同意を求められてもなー。
書いてて恥ずかしくならんのか・・・。
で、そろそろ話を元に戻さないか。
841757:01/10/03 15:42
>834
勝手に他人を巻き込まないでください。あと、藁とか言って私より上の立場になったつもりですか?
そんな意味無いことしないでください。

>835
あなた、思考がワンパターンですねぇ。最後の手段として誤字、脱字、文章の稚拙さを水を得た魚のように指摘するタイプでしょう。

>836
なんでもかんでも補完しないと理解できないのですか?あなたはもしかして割れ厨ですか?
ていうか、RPGつクールのアレと言った時点で理解できないならそれ以上説明しても無駄ですよね(^_^;
842>:01/10/03 15:48
面白い!面白いよ!
だって、プログラマはRPGつクールなんて使わないもん。
844デフォルトの名無しさん:01/10/03 15:53
>>843

禿藁。
でも俺、高校の時にツクールを参考資料にして
ツールとか作ってたことはあった。教材だね。
ところで何の話だったっけ。スクリプトか。

一応お約束として、
flexとかbisonの使い方を覚えると後々便利かもね。
とだけ書いとくアル。あ、別に本格的にやらんでも平気だと思う。
846845:01/10/03 16:15
こんなんあったよ。参考んなるかしら。
http://www-6.ibm.com/jp/developerworks/linux/001013/j_pirates4.html
>>811
829を読んでみろ
>>811>>841
>RPGつクールのアレと言った時点で理解できないならそれ以上説明しても無駄ですよね(^_^;

RPGツクールのアレでできるなら、RPGツクールでつくれよ(藁
757はRPGツクールのマニュアルを(読まない|理解できない|持ってない)だけ。

同梱のドキュメントもちゃんっと読んどけよ>757
親切に書いてやるが、wordpadで読めるからな。
>>841
やっぱりネタか
面白くないからもういいよ
>>846

ためになるYO!
853845:01/10/03 20:00
>>852

アリガート。
googleで 「flex bison ゲーム スクリプト」とかで
検索すると他にも色々出てくるので試すといいかも。

でも、こっちの話題に反応してくれる人は少ないみたい。
みんなプログラミングよりジャレ合いが好きなのかもね。
チト残念なり
ゲームに使うスクリプト程度なら、
bison/flex使わずに手動でLLで構文解析機書くと良いんじゃない?

ライセンスに縛られなくなるし、理解も深まる
中級者とかに良くありがちだなぁ
自分は分かっているつもりでいて勝手に話をすすめるヴォケが。
ん?初心者にもいるか。。
>>853
僕はデータ構造をXML、スクリプトエンジンはPython等のスクリプトを利用するようにしているよ・・・
先人は偉大なり。
でも一度くらいyacc/lex使ってみようかな。

>>855
スクリプトの話と、757とのじゃれあいを平行して進めたらいいじゃない。誰も困らないよ。
>>856
応用分野は広い。
是非使って。
858デフォルトの名無しさん:01/10/03 21:17
>>855

カルシウムとったほうがいいぞ。
859845:01/10/03 21:29
>>854
漏れもその点は同感。

>>856
えと、誤解されるとアレなので念のため
書いておくと、855は別人。
>>858
思うに、>>855はいわゆる「俺様」なので
そっとしておいたほうがいいかもしれん。
サプリメントでも摂取しなはれ。
放置で。
正解
どうでもいいからプログラムの話しようぜ

つか俺もデータ構造はXMLを利用しているよ。
読み込むプログラムを自分で作ってみたんだけど
要素1つについてアトリビュートを1つしか読み込めない
お粗末なものしか作れなかった俺死ね
865デフォルトの名無しさん:01/10/03 23:25
データ構造??
なんのデータ構造にXMLを使うんですか?
XMLってHTMLみたいなやつですよね。
>>865
各種設定ファイルとか(笑)
XMLのエディタとか使えるから楽かなー、と思って試しに使ってみたよ。
データ構造を考えるのが面倒だったというのは秘密で(笑)

イベントスクリプトは普通にn88basicとかバッチファイル程度のものを使っているよ。
いいXMLのエディタってない〜? スレ違いかしらん。
868866:01/10/03 23:41
>>867
秀丸でしか打った事の無い、労力を省く為の努力を怠る俺は屑人間。
Vectorで探してみたが、フリーではこれくらいしかなかった。
http://www.vector.co.jp/soft/win95/net/se205249.html

ていうか、下手にXMLエディタ使うよりも普通にテキストでいじくったほうが
文書の見晴らしも効率もいい気がするんだよなあ。
お〜い、757〜
早く出てきて盛り上げてくれ〜
>>869
タグ埋め込みのマクロなんかを組んでテキストエディタで地道に編集してるよ。
ただ、プログラマ以外の人間が編集するのなら
専用のエディタも選択肢に入ってくるかもしれないねヽ(´ー`)ノ
XMLデータに手軽にアクセスできるスクリプト言語があれば
個人的に嬉しいのだけれど(笑)

>>870
心の底からどうでもいいです。ぺこり
856>>864
パーサは何を使ってる? XML4C? MSXML?
XML4C使ってるんだけど、なんかメモリリークしてるような気が・・・
>>872
XML4Cは自分でメモリ開放せにゃならんでしょ
874デフォルトの名無しさん:01/10/04 10:02
Xercesはどうかにゃー?
>>874
XercesをIBMが多言語対応にしたのがXML4Cっすよ。ソースコード殆ど一緒。

>>873
XMLUtility::Terminate()かな? それはしてるんだけど、Detected Memory Leaks!が大量に出てくる。
どこにもnew使ってないし、開放しろとも言われてないのに・・・
マニュアルには"メモリリークじゃないよ"って書いてあるけど信用できねぇ。
>>875
だったら、BoundsChecker使ってチェックしたら?
ただ開放してないだけかもしれないし。
たんに解放しないのをメモリリークと呼ぶかどうかは難しい問題だな。
>>872
パーサは自分で作ったよ。
そしてお粗末なものしかできなかった(;´Д`)
msxmlとか使ってみたいんだけど、
あれってdll突っ込めばそれだけで動くますか?
879デフォルトの名無しさん:01/10/04 17:11
>>878
xercesやXML4CはDLL突っ込むだけで動く。
msxmlは新しいIEのインストールが必要(msxmlだけのインストールも出きるけど、ユーザにはIEごとインストールしてもらった方が説明が楽)。
>>879
じゃあゲームに組み込むんだったらxercesとかxml4cってのが良さそうですね。
とりあえずググルして調べてみるますヽ(´ー`)ノありがと
881デフォルトの名無しさん:01/10/04 17:56
メモリリークって言うの面倒くさいからメモリークでいい?でもミルメークみたい。ププ・・・
882デフォルトの名無しさん:01/10/04 17:58
>>881
ワラタ
883英語勉強中:01/10/04 18:44
>>881
RとLを一緒くたにしちゃダメです。
ときどきメモリーリークするので、ときメモでいい? ププ…
>>884
つまらん
>>884
そのネタは俺も思いついたが、書かなかった。
自制心を身に付けよう。
>>880
でもxml4cは(多言語対応DLLが)でかいんだ・・・ネットワーク配布は思わず辞退してしまうくらい。
僕なら、
・IE5以降を要求してMSXML
・xercesで開発、ただし文字コードはUNICODEを使用
の二者択一。UNICODE使えばxercesもそんなに大きくないDLLで動くので。
>>884-886
そのやりとりにワラタ
889880:01/10/04 23:16
とりあえずググルしてみました。

XML4C
http://www.alphaworks.ibm.com/tech/xml4c

MSXML
http://www.microsoft.com/japan/developer/workshop/xml/general/xmlparser.asp

xerces
http://xml.apache.org/xerces-c/

>>887
ddlがでかいってのはちょいと痛いですね・・・。
ie5移行を要求、ってのもあれだし、
とりあえずxercesを調べてみようかな・・・。
情報どもです。
>>889
他にもVectorに簡易パーザが置いてあったような記憶が。
わざわざ非標準のライブラリ使うのはお勧めできないけど。汎用的なスキルとして蓄積できないし。
そうそう、MSXMLも新しい機能を使わなければIE4で動くよ。"IE4以上"の要求なら妥協できるんじゃない?
それにしてもでかい車輪ばかりで困る。(プログラム板ネタ)
892デフォルトの名無しさん:01/10/05 08:47
DOS窓上で動く倉庫番を作ろうと思うのですが、
参考になるプログラムを公開しているサイトor本ってないですかね?

自分で探したんですけど、DOS版倉庫番作っている人が見つからないもんで
誰かお教え下さいm(。。)m
EGA/VGAで探してみたら?
どうせVRAM直書きだし
漏れもそう思う。

あと、日本語でMS-DOSのゲームプログラミング入門本は
やぱーりPC-98(01)モノが多いかもね・・・。(古いやつ)

あと、お約束だけどmasterlibとか便利だよ。98/ATどっちでも。
http://www.vector.co.jp/vpack/filearea/dos/prog/lib/master/index.html

でも、個人的にはwin32で作ったほうが資料の調達が楽でいいと思う。
>>892
オウムの倉庫番(ミスるとハードディスク初期化するヤツ)はDOSでしかもソースつきだったぞ。
オウム関連のサイトをさがすといい。
896デフォルトの名無しさん:01/10/06 09:22
クソスレ乱立回避のためage
C++のスレでも書いたんですが・・・
DirectX sdkを使用してC++6.0でブロック崩しのプログラムを書いてみたんですが、コンパイルは特に問題ないのですが、リンクするときに
DXBlock.obj : error LNK2001: unresolved external symbol _DDLoadBitmap
等と9つ位出てしまいます。
これはsdkをちゃんと読み込んでないってことなんでしょうか?
おねがいします。
>>897
ddutil.h/ddutil.cppはあるか?
無ければそのファイルをプロジェクト内にいれてるか、パスを通す必要がある。
>>897
あと、お約束だけど

VC++6.0はデフォルトディレクトリにDirectX5SDKが入ってるから
最新のSDKをインストールしたら、そのディレクトリ設定を一番上に加えて。
そうしないとDirectX5SDKのファイルを先に見にいっちゃうから。
[ツール]→[オプション]→[ディレクトリ] ね。
隊長!ついに900です!
このスレ、意外なほど荒れないよな。
ゲーム関係スレが荒れないで、スクリプト関係スレが荒れているのを見ると不思議に思う。
>>901
こっちはこっちでまったりやろうぜヽ(´ー`)ノ
新スレ立てたら、心機一転嵐が流れてきそう
>>903
そしたら放置でいいよ
めんどくせーよマジデ
905897:01/10/07 15:04
>>898
アドバイス有難うございます.
ddutil.hはインクルードしてたんですが、ddutil.cppは入っていなかったようで、ワークスペースに入れたら、リンクエラーが9つから6つに減りました!
残ってるのはDirectSound系の
XBlock.obj : error LNK2001: unresolved external symbol _SoundPlayEffect
DXBlock.obj : error LNK2001: unresolved external symbol _DestroySound
DXBlock.obj : error LNK2001: unresolved external symbol _DirectDrawCreate@12
DXBlock.obj : error LNK2001: unresolved external symbol _InitSound
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/DXBlock.exe : fatal error LNK1120: 5 unresolved externals
の6つです。
お時間ありましたらお助けください.
長レスすみません.
>>897

899読んだか。あとライブラリファイルちゃんとリンクしてるか。
てかエラーの内容を真面目に読んでみ。単語が分からないなら
http://www.alc.co.jp
http://dictionary.goo.ne.jp/cgi-bin/ej-top.cgi

とりあえず日本語に訳してから話そうぜ。待ってるから。
>>905
あと、VCのパッケージにMSDNのCD入ってるよね。
とりあえずヘルプでLNK2001を検索してみ。
909897:01/10/07 16:22
>>898
有難うございます。
MSDNで検索して、プロジェクトの設定で直接ddraw.libをリンク/モジュールに追加したら、上記のエラーは全部消えた^^んですが、変わりにしたのエラーが出てしまいました.
LINK : fatal error LNK1117: syntax error in option ""
この””の中に何か入るべきなんじゃないんでしょうか?
自分が持ってるのは英語版なので、無理に日本語に訳すと、
致命的なエラー、オプション""上の構文上の誤り。
ってとこでしょうか?
後、自分の勉強している本による通り、
[ディレクトリ]のインクルードファイルにはC:\DXSDK\sdk\samples\duelとC:\DXSDK\sdk\samples\misc,
ライブラリファイルにはC:\DXSDK\sdk\libをいれて、一番上にしています.
910897:01/10/07 16:24
>>908
わかりました。
まずそのリンク先で探してきます.
911897:01/10/07 16:31
>>908
http://piza2.2ch.net/test/read.cgi/tech/1002290332/121
えーと、これはこうなれということですか?
いや、逆。逆。
試すかのは自由だけど。
× 試すかのは
○ 試すのは
914かなり適当:01/10/07 17:05
>>909

もうやってるとは思うけど、念のため。
インクルードファイルのディレクトリ C:\DXSDK\sdk\include

あとライブラリファイルは
winmm.lib とか dxguid.lib も加えといて。
後はサンプルのプロジェクトファイルを参考にして。(←重要)
正直、リンクが上手く行かないときは萎えるな。
コンパイルエラーと違ってエラーの根本的な原因がわかりにくいし。
このスレ、わりと優しい奴が多いよな。
これが相談室らしい相談室ということか。
917898:01/10/07 19:05
>>916
最初は誰もが同じ苦労をしたと思われ。
http://piza2.2ch.net/test/read.cgi/tech/1002290332/121

このテンプレ、「やっちゃいけないTIPS」としてよく出来ている。
bbxの連中に見せたら喜ぶと思う(嘘
関連スレ募集中。

[エロゲネタ]エロゲー業界就職事情の惨状(プログラマ専用)
http://www2.bbspink.com/test/read.cgi?bbs=erog&key=999446678
[同人ノウハウ]>同人ゲームプログラマ・プログラミング<
http://natto.2ch.net/test/read.cgi?bbs=2chbook&key=976192306
[同人ノウハウ]同人ゲームの作り方(その3)
http://natto.2ch.net/test/read.cgi?bbs=2chbook&key=1002043055
鬱だ氏のう DirectX 2
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=997101556
初心者はここで聞け!DirectX相談室
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=991795568
シューティングゲームを作りたい!!
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=990219336
光栄系シミュレーションのアルゴリズム
http://piza2.2ch.net/test/read.cgi?bbs=tech&key=996151042
世界最強のオセロプログラム
http://piza2.2ch.net/test/read.cgi/tech/1002036290/l50
ゲーム制作技術@したらばBBS
http://www.shitaraba.com/bbs/gamecreate/index2.html
次スレの1か2あたりに入れといてください。

昨日、2chのプログラム板行ったんです。プログラム板。
そしたらなんかスレがめちゃくちゃいっぱいで読み切れないんです。
で、スレ一覧よく見たら、なんか「ゲームの作り方教えてください」とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、ゲームの作り方如きで普段来てないプログラム板に来てんじゃねーよ、ボケが。
ゲームだよ、ゲーム。
なんか同人サークルご一行とかもいるし。同人仲間でプログラム板か。おめでてーな。
よーしFFみたいなロープレ作るぞー、とか言ってるの。もう見てらんない。
お前らな、FF8タダでやるからそのスレ削除依頼出しとけと。
プログラム板ってのはな、もっと殺伐としてるべきなんだよ。
一個前にレスつけた奴といつ喧嘩が始まってもおかしくない、
煽るか煽られるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと書き込めたかと思ったら、隣のスレの奴が、C++で、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、C++なんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、C++で、だ。
お前は本当にC++でデザインパターン使いこなせているのかと問いたい。問い詰めたい。FFみたいなロープレが完成するまで問い詰めたい。
お前、単に格好良いからC++に流れているだけちゃうんかと。
プログラム板通の俺から言わせてもらえば今、プログラム板の間での最新流行はやっぱり、
ゲームプログラミング相談室スレ、これだね。
HSPとDirectX。これが通の実装。
HSPってのはN88-BASIC入ってる簡易言語。そん代わり出来ることがかなり少なめ。これ。
で、それにDirectX。これ最強。
しかしこれで実装すると次から同業者に馬鹿にされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、RPGツクールでも使ってなさいってこった。
923_:01/10/08 00:23
最近ATLの勉強しているもんで
自作のDirect3Dのラッパーライブラリを
COMで作りなおそうと思っているんですが、
どうもCOMにするメリットが見つけられなくて
やる気が出ません。
COMにするメリットって何か無いですかね?
>922
なげーYO!
>>922
正直、もう飽きた。
>>923
デメリット:インストール、アンインストールが面倒(レジストリに登録する場合)。
実装が面倒。他人に使ってもらうのでなければあんま意味がない。
メリット:優越感
>926
ぷよーんがその路線の第一人者と言えるな。哀しいほどに
928926:01/10/08 00:57
別に、COMで実装するな、と言ってる訳じゃないよ。勉強になるしね。
>>922
正直、寒い。
報知で
>>923
「勉強になる」こと以外利点あるのかなあ
>>931
ゲームのコアの部分を COM 化しておくと、マップエディタなんかを作る場合に
ロジックは VC++ でゲーム本体用に使ったものを流用、見かけ VB で使って
手を抜く、とかできそうだけど。
>>932 COMじゃなくて、普通のDLLでも可能だしねぇ。
934923:01/10/08 13:33
アドバイスありがとうございます。
保留にしますです。。
もういいから、これにしとけ。
http://www.enterbrain.co.jp/digifami/products/index.html
>>935
つまんね
937897:01/10/09 13:59
>>898
返事が遅れてすみません、週末はレポートで潰れました。
指示の通り、winmm.libとdxguid.libは加えました。
あと、サンプルファイルに入っていて、自分のフォルダに入っていないものも加えました。
そうしてから出るエラーは:
LINK : fatal error LNK1104: cannot open file "ddraw.h"
なので、ddraw.hもプロジェクトファイルにコピーすると、
ddraw.h : fatal error LNK1136: invalid or corrupt file
と出ます。
ddraw.hが壊れてるのかと思い、俺が持つ3つのCD(SDK3、5,8)すべてのddraw.hを試しましたが同じことでした。
どうしようも無いような気もしましたが、理由がお分かりでしたらお教えください。
あと、もしホームページをお持ちでしたら、よろしければ上記のメールアドレスにurlをお送りください。
何度もすみません。
[email protected]
ファイルを加える場所が間違っていると思われます。
・・・ああもう、どこから説明したらいいのやら(w

とりあえず、現在ddraw.hを設定のオブジェクト/ライブラリモジュールという所に書いているのならそれを消して。
でコンパイル通らない?
939914:01/10/09 18:14
>>937

あー。とりあえずSDK付属サンプルはビルド出来てる?
それが上手くいくなら、まずそれを参考にしてみて。(←重要)
あとは本を一冊ぐらい買っとくと良い。VC++6.0攻略本みたいなやつ。

あと、898さんと私は別の名無しさん。
強いて打ち明けると私は899のほうかもしれない。
てか、あんま気にしないでヨシ。オレモナー
皆、優しみに溢れてるなヽ(´ー`)ノ
みなリンク関連で苦労した経験があると思われ。検索しても解決すること殆ど無いしね。
>>941

え、そんなもんか?
俺はDirectX絡みで理不尽な状況てのはまだ経験してないんだが・・。

それとも実際に、「ドキュメントにすら載ってないようなマニアックな
解決手段を強いられる状況」が存在するということなのかな。

そりゃ気になるYO-
#define DIRECTSOUND_VERSION 0x0300
2ちゃんで知った。NTだけでエラーが出るからおかしいと思ったよ…
あー、バージョン定数か。
なるほど、確かに気づきにくいかもね。
ドキュメントにも一応サラっと紹介してあるが、あくまでもサラっとだった(w
つぅか、ヘルプくらい全ページ読もうぜ。
俺は毎回新しいバージョンが出るたびにhtmlに分解して1ページずつ読んでるよ。
全ページ読むならそっちの方がいい。目次からたどれないページもあるしね。
>>945
マジ?
興味のあるところは通読するけど、前ページ読むなんて苦行は想像もしたくないYO・・・
>>945
読みきれねーYO
948945:01/10/10 13:08
たしかに大変ではあるが、全部読んでおくと後々楽だよ。
DirectX8のヘルプ全体だと4000ファイルくらいだけど、DirectX Graphicsだけなら
1500ファイル程度だよ。
興味が無い部分も目を通しておけば、何か新しい事したいときに思い出すYO
つぅか、BBXや2chで質問する前に全部読めと言いたいな。
949945:01/10/10 13:20
あ、俺は翔泳社のWin95APIバイブル1と2と、Win98APIバイブルも全ページ
読破したYO
APIバイブル3は挫折した。
>>949
まーじで(´д`;)!?
あのAPIバイブルを・・・。
役立ってる?
意識して読破するかどうかは好き好き(すきずき)でしょ。

だって、普通に仕事で使ってりゃ分厚いバイブルだって
何だかんだ言いながらボロボロになるまで使い込むもんでしょ。
>>948
確かにヘルプは全部目を通しておくと良いかもー
同機能の関数を自作し、
その後strstr()の存在を知った漏れの悲しみは異常
死ね俺
953sage:01/10/10 19:48
>>950
win16の頃なら全部読んだが、今のは、必要に応じて開くだけだな。
基本は変わっちゃいないし..

章のはじめにある概要だけつまんで読んでおくといいよ。
一個一個のAPIとサンプルは必要なときに嫁
>は毎回新しいバージョンが出るたびにhtmlに分解して

やり方教えてクレー。粘土をクレー。
955897:01/10/11 08:53
コンパイルは通るんですが、リンクでエラーが出てしまいます。
オブジェクト/ライブラリ モジュールからddraw.hを消すと
Block.obj : error LNK2001: unresolved external symbol _DDReLoadBitmap
Block.obj : error LNK2001: unresolved external symbol _SoundPlayEffect
みたいのが9つ位出てしまいます。
付属のサンプルをトライしても同じです。
基本的なC++とSDKの環境設定ができてないのかもしれません。
時間が許せばSDKのヘルプをとりあえず全部読んでみようと思ってます。
>>945
どうやって分解するのん?
試しに「chm」「逆コンパイル」でgoogleしてきんしゃい。
Office2000 Resource Kit の HTML Help Workshop とか使うと良いアルよ。
>>955

あー。じゃあとりあえずねー
サンプルのプロジェクトを“別フォルダにコピーしないで”(←重要)
そのまんま開いてビルドしてみて。(嫌ならそこのバックアップ取っといて)

それが失敗したらね、レジストリがおかしいのかもしれない。
『HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX』とか。色々。

弄るのがメンドければね、もうWindows再インストール。
959958:01/10/12 00:00
>>958

ごめん。ビルドエラーとレジストリは関係ないわ。

>サンプルのプロジェクトを“別フォルダにコピーしないで”(←重要)
>そのまんま開いてビルドしてみて。(嫌ならそこのバックアップ取っといて)

やっぱこれが失敗するならお手上げだよ。原因全然分かんないや。
× >>958
○ >>955
961_:01/10/12 00:46
age
Direct3Drmをフルスクリーン表示に変更しているのですがコンパイルすると

-----------------------------------------------------------------------

hres = lpDirect3DRM->CreateDeviceFromSurface(NULL, lpDirectDraw,lpBackBuffer, &lpD3DRMDevice);

c:\direct3d\initd3d.cpp(36) : error C2664: 'CreateDeviceFromSurface' : 2 番目の引数を 'struct IDirectDrawSurface *' から 'struct IDirectDraw *' に変換できません。 (新しい機能 ; ヘルプを参照)
指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。

hres = DirectDrawCreate(NULL, &lpDirectDraw, NULL);

c:\direct3d\main.cpp(145) : error C2039: 'SetCooperativeLevel' : 'IDirectDrawSurface' のメンバではありません。
c:\mssdk\include\ddraw.h(1417) : 'IDirectDrawSurface' の宣言を確認してください。

hres = lpDirectDraw->SetCooperativeLevel(hwnd, DDSCL_FULLSCREEN | DDSCL_EXCLUSIVE | DDSCL_ALLOWREBOOT);

c:\direct3d\main.cpp(145) : error C2039: 'SetCooperativeLevel' : 'IDirectDrawSurface' のメンバではありません。
c:\mssdk\include\ddraw.h(1417) : 'IDirectDrawSurface' の宣言を確認してください。

hres = lpDirectDraw->SetDisplayMode(640, 480, 16);

c:\direct3d\main.cpp(147) : error C2039: 'SetDisplayMode' : 'IDirectDrawSurface' のメンバではありません。
c:\mssdk\include\ddraw.h(1417) : 'IDirectDrawSurface' の宣言を確認してください。

hres = lpDirectDraw->CreateSurface(&ddsd, &lpPrimary, NULL);

c:\direct3d\main.cpp(157) : error C2039: 'CreateSurface' : 'IDirectDrawSurface' のメンバではありません。

hres = lpDirectDraw->CreateClipper(0, &lpClipper, NULL);

c:\direct3d\main.cpp(184) : error C2039: 'CreateClipper' : 'IDirectDrawSurface' のメンバではありません。

hres = lpDirect3DRM->CreateDeviceFromSurface(NULL, lpDirectDraw, lpBackBuffer, &lpD3DRMDevice);

c:\direct3d\main.cpp(193) : error C2664: 'CreateDeviceFromSurface' : 2 番目の引数を 'struct IDirectDrawSurface *' から 'struct IDirectDraw *' に変換できません。 (新しい機能 ; ヘルプを参照)

-----------------------------------------------------------------------

なぜかこのようなエラーが出てしまいます。ちゃんとddraw.libとかもリンクしてあるのに
4時間ほど悩んでます。ヘルプを見ても解らないです。
>>956
HTML Help WorkshopでDecompile
   
   
   
   
              そうか。まぁ気長にやれ。
  
  
  
   
>>962
根本的に色々まちがっとる。多分、ここを一個直したら何とかなるという性質の物ではないので、もっと小さいサンプルから手がけること。リンクがどうこうは関係ない,、たってリンクまでたどり着いてないし。

ここから本題。普通掲示板に↑みたいなエラーメッセージを書くと嫌われる。困っている事象をコンパクトにまとめて質問に来ること。
ここは2ch、普通なら逝ってよしの一言で済まされるぞ。
966964:01/10/12 01:02
あ、>962ね。
963スマソ。
・・・・ぶっちゃけた話、
>>962はコピペネタだと思われ
968945:01/10/12 05:54
APIバイブルとかは一度は全部目を通しておかないと、そんなAPIがあるかどうか
すら分からないから、やはり一通り全部見ておいた方がいいと思うよ。
例えばアンチエイリアスのかかった文字が得られるAPIってのがあるけど、そんな
の普通あるとは思わないよね?だけど全部目を通しておけば、そういうAPIがある
事は分かる。目を通すと言っても全部覚えるわけじゃなくて、どんなAPIがあるの
か大体の概要を掴むのと、極一部の便利そうなAPIを覚えておく程度。

あと、ヘルプやAPIバイブル以外でも、SDKのヘッダファイルなんかも見ておくと
いいよ。WindowsX.hなんてヘルプに説明ないけど便利なマクロがたくさん入ってる。
Direct3Dでも、D3DX_PIなんかはヘルプには書いてないし。
GetGlyphOutline()のことか?
ちなみにアンエリ取得がOSに依存するため実際には
GGO_BITMAPで取得して自力で縮小してアンエリ作らなきゃいけないってのも
知っておけよ
■CreateFont()の“ANTIALIASED_QUALITY”とかも同質の制限アリ
http://www.microsoft.com/japan/developer/library/jpgdipf/_win32_createfont.htm
971970:01/10/12 12:24
んで、俺も結局これ使わなかった。
適当にヘボルーチンを組んで済ましちゃうほうが手っ取り早いアルよ。
2xスーパーサンプリングで十分な品質得られたYO
972969:01/10/12 12:34
x2でのスーパーサンプリングだと品質あんまよくないよ
少なくともx4で取らないと
x2とx4は目で確実に認識できるx4とx8は微妙だけども
973970:01/10/12 12:43
うぇ〜ん。俺の感覚は素朴に出来てるんだよぅ
974デフォルトの名無しさん:01/10/12 12:46
>>971
2倍のスーパーサンプリングだと、αが5段階程度にしかならん。
975945:01/10/12 13:12
968で言ったのは、たしかにGetGlyphOutlineの事だけど、一通り目を通さないと
そんなAPIあるとは思わないっていう例で挙げただけで、GetGlyphOutlineについ
て熱く語り合う気はなかったんだが。

ところで、>>969のOSに依存するってのは具体的にどういうこと?
Plus!入れてない95だと使えないとか?
CreateFontのANTIALIASED_QUALITYはややこしい制限があるんだね。

x2とx4については、どう感じるかは個人差ありそうだね。
少しだけ傾いた細い線なんかはx2だとちょっと気になるよね。
ただ、x4にしてそのコストに見合うだけ品質が上がるかは微妙。
976デフォルトの名無しさん:01/10/12 13:34
>>969
>アンエリ取得がOS
すまん、おれも詳細をしりたい 
977970:01/10/12 14:01
>>974

うぇ〜ん。知ってるよ。
『実際の文字の出力結果』に満足してるって話なんだよぅ。
主観の相違だから仕方ない話なんだー。もう勘弁してくれよぅ。
>>975
サイズや選んだフォントによってかかったりかからなかったりする。
その閾値となるサイズがOSやフォントによってまちまちだったりする。
>>978
それはGetGlyphOutlineではなくてスクリーンに
フツーのテキスト描画系GDI APIをつかって
描画するときのはなしでわ?
>>974

実際の話をすると
ここで前提とされているようなゲームアプリ程度の文字出力用途
であれば、x2でも別に実用に耐えてるし普通に使ってるよ。

デザイナのオーケーが出てりゃそれでいいんだよ。こんなもんわ。

           え、駄目?
981897:01/10/12 16:55
>>958
わかりました。
とりあえず妥協して他のプログラムで経験つんでDirectXを理解できるようになったらまたトライしてみます。
何度も親切なアドバイス、ありがとうございました。
982978:01/10/12 16:57
>>979
ややこしいが、978は975の

>ところで、>>969のOSに依存するってのは具体的にどういうこと?
>Plus!入れてない95だと使えないとか?

に対応し、969の

>ちなみにアンエリ取得がOSに依存するため実際には

に対応していると思われる。
>>982
ああ、いや、それはわかるんだけど
>サイズや選んだフォントによってかかったりかからなかったりする。
すくなくともGGO_GRAY?_BITMAPでアンチエイリアス取得できるフォントの場合は、
サイズは関係ないよ。これはPlus!無しWin95でも確認済み。
>983
それはちゃんとOSR1でIEなしなWin95か?
そろそろだな



15
>>984
さようでございます
御意
新スレはこちら↓

■ゲームプログラミング相談室[3]
http://piza2.2ch.net/test/read.cgi/tech/1002894129
989キリ番ゲッター:01/10/26 19:20
1000間近スレッド発見
990キリ番ゲッター:01/10/26 19:20
1000狙うからな
覚悟しておけ
991キリ番ゲッター:01/10/26 19:21
ああああああほーーーーーーーーーーーーーーー


邪魔するやつは
氏ね
992キリ番ゲッター:01/10/26 19:21
俺様が1000とったら ウラビデオさしあげます
993キリ番ゲッター:01/10/26 19:22
1000だ



0ほしい
994キリ番ゲッター:01/10/26 19:22
邪魔したらウラビデオ配布中止
いらんよ
996キリ番ゲッター:01/10/26 19:24
997キリ番ゲッター:01/10/26 19:24
ぬおおおおおおおお!!!!!
なぜ
じゃまするのだ

氏ね
998:01/10/26 19:24
999キリ番ゲッター:01/10/26 19:24
邪魔したら
おしおきだ
サーシャたんハァハァ……

すまん、スレ間違えた。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。