トップページgamedev
1001コメント322KB

シューティングゲーム製作技術総合 17機目

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2008/11/27(木) 10:18:19ID:bBI1A+d5
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!

ただし、シューティングの未来とか既存のゲームの話題などは、関連する他の
スレでやってくれ。

過去スレ,関連スレは >>2-3で。
0138名前は開発中のものです。2008/12/09(火) 11:13:10ID:UXQm+qSa
>>137
じゃあ表示されないのは当たり前だろ
whileでくくるんじゃなくてボタンを押したときは弾を生成する処理だけをする
メインループで弾が存在したら弾を1コマ進めて表示する処理をし、
画面街に飛び出たら消滅させる処理をする
0139名前は開発中のものです。2008/12/09(火) 11:16:34ID:wTdUmZMK
とりあえず、ここおススメ
http://dixq.net/s/

俺もこれ見てシューティング作ってる
0140名前は開発中のものです。2008/12/09(火) 11:42:00ID:8b11EtKt
>>134
日本語を勉強するか
プログラムを勉強するか
数学を勉強するか
どれかを選べばいいと思う
0141名前は開発中のものです。2008/12/09(火) 11:43:28ID:S3aTmjvE
ありがとうございます。全然理解できない;;
写っぱなしの弾をボタン一回で継続的に動かしたいだけなのに・・・・;;
0142名前は開発中のものです。2008/12/09(火) 12:04:01ID:LlY86N04
OpenGLはビデオチップによって速度が違いすぎるのが難点だなー。
RadeonXPress200上で開発して60Fps出てたのがたまたまRadeonHD4850で動かしてみたら一桁まで落ちるので、
何でかと思ったら行列スタックや属性スタックの操作が極端に重かったみたいで、判るのに苦労した。
0143名前は開発中のものです。2008/12/09(火) 12:06:37ID:PL50HxGw
理解できないのはこっちだw

具合が悪いんですけど、何の病気でしょうか?

と訊かれただけで、あんたは何の病気かわかるのか?
0144名前は開発中のものです。2008/12/09(火) 12:13:39ID:8b11EtKt
まともに相手しても
さらに質問が返ってくるに25000ガバス
0145名前は開発中のものです。2008/12/09(火) 12:43:33ID:S3aTmjvE
ここにいる奴って日本語を勉強しろとか煽られて育ってきたかわいそうな奴ばっかなんだねw
0146名前は開発中のものです。2008/12/09(火) 12:48:07ID:wTdUmZMK
なんだ釣りか
0147名前は開発中のものです。2008/12/09(火) 12:49:16ID:S3aTmjvE
日本語理解できてないのはお前らだww頭悪すぎだろww
0148名前は開発中のものです。2008/12/09(火) 13:18:17ID:4JCb9FOv
なんだ、釣りだったのか
0149名前は開発中のものです。2008/12/09(火) 13:20:23ID:FH6Ed4rz
>>134
whileでくくった中に描画する処理を書けばいいんじゃね。

while ( pos.y > 0 ) {

  === 移動の処理 ===

  === 描画の処理 ===

  ===その他の処理 ===
}
0150名前は開発中のものです。2008/12/09(火) 13:29:24ID:S3aTmjvE
底辺プログラマーとか自分が先輩からやられたことを必死にやり返してくるからなwww
しかも2ちゃんでwww
0151名前は開発中のものです。2008/12/09(火) 14:48:12ID:PI3BaNiE

0152名前は開発中のものです。2008/12/09(火) 16:52:36ID:fFSBTS/4
うわーいおれもまぜてまぜてー
0153名前は開発中のものです。2008/12/09(火) 16:57:20ID:Sb5wMSbY
なんか1982年頃のBASICでできたインベーダーゲームで
弾を撃つと弾以外のキャラの動きが全て止まるゲームを思い出した
0154名前は開発中のものです。2008/12/09(火) 16:59:45ID:8b11EtKt
それが分かってて来るのか・・・
0155名前は開発中のものです。2008/12/09(火) 17:11:18ID:M91LEl8M
2CHの鏡なスレだなw
0156名前は開発中のものです。2008/12/09(火) 17:29:23ID:8b11EtKt
ああ、釣りだったか・・・
0157名前は開発中のものです。2008/12/09(火) 17:37:06ID:PI3BaNiE
な釣
あ釣
0158名前は開発中のものです。2008/12/09(火) 18:08:52ID:VNydxNb7
グラディウスのダブルのようなショットを作ったら、上ばっかり→両方に→下ばっかり→両方→・・・
というような波が出来てしまうんですが、満遍なく発射するにはどうしたらよいんでしょうか。
現状は、ショットの要求があったときに、あいている弾があったら発射するという感じにやっています。
0159名前は開発中のものです。2008/12/09(火) 18:16:35ID:Sb5wMSbY
>>158
それぐらい自分で考えられないでゲームは完成するのか?w不安だよw
どうとでもできるだろ
0160名前は開発中のものです。2008/12/09(火) 18:26:30ID:IEG5htND
>>158
>現状は、ショットの要求があったときに、あいている弾があったら発射するという感じにやっています。

それで問題ない気がするけどな。
上と下の両方に同時に要求してるわけじゃないのかな?

ちょっと邪道かもしれないけど、ダブルショットの要求があった時に、
「2つ空き」があるかどうか確かめて、なければ撃たない、
あれば両方撃つ、って形でいけるんじゃない?
0161名前は開発中のものです。2008/12/09(火) 18:43:45ID:VNydxNb7
>>159
すいません。確かにどうとでもなるんですが、あのシンプルなショットに
そんな面倒な処理があるのか?という思いがありまして。

>>160
要求は同時に出しています。
行順の問題かとも思って、発射するごとに行を入れ替えたりも試したんですが。
2つ空きのほうは、元々画面内の弾数が多くなくて避けたいので、ちょっと煩雑でも自己流で書こうと思います。

ありがとうございました。
0162名前は開発中のものです。2008/12/09(火) 19:18:46ID:IEG5htND
面倒な処理じゃないと思うし、
やり方が間違ってるんじゃないのなら
単にバグが潜んでるだけかもしれないよ。
0163名前は開発中のものです。2008/12/09(火) 19:30:26ID:8b11EtKt
嫌味だよ
気づけ
0164名前は開発中のものです。2008/12/09(火) 20:34:56ID:FH6Ed4rz
>>161
2つ確保するつもりが、ポインタを1つ分しか進めてなくて、弾が次々と上書きされてたりしてな。
0165名前は開発中のものです。2008/12/09(火) 23:06:18ID:lVmIafHS
知らんが、C#とかjavaなら空いてる弾幕のことなど考えずに
弾丸リスト.add(上向き弾);
弾丸リスト.add(下向き弾);
でやるもんだし、C++でも似たような実装は可能だろ?
とりあえず、Cでやりたいんなら連結リストを実装することから始めてみればいいんじゃないか。

0166名前は開発中のものです。2008/12/10(水) 16:37:24ID:Cps9vI6c
ゲームの状態(タイトル画面とか、シューティング中とか)でメッセージハンドラを
SetWindowLong関数やSetWindowLongPtr関数で変更するのってありかな?

メッセージハンドラ中にswitch文とか煩雑かなーと思うわけですが

なんか一般的な方法ってあるんですかね?
0167名前は開発中のものです。2008/12/11(木) 00:30:52ID:SwlibDem
そこでタスクシステムですよ
0168名前は開発中のものです。2008/12/11(木) 01:09:07ID:Tl9RQtTK
ゲームの状態が変わってもメッセージハンドラの中身を変える必要が無い仕様を考えた方が楽かも
0169名前は開発中のものです。2008/12/11(木) 05:41:33ID:Gzl7Lfi5
>>165
この板で自分以外にC#をC#系スレ以外でいってる人はじめてみた・・・ちょっと感動だ。
0170名前は開発中のものです。2008/12/11(木) 10:13:54ID:tNsh0a9k
>>166
単一のウィンドウプロシージャーからディスパッチすればいいと思う
0171名前は開発中のものです。2008/12/11(木) 10:17:05ID:7h0mUefC
166です

シューティングゲームプログラミング(松浦著)では、タスククラスからシーンクラスを派生させて、
タスクリストの1つとしてシーンを作成していた

その仕様はわかるんだけれど、シューティングゲームに限らずたとえばRPGだった場合、
メニュー画面とか、どうなっているのかなーと思った次第

メニュートップ→魔法→だれの?→どの魔法→魔法対象

みたいに新しいメニューが生まれてくるじゃない
これもタスクリストに1つ1つ書くのかなーって、疑問に思ってる
0172名前は開発中のものです。2008/12/11(木) 11:04:32ID:1D8jgOIG
>>171
RPGはまだ手を出してないが
俺だったら states などに状態を入れて
switchで分けるかもな

タスクシステムって、マルチスレッドとかでもならない限り
威力発揮しなくね?
0173名前は開発中のものです。2008/12/11(木) 16:02:40ID:1D8jgOIG
素粒子を処理しようとしてるんだけど
これもタスクシステムでできるかな?
0174名前は開発中のものです。2008/12/11(木) 16:07:14ID:1D8jgOIG
人工知能を並列処理しながら
X透過線のデータをXLSファイルに出力しつつ
リアルタイムに表示するシステムのライブラリを作ってるんだ
0175名前は開発中のものです。2008/12/11(木) 17:05:49ID:1D8jgOIG
草薙の剣を手に入れてこれから黒を倒そうとするところで
いつもこける
そしてずっと俺のターンになるバグがでます
製品版だし、DirectXもバージョン合ってるのに
なぜ動作しないんでしょうか?
OSはVistaです
0176名前は開発中のものです。2008/12/11(木) 17:07:41ID:1D8jgOIG
誤爆

どこの院かバレるじゃねぇかw
誰か消してくれ
0177名前は開発中のものです。2008/12/11(木) 17:20:48ID:e6R1e+p8
興味ないから問題なす
0178名前は開発中のものです。2008/12/11(木) 17:27:02ID:jeJaub+T
晒しage
0179名前は開発中のものです。2008/12/11(木) 17:52:07ID:jDESsGSy
>>171
タスクリストなんて言う名前で呼んでるから見えなくなってるだけで、
実体はアルゴリズムのエントリポイント(一般的には関数ポインタとか)の連結リストを順番に呼び出していく機構でしかないわけだから、
同じようにアルゴリズムのスタックの一番上だけを実行するような機構を用意すれば良いわけだ。

void Menu()
{

}

void MagicSelect()
{
0180名前は開発中のものです。2008/12/11(木) 17:56:00ID:jDESsGSy
あふん

void Menu()
{
if(hoge)Push(MagicSelect);
}

void MagicSelect()
{
// 同
}

void Who()
{
// 同
}



void SelectTarget()
{
// スタックをクリアして次のキャラとか、戦闘開始とか
}

実際どう実装するのが一般的かはしらんけど私はこうしてるな。
RPGは作ったこと無いけど。
0181名前は開発中のものです。2008/12/11(木) 20:11:08ID:IWquCMNP
>>166
STGってOSのGUIサービスを使わなくてもへっちゃら平気なことが多いから
そういう場合、OSのメッセージシステムも関心の外にあったりする。↓仮想コード
winmain(){
  try{
    //ゲーム環境構築
    //D3D,SOUND,INPUT,USERDATA,ワーカースレッド生成,etc
    boost::shared_ptr<GAMEENV> gameenv(new GAMEENV(gamemain));
    // メインスレッドはWM_QUITされるまでグルグル回ってろ
    while(1){
      GetMessageとかうんたらかんたら
      …
    }
  }catch(...){;}
}
gamemain(){   // 自由です。HSPerにとっては水を得たお魚状態
  try{
    boost::scoped_ptr<SCENE> logo(new LOGO(gameenv));    //ロゴ画面
    boost::scoped_ptr<SCENE> demo(new DEMO(gameenv));   //デモ画面
    (…後略…)
    http://pc11.2ch.net/test/read.cgi/gamedev/1226199100/174-
}

STGのシーン遷移は超単純だからコードにベタ書きしたほうが分かりやすかったりする
RPGみたいに複雑なシーン遷移をするならSCENEのツリーとかSCENEのグラフが要るね
こういうのは可視化・エディットできるGUIツールがあると便利だね。ツクール大好き

>>172-176
>どこの院かバレる
(・∀・)病院ダロ。カエレ
0182名前は開発中のものです。2008/12/11(木) 20:22:48ID:1D8jgOIG
>>181
ほぅほぅほぅ ホーホケキョ
リンク先はオブジェクト指向ですねぇ
しかし、私がSTGの状態遷移に一番ややこしいStrategy Patternを使っていたのは内緒だ
0183名前は開発中のものです。2008/12/11(木) 20:32:19ID:1D8jgOIG
>>181
しかしですね
結局 switch文使ってるじゃないですか
これが気に入らなくてねストラテジーパターンに走ったんですが、
さらに汎用性のある基本オブジェクトの作成、つまり基本設計ですかね
でつまづき
CGameクラス作ってシングルトンパターンは楽勝だったんですけど
テンプレートメソッドパターンがなかなかのつわものでしてね
そうこうしているうちに、ワケワカメになってしまってね
結局 デザパタ一切使わない ピュアなC/C++になってしまったんですよ
そして、人生でもつまづいてね
あーいたたた
0184名前は開発中のものです。2008/12/11(木) 20:46:44ID:1D8jgOIG
で、だよ 他のスレからの引用で申し訳ないが
case TITLEOPTIONTYPE_GAMESTART:         //ゲームスタート
        try{ //STAGEEXCEPTIONTYPE_GAMEOVERという例外を投げるまでゲーム続行
          stage1->Run();stage2->Run();stage3->Run();stage4->Run();
          stage5->Run();stage6->Run();stage7->Run();stage8->Run();
          ending->Run();                     //エンディング画面再生
        }
これの
stage1->Run();
stage2->Run();
とあるが
空の処理を回すのが気に入らない
0185名前は開発中のものです。2008/12/11(木) 20:48:07ID:1D8jgOIG
そんなに空の処理をするのが好きなら
Observerパターンで監視しろっつーの
と俺が言ってみるテスト















まぁ、増えるのは複雑さだけなんですけどねorz
0186名前は開発中のものです。2008/12/11(木) 21:02:17ID:IWquCMNP
>>181
あ、gamemain中のgameenvだけど、これは適当にgamemainの引数でひっぱってきてね
0187名前は開発中のものです。2008/12/11(木) 21:08:33ID:IWquCMNP
>>184-185
HSPerのSTGは一面から始まってプレイヤーが生残する限りエンディングまで一本道で進むよ
順次処理を静的に記述してるだけだよ

>>174のコードに空の処理なんか無いよ
0188名前は開発中のものです。2008/12/11(木) 21:49:08ID:jrEtBQbk
例外を制御に使うのはいかがなものか
0189名前は開発中のものです。2008/12/11(木) 21:56:55ID:1D8jgOIG
>>187
ん?
タイマーの処理が加わってないからよくわからん
もっと深く

>>188
デバックに便利
配列のアクセス違反とは一発でわかる
0190名前は開発中のものです。2008/12/11(木) 21:57:51ID:1D8jgOIG
double ang;e[350];
とかいて
angle[-30];
とかアクセスしてたのよ
お分かりうふん
0191名前は開発中のものです。2008/12/11(木) 22:08:42ID:ZMWk7FR2
ひとつだけ言えることがあるとすれば、キモい
0192名前は開発中のものです。2008/12/11(木) 22:12:17ID:1D8jgOIG
>>191
そんなことを言いにくる
アナタの神経を疑う
0193名前は開発中のものです。2008/12/11(木) 22:20:10ID:PzlRgt6s
いや、まじでキモい
0194名前は開発中のものです。2008/12/11(木) 22:24:20ID:ReLxUK+G
最近ここマジキチ率高いな
0195名前は開発中のものです。2008/12/11(木) 22:36:56ID:IWquCMNP
>>188
フロー制御の条件分岐に例外機構を使うのはお行儀悪い子だよね
「こんなゲームも一発クリアできないプレイヤーは想定外」
ということで例外機構を使ってみたんだ
同人活動するときは何にも考えずにゲラゲラ笑いながら遊んで作ってるんだ。しかたないね

ID:1D8jgOIGが怖いです。病院が逃げるそうなので僕も逃げます。バイバイ
0196名前は開発中のものです。2008/12/11(木) 22:39:55ID:1D8jgOIG
くやしいのうwwwwwwwwくやしいのうwwwwwwwww
小学生^q^
幼稚園児
オモロー
0197名前は開発中のものです。2008/12/11(木) 22:46:11ID:1D8jgOIG
反論できない
やったことがない
理解できない
   → キチガイ


   R   O   M   さ   せ   た   結   果   が   こ   れ   だ   よ   !   !   !
0198名前は開発中のものです。2008/12/11(木) 22:49:09ID:1D8jgOIG
次は
「マジキチ」
で埋め尽くされます

貫太郎飴だなおまえらってw
きんもー
0199名前は開発中のものです。2008/12/11(木) 23:05:03ID:qUtH+lGr
な釣
あ釣
0200名前は開発中のものです。2008/12/11(木) 23:06:50ID:PzlRgt6s
そりゃ人生もつまづくわな
0201名前は開発中のものです。2008/12/11(木) 23:07:30ID:qUtH+lGr
そして懲りもせずいつもの連投君に釣られる君ら
0202名前は開発中のものです。2008/12/11(木) 23:08:20ID:Tl9RQtTK
シューティングゲームの作り方講座を書いていたはずなのに、
気がついたらテトリスを作ろうとしていた。
これはチャチななんとかうんたらかんたら
0203名前は開発中のものです。2008/12/11(木) 23:32:02ID:66P3Ue94
よく分からんが、デザパタじゃなくてもダイアログって概念でメッセージ受け取り機構は実現できら
javaで書くと
まず
public interface messListener{
public void onMessage(ハンドル);
}で、
public abstract class dialog imprements messListener{
}こんな感じで規定クラスdialogを定義。
次にタイトル画面の実装。
public class title extends dialog{
public void onMessage(ハンドル){
タイトル画面のハンドル処理;
}}次にゲーム画面の実装。
public class game extends dialog{
public void onMessage(ハンドル){
ゲーム画面のハンドル処理;
}}
で、プログラムはこんな感じ
public class prog implements ハンドルリスナー{
private static messageListener 最上位ダイアログ;
protected void onウィンドウメッセージ(メッセージ){
最上位ダイアログ.onMessage(メッセージ);}



0204名前は開発中のものです。2008/12/11(木) 23:45:53ID:66P3Ue94
続き。
画面をせんいするために、専用のコントローラーを作成する。
public interface switchCon{
public void gamestart();
public void gameover();

で、このコントローラーをさっきの に反映させて、ダイアログクラスはswitchConを持たせるようにする。
public abstract class dialog{
protected switchCon parent;
public dialog(switchCon){
parent=switchCon;
}}で、親は
public class prog implements messListener,switchCon{
private dialog title=new title(this);
private dialog game=new game(this);
public void gamestart(){
this.最上位ダイアログ=game;

public void gameover(){
this.最上位ダイアログ=title;
}}
こんな感じでswitch文を消せるぞ。
0205名前は開発中のものです。2008/12/12(金) 00:05:33ID:QbHMYd89
こんなのがいるからデザインパターンヲタが嫌悪されるんだな
0206名前は開発中のものです。2008/12/12(金) 00:22:38ID:VZzcTBSK
デザインパターンヲタってなんだい?
0207名前は開発中のものです。2008/12/12(金) 00:47:19ID:Clw3+x9U
最近コルーチンとかファイバに感動して使いまくってる
yieldさいこー
0208名前は開発中のものです。2008/12/12(金) 07:35:46ID:WDwvXEG9
オ、オ、オブジェクト指向最高ぉぉぉぉ!!!
テンプレートメソッドでジャネレータプログラミングして
ファクトリーパターンで大量生産バグも大量wwwwwwww
プロトタイプでいくらでの客ごまかせるし
デコレータで後からいくらでも追加可能なオブジェクト大量
上司に見られそうなところはストラテジーでワケワカメにして
ソースを提出したら
「君はシングルトンパターンだね」って言われたwwwwwww
0209名前は開発中のものです。2008/12/12(金) 07:39:51ID:WDwvXEG9
デザインパターンなんて何年前の技術だよ
うんこもれちゃうぅぅぅぅぅ
0210名前は開発中のものです。2008/12/12(金) 08:29:54ID:TDR4iWlC
うん。大丈夫。俺だけはまともだ
0211名前は開発中のものです。2008/12/12(金) 08:59:45ID:7Vhx53Ep
タダシン元気だったか
0212名前は開発中のものです。2008/12/12(金) 10:01:07ID:KS0mry8G
タダシンとか懐かしすぎる
0213名前は開発中のものです。2008/12/12(金) 11:51:40ID:jEMz4U5E
新参で頭おかしいのが来たか年齢層が下がったか
今日びシューティングなんておっさんしか作ってないのかと思ったが
10代20代のがきんちょもつくってんのかね
0214名前は開発中のものです。2008/12/12(金) 13:38:31ID:9YG19P1/
いつもの彼だろ
0215名前は開発中のものです。2008/12/13(土) 06:42:10ID:/PbeHoQk
893だったか
0216名前は開発中のものです。2008/12/13(土) 12:14:21ID:kDyXwhQ1
俺じゃないよ
0217名前は開発中のものです。2008/12/13(土) 14:52:20ID:/PbeHoQk
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Run();
Human->Runaway();
0218名前は開発中のものです。2008/12/13(土) 15:50:33ID:/PbeHoQk
グラフィッカー来たらと思ったら
自称プログラマの揚げ足取り野郎だった
ちょ〜っと辛口コメントしただけで消えやがった
士ね
0219名前は開発中のものです。2008/12/13(土) 16:08:01ID:DkCmDL9z
何の話だよ
0220名前は開発中のものです。2008/12/13(土) 16:47:13ID:/PbeHoQk
>>219
http://jun.2chan.net:81/b/src/1229154418067.jpg
0221名前は開発中のものです。2008/12/13(土) 17:51:58ID:nI3aVzuF
そろそろメモリアロケータの話をするべきだ
0222名前は開発中のものです。2008/12/13(土) 17:57:14ID:2kHwy9mM
>>220
何の話だ
0223名前は開発中のものです。2008/12/13(土) 18:40:29ID:bE3YPBnE
いつものお話です
0224名前は開発中のものです。2008/12/14(日) 16:47:21ID:nnJ/0oba
javascriptでSTGを作ろうとしたのだが、やっぱり重い(´・ω・`)
すんごい作りかけだが、ちょっと晒してみます。
http://www.csync.net/service/file/view.cgi?id=1229240355 (解凍:starman)
0225名前は開発中のものです。2008/12/14(日) 19:08:12ID:zWg8gBHj
頑張ってんなおいw
0226名前は開発中のものです。2008/12/15(月) 00:56:14ID:nHX6b6vV
描画についての質問。
弾幕を描画するときって基本的にどうやるべき?
おいらの場合はbulletクラスにdrawableインターフェイスくっつけてるけど、これって本来正しくないよな?
一般的にはどうやるんだべさな。一番効率が良い方法とか教えてけれ。
0227 ◆PSPI/D/D3o 2008/12/15(月) 01:38:17ID:VhKuPzAs
クラスがよくわからん俺はループで弾の構造体一個一個調べて存在する奴を表示してる
0228名前は開発中のものです。2008/12/15(月) 09:30:22ID:fyQ9eFTJ
俺の場合、描画する際には弾幕かどうか関係ない。
画像をもつオブジェクトはWindowオブジェクトに描画オブジェクトを登録して
Windowオブジェクトは定期的に登録された描画オブジェクトを全部描画してる。
0229名前は開発中のものです。2008/12/15(月) 20:19:12ID:1MzMGffR
>>226
俺も似たような方法かな。
drawableインターフェースのリストを表示優先度別に持って
順番に描画処理を実行。
ちなみに俺も弾幕かどうかは区別していない。
0230名前は開発中のものです。2008/12/16(火) 06:57:54ID:THHYYLqB
オブジェクトのソートとかを考えたほうがいいな
同じ画像はまとめて描画するのが基本だから
もうやってるならそれでいいが
0231名前は開発中のものです。2008/12/16(火) 21:36:45ID:xxIGjXbe
60fpsでソートw
でも、実際のところコスト的にはどうなんだろう。
Z軸をソートすることで表示されなくなるスプライトは描画しないようにしようって話だよな?
でも、そのためにNxとか計算してたら確実に赤字のような。
何fpsごとに、とかやっても意味のない処理だし。
0232名前は開発中のものです。2008/12/16(火) 23:29:56ID:aSVdIEfv
>>224
矢印キーを押すとブラウザのスクロールバーが動いちゃうぜ。
うちのノートパソコンなら問題なく60で動いた。
0233名前は開発中のものです。2008/12/16(火) 23:52:42ID:aSVdIEfv
ってこっちのレスはおまけだ

みんなソートとか速度とか考えるよなー
うちはどうやって動作処理を記述すれば上手くいくのかさっぱり過ぎて結局強引なコードを書くんだよな。

最近接に対しての誘導とか、インスタンスのリストが必要だから管理クラスと相互参照にしちゃうし、
プレイヤーの情報表示とか、そのためのインスタンスを作ってプレイヤーのインスタンスを保持させてるし、
なーんか後で修正しようがない感じになってしまう。
本とここら辺の上手い管理方法ってないのかね?

>>231
半透明使うとZソートしないと変になっちゃうぜ






0234名前は開発中のものです。2008/12/17(水) 01:24:40ID:0Pd0RxhV
>>230が言うソートって、使う画像ごとにソートして
キャッシュのヒット率を上げましょうって意味でしょ。

と、2D前提の俺は思った。
0235名前は開発中のものです。2008/12/17(水) 20:44:43ID:Yu9nmAqi
>>231
> 60fpsでソートw
> でも、実際のところコスト的にはどうなんだろう。

wとかどうなんだろうもへったくれも何も
サクっと実験すればすぐ結論は出ると思うんだけど
なんでやんないんだろう。HSPerな俺でも変だと思う

描画するものをrand()とかで適当にシャッフルして
つまりマテリアルの順番をバラバラにして
つまりテクスチャもレンダリングステートもシェーダも何もかもバラバラにして
描画するだけ。ね、簡単でしょ

> Z軸をソートすることで表示されなくなるスプライトは描画しないようにしようって話だよな?

>>230はそんなこと書いてないと思うんだよね
0236名前は開発中のものです。2008/12/17(水) 21:13:03ID:Kx3CWuJW
ソートなのになんでバラすんだ?
0237名前は開発中のものです。2008/12/17(水) 21:39:24ID:Yu9nmAqi
マテリアルソートする意味が分かると思うの
■ このスレッドは過去ログ倉庫に格納されています