トップページ⇒tech
1001コメント316KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
ゲームプログラム技術についての質問スレです

前スレ
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
0002デフォルトの名無しさんNGNG
向こうにもレスしちまったが、これじゃダメなん?

#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(); // 描画
 }
}

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

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

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

勘違いだったらすまぬ。

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

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

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

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

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

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

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

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

これからこの話題はこっち↑でね。
00114NGNG
>>10
だから、リフレッシュレートなんて関係ないんだって。
1はそんなことまで考えてないよ
0012吾輩は名無しさんであるNGNG
あっちはリフレッシュレートのみならず
ゲームループ全般の話だから、やっぱあちらだと思うナリが。
0013この業界から逃出した男NGNG
>>4
なるほど、了解。
読違いすまねー

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

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

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

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

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

で合ってますか?
0023デフォルトの名無しさんNGNG
まちがってsageちゃったんでage!
0024デフォルトの名無しさんNGNG
>>22
V-Blank?
0025デフォルトの名無しさんNGNG
>>22
V-Syncてのは時間の事ではないのでは?
V-BlankはV-Blank (Time)の事だとは思いますが。

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

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

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

ありがとうございます。
助かります〜。
0034デフォルトの名無しさんNGNG
今んとこゲームでの力学シミュ考えると、ペナルティ法が楽なのかなあ。
0035デフォルトの名無しさんNGNG
>>14
>Pentium200MHz以上。ゲームパッド必須。

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

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

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

0040デフォルトの名無しさんNGNG
>>36
PC98だと3つ以上同時押しOKですな
0041デフォルトの名無しさんNGNG
>>36
キーボードを分解して中のLSIの種類をみれば分かるかも。
0042デフォルトの名無しさんNGNG
>>37
高いキーボードなら大丈夫なの?
0043デフォルトの名無しさんNGNG
線分と円の交差判定式を教えておくれ。
レベル低い質問でスマン
0044デフォルトの名無しさんNGNG
Z,Xあたりのキーを使ってると、同時押しが認識されない
組み合わせが出てきちゃう。だからCtrl、Shiftにしようね。
0045デフォルトの名無しさんNGNG
うん、三つまでということは無いみたいよ。特定の組み合わせが駄目みたい。
漏れのきぼは¥2000の安もんだけど、←+↓+Z+Xの同時押しをちゃんと認識してたよ。
0046デフォルトの名無しさんNGNG
>>43
2D、3Dどっち?
004743NGNG
まずは2Dでお願いします。
最終的には3Dで円筒と円筒の交差判定やってみたい。
(バーチャファイターで使ってるらしい)
0048デフォルトの名無しさんNGNG
>>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で円筒と円筒の交差判定やってみたい。
>(バーチャファイターで使ってるらしい)
円筒よりもカプセルのほうが良いとおもわれ。カプセルというのは半径と線分のデータを持ったもの。
両端が円でキャップされてる円筒との判定はちょっと複雑で重いし、あたり判定に使うには向いて無い。
0049デフォルトの名無しさんNGNG
カプセルなら線と線の距離を求めるやり方で、あとは上の円との交差判定と
同じような感じで出来るよ。
0050デフォルトの名無しさんNGNG
>>44
CtrlとShiftあたりが一番安全なのは確かだけども(元々同時押しするキーだしねえ)
やっぱりカーソルorテンキーと3つ押し効かないケースそこそこあるっす。
わりかし頭遺体
0051デフォルトの名無しさんNGNG
点と直線の距離の方程式
AH^2 = (ax1+by1+c)^2 / (a^2 + b^2)
0052デフォルトの名無しさんNGNG
あ、有限直線なら48の言うように、
回転した方がいいな。
0053デフォルトの名無しさんNGNG
つーかイイページがあった。
ttp://ahirujigen.hoops.ne.jp/d3dtip02.htm

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

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

つーか上のやり方より効率の良いアルゴリズム無いかなぁ……
005843NGNG
外積・内積の概念がよくわからないよ〜。
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

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

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

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

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


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

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

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

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

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

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

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

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

>BASICの構造は理解できるけど、C言語の構造は理解できん。
俺はBASIC知らんのでノーコメント。
010077NGNG
自分のライブラリではフルスクリーン時、最終的に
・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色フルに使えないことです。

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

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

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

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

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

ゴメンな電波で。
鬱だ死のう
−−−−−−−−−
       ||
     Λ||Λ
    ( / ⌒ヽ
     | |   |
     ∪ / ノ
      | ||
      ∪∪
010597NGNG
本当にマジでスマン。
俺もコレ↓よくわかってなかった。

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

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

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

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

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

とかいいつつ、オレの開発環境ノートだったり。鬱氏。
0113デフォルトの名無しさんNGNG
nage♪

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

概要:

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

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

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

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

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

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

鬱だ死にたい。
011695NGNG
ageとこ。
0117つじっこNGNG
ども、つじっこです。
えと、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);

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

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

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

いろいろご指摘ありがとうございました。
012495NGNG
>>つじっこさんへ
DIB作れば簡単に出来るのに…。
0125デフォルトの名無しさんNGNG
TransparentBltじゃだめか?
いまさらWin95サポートしてやる必要もないし。
0126デフォルトの名無しさんNGNG
>>Win95
まだ結構いるんだなーこれが。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

>>149
了解。私の主張はこれで全部ってことで、これでおしまい。
0151傍観者@名無しさんNGNG
>>150
>了解。私の主張はこれで全部ってことで、これでおしまい。

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

ここで議論しても仕方ないことなのでsage
0154デフォルトの名無しさんNGNG
ま、簡単な話なんだけどね。

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

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

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

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

元スズキ総理大臣とスズキ元総理大臣との違いみたいなもんでしょうか。
今は苗字変わったから元スズキ総理大臣でも構わない、とういうことは
あるんでしょうか。
0156デフォルトの名無しさんNGNG
>>155
もう蒸し返すなよ。好きに解釈しとけ。
0157デフォルトの名無しさんNGNG
>>155

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

マルチタスクっぽいけどそうでもないような……という意味合いで使うなら
擬似マルチタスクって言わないと。
0159デフォルトの名無しさんNGNG
はぁ、宗教論争的で嫌やねぇ
0160155NGNG
>>156-157
うい、すんません。
0161デフォルトの名無しさんNGNG
前に言っただろうが。
マルチタスクじゃなかったらそもそも「タスク」なんて概念が生まれないって。
つまりタスクって言った時点でマルチタスクを内包してんだよ。

しかしどうしてそんなことにこだわるかね。
0162デフォルトの名無しさんNGNG
>>161
一番こだわってるのがお前だと思うが
0163デフォルトの名無しさんNGNG
>>161
あなたはそれで勝手に納得してるかもしれませんが、
俺らはあなたでもあなたのママでもないので、
勝手に省略されてもわかりません。
0164デフォルトの名無しさんNGNG
たすきとタスクはどうちがうの
0165デフォルトの名無しさんNGNG
芸は身をタスク
0166デフォルトの名無しさんNGNG
ははは
0167デフォルトの名無しさんNGNG
さて、相談室らしいムードに戻そうか。>ALL
初心者も歓迎、駄スレ立てる前にここおいで〜。
0168デフォルトの名無しさんNGNG
ふふふ
0169デフォルトの名無しさんNGNG
マターリ
0170デフォルトの名無しさんNGNG
DirectX未経験者ですが、今からDirectX7以前とDirectX8のどちらから入ったほうがいいのでしょうか?
DirectX8の入っているマシンはまだ少ないので、やはり7以前からやった方がいいのでしょうか。
0171デフォルトの名無しさんNGNG
ヒヒヒ
0172デフォルトの名無しさんNGNG
7>170
0173デフォルトの名無しさんNGNG
170へ。
初心者のくせに気にする観点が違うんだよ。
自分のマシンでも動かしたことがねーお前に話したってわかるのかよ。
しかもダイレクトエックスなんて最新版入れるにキマッテンダロ?
まだ入れてる人が少ないだ?あ?
馬鹿かてめーは。
そもそも8入れても7や6でも開発できんだよ。
もう一つ炒っておくと俺はこの系統の質問をするやつがゲームを作り上げたところを見たことがない。
大抵できもしない異機種動作にばかり力を入れてゲーム本編を作る事無く終了。
0174デフォルトの名無しさんNGNG
状況によっていろいろ。

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

・DirectDrawを使いたい。
・ランタイムがOSに標準インストールされているほうがいい。
→ DirectX7以前が無難。
0175デフォルトの名無しさんNGNG
※各OSに標準インストールされてるDirectXのバージョン

WinNT4  → DirectX3
Win98   → DirectX5
Win98se → DirectX6.1
Win2k   → Direct7.0
WinMe  → Direct7.0
(※OEM版は除外)
0176174=175NGNG
>>170

以上です。
0177174=175NGNG
>>170

以上です。
0178デフォルトの名無しさんNGNG
異常です。
0179デフォルトの名無しさんNGNG
>>173

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

ソンナワケネーダロ
0182デフォルトの名無しさんNGNG
>>173=181
ダイレクトエックス
キューアンドエー

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

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

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

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

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

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

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

それだけのスペックがあれば、かなりすごいゲーム作れます。
020395NGNG
ゲーム作るのなら、最低ラインは
GeForce2 Windows Me or NT2000 とか、
CPUは、P-III 800Mz とかにすればいいのに。

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

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

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

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

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

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

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

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

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

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

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

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

リフレッシュレートに関する論争
http://piza.2ch.net/test/read.cgi?bbs=tech&key=972165437
0221デフォルトの名無しさんNGNG
ゲームプログラミングでDLLの使いどころってどこですか?
ジャンルはシューティングでお願いします。
0222デフォルトの名無しさんNGNG
d3d.dll
0223デフォルトの名無しさんNGNG
http://www.bio100.co.jp/cgi-bin2/directx/flashviw.cgi?mode=set&no=591
ネタ?
0224デフォルトの名無しさんNGNG
ははは、さぁ。
0225デフォルトの名無しさんNGNG
この相談室、いつも荒れてるよね。
0226デフォルトの名無しさんNGNG
>223
時々、あそこが匿名だったら ぼこすかに書いてやれるのにとか思います。
0227デフォルトの名無しさんNGNG
前に一回それやったら技術じゃなくて人格云々について叩かれた。笑。
あそこの奴らは一部の奴らの馴れ合いがキショクテかなわん。
ほかのやり方を認めない頭の硬さをどうにかしれ。
0228デフォルトの名無しさんNGNG
>>226
ぼこすかに書いてストレス発散したいなら
2chでやっとりゃ充分だしょ(w
0229デフォルトの名無しさんNGNG
みんな100%のバイオ人間にされちゃったんだよ。
勘弁してやれ!
0230デフォルトの名無しさんNGNG
>>223
翻訳ソフトで変換した文章っぽいよね。
0231デフォルトの名無しさんNGNG
>>229
>バイオ人間
ワラタ
0232226NGNG
まぁ、僕の場合、人格が破綻してるかもしれないけどね。
あそこにいる人たちと比べると。
0233デフォルトの名無しさんNGNG
>>223
日本人じゃないに一票(ネタではなく)。
0234デフォルトの名無しさんNGNG
確かに日本人とは思えない。
プログラムの前に、日本語勉強しろと突っ込みたい。
しかしネタだったら笑われる。
畜生、俺はあいつの掌の上で踊らされているのか。
0235デフォルトの名無しさんNGNG
「日本人は反省しる!」を思い出してしまった。
0236デフォルトの名無しさんNGNG
>さ、そろそろ勉強をはじめろ、どうもありがとうございました!
教えてもらっておきながら、「勉強をはじめろ」と命令しているし。
煽るか礼を言うか、どっちかにしろ。
023795NGNG
>>230
確かに、
翻訳ソフトそのままみたい。

もしかして これが噂の バイオ人間か?
0238デフォルトの名無しさんNGNG
バイオ人間DANあげ
0239デフォルトの名無しさんNGNG
メールアドレスとIPアドレス見ましょう。誰でも異国の言語を
ならい始めたときはそんなもんです。この件はこれで終わり!
0240デフォルトの名無しさんNGNG
x86アセンブラの最適化やるんなら,普通V-Tune使うYo!
0241デフォルトの名無しさんNGNG
ぶっちゅーんハチマンエン逝ってよし。
0242デフォルトの名無しさんNGNG
ああ、クラスAのIPか
0243デフォルトの名無しさんNGNG
スペランカーなどの坂道を1ドットずつおりる処理はどのように
してるのでしょうか?
0244デフォルトの名無しさんNGNG
チップキャラに高さ情報を持たせてやる
0245デフォルトの名無しさんNGNG
>>244 折角レスしてくれたのにプログラムの具体例がないと
理解できないかも。鬱氏
0246デフォルトの名無しさんNGNG
キャラの真下のマップチップを検索して、そのチップの高さ属性をゲットしてキャラに反映する。
坂なら、sin,cosで高さを求める、もしくはあらかじめテーブルに座標を格納しておく。

でいいのかに。
0247デフォルトの名無しさんNGNG
>>246 意見ありがとうございます。
2Dだし、ファミコンでも処理してるから簡単かと思ったけど
難しそう。
0248デフォルトの名無しさんNGNG
ソニックはもっとムズイでー。
0249デフォルトの名無しさんNGNG
そうか?
ソニックは曲線かなんかの式に軸をのせちゃて動かしてるだけのような気がするが。
普通の坂道は普通の処理かな。
場合によって色々と用意せにゃならんのはめんどいね。
0250デフォルトの名無しさんNGNG
┌─────────┐
│                  │
│ ageないでください  │
│                  │
└―――──――――┘
     ヽ(´ー`)ノ
        (  へ)
        く
0251デフォルトの名無しさんNGNG
もしよかったら、こっちも見たってよ

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

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

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

新宿近辺で見かけた方いませんか???
0255デフォルトの名無しさんNGNG
↑スレ違いですので放置して下さい(´д`;)
0256デフォルトの名無しさんNGNG
>254
みたよ
>255
すまぬ。放置しきれんかった
0257373NGNG
RPGとかで使うレベルアップのテーブルなんだけど
Lv HP
01 10
02 15
03 35
って感じの場合のテーブルをExcelでLv200ぐらいまで打ち込んであるのだけど
これからこのテーブルを作る関数(点200個から高次の関数を作る?)を求められるそうなのですが
どうすればよいのでしょうか?
0258デフォルトの名無しさんNGNG
グラフ描いて見れば?
0259373NGNG
グラフはかけましたが式の求め方がわかりません。
x,y = (1,2),(2,4),(3,6)
から y=2xという式を求めたいのです。(実際はもう少し複雑ですが)
0260リアル厨房@名無しさんNGNG
>>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
0261デフォルトの名無しさんNGNG
>>257
うーん、マジでリアル厨房の数学レベルだね。
もし257が高校生以上ならプログラムよりもまず公文式をおすすめする。
0262デフォルトの名無しさんNGNG
ツマンネー煽り入れるな
0263リアル厨房@名無しさんNGNG
ごめん。最小二乗法とかを使いなさいって先生に注意された。
0264補足NGNG
ttp://www5.airnet.ne.jp/tomy/cpro/sslib9.htm
厨房なので難しいことは分かりません。
0265デフォルトの名無しさんNGNG
(・∀・)!!!
0266デフォルトの名無しさんNGNG
えーとですね257の問題は結構難しいですよ。
属にいう補間の問題です。線形代数でもやるのがベストです。
ただそれでも値が二つや三つならなんとかいけそうですが、
それ以上いくと格段に難しくなります。
式は求める値が二つなら一次、三つなら二次、四つなら三次になります。
要素が200ということはPCでは計算できません。
サンカクホウとか計算方法は色々あるみたいですがまともに計算できたためしがないです。
のでアルゴリズムはスプラインなどの特殊な補間が必要です宇治社中でもいきましょう。
おちまい。
カイケツ!ヨカッタネ!
0267デフォルトの名無しさんNGNG
一番簡単なのは線形補間だわな。
線形ならリアル厨学生でもできるだろ。
0268デフォルトの名無しさんNGNG
線形だって関わる要素が複数になればそれなりに難しいよ。
この場合だと200個の要素の変化が大きい値をとって云々てやらなきゃいけないじゃん。
素直に宇治社中いって式コピッタ方がなんぼかはやいよ。
0269デフォルトの名無しさんNGNG
逆転の発送で、適当な式(曲線)をでっちあげて
よさげな値がでるまでやるってのもいいと思う。
曲線をグラフで見られるような簡単なツールでもつくるとGOOD
0270デフォルトの名無しさんNGNG
というか、Lv/HPのテーブルを作ったんだったら、補間する必要ってないんじゃ…?
0271257NGNG
そういわれればそうですね。ご忠告ありがとうございます。
それに、よく考えたらレベルMAXは60でした。
0272257NGNG
>>261,262
はい。一応中学は卒業していますので、直線の式は求められます。

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

>>269

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

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

>>271

偽者?俺は今おきたとこだけど?レベルMAXは60じゃありません。
もっと増えそうです。
0273デフォルトの名無しさんNGNG
Excelのグラフで近似式を自動で計算できるでしょ?
0274257NGNG
>>273

そう。それなんですけど、どうやればいいんですか?
0275257NGNG
ここのソースがわかりやすかったです。これで解決できそう。やった!
飯でもくいにいこう。

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

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

偽者うざい。

>>280~282

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

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

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

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

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

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

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

別スレッドでやればいいとは思うのですが、それじゃ折角分けた
意味無いし…。WindowsでDirectXです
0318デフォルトの名無しさんNGNG
>>317
俺の場合。

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

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

スキルないので、とりあえず手頃な補間処理辺りから
描画スレッドでやってみようと思います
0320デフォルトの名無しさんNGNG
ttp://www.vector.co.jp/soft/win31/prog/se028202.html
これって送金しなくても平気?
0321デフォルトの名無しさんNGNG
ソースがいらないなら送金はいらないともとれるけど、
シェアウエアっていってるんだから使うなら送金する必要があるだろう。
別にそれ使わなくてもDirectX使えばいいじゃん。
0322デフォルトの名無しさんNGNG
>>320 はWin3.1のゲームを作りたいと思われ
0323デフォルトの名無しさんNGNG
A-GE
0324デフォルトの名無しさんNGNG
>>322
Win3.1ユーザは絶滅したから、作っても誰も遊ばないと思われ。
っつーか、まだ金とってんのね。
いいかげんフリーにしてもよさそうなもんだ。
0325デフォルトの名無しさんNGNG
ゲーム系クソスレたて防止のため上へ参ります
0326デフォルトの名無しさんNGNG
あげ
0327デフォルトの名無しさんNGNG
別にWin95だって、DirectXを生で使うよりずっと楽に速いゲームが作れるじゃん>WinGL
でも今時256色ってのもねえ…
0328デフォルトの名無しさんNGNG
256色をなめてはいけないよー。
3Dでなくて、2Dで激しいエフェクト必要ないなら256色で十分。
むしろ、3Dカードなくてもそこそこエフェクトだせて高FPSで安定できる。

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

ttp://tko-ta.hoops.ne.jp/
0337332NGNG
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++に似ているから、そこそこ読める。

 見栄えを気にするなら、使用頻度の多い色に、
パレットを集中させると良いかもしれんな。
0338334NGNG
>>337
先生!!そのときは8段階αと加算、乗算のテーブルを持たせてました!!(w
0339332NGNG
 0と7はテーブル不要だから……あれ?
64k*(6+1+1)=512k
0340334NGNG
>>339
ん。そんくらいかも
0341デフォルトの名無しさんNGNG
age
0342342NGNG
タクティクスみたいなゲームのソースとか、あるかな。。
ふつうのRPGなら腐るほどあったけど。。
0343デフォルトの名無しさんNGNG
思考ルーチンを組めるヤツがあまりいないと見た。
0344342NGNG
誰かルーチン以外だけで作っているのいないかなw
つーか最初から生で作って公開している人間というのはいないのか!?

移動ルーチンとかだけならあんまり苦労しないけどな。。
0345加護NGNG
加護、virtualの存在価値がわからんねん。教えてお兄たん。
0346デフォルトの名無しさんNGNG
>>345
激しくスレ違いです。
0347加護NGNG
なんでやねん。加護ゲーム作りたいねん。だからクラスつくっとんねん。教えてくれてもええやん。
0348放置ありがとう( ● ´ ー ` ● ) NGNG
ヴァチャール カコイイヨ( ● ´ ー ` ● )
テンプーレト カコイイヨ( ● ´ ー ` ● )
STL カコイイ( ● ´ ー ` ● )
同僚に自慢するヨロシ
friend カコイイ( ● ´ ー ` ● )
goto カコイイ( ● ´ ー ` ● )
asm カコイイ( ● ´ ー ` ● )
0349デフォルトの名無しさんNGNG
GameProgramingGemsかっとけ
0350放置ありがとう( ● ´ ー ` ● ) NGNG
シングルー�d カコイイヨ( ● ´ ー ` ● )
0351加護NGNG
DirectX8にDirectDrawがないねん。どうなっとんねん。
0352デフォルトの名無しさんNGNG
Direct3Dで代用しと毛。
0353デフォルトの名無しさんNGNG
>>345
ポリモーフィズムって調べてみ。
マップファイルも見てごらん。
0354デフォルトの名無しさんNGNG
>>351
DirectX7使いましょう。
0355デフォルトの名無しさんNGNG
あげ
03563D初心者NGNG
質問なのですが、64ゼルダのようなカンジのゲームをつくる
とき、フィールドってどうやってつくればいいんでしょーか?
Lightwaveなどでキャラからマップまで全部つくれちゃいますか?
初歩的な質問ですみません・・・
0357anNGNG
age
0358デフォルトの名無しさんNGNG
>>356
マップ作ったとして、当たり判定とかどうするんだろうね?
コリジョン用に矩形とかで再構築するのかな。
0359関西人NGNG
そらもう、あたり判定用の簡易モデル作るに決まってまっせ。
0360デフォルトの名無しさんNGNG
>>359
3Dアクション物作りたくない理由の筆頭だね(藁
モデラ死にまくり。
0361デフォルトの名無しさんNGNG
凝りジョンなんてまじめにやるわけねっしょ
0362デフォルトの名無しさんNGNG
>>361
アホ発見。
0363デフォルトの名無しさんNGNG
>>362
普通は簡易モデルでやるだーろ?
カスですか?
0364デフォルトの名無しさんNGNG
>>363
その簡易モデル作るのモデラだろうが。
作業2倍に膨れ上がって死ぬって言ってんだよ。
0365デフォルトの名無しさんNGNG
あげ
0366356NGNG
>>358
そのへんのことが詳しくかいてある参考書とかってありますか?
0367初登場NGNG
リアルモデルから簡易モデルを自動生成。
生成後にちょっとだけ手直し。
0368デフォルトの名無しさんNGNG
最初に簡易モデルでゲーム成立させてから
リアルモデムちまちま作ってく。
0369デフォルトの名無しさんNGNG
s/モデム/モデル/
0370デフォルトの名無しさんNGNG
>>367
ちょっとづつの修正が作業量が大きくなると厳しくなってくる気が…。

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

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

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

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

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

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

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

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

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

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

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

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

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

>>382
激しく同意。
0384356NGNG
なんかすごいことになってきたなあ。
オレのレベルを遥か上をいっている。
0385デフォルトの名無しさんNGNG
私もレベル下スギでアレなんですが、
「ツールが作れない状態は問題の分析や設計がマズイ状態」
ってことでイイですか?

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

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

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

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

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

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θ)の座標系に
移したと考えることができるでござる。

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

たとえば、y方向に1の速度で移動する場合のx,yの増分
[x]=[0]
[y] [1]
同じ速度で、x軸となす角がθの方向に移動する場合のx,yの増分
[x']=[x][cosθ sinθ]
[y'] [y][-sinθ cosθ]
0404デフォルトの名無しさんNGNG
目的地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が加わるだけで同じ。
0405デフォルトの名無しさんNGNG
angle = atan2(dy - y, dx - x)
で角度を求めて
vx = cos(angle) * speed;
vy = sin(angle) * speed;
でもいいナリ。
割とFAQかもついでにage
0406デフォルトの名無しさんNGNG
>>405
三角関数、超越関数系は重いから却下。
0407デフォルトの名無しさんNGNG
>>406
敵の弾くらい256段階のsin,cos テーブルで十分。
多分最速だよ。
0408405じゃないけどNGNG
>>406
あと、発射時に一回だけx,yそれぞれのスピード割出すでもいいじゃん。
遅いって言う根拠なはによ?
0409デフォルトの名無しさんNGNG
いまどき三角関数重いてどこの話やねん。
3Dでバリバリ多用してるっちゅーのに
2Dゲーごときでビビッちゃダメだぜ。

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

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

PS1じゃないか?
0411デフォルトの名無しさんNGNG
次号きぼ〜ん
0412402NGNG
皆さんありがとうございます。

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

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

>>405
数式がスマートで良いですね。
0413デフォルトの名無しさんNGNG
>>410
PS1だってsinはテーブルだし行列はGTEだから早いんじゃない?
0414デフォルトの名無しさんNGNG
>いまどき三角関数重いてどこの話やねん。
GBかと。って、三角関数なんかもともとねーけど。
0415デフォルトの名無しさんNGNG
ちょっとまて。405でいいってことは、402は高校数学(中学)も一度やった方がよいのでは???
0416デフォルトの名無しさんNGNG
すんません、GTとかのレースゲーでよくある、
テールランプの残像ってどうやってるんですか?

配列を20個くらい用意してテールランプの座標を順送りに
保存してみたんですけど、金魚の糞みたいになってしまいます・・・(T_T)
0417デフォルトの名無しさんNGNG
モーションブラーかけてみればどうよ。
0418デフォルトの名無しさんNGNG
あの残像みるとおれはアキラの劇場版思い出すな。
0419デフォルトの名無しさんNGNG
どうでもいいけどな。
0420デフォルトの名無しさんNGNG
テールランプ部分だけ別テクスチャに描画
↓
ゲーム画面に貼り付け
↓
次のループ
↓
テールランプを前回の画像に合成
↓
ブラー効果
↓
(゚д゚)ウマー

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

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

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

あと、ここの前スレを見ると画面関係の方にもポーリングって言葉があるらしくてよけいに気になってます(^^;
0430デフォルトの名無しさんNGNG
>>429
もちろん、10本のピンを重いタマで倒すやつだよ。
0431デフォルトの名無しさんNGNG
7740 I$=INKEY$:IF I$="" THEN 7740
要は状態の変化をループ回して待つことでござる。
0432デフォルトの名無しさんNGNG
>>429
なぜ自分で調べようとしない?
http://dictionary.goo.ne.jp/cgi-bin/dict_search.cgi?MT=Polling&search=%B8%A1%A1%A1%BA%F7&sw=0
0433ポーリングNGNG
>>432
これも見たのですが、「通信?」って感じでやっぱりよくわからなかったんです。(苦笑)

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

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

問い合わせてみます。
0441加護NGNG
Game Gems、買ったほうがいーんですかぁー?加護、前に立ち読みしたけど、12000円もするもん買えないねん。
0442デフォルトの名無しさんNGNG
放置
0443デフォルトの名無しさんNGNG
>>440
↓とりあえず、急場はこれを落として頑張れ。
http://www.satori.org/gamegems/files.htm
0444デフォルトの名無しさんNGNG
あげ
0445デフォルトの名無しさんNGNG
視点ハットって何?

一応検索したんだけどよくわからん。
実例ageて教えてくれ。
0446デフォルトの名無しさんNGNG
>>443アリガトウ。
0447デフォルトの名無しさんNGNG
>>445
ジョイスティックのハットスイッチの事?
0448デフォルトの名無しさんNGNG
>>447
そう、それ
これってなんだ?
0449デフォルトの名無しさんNGNG
>>448
ハッとしたよ!
0450デフォルトの名無しさんNGNG
新鮮なバラがこの通りになるくらい寒いぞ。
0451デフォルトの名無しさんNGNG
バナナで頭打って氏んでください
0452デフォルトの名無しさんNGNG
豆腐の角で頭われそう。
0453デフォルトの名無しさんNGNG
あげ
0454デフォルトの名無しさんNGNG
ラジアンの角度の変数って、
できるだけ0〜2πの間に収めておいたほうがいいのかな?
ゲーム中ずっと放置して回しまくりでも不都合ないかしらん。
0455C++スレはスレ違いでしたNGNG
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);
0456455NGNG
間違えた。
HBITMAP bm;
bm=LoadBitmap(hInstance,"IDB_BITMAP1")
です。
0457デフォルトの名無しさんNGNG
Createいらないんだっけ?
0458デフォルトの名無しさんNGNG
>>455

マルチポストかよ。

しかもそれはトリプルバッファリングになってねぇか?
0459APIスレの127NGNG
>>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
0460APIスレの127NGNG
と思ったら、解決されてますね。
鬱だ氏脳
0461デフォルトの名無しさんNGNG
Mark DeLoura著「GAME PROGRAMMING Gems」の邦訳が¥12000で
出てますけどどうなんでしょ?
http://www.amazon.co.jp/exec/obidos/search-handle-form/249-7850456-7037145

なんかありがたそうな気もしますが役に立つのかなぁ?
0462デフォルトの名無しさんNGNG
>>461
何を今更…………………
0463デフォルトの名無しさんNGNG
>>461
他スレでもさんざん話題にでてるけど、とりあえずかっとけや。
0464デフォルトの名無しさんNGNG
>>461
ゲーム作る人ならCマガ10ヶ月分より遥かに役に立つので
とりあえず買っときなはれ。
0465デフォルトの名無しさんNGNG
>>464
いやCマガ無期購読してもGPGの情報が得られるかは怪しい。
0466バード大佐NGNG
厨房な質問だけど
ダブルバッファリングてフルスクリーンじゃないとできないの?
0467デフォルトの名無しさんNGNG
delphian でも買い?
0468デフォルトの名無しさんNGNG
>>466

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

GDIだとメモリDCにいったん書き込んで云々に当たると思うが。
0469468NGNG
×フルスクリーンだろうと
○フルスクリーンでなかろうと
0470バード大佐NGNG
>>468
なるほど。どうもです。
0471デフォルトの名無しさんNGNG
>>467
del厨だけど買ったよ。自分がゲーム作る人だと思ったら買い。
0472デフォルトの名無しさんNGNG
特定のプラットフォームに依存しない内容、
みたいなことが書いてあったが。

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

あと、タクティクスでは地形に段差がありますよね。
ああいうのは、最初から「高さ」の違うチップを用意しているのでしょうか。
それとも、同じ「高さ」のチップを何個も積み上げて表現しているのでしょうか。
後者なら用意するチップの数が少なくてすみそうですけど、パワーは余計食いますよね。
0484デフォルトの名無しさんNGNG
age
0485デフォルトの名無しさんNGNG
>>482
半透明のソートってOT使えば良いんじゃないの?
外してたらスマソ
0486デフォルトの名無しさんNGNG
ディアブロちっくなアクションRPGを作ろうと思っているのですが、
敵の思考ルーチンの組み方が解りません。
解説してるページとかないですか?
0487デフォルトの名無しさんNGNG
>>486
自分ならどう動くか考えな
0488デフォルトの名無しさんNGNG
>>486
ディアブロ?
ローグライクのゲームならたいていソース公開されてるから参考になるんでは。
0489デフォルトの名無しさんNGNG
#include < iostream.h >
↑これさえ知ってれば問題ないよね?>ALL
0490デフォルトの名無しさんNGNG
Kein Problem.
0491デフォルトの名無しさんNGNG
>#include < iostream.h >
>↑これさえ知ってれば問題ないよね?>ALL

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

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

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

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

OTってアルゴリズムの呼び方でしょうか?調べたのですがわかりません
でした。何かポインタがあればご教授願えませんでしょうか・・・
0494デフォルトの名無しさんNGNG
OTはプレステ用語と思われ
0495デフォルトの名無しさんNGNG
http://www.google.com/search?q=OT+Z%83%5C%81%5B%83g&hl=ja&lr=lang_ja&safe=off&filter=0&num=50
0496デフォルトの名無しさんNGNG
>>493
495みればわかるやん(;´д`)
0497デフォルトの名無しさんNGNG
http://www.megabbs.com/program/index.html
0498485NGNG
OT=OrderingTableって一般で使ってないのか・・・
実体はプリミティブを描画順に単方向リストでつないだもの。
半透明なんかはこれを使って奥から描画してやらんと破綻する。
D3DなんかでやるときはOTとZバッファ併用でやるんじゃない?
#あ、当然だけどOTは自分で実装してね
0499デフォルトの名無しさんNGNG
マジで質問です。
OTってなんでしょ?

たとえば、256個のPrimitiveへのポインタの配列を用意して、
256段階にZ値で分類して配列からリンクリストで繋ぐことでしょうか?
RadixSortみたいな感じですか?
0500引退プログラマNGNG
ちょっと違う。
ノーオペレーションプリミティブの配列。
0501デフォルトの名無しさんNGNG
Game Programming Gems 2、入手した人がいたら感想モトム。
0502デフォルトの名無しさんNGNG
OTの実装サンプルってないですか?
これってタスク(ジョブ?)と組み合わせてみんな使ってるの?
0503デフォルトの名無しさんNGNG
ぷれ捨ては知らぬ…
0504デフォルトの名無しさんNGNG
http://www.bigfreehost.com/docs/c.html
http://www.geocities.com/arpiyf/Teamee/index.html
0505デフォルトの名無しさんNGNG
>>504
ブラクラ!!!
ひさびさにひっかかった(´д`)
0506デフォルトの名無しさんNGNG
もうかってまっか?
0507デフォルトの名無しさんNGNG
>>503

OT=ぷれ捨てとは限らないと思いますが。
0508デフォルトの名無しさんNGNG
簡単な事で悪いんですが、
例えばシューティングの敵の移動でサイン波のような
波状移動をさせたい時はどうするのが効率いいんでしょうか?
自分は普通にサインテーブル使ってますが・・・・
0509デフォルトの名無しさんNGNG
いいから普通にsin関数使いなさい。
>>409参照。
0510デフォルトの名無しさんNGNG
>自分は普通にサインテーブル使ってますが・・・・
というところからみて、テーブル化しないと重いか、もしくはsin関数が使えない、
又は浮動小数点そのものが使用できない環境かもしれない。
0511デフォルトの名無しさんNGNG
単にいまどきサインテーブルを使うのが普通と思ってる厨房かもしれない。
環境くらい書けよ。
0512508NGNG
サインテーブル使うのが普通と思ってた厨房でした。
逝ってきます。
0513デフォルトの名無しさんNGNG
別段厨房だとは思わないけど
ケースバイケースじゃん
0514デフォルトの名無しさんNGNG
うん。
0515デフォルトの名無しさんNGNG
カードゲーム等作る時のシャッフルってどうやってます?
ぱっと思いつくのは必要な大きさの乱数だして一度も出てない
数だったら追加していく っていうのと
配列に順に並べて乱数二つだしてそのインデックスの数を入れかえる
っていうのだけれど 前者だと最後の方なかなか決まらなそうだし
後者だと順序に片寄りが出るみたいだし。他に良いアルゴリズムないですかね?
0516デフォルトの名無しさんNGNG
>>515
2つを合体させてみてください。
0517デフォルトの名無しさんNGNG
for (int i = 0; i < CARD_NUM; i++)
  swap(card[i], card[random() * CARD_NUM]);
0518デフォルトの名無しさんNGNG
>>507
漏れはプレステ以外では聞いたことないなぁ。

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

当方、プログラム関係の書籍は結構買ってるけど、そういう
呼び方をしているのは見たことがありません。
0519デフォルトの名無しさんNGNG
これが沈んでるから変なすれがたつんだage
0520デフォルトの名無しさんNGNG
どんあスレがたったんだ?
0521ggggNGNG
FFがつくりてーとかなんとか
0522デフォルトの名無しさんNGNG
ファイナルファイト
0523デフォルトの名無しさんNGNG
JAVAでRGBがどうとか
0524デフォルトの名無しさんNGNG
クオータービューのRPGやシミュレーションをつくるとして、
このビットマップはどのように保持し、どのように
マップを組み立てればよいでしょうか。

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

  /\
 | |
  \/
厚みあるパーツ↑
0526デフォルトの名無しさんNGNG
>524
頭使わないでメモリ使う方法(絵をイパーイ用意しよう)だと簡単だよ。ばか。
0527デフォルトの名無しさんNGNG
クォータービュー自体無駄じゃねん?
はじめから3Dで組んだ方がいいんでない?
2Dでやると重なる部分が増えるたびに
爆発的に処理が重くなるんじゃない?
そんな無駄なことに神経を使うぐらいなら別なところに
ちからを注いだほうがよいのでは?
そもそも2Dで無理してまでユーザーは
クォータービューなど望んでは・・・・・・。どう?
0528チューNGNG
◆◆◆(新)芸能人彼氏と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
0529デフォルトの名無しさんNGNG
>>524
Zバッファみたいな処理を頑張るしかないねぇ
まぁ2Dアクセラの腕力でダブルバッファ描画してもいいんじゃん?
クォータービューアクションゲームとかじゃないんでしょ(w
0530デフォルトの名無しさんNGNG
>>524
ようはタクティクスオウガでしょ。ちがう?
0531ヒントNGNG
>>483
>>524-525
クォータービューのゲームでは、地面と物体が
重ならないように作られているゲームが多い。
0532デフォルトの名無しさんNGNG
物体と物体も?
0533ヒントNGNG
いや、物体と物体はY軸ソート。
0534デフォルトの名無しさんNGNG
Game Programming Gemsの
「汎用的で強固なAIエンジンの設計」ってあったまいい〜
状態マシンの導入だけならともかく、
ここまで一般化・汎用化できるモノなのだとは思ってなかったでござるよ。
ちょっと感動したので記念カキコ。

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

複数の点とって拘束条件つけてるだけ?もっとうまい方法があるの?
0543デフォルトの名無しさんNGNG
>>541
http://piza.2ch.net/tech/kako/980/980791374.html
0544デフォルトの名無しさんNGNG
自作のゲームが最低どの程度のスペックのマシンで動くかどうか
調べるにはどうしたらいいでしょうか?
うちには一台しかありませんし、古いPCを持っている友人もいません。
0545デフォルトの名無しさんNGNG
>>544 それなりの水準だと思えるならWebで公開して使ってみて貰いなさい
0546デフォルトの名無しさんNGNG
「最低どの程度」というのはドキュソ
・GeForce3必須なように作る
・TWTnL必須なように作る
しかないじゃん。
0547 NGNG
PCゲーでは当たり前でフレームレート可変 で タイミングシビア(格ゲー)とか 作るのは
どうやったらいいのかな?

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

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

もっと効率いい方法ある気がするけども。
0552551NGNG
って、適当な1点から塗って、全体スキャンで面積調べたほうが楽か。
0553551NGNG
おっと、ゲーム中に残りの領域のサイズを保持しておけば、
シードフィルが終わった時点で既に面積の大小が判明してますな。
0554デフォルトの名無しさんNGNG
>>552
別に全体をスキャンする必要はないでしょ。
線は縦横直角にしか描けないんだから、角の座標を利用して
四角形の組み合わせで面積が出せる。
0555デフォルトの名無しさんNGNG
2DのFEみたいなSLGで
C++で組むとして、
ユニットやマップ、イベント管理のデータ構造などで
参考になるページはありませんか?
0556550NGNG
レスありがとうございます。
シードフィルよく知らなかったのでちょっと調べてみました。
ある座標をSeedにしてそのまわりで塗りつぶすべきピクセル
を探して、それをまたSeedにする、ってやつですか?
実はまだピンときてないんですが、けっこう重いですかね
これって。
0557デフォルトの名無しさんNGNG
>>556
重いかどうかはマシンスペックに依存するとおもわれ。
ターゲットマシンのスペック書くぐらいしないと重いかどうかはわからないだろ。
あとその方法だとスタックがパンクするんじゃないか。
0558デフォルトの名無しさんNGNG
もっと効率良いロジックあるはずだろう...
0559デフォルトの名無しさんNGNG
とりあえずCマガ読んどけ
0560デフォルトの名無しさんNGNG
シードフィルって言葉が出てきた時点でアウト?!
0561デフォルトの名無しさんNGNG
>>558-561
ていうかお前らなんか建設的なこと書けよ。
0562デフォルトの名無しさんNGNG
この手のゲームは机上であれこれいうよりも作った方がはやくねーか?
どっかの同人サークルがWSで作っていたような気がするから
少なくともシードフィルではないだろう。
0563デフォルトの名無しさんNGNG
ねえねえ、シードフィルじゃダメなの?
0564デフォルトの名無しさんNGNG
Cマガってよく聞くし、気になってたんだけど、
どんな雑誌なの?
CマガのCはC言語のC??
0565デフォルトの名無しさんNGNG
長方形のあつまりとして管理するんか?
0566デフォルトの名無しさんNGNG
>>562
WSどころかZ80クラスでも余裕だと思うのだが。
0567デフォルトの名無しさんNGNG
>>565
魅力的に聞こえるが、具体的な方法が俺には思い浮かばねえ。
誰か考えてくれい。

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

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

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

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

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

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

というわけで、今の時代
どんな方法使ってもプレイヤーは気づかないと思われ>550
とりあえずがいしゅつの方法で実装してみよう。
0585デフォルトの名無しさんNGNG
いろいろ調べていて思ったんだが、この手のアルゴリズムって社外秘なんだろうか?
0586デフォルトの名無しさんNGNG
境界線についたときに、境界線を左右どっちかに辿って
(距離が短いほうがいいな)
1つの領域の境界ピクセル群を確定、バッファに記録。
スキャンラインコンバージョンでその領域を仮ペイント。
全体スキャンでクイックスのいない側を再ペイント。
もっといい方法があるだろう……。
0587デフォルトの名無しさんNGNG
このへん適当に調べてみない?
http://www.google.com/search?q=%96%CA%90%CF%82%F0%94%E4%8Ar%82%B7%82%E9&hl=ja&lr=
0588デフォルトの名無しさんNGNG
いや、実は面積はどうでもいいんだ。
クイックスのいない側が塗り潰されるわけで。
0589デフォルトの名無しさんNGNG
現在の領域が何%か?ってのは計算する必要あるよね。
だいたい80%でクリアだっけ?
0590デフォルトの名無しさんNGNG
それは塗りかえるときにピクセル数数えるだけで良いッス。
0591デフォルトの名無しさんNGNG
そういやギャルズパニックで、新たに領域を囲った瞬間、ちょっと止まる
けど、あそこでけっこう処理が集中してるのかね。
0592デフォルトの名無しさんNGNG
MSXやぴゅう太にあった「ナイトフライト」というクイックスもどきでは、
でかい領域を囲むと数分待たされることさえあった。
0593ぺーぺーNGNG
趣味でゲームを作りたいので教えてください。
専門外の事は他人に任せたいのですが、
サウンド(SE)はどんな人にお願いするのがいいのでしょうか?
(サウンドのプログラムではなく、音の選出や音作りとか)
ちなみに画像はネットで見つけたグラフィック系の専門学校生に
お願いしました。
0594デフォルトの名無しさんNGNG
本来なら専門の人を割り当ててもいいくらいだけど、
効果音専門でやってる人なんか少ないだろうから、
音楽系に詳しい人になるだろうな。
もしくは手の空いた人か。
0595デフォルトの名無しさんNGNG
>>593
要は、金出さずに、ってことでしょ?
やってくれる人なら誰でもいいんじゃない?
それとも、趣味で作ってるけど、スタッフに金を払うつもりはあるの?
って、個人でン百万もだすわけないから、それはないか。
0596ぺーぺーNGNG
>>595
いや、それがさー、そのグラフィック頼んだ専門学校生も
金取るって言ったから、人日いくらだ?と思ってかまえてたら、
絵1枚3000円とか言われちゃって、拍子抜けしちゃったんだよ。
趣味で作ってるけど、そう大きな金額にならなければ金出しても
いいと思ってるよ。
相手も趣味の延長で請け負ってくれればベストかもしれないんだけどね。
0597デフォルトの名無しさんNGNG
>>593
著作権フリーの効果音素材集を使用するというのも、選択肢の一つ。
近くの図書館に置いてあるかどうかを、調べてみると良いカモ。
0598ぺーぺーNGNG
>>597
ほおほお、そんなのあるんですね、知りませんでした。
あー、でも、問題はその中からピッタリあった効果音を
取り出すのが意外と難しいかもしれない。(所詮素人)
0599デフォルトの名無しさんNGNG
別板の別スレからコピペ

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

ちなみに、俺は「RPG&ホラー」の素材集を買って使った。
0601デフォルトの名無しさんNGNG
>>600
だから、図書館やレンタル屋で借りて試聴した上で、現物買えってことだろが。
0602デフォルトの名無しさんNGNG
DAKARAってCMといい味といい好きなんだよな。
それはそうと、TVアニメとかで使われてるSEも売ってるん?
0603ぺーぺーNGNG
やはり他力本願は無理か・・・
0604デフォルトの名無しさんNGNG
>>602
むしろ逆。TVアニメで使ってるのと同じ素材集を見つければいい。
0605デフォルトの名無しさんNGNG
>>600
音辞典か。
0606ぺーぺーNGNG
とりあえず、格ゲーのサントラCDいっぱい買ってきました。
0607デフォルトの名無しさんNGNG
>>606
著作権は大丈夫?
0608デフォルトの名無しさんNGNG
>>606
(´д`;)
0609デフォルトの名無しさんNGNG
効果音に関しては、似た音を録音する手段もあるのだが……
出てないね。
0610ぺーぺーNGNG
秋葉原ってすごいんです。
サントラCDが一枚2、300円で売ってました。

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

微妙にスレ違いのような気もするけど、一応ゲームなんで。
0612デフォルトの名無しさんNGNG
AIで組んでみるとか
0613デフォルトの名無しさんNGNG
>>611
「一緒に考えて下さい」じゃなくて「サイト教えて下さい」なんだから、解決の指針をあげても駄目なんだよね。
0614612NGNG
そんなネタ山盛りあったら普通は有料で公開するわボケェ

http://www.infoaomori.ne.jp/~tshioya/BOARDGAME/HP200.HTM
http://www.etl.go.jp/~7236/Events/cfp-cogsci.html
http://www.ipsj.or.jp/members/Journal/Jpn/3311/article003.html
0615611NGNG
>>614
無知でスマソ
>>613
解決の指針でもありがたいです
0616612NGNG
とりあえずオセロに勝つ為の本は買ったの?
せめて、それからじゃないのか
0617デフォルトの名無しさんNGNG
あんなの角とれば勝ちじゃん
0618デフォルトの名無しさんNGNG
角とるにはどうすりゃいいの?
0619デフォルトの名無しさんNGNG
>>618
相手がフチのラインを制圧できないように置く。
詳しい話は、オセロに勝つ為の本を読みませう(藁
0620デフォルトの名無しさんNGNG
>>618
相手の石を角の隣のマスに置かせればいい!
0621611NGNG
>>616
とりあえず暇なとき図書館にでも行って調べてみることにしますわ。
0622デフォルトの名無しさんNGNG
ヘックスマップの距離計算や障害物回避を考慮した最短距離探索などの
情報が載ってる本や URL を教えてください。

検索サイトで頑張ってみたけどキーワードが悪いのかぜんぜんみつかり
ませんでした。一応、SYSTEM なんとかって開発環境の掲示板にそれっ
ぽいのが1つあったけど、すでに 404 だった
0623デフォルトの名無しさんNGNG
SOFTBANK Professionalゲームプログラミング
四角マップだけど、やるこた同じ。立ち読みで十分。
0624デフォルトの名無しさんNGNG
2Ch閉鎖の危機らしいので、いざという時のため、
したらばをオススメしておく。
http://www.shitaraba.com/bbs/gamecreate/index2.html

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
転送量(料)の増加で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://corn.2ch.net/entrance/kako/995/995644824.html

既出の解決案は
http://teri.2ch.net/test/read.cgi?bbs=accuse&key=998704295&st=2&to=2&nofirst=true
(必読!)
0625デフォルトの名無しさんNGNG
今更ですが「シードフィル」が「シルフィード」に見えました。
シルフィード?リブルラブル?へ?
って状態。ごめん。いってくる。かえってこないから。
0626デフォルトの名無しさんNGNG
>>622
再帰つかって計算するんだよ。
0627デフォルトの名無しさんNGNG
CマガかOhXで見なかったか?
0628デフォルトの名無しさんNGNG
四角から六角へ距離計算すら応用できていません。

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

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

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

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

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

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

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

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

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

VC++の場合ね、他は知らん。
0683デフォルトの名無しさんNGNG
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にしたらエラーになるんだろう。
0684デフォルトの名無しさんNGNG
>>683
エラー時の hr の値は?
0685デフォルトの名無しさんNGNG
キャラクタの座標を取得するとき、いちいちクラスにint GetX()とか実装するんですか?面倒くさいのでpublicメンバにしちゃっていいですか?
0686デフォルトの名無しさんNGNG
>>685
そんなもんメンドくさがるなよ。
0687デフォルトの名無しさんNGNG
>686に同意。

BCBとかDelphiだったらpropertyがあるからラクだけどな。C#もか。
0688デフォルトの名無しさんNGNG
まったくだ、ただGet、Setを多用するのは設計まずいって説もあるよね
0689デフォルトの名無しさんNGNG
VC++ も C++ Builder も Delphi もプロパティがある

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

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

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

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

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

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

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

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

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

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

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

同人ノウハウ板の方が詳しいのですね?これから見てきます。レスサンクスです。
0722718NGNG
ちなみに自作でやった場合、何かライブラリとか利用したのでしょうか?
まだ調べてないのですがlibpngとかで簡単に作れますか?
0723718NGNG
失礼しました>>720さんのリンク先にありました。
てっきりパレット透過しか出来ないのかと思って早々に蹴ってました(言い訳)
情報重ね重ねありがとうございました。
0724デフォルトの名無しさんNGNG
>>718
僕 TGA32ビットの奴を PNGに変換する奴作ったよん。
0725クリムゾン怠惰NGNG
>>723
せっかくだからどのソフトか書いて〜(w
0726デフォルトの名無しさんNGNG
C++でのタスクのサンプルはよくでまわっていますが、
Cやアセンブリといったクラスのない言語で書くにはどうしたらよいのですか?
newとかでクラス宣言等出来ない分ちょっとやりにくそうだなって思っているのですが、、
mallocでできちゃうものなのでしょうか?
他力本願ですいません。。
0727デフォルトの名無しさんNGNG
>>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 で繋がれたリストに
作成したタスクを登録/削除する処理とかも必要。
0728718NGNG
>>724
おお凄い。みんな自前でサクッと作るんですねぇ。
でも願わくば公開の方向で(w
>>725
そりゃそうだ。訊くだけきいといて逃げちゃあね〜。
いや便利で良いソフトの上、2chということで無意識に躊躇したみたい(w
shin's PNG Editerというやつです。ここに書いてもしょうがないけどshinさん感謝。
0729デフォルトの名無しさんNGNG
>>726
http://www.hh.iij4u.or.jp/~peto/Games/games_top.html
0730デフォルトの名無しさんNGNG
あげてみる。
だけでは申し訳ないので、ゲームにスクリプトが必要ならPythonとかRubyみたいなスクリプト言語を組み込むソリューションを提案してみる。
0731デフォルトの名無しさんNGNG
プログラマがスクリプトを使うならPythonやRubyで問題ないが、
シナリオライタなんかがスクリプトを使う場合はそうもいかない。
文章+埋め込み型スクリプトなんかになる。
0732デフォルトの名無しさんNGNG
>>731
その文章+埋め込み型スクリプトを、RubyやPythonに
置き換えるツールを作るのは駄目?
0733デフォルトの名無しさんNGNG
>>732
プログラマじゃない人が扱う可能性のあるスクリプトに
あまりプログラムプログラムした機能はないほうがいいというのが
プログラマのほぼ共通した見解。
0734デフォルトの名無しさんNGNG
>>733
でも、フラグや分岐機能のあるスクリプトって、行番号BASICやアセンブラに近いと思うんだけどね。
RubyのOOPな機能をフルに使ってくれ!というのは酷(プログラマ相手でもそんなこと言えない)だけど、
>>732みたいなアプローチは有りかな?と思ったり。
配布サイズがDLLだけで1MB越す辺りで、ネットワークによる配布が厳しくなると思われるけど。
0735デフォルトの名無しさんNGNG
>>734
RubyやPythonへのトランスレータ書くなら、
独自のデータに落す方が楽だし、ライセンス問題もないからな。
0736デフォルトの名無しさんNGNG
>>730
時系列の記述が容易に出来ないから駄目。
0737モナーもなNGNG
ものすごく初歩的な質問なんですけど
C言語の力がどのくらいのレベルまで身に付けば
ゲーム開発の基礎力はОKですか?
0738デフォルトの名無しさんNGNG
作ろうとしているゲームに必要なだけの実力があればいい。
ゲーム製作は、Cをマスターするよりも学ばないといけないことが
多いんで心してかかれ。
0739モナーもな NGNG
>738
そうですね。
確かにCのマスターが目的じゃないですからね。
それから、C以外にどんな分野の基礎力を付けておくべきですか?
0740デフォルトの名無しさんNGNG
>>739

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

あと、とにかくコードを書くというチャレンジ精神。
ゲームプログラミングはやってみないとわからないことが多いから。
0741デフォルトの名無しさんNGNG
> 2D でも三角関数

どんなときに使うのですか?
0742sageNGNG
>>737
とりあえずそんなこと聞いてる段階ではNG

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

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

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

エロゲオタキショイ
0751デフォルトの名無しさんNGNG
表現の幅を見たいんじゃなくておもしろいゲームをしたいだけなんだけどなあ。

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

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

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

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

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

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

ひょっとしてゲー専って、そういう用語を教えてくれる学校なのか?
0768757NGNG
>767
もっと読解力と想像力を身につけろよ。
0769実は・・・NGNG
>>757=766=768
0770デフォルトの名無しさんNGNG
いや、そのくらいの想像力はあったんだが
持ちうるあらゆる読解力を駆使しても

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

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

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

なんでイベントが、命令クラスのベクトルでいいなんて考えるんだ?
0771デフォルトの名無しさんNGNG
いえ、全部自作自演です。
0772757NGNG
>770
イベントは、上から下まで命令で出来ているからです!!
0773757NGNG
ああ、残念ですがもう寝る時間です。又明日。熱いのを期待してますよ(^ー^;
0774デフォルトの名無しさんNGNG
せめて用語の意味をはっきりさせろ。

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

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

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

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

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

いったいどのくらいのユニットをスムーズに操作できると思う?
0779デフォルトの名無しさんNGNG
>>776 じゃ、有意義っぽい事書こうか。

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

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

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

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

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

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

>>785
772の言っているのは
単なるcommandパターンオブジェクトのvectorの事だと思われる。
0787デフォルトの名無しさんNGNG
>>786
そそ。

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

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

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

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

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

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

通信遅延はこの場合ほぼ問題にならんだろ。
0800デフォルトの名無しさんNGNG
>>798
たしかに。
リアルタイムはダメだな。

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

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

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

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

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

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

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

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

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

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

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

もしかして、ネタ?
0823757NGNG
>822
用語を説明したまでです。

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

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

ていうか>821は>757じゃないだろどうみても。
0826757NGNG
>もしかして、ネタ?

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

今、一応設計チュー。

ゲーム作ったことないけど、なんか、こういう題材だと、
ゲームの本質って何なのか問いやすいんじゃないかって思ってね。
0832デフォルトの名無しさんNGNG
文盲がいるな・・・
0833デフォルトの名無しさんNGNG
>>831
できたら見せてね
0834デフォルトの名無しさんNGNG
>>830

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

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

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

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

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

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

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

RPGツクールのアレでできるなら、RPGツクールでつくれよ(藁
0850デフォルトの名無しさん NGNG
757はRPGツクールのマニュアルを(読まない|理解できない|持ってない)だけ。

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

ためになるYO!
0853845NGNG
>>852

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

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

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

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

カルシウムとったほうがいいぞ。
0859845NGNG
>>854
漏れもその点は同感。

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

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

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

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

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

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

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を調べてみようかな・・・。
情報どもです。
0890デフォルトの名無しさんNGNG
>>889
他にもVectorに簡易パーザが置いてあったような記憶が。
わざわざ非標準のライブラリ使うのはお勧めできないけど。汎用的なスキルとして蓄積できないし。
そうそう、MSXMLも新しい機能を使わなければIE4で動くよ。"IE4以上"の要求なら妥協できるんじゃない?
0891デフォルトの名無しさんNGNG
それにしてもでかい車輪ばかりで困る。(プログラム板ネタ)
0892デフォルトの名無しさんNGNG
DOS窓上で動く倉庫番を作ろうと思うのですが、
参考になるプログラムを公開しているサイトor本ってないですかね?

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

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

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

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

VC++6.0はデフォルトディレクトリにDirectX5SDKが入ってるから
最新のSDKをインストールしたら、そのディレクトリ設定を一番上に加えて。
そうしないとDirectX5SDKのファイルを先に見にいっちゃうから。
[ツール]→[オプション]→[ディレクトリ] ね。
0900デフォルトの名無しさんNGNG
隊長!ついに900です!
0901デフォルトの名無しさんNGNG
このスレ、意外なほど荒れないよな。
ゲーム関係スレが荒れないで、スクリプト関係スレが荒れているのを見ると不思議に思う。
0902デフォルトの名無しさんNGNG
>>901
こっちはこっちでまったりやろうぜヽ(´ー`)ノ
0903デフォルトの名無しさんNGNG
新スレ立てたら、心機一転嵐が流れてきそう
0904デフォルトの名無しさんNGNG
>>903
そしたら放置でいいよ
めんどくせーよマジデ
0905897NGNG
>>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つです。
お時間ありましたらお助けください.
長レスすみません.
0906デフォルトの名無しさんNGNG
>>897

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

とりあえず日本語に訳してから話そうぜ。待ってるから。
0907デフォルトの名無しさんNGNG
>>905
あと、VCのパッケージにMSDNのCD入ってるよね。
とりあえずヘルプでLNK2001を検索してみ。
0908デフォルトの名無しさんNGNG
>>905
こっちにも仲間がいる。
http://www.bio100.co.jp/cgi-bin2/directx/flashlst.cgi
http://isweb8.infoseek.co.jp/computer/bbx/cgi-bin/bbx.cgi
ノウハウとか。
http://piza2.2ch.net/test/read.cgi/tech/1002290332/121
0909897NGNG
>>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をいれて、一番上にしています.
0910897NGNG
>>908
わかりました。
まずそのリンク先で探してきます.
0911897NGNG
>>908の
http://piza2.2ch.net/test/read.cgi/tech/1002290332/121
えーと、これはこうなれということですか?
0912デフォルトの名無しさんNGNG
いや、逆。逆。
試すかのは自由だけど。
0913デフォルトの名無しさんNGNG
× 試すかのは
○ 試すのは
0914かなり適当NGNG
>>909

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

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

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

[エロゲネタ]エロゲー業界就職事情の惨状(プログラマ専用)
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
0920デフォルトの名無しさんNGNG
鬱だ氏のう 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
0921デフォルトの名無しさんNGNG
光栄系シミュレーションのアルゴリズム
http://piza2.2ch.net/test/read.cgi/tech/1001749373/l50
レースゲームの自動操縦
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
0922デフォルトの名無しさんNGNG
次スレの1か2あたりに入れといてください。

昨日、2chのプログラム板行ったんです。プログラム板。
そしたらなんかスレがめちゃくちゃいっぱいで読み切れないんです。
で、スレ一覧よく見たら、なんか「ゲームの作り方教えてください」とか書いてあるんです。
もうね、アホかと。馬鹿かと。
お前らな、ゲームの作り方如きで普段来てないプログラム板に来てんじゃねーよ、ボケが。
ゲームだよ、ゲーム。
なんか同人サークルご一行とかもいるし。同人仲間でプログラム板か。おめでてーな。
よーしFFみたいなロープレ作るぞー、とか言ってるの。もう見てらんない。
お前らな、FF8タダでやるからそのスレ削除依頼出しとけと。
プログラム板ってのはな、もっと殺伐としてるべきなんだよ。
一個前にレスつけた奴といつ喧嘩が始まってもおかしくない、
煽るか煽られるか、そんな雰囲気がいいんじゃねーか。女子供は、すっこんでろ。
で、やっと書き込めたかと思ったら、隣のスレの奴が、C++で、とか言ってるんです。
そこでまたぶち切れですよ。
あのな、C++なんてきょうび流行んねーんだよ。ボケが。
得意げな顔して何が、C++で、だ。
お前は本当にC++でデザインパターン使いこなせているのかと問いたい。問い詰めたい。FFみたいなロープレが完成するまで問い詰めたい。
お前、単に格好良いからC++に流れているだけちゃうんかと。
プログラム板通の俺から言わせてもらえば今、プログラム板の間での最新流行はやっぱり、
ゲームプログラミング相談室スレ、これだね。
HSPとDirectX。これが通の実装。
HSPってのはN88-BASIC入ってる簡易言語。そん代わり出来ることがかなり少なめ。これ。
で、それにDirectX。これ最強。
しかしこれで実装すると次から同業者に馬鹿にされるという危険も伴う、諸刃の剣。
素人にはお薦め出来ない。
まあお前らド素人は、RPGツクールでも使ってなさいってこった。
0923_NGNG
最近ATLの勉強しているもんで
自作のDirect3Dのラッパーライブラリを
COMで作りなおそうと思っているんですが、
どうもCOMにするメリットが見つけられなくて
やる気が出ません。
COMにするメリットって何か無いですかね?
0924デフォルトの名無しさんNGNG
>922
なげーYO!
0925デフォルトの名無しさんNGNG
>>922
正直、もう飽きた。
0926デフォルトの名無しさんNGNG
>>923
デメリット:インストール、アンインストールが面倒(レジストリに登録する場合)。
実装が面倒。他人に使ってもらうのでなければあんま意味がない。
メリット:優越感
0927デフォルトの名無しさんNGNG
>926
ぷよーんがその路線の第一人者と言えるな。哀しいほどに
0928926NGNG
別に、COMで実装するな、と言ってる訳じゃないよ。勉強になるしね。
0929デフォルトの名無しさんNGNG
>>922
正直、寒い。
0930デフォルトの名無しさんNGNG
報知で
0931デフォルトの名無しさんNGNG
>>923
「勉強になる」こと以外利点あるのかなあ
0932デフォルトの名無しさんNGNG
>>931
ゲームのコアの部分を COM 化しておくと、マップエディタなんかを作る場合に
ロジックは VC++ でゲーム本体用に使ったものを流用、見かけ VB で使って
手を抜く、とかできそうだけど。
0933デフォルトの名無しさんNGNG
>>932 COMじゃなくて、普通のDLLでも可能だしねぇ。
0934923NGNG
アドバイスありがとうございます。
保留にしますです。。
0935デフォルトの名無しさんNGNG
もういいから、これにしとけ。
http://www.enterbrain.co.jp/digifami/products/index.html
0936デフォルトの名無しさんNGNG
>>935
つまんね
0937897NGNG
>>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]
0938デフォルトの名無しさんNGNG
ファイルを加える場所が間違っていると思われます。
・・・ああもう、どこから説明したらいいのやら(w

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

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

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

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

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

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

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

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

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

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

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

弄るのがメンドければね、もうWindows再インストール。
0959958NGNG
>>958

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

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

やっぱこれが失敗するならお手上げだよ。原因全然分かんないや。
0960デフォルトの名無しさんNGNG
× >>958
○ >>955
0961_NGNG
age
0962デフォルトの名無しさんNGNG
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時間ほど悩んでます。ヘルプを見ても解らないです。
0963デフォルトの名無しさんNGNG
>>956
HTML Help WorkshopでDecompile
0964デフォルトの名無しさんNGNG
   
   
   
   
              そうか。まぁ気長にやれ。
  
  
  
   
0965デフォルトの名無しさんNGNG
>>962
根本的に色々まちがっとる。多分、ここを一個直したら何とかなるという性質の物ではないので、もっと小さいサンプルから手がけること。リンクがどうこうは関係ない,、たってリンクまでたどり着いてないし。

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

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

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

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

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

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

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

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

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

に対応し、969の

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

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



15
0986デフォルトの名無しさんNGNG
>>984
さようでございます
0987デフォルトの名無しさんNGNG
御意
0988デフォルトの名無しさんNGNG
新スレはこちら↓

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


邪魔するやつは
氏ね
0992キリ番ゲッターNGNG
俺様が1000とったら ウラビデオさしあげます
0993キリ番ゲッターNGNG
1000だ
1
0
0
0ほしい
0994キリ番ゲッターNGNG
邪魔したらウラビデオ配布中止
0995デフォルトの名無しさんNGNG
いらんよ
0996キリ番ゲッターNGNG
ウラビデオはここにあるよん
http://www.megabbs.com/cgi-bin/readres.cgi?bo=douga&vi=991411619&rm=100
0997キリ番ゲッターNGNG
ぬおおおおおおおお!!!!!
なぜ
じゃまするのだ

氏ね
0998あNGNG
あ
0999キリ番ゲッターNGNG
邪魔したら
おしおきだ
1000デフォルトの名無しさんNGNG
サーシャたんハァハァ……

すまん、スレ間違えた。
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。