5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2001/03/26(月) 02:12
ゲームプログラム技術についての質問スレです

前スレ
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が今
話してる内容はリフレッシュレートスレにさらに追求した形が
書いてあったはず。理論をプログラムに直せないなら厨房決定。
己等の腕じゃこんなことにこだわってる場合じゃない。
あと話すにしても垂直同期を考慮する場合としない場合とで
大きく話がかわる。少なくともそれをハッキリしろ。

8 :4:2001/03/26(月) 06:36
いや、あのね、確か1の要求が更新を1/60でやって、
描画だけガンガンまわしたいって事だと受け取ったからああ書いただけで。
俺はもうちょっと別な方法使ってるよ。

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

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

Flipを使用すれば、そこで自動的にウェイトが入る(はず)から、
プログラム側でわざわざタイミングを取る必要が無いってことでしょ。
移動処理はdt掛けてやるから、描画が一回間に合わなくても、
補正されるし。

9 :4: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

これからこの話題はこっち↑でね。

11 :4: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〜あたり。

17 :14: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
あたりは同時押しでも大丈夫そうだけど。
キーカスタマイズもつけてみては?

39 :14: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どっち?


47 :43: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に近いほうと中心点との
距離を求める。それが半径以下なら接触。

55 :43:2001/04/17(火) 01:27
うーん、思っていたより難しい…鬱。
交点の求め方すらよく分からないよ。
とにかく算数の本片手に頑張ってみます。
レスサンキュー。

Dreamcastってコリジョンチェック用のライブラリがあるんですか。
羨ましいな。

56 :デフォルトの名無しさん:2001/04/17(火) 04:28
以前似たような質問があったときは自分でヤレとさんざん
叩かれていたがずいぶんヤワになったものだ>all

57 :デフォルトの名無しさん:2001/04/18(水) 01:45
普通真っ先に思いつくのは、円の式と直線の式の連立方程式の解を求めて
交点を求めて……っていう回り道することにならないか?楕円じゃなけりゃ
そんな必要無いのに。
こう言う些細な知識も「車輪の再発明」という無駄を省くためにもシェアして
いきたいなぁと思うんだけど。

つーか上のやり方より効率の良いアルゴリズム無いかなぁ……

58 :43: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みたいじゃ遅くてしょうがないし。
よく知らないからツッコミ歓迎。

64 :61:2001/05/05(土) 05:53
とりあえず思いつくメリットとしては、すでに同じ物を読みこんでいるんなら
それを再利用する、ってのが自然に出来るって事ですか。
とりあえず今はstringがキーのmapで実装してて、テクスチャだったら
ファイル名がそのまんまキー値って感じでやってるんですけど、マテリアル
ソートの事考えるとそんな単純なもんで良いのかなぁ、と。
あ、あと参照カウンタはつけました(藁
う〜ん、しなきゃ逝けないことってそんだけ?

65 :デフォルトの名無しさん:2001/05/05(土) 17:45
自前のタスク処理(システムに依存しない)で
強力(個々のタスク専用の記憶域が確保でき、
配列並みの速度で読み書きできる)
かつ奇麗(メモリ制限のない、GCを必要としない)
かつシンプル(出来れば言語処理系を作るまではしない。
仮想機械程度なら、まあOK)
な方法ってないですか?

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

いろいろ探したけど、なかなか見つからない・・・
ンナモン、アルワケナイカ

66 :デフォルトの名無しさん:2001/05/05(土) 21:11
メモリ制限が無いってあんた、システム依存以前に物理的に不可能だ。

67 :65: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
メチャメチャ興味ありまする。

71 :mario: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は勘弁。

75 :74: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的に何か上手くやってくれる方法はありますか?

79 :78: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色エフェクトの最高峰。

82 :81:2001/05/09(水) 08:11
>81
CreatureJungle16は違った。CreatureJungle256なんだけど、
なかった。すまん

83 :77:2001/05/09(水) 08:56
うちのところもも81の方法でやってるヨ

84 :78: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だと点滅はかなり有効な手段だよ。
コンシュマー系のゲームでもよく使われてたよ。

88 :74:2001/05/10(木) 06:49
どうもです。
とりあえず、DIB使って比較してみます。
私は現在16bitColor使用していますが
とびでばいん体験版
見て、640x480に近い描画(Ysは、ゲーム画面が小さい)が
300Mhzでも動くので256Colorやって見ようかなと。
半透明濃度を変えてるのは、やっぱり
その濃度分のテーブル持ってるのかしら。64K*8段階とか

89 :デフォルトの名無しさん:2001/05/10(木) 11:29
>>81
YsIIEternalって256色だったの?
信じられん…。256色でマジであんな美しいエフェクトがかけられるのか?

90 :77: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でいいのですか?これは、ハードウエア使うのですか?
詳しいこと聞きたいです。

95 :sage: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知らんのでノーコメント。

100 :77: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色フルに使えないことです。

いまどきのマシンだと、フルスクリーン環境で後者を選ぶ意味はないと思います。
ちなみに、ウインドウ時は後者オンリーです。

101 :77:2001/05/16(水) 17:36
あやういところは、バシバシ突っ込んでやってください。
あと、もっといい方法があると思うんで他のソフトレンダ系の人の意見も聞きたいです。

81にも出てるけど、Ysってスゴスギ。どうやってんだろ。

102 :97:2001/05/16(水) 21:21
>>100

やっぱBitBltですよね。となると95はデムパ?
私が以前書いたライブラリは完全にDirectDrawを排除した後者のタイプ。
解像度変更だけにDirectXってのも変かな?と
しかしこれに飽きていっちょシューティングでも作ろうかと思い立ってDirectXに手を出しててます。
でもSystem上のBitmapからSurfaceへの転送じゃぁこの手の動きのあるゲームに使えんのかいな?と、ちと疑問。
エロゲならともかく、アクション系でこの手法は無理では?

103 :デフォルトの名無しさん:2001/05/16(水) 21:26
>>102
アクションだと厳しかろう

104 :95:2001/05/16(水) 22:54
>>102
電波男です。
BitBlt自体、DirectXで使用するのは、
Drawで作成したサーフェースにロードしたイメージ等を貼付けるとき
しか使わないから。

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

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

ゴメンな電波で。
鬱だ死のう
−−−−−−−−−
       ||
     Λ||Λ
    ( / ⌒ヽ
     | |   |
     ∪ / ノ
      | ||
      ∪∪

105 :97:2001/05/16(水) 23:38
本当にマジでスマン。
俺もコレ↓よくわかってなかった。

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

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

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

↑コレの事だったのね。当社比120%で無知な俺が悪い。
かなり鬱だ。
後を追うから涅槃で待って。
−−−−−−−−−
       ||
     Λ||Λ
    ( / ⌒ヽ
     | |   |
     ∪ / ノ
      | ||
      ∪∪

106 :77:2001/05/17(木) 00:05
>>102
爆速ではないけどそこそこスピードはだせるんで、
3Dでないならアクション系でもなんとかなりますよん。

107 :デフォルトの名無しさん:2001/05/17(木) 01:51
>>106
それこそ、最近の速いマシンなら十分ですね。
ビデオカードの個体差をまったく無視できるから、結構イイかも。

108 :77:2001/05/17(木) 05:47
>>107
いまどきそれくらいですね、利点は(w
加算合成やらスプライト変形やらもDirect3Dで代用できる時代ですし。

109 :95:2001/05/17(木) 15:03
>>105
それの事です。
>>108
もうそろそろ、3D扱えないグラフィックボード完全無視
ジーフォース必須でも問題ないですよね。

110 :デフォルトの名無しさん:2001/05/17(木) 16:17
>>109
日本でゲーム作ってる限りノートユーザーは無視できないよ

まあ、彼らに氏んで欲しいのはおおむね同意ではあるのだが…

111 :95:2001/05/17(木) 17:50
>>110
ノートパソコンで3D扱ったゲームをやるという根性が
既に納得できない…
せめて、マニュアルに
「ノートパソコンは、仕事で使う為の物です、ゲームには対応していません」
とか書きたい。
…ウツ

112 :77: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ビデオカード載ってるとは限らないんぢゃあ。

115 :95:2001/05/19(土) 07:42
>>114
そう言う人は、
「あなたのディスクトップは3Dに対応していません、VGAをパワーアップした後、
再度挑戦してください」
とマニュアルに書きたい。

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

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

鬱だ死にたい。

116 :95: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

121 :95:2001/05/19(土) 10:02
>>119
コメントが無いから読みづらいと思う僕は…
とりあえず、ビットマップそれぞれが何か書いてないと。
(ソースから想像できるけど、想像通かかなり謎)

122 :デフォルトの名無しさん:2001/05/19(土) 10:06
昔codeguruにalpha ブレンドのサンプルがあった。>117
つーかまず検索しろよ

123 :つじっこ:2001/05/19(土) 12:04
インデント・・・コピペしたらこうなったんで。
コメントも文を短くするために省略。
codeguru・・きいたことあるようなないような・・
そうですね、検索してみます。
ゴロゴロでてきそうだ・・

いろいろご指摘ありがとうございました。

124 :95:2001/05/19(土) 12:26
>>つじっこさんへ
DIB作れば簡単に出来るのに…。

125 :デフォルトの名無しさん:2001/05/19(土) 21:40
TransparentBltじゃだめか?
いまさらWin95サポートしてやる必要もないし。

126 :デフォルトの名無しさん:2001/05/19(土) 21:49
>>Win95
まだ結構いるんだなーこれが。

とはいっても、今のご時世、3DゲームとかだとWin95サポートどうしようかなんていってられんな・・・。
そんなやつのハードは大抵、3Dなんかまともに動かないだろうし。

127 :95: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 みたいな環境もあることだし(藁

131 :129:2001/05/21(月) 13:33
ほんとだ(藁

132 :95: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
結局また逃げるのか……。

146 :95: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
>擬似タスク馬鹿話

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

ちなみに俺、過去は後者で今は前者でございます。
どうです、救いようが無いでしょう。俺の告戒に
免じてこの馬鹿論争は止めてくれないか。

150 :134:2001/05/22(火) 16:56
> それにしても、高々 疑似タスク 疑似マルチタスク くらいな言葉なのに
>ドーデモいいんじゃないっすか?

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

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

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

>>149
了解。私の主張はこれで全部ってことで、これでおしまい。

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

フェアな文字コミュニケーションのコツを教えます。
>>150の書き込みに対し了解の意思を示するならば
持論を展開せず、了解の意思のみを書くほうがより
「スマート」です。

152 :151(訂正スマソ):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
はぁ、宗教論争的で嫌やねぇ

160 :155: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版は除外)

176 :174=175:2001/05/23(水) 02:22
>>170

以上です。

177 :174=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ぐらいがお手ごろ。

188 :174:2001/05/23(水) 02:57
>>181=173という仮定で

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

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

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

レスをよく読もうぜ。誰もキミの書き込みを否定してないんだよ。
>>173なんてマターリしようぜと書いてるだけだし。落ち着こう。

189 :174(訂正):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
ゲーハー厨が混じってるせいだと思われレ

194 :170: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くらいの
>スペックの奴らも相手にしないといけないからねー。

それだけのスペックがあれば、かなりすごいゲーム作れます。

203 :95: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のニーモニックで、
オプティマイザ付きのコンパイルを期待するんで無いよ。おい。

207 :205:2001/05/23(水) 11:56
>>206

ちょっと質問。
最近の最適化手法てどんなものなの?ツールとか。
まさかVCのインラインアセンブラとRDTSC使って
チマチマと手動で計測しながら作業してるわけじゃ
ないよね。

208 :デフォルトの名無しさん:2001/05/23(水) 12:02
>>206

クロック表と睨めっこしながらリニアなべたーっとした
とても読みやすいアセンブリコードを書くのかしら。

209 :206:2001/05/23(水) 12:18
おや、人気あるな俺

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

>>208
アクロバチックなクリティカルな副作用を期待したようなコードを書きますね。

210 :205:2001/05/23(水) 12:26
>アセンブラで書いてんのに、どうやってオプティマイザかけるんだろうね?

あーいや、そういう話をした憶えはないんだけど。
何か誤解があるようだ。真面目な質問なので煽らないでちょ。
MMXやSSEを使うならアセンブラでコーディングするのは
分かるんだけど、クロック数云々で片付く簡単なお話じゃ
ないと思うんでございますよ。で、最近の猛者はどうやって
るのかしらという率直な疑問ナリ。

211 :205: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がいい

219 :95: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
http://www.bio100.co.jp/cgi-bin2/directx/flashviw.cgi?mode=set&no=591
ネタ?

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
>バイオ人間
ワラタ

232 :226: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
>さ、そろそろ勉強をはじめろ、どうもありがとうございました!
教えてもらっておきながら、「勉強をはじめろ」と命令しているし。
煽るか礼を言うか、どっちかにしろ。

237 :95: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
テーブルを使おう。

あと、斜面とかは馬鹿正直に全部の地点について計算しなくても、
チップキャラの中心の高さだけ決めておいて、
残りは線形補完でもいいんじゃない?
凹凸の激しい地面を作らない限り大丈夫だと想うよ。

254 :Install: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
すまぬ。放置しきれんかった

257 :373:2001/06/01(金) 23:43
RPGとかで使うレベルアップのテーブルなんだけど
Lv HP
01 10
02 15
03 35
って感じの場合のテーブルをExcelでLv200ぐらいまで打ち込んであるのだけど
これからこのテーブルを作る関数(点200個から高次の関数を作る?)を求められるそうなのですが
どうすればよいのでしょうか?

258 :デフォルトの名無しさん:2001/06/01(金) 23:54
グラフ描いて見れば?

259 :373: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のテーブルを作ったんだったら、補間する必要ってないんじゃ…?

271 :257:2001/06/02(土) 11:08
そういわれればそうですね。ご忠告ありがとうございます。
それに、よく考えたらレベルMAXは60でした。

272 :257:2001/06/02(土) 11:28
>>261,262
はい。一応中学は卒業していますので、直線の式は求められます。

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

>>269

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

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

>>271

偽者?俺は今おきたとこだけど?レベルMAXは60じゃありません。
もっと増えそうです。

273 :デフォルトの名無しさん:2001/06/02(土) 11:44
Excelのグラフで近似式を自動で計算できるでしょ?

274 :257:2001/06/02(土) 11:59
>>273

そう。それなんですけど、どうやればいいんですか?

275 :257: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
バランス調整の現場から言わせてもらうと、
数式を出して補完したりするより、
テーブルやスクリプトを使って調整したほうがいい。
細かい調整がしやすいし。
テーブルのほうがダサいけど、そのダサさが大切。

プログラマーが調整するのは避けたほうがいい。
調整する頃には、開発が押していて、
プログラムの修正やデバッグに追われているはず。
テーブルにしておけば誰でも調整できる。
担当の企画者が忙しくなっても、
他のラインの暇になった企画者が調整を手伝ってくれたりすることもできる。

278 :257:2001/06/02(土) 14:32
ちなみに座右の書は「メガデモをつくろう」です

279 :257: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個の数式を組み込んでいるの?
それはそれですごいな。見習いたいよ。

283 :257: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

296 :295:2001/06/05(火) 20:27
ゴメン。メガデモってかいてるだけで、内容はゲームむけっぽいね。

297 :デフォルトの名無しさん:2001/06/05(火) 21:19
          _人
       ノ⌒ 丿
    _/   ::(
   /     :::::::\
   (     :::::::;;;;;;;)_
   \_―― ̄ ̄::::::::::\
   ノ ̄     ::::::::::::::::::::::)
  (     ::::::::::::::;;;;;;;;;;;;人
 / ̄――――― ̄ ̄::::::::\
(        :::::::::::::::::::::::::::::::::)
 \__::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;ノ

298 :294:2001/06/05(火) 22:19

>>295
ゴメン。この板はじめてなんだ。
メガデモはだいすきだからぜひ行
かせてもらいます。
っーか気が付かなかっただけです
(大汗
再投稿するうざがられるのでこれ
だけはここでご勘弁。
自分的にはゲームにもメガデモに
も両方使いたかったんだよね
ソースなくてもいいからあったら情
報ください(しつこい)

299 :デフォルトの名無しさん:2001/06/05(火) 23:05
>>297
いやはや見事なクソっぷりですな。

>>298
雷とかスパークいうてもいろいろあるんで。
デモでいう雷ってていうと、電気力線とかそのへんか?

300 :298:2001/06/06(水) 19:04
>>299
電磁力線とはちょいちがうみたいです。
こんな感じのをリアルタイムで出したいだけなんですけど
ttp://homepage1.nifty.com/kmaeno/gallery/test/lightning_m/lightning01.jpg

301 :298: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
ネタはぷー。

308 :305:2001/06/07(木) 12:06
いや、ネタのつもりは全然ないんだが。

309 :305:2001/06/07(木) 12:07
ちなみに、CG関係の論文当たると出てくるかも知れないぞ。
いま探す暇ないのでスマ

310 :298: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
俺の場合。

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

両方でオブジェクトを動かしているけど、
メインスレッド側は順次処理、
描画スレッド側は並列処理って感じ。
ジオメトリの演算結果を受けてオブジェクトを動かしたいときもあるし。

319 :317: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パワーはそれなりに喰うけど。

331 :329: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
普通にα合成を計算した後にパレット中から近似色を選択すればいいと思う。
もちろん、近似色の選択もテーブル使ったほうが良いと思うけど。

336 :335:2001/06/18(月) 19:54
>>332
ちなみに下のAlphaLibを参考にするとヨロシ。

ttp://tko-ta.hoops.ne.jp/

337 :332: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++に似ているから、そこそこ読める。

 見栄えを気にするなら、使用頻度の多い色に、
パレットを集中させると良いかもしれんな。

338 :334:2001/06/22(金) 12:25
>>337
先生!!そのときは8段階αと加算、乗算のテーブルを持たせてました!!(w

339 :332:2001/06/23(土) 01:27
 0と7はテーブル不要だから……あれ?
64k*(6+1+1)=512k

340 :334:2001/06/23(土) 06:21
>>339
ん。そんくらいかも

341 :デフォルトの名無しさん:2001/06/27(水) 03:57
age

342 :342:2001/07/08(日) 08:53
タクティクスみたいなゲームのソースとか、あるかな。。
ふつうのRPGなら腐るほどあったけど。。

343 :デフォルトの名無しさん:2001/07/08(日) 09:42
思考ルーチンを組めるヤツがあまりいないと見た。

344 :342: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
なんでやねん。加護ゲーム作りたいねん。だからクラスつくっとんねん。教えてくれてもええやん。

348 :放置ありがとう( ● ´ ー ` ● ) :2001/07/08(日) 14:38
ヴァチャール カコイイヨ( ● ´ ー ` ● )
テンプーレト カコイイヨ( ● ´ ー ` ● )
STL カコイイ( ● ´ ー ` ● )
同僚に自慢するヨロシ
friend カコイイ( ● ´ ー ` ● )
goto カコイイ( ● ´ ー ` ● )
asm カコイイ( ● ´ ー ` ● )

349 :デフォルトの名無しさん:2001/07/08(日) 14:58
GameProgramingGemsかっとけ

350 :放置ありがとう( ● ´ ー ` ● ) :2001/07/08(日) 15:28
シングルー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
あげ

356 :3D初心者:2001/07/11(水) 11:20
質問なのですが、64ゼルダのようなカンジのゲームをつくる
とき、フィールドってどうやってつくればいいんでしょーか?
Lightwaveなどでキャラからマップまで全部つくれちゃいますか?
初歩的な質問ですみません・・・

357 :an: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
あげ

366 :356: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
ちょっとづつの修正が作業量が大きくなると厳しくなってくる気が…。

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

というのが(レベルデザイナーが簡単に試行錯誤できるようなレベルエディターを
作るのメンドイけど)効率よいと思う。

371 :356:2001/07/14(土) 00:16
うおおおお
なんかめっちゃむずかしそーだ・・・
とりあえず動くようになるまでどんくらいかかるかな・・・

372 :365: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
ネタか? 自分で作れ

380 :373: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
激しく同意。

384 :356:2001/07/15(日) 08:47
なんかすごいことになってきたなあ。
オレのレベルを遥か上をいっている。

385 :デフォルトの名無しさん:2001/07/15(日) 11:36
私もレベル下スギでアレなんですが、
「ツールが作れない状態は問題の分析や設計がマズイ状態」
ってことでイイですか?

いや、趣味でゲーム作ろうとしてるんですが、全体の流れは
浮かんだものの、このスレみて、「うーん、どう適用する?」と
思ったもので...

386 :加護:2001/07/15(日) 12:19
キャラクターのアニメーションで、何番目までアニメーションが進んだか管理するのに上手い方法ないですか。オブジェクト一つ一つにカウンタつけるしかないですか?それともカウンタは別にオブジェクトを作って管理するべきですか?

387 :デフォルトの名無しさん:2001/07/15(日) 12:47
オブジェクトで抱えた方が融通つけ易いんじゃねーの?

388 :373,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 テーブルで十分。
多分最速だよ。

408 :405じゃないけど: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
次号きぼ〜ん

412 :402: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
ランプが見えれば濃度あげる。車体の陰になるなら、濃度さげる。

428 :416: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
>>429
なぜ自分で調べようとしない?
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=Polling&search=%B8%A1%A1%A1%BA%F7&sw=0

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πの間に収めておいたほうがいいのかな?
ゲーム中ずっと放置して回しまくりでも不都合ないかしらん。

455 :C++スレはスレ違いでした: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);

456 :455: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

マルチポストかよ。

しかもそれはトリプルバッファリングになってねぇか?

459 :APIスレの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

460 :APIスレの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にいったん書き込んで云々に当たると思うが。

469 :468: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が一般的には一番速そうだけど、昔ポーリングかなんかで何秒かに一回引っ掛かる
現象が起こったことがあるなぁ。<俺のミスかもしれない

124 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)