[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/09 16:55 / Filesize : 214 KB / Number-of Response : 689
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2008/11/27(木) 10:18:19 ID:bBI1A+d5]
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

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

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

過去スレ,関連スレは >>2-3で。

134 名前:名前は開発中のものです。 [2008/12/09(火) 10:15:17 ID:S3aTmjvE]
初心者なんですが、弾が連続的に描画されないのですが、どうしたらいいのでしょうか?
参考のページを教えていただけると幸いです
ボタンを押すと発射、while(pos.y>0)でくくると、最初とpos.y=0の時の中間が描かれません。どうすればいいのでしょうか?

135 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 10:39:31 ID:wTdUmZMK]
よくわからんが、0でダメなら−1でいいんじゃね?

136 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 10:52:00 ID:wTdUmZMK]
あー、よくわからんのに書くもんじゃないな
すまん、無視してくれ

137 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 11:05:00 ID:S3aTmjvE]
whileの中は加速度とかの計算式だけで描画関数は入っていません

138 名前:名前は開発中のものです。 [2008/12/09(火) 11:13:10 ID:UXQm+qSa]
>>137
じゃあ表示されないのは当たり前だろ
whileでくくるんじゃなくてボタンを押したときは弾を生成する処理だけをする
メインループで弾が存在したら弾を1コマ進めて表示する処理をし、
画面街に飛び出たら消滅させる処理をする

139 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 11:16:34 ID:wTdUmZMK]
とりあえず、ここおススメ
dixq.net/s/

俺もこれ見てシューティング作ってる

140 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 11:42:00 ID:8b11EtKt]
>>134
日本語を勉強するか
プログラムを勉強するか
数学を勉強するか
どれかを選べばいいと思う

141 名前:名前は開発中のものです。 [2008/12/09(火) 11:43:28 ID:S3aTmjvE]
ありがとうございます。全然理解できない;;
写っぱなしの弾をボタン一回で継続的に動かしたいだけなのに・・・・;;

142 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 12:04:01 ID:LlY86N04]
OpenGLはビデオチップによって速度が違いすぎるのが難点だなー。
RadeonXPress200上で開発して60Fps出てたのがたまたまRadeonHD4850で動かしてみたら一桁まで落ちるので、
何でかと思ったら行列スタックや属性スタックの操作が極端に重かったみたいで、判るのに苦労した。



143 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 12:06:37 ID:PL50HxGw]
理解できないのはこっちだw

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

と訊かれただけで、あんたは何の病気かわかるのか?

144 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 12:13:39 ID:8b11EtKt]
まともに相手しても
さらに質問が返ってくるに25000ガバス

145 名前:名前は開発中のものです。 [2008/12/09(火) 12:43:33 ID:S3aTmjvE]
ここにいる奴って日本語を勉強しろとか煽られて育ってきたかわいそうな奴ばっかなんだねw

146 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 12:48:07 ID:wTdUmZMK]
なんだ釣りか

147 名前:名前は開発中のものです。 [2008/12/09(火) 12:49:16 ID:S3aTmjvE]
日本語理解できてないのはお前らだww頭悪すぎだろww

148 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 13:18:17 ID:4JCb9FOv]
なんだ、釣りだったのか

149 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 13:20:23 ID:FH6Ed4rz]
>>134
whileでくくった中に描画する処理を書けばいいんじゃね。

while ( pos.y > 0 ) {

  === 移動の処理 ===

  === 描画の処理 ===

  ===その他の処理 ===
}

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

151 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 14:48:12 ID:PI3BaNiE]



152 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 16:52:36 ID:fFSBTS/4]
うわーいおれもまぜてまぜてー



153 名前:名前は開発中のものです。 [2008/12/09(火) 16:57:20 ID:Sb5wMSbY]
なんか1982年頃のBASICでできたインベーダーゲームで
弾を撃つと弾以外のキャラの動きが全て止まるゲームを思い出した

154 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 16:59:45 ID:8b11EtKt]
それが分かってて来るのか・・・

155 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 17:11:18 ID:M91LEl8M]
2CHの鏡なスレだなw

156 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 17:29:23 ID:8b11EtKt]
ああ、釣りだったか・・・

157 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 17:37:06 ID:PI3BaNiE]
な釣
あ釣

158 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 18:08:52 ID:VNydxNb7]
グラディウスのダブルのようなショットを作ったら、上ばっかり→両方に→下ばっかり→両方→・・・
というような波が出来てしまうんですが、満遍なく発射するにはどうしたらよいんでしょうか。
現状は、ショットの要求があったときに、あいている弾があったら発射するという感じにやっています。

159 名前:名前は開発中のものです。 [2008/12/09(火) 18:16:35 ID:Sb5wMSbY]
>>158
それぐらい自分で考えられないでゲームは完成するのか?w不安だよw
どうとでもできるだろ

160 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 18:26:30 ID:IEG5htND]
>>158
>現状は、ショットの要求があったときに、あいている弾があったら発射するという感じにやっています。

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

ちょっと邪道かもしれないけど、ダブルショットの要求があった時に、
「2つ空き」があるかどうか確かめて、なければ撃たない、
あれば両方撃つ、って形でいけるんじゃない?


161 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 18:43:45 ID:VNydxNb7]
>>159
すいません。確かにどうとでもなるんですが、あのシンプルなショットに
そんな面倒な処理があるのか?という思いがありまして。

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

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

162 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 19:18:46 ID:IEG5htND]
面倒な処理じゃないと思うし、
やり方が間違ってるんじゃないのなら
単にバグが潜んでるだけかもしれないよ。



163 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 19:30:26 ID:8b11EtKt]
嫌味だよ
気づけ

164 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 20:34:56 ID:FH6Ed4rz]
>>161
2つ確保するつもりが、ポインタを1つ分しか進めてなくて、弾が次々と上書きされてたりしてな。

165 名前:名前は開発中のものです。 mailto:sage [2008/12/09(火) 23:06:18 ID:lVmIafHS]
知らんが、C#とかjavaなら空いてる弾幕のことなど考えずに
弾丸リスト.add(上向き弾);
弾丸リスト.add(下向き弾);
でやるもんだし、C++でも似たような実装は可能だろ?
とりあえず、Cでやりたいんなら連結リストを実装することから始めてみればいいんじゃないか。



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

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

なんか一般的な方法ってあるんですかね?

167 名前:名前は開発中のものです。 [2008/12/11(木) 00:30:52 ID:SwlibDem]
そこでタスクシステムですよ

168 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 01:09:07 ID:Tl9RQtTK]
ゲームの状態が変わってもメッセージハンドラの中身を変える必要が無い仕様を考えた方が楽かも

169 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 05:41:33 ID:Gzl7Lfi5]
>>165
この板で自分以外にC#をC#系スレ以外でいってる人はじめてみた・・・ちょっと感動だ。


170 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 10:13:54 ID:tNsh0a9k]
>>166
単一のウィンドウプロシージャーからディスパッチすればいいと思う

171 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 10:17:05 ID:7h0mUefC]
166です

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

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

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

みたいに新しいメニューが生まれてくるじゃない
これもタスクリストに1つ1つ書くのかなーって、疑問に思ってる

172 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 11:04:32 ID:1D8jgOIG]
>>171
RPGはまだ手を出してないが
俺だったら states などに状態を入れて
switchで分けるかもな

タスクシステムって、マルチスレッドとかでもならない限り
威力発揮しなくね?



173 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 16:02:40 ID:1D8jgOIG]
素粒子を処理しようとしてるんだけど
これもタスクシステムでできるかな?

174 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 16:07:14 ID:1D8jgOIG]
人工知能を並列処理しながら
X透過線のデータをXLSファイルに出力しつつ
リアルタイムに表示するシステムのライブラリを作ってるんだ

175 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 17:05:49 ID:1D8jgOIG]
草薙の剣を手に入れてこれから黒を倒そうとするところで
いつもこける
そしてずっと俺のターンになるバグがでます
製品版だし、DirectXもバージョン合ってるのに
なぜ動作しないんでしょうか?
OSはVistaです

176 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 17:07:41 ID:1D8jgOIG]
誤爆

どこの院かバレるじゃねぇかw
誰か消してくれ

177 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 17:20:48 ID:e6R1e+p8]
興味ないから問題なす

178 名前:名前は開発中のものです。 [2008/12/11(木) 17:27:02 ID:jeJaub+T]
晒しage

179 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 17:52:07 ID:jDESsGSy]
>>171
タスクリストなんて言う名前で呼んでるから見えなくなってるだけで、
実体はアルゴリズムのエントリポイント(一般的には関数ポインタとか)の連結リストを順番に呼び出していく機構でしかないわけだから、
同じようにアルゴリズムのスタックの一番上だけを実行するような機構を用意すれば良いわけだ。

void Menu()
{

}

void MagicSelect()
{

180 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 17:56:00 ID:jDESsGSy]
あふん

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

void MagicSelect()
{
// 同
}

void Who()
{
// 同
}



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

実際どう実装するのが一般的かはしらんけど私はこうしてるな。
RPGは作ったこと無いけど。

181 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 20:11:08 ID: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));   //デモ画面
    (…後略…)
    pc11.2ch.net/test/read.cgi/gamedev/1226199100/174-
}

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

>>172-176
>どこの院かバレる
(・∀・)病院ダロ。カエレ

182 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 20:22:48 ID:1D8jgOIG]
>>181
ほぅほぅほぅ ホーホケキョ
リンク先はオブジェクト指向ですねぇ
しかし、私がSTGの状態遷移に一番ややこしいStrategy Patternを使っていたのは内緒だ



183 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 20:32:19 ID:1D8jgOIG]
>>181
しかしですね
結局 switch文使ってるじゃないですか
これが気に入らなくてねストラテジーパターンに走ったんですが、
さらに汎用性のある基本オブジェクトの作成、つまり基本設計ですかね
でつまづき
CGameクラス作ってシングルトンパターンは楽勝だったんですけど
テンプレートメソッドパターンがなかなかのつわものでしてね
そうこうしているうちに、ワケワカメになってしまってね
結局 デザパタ一切使わない ピュアなC/C++になってしまったんですよ
そして、人生でもつまづいてね
あーいたたた

184 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 20:46:44 ID: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();
とあるが
空の処理を回すのが気に入らない

185 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 20:48:07 ID:1D8jgOIG]
そんなに空の処理をするのが好きなら
Observerパターンで監視しろっつーの
と俺が言ってみるテスト















まぁ、増えるのは複雑さだけなんですけどねorz

186 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 21:02:17 ID:IWquCMNP]
>>181
あ、gamemain中のgameenvだけど、これは適当にgamemainの引数でひっぱってきてね

187 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 21:08:33 ID:IWquCMNP]
>>184-185
HSPerのSTGは一面から始まってプレイヤーが生残する限りエンディングまで一本道で進むよ
順次処理を静的に記述してるだけだよ

>>174のコードに空の処理なんか無いよ

188 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 21:49:08 ID:jrEtBQbk]
例外を制御に使うのはいかがなものか

189 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 21:56:55 ID:1D8jgOIG]
>>187
ん?
タイマーの処理が加わってないからよくわからん
もっと深く

>>188
デバックに便利
配列のアクセス違反とは一発でわかる

190 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 21:57:51 ID:1D8jgOIG]
double ang;e[350];
とかいて
angle[-30];
とかアクセスしてたのよ
お分かりうふん

191 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:08:42 ID:ZMWk7FR2]
ひとつだけ言えることがあるとすれば、キモい

192 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:12:17 ID:1D8jgOIG]
>>191
そんなことを言いにくる
アナタの神経を疑う



193 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:20:10 ID:PzlRgt6s]
いや、まじでキモい

194 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:24:20 ID:ReLxUK+G]
最近ここマジキチ率高いな

195 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:36:56 ID:IWquCMNP]
>>188
フロー制御の条件分岐に例外機構を使うのはお行儀悪い子だよね
「こんなゲームも一発クリアできないプレイヤーは想定外」
ということで例外機構を使ってみたんだ
同人活動するときは何にも考えずにゲラゲラ笑いながら遊んで作ってるんだ。しかたないね

ID:1D8jgOIGが怖いです。病院が逃げるそうなので僕も逃げます。バイバイ

196 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:39:55 ID:1D8jgOIG]
くやしいのうwwwwwwwwくやしいのうwwwwwwwww
小学生^q^
幼稚園児
オモロー

197 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:46:11 ID:1D8jgOIG]
反論できない
やったことがない
理解できない
   → キチガイ


   R   O   M   さ   せ   た   結   果   が   こ   れ   だ   よ   !   !   !

198 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 22:49:09 ID:1D8jgOIG]
次は
「マジキチ」
で埋め尽くされます

貫太郎飴だなおまえらってw
きんもー

199 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 23:05:03 ID:qUtH+lGr]
な釣
あ釣

200 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 23:06:50 ID:PzlRgt6s]
そりゃ人生もつまづくわな

201 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 23:07:30 ID:qUtH+lGr]
そして懲りもせずいつもの連投君に釣られる君ら

202 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 23:08:20 ID:Tl9RQtTK]
シューティングゲームの作り方講座を書いていたはずなのに、
気がついたらテトリスを作ろうとしていた。
これはチャチななんとかうんたらかんたら




203 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 23:32:02 ID: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(メッセージ);}





204 名前:名前は開発中のものです。 mailto:sage [2008/12/11(木) 23:45:53 ID: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文を消せるぞ。

205 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 00:05:33 ID:QbHMYd89]
こんなのがいるからデザインパターンヲタが嫌悪されるんだな

206 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 00:22:38 ID:VZzcTBSK]
デザインパターンヲタってなんだい?

207 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 00:47:19 ID:Clw3+x9U]
最近コルーチンとかファイバに感動して使いまくってる
yieldさいこー

208 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 07:35:46 ID:WDwvXEG9]
オ、オ、オブジェクト指向最高ぉぉぉぉ!!!
テンプレートメソッドでジャネレータプログラミングして
ファクトリーパターンで大量生産バグも大量wwwwwwww
プロトタイプでいくらでの客ごまかせるし
デコレータで後からいくらでも追加可能なオブジェクト大量
上司に見られそうなところはストラテジーでワケワカメにして
ソースを提出したら
「君はシングルトンパターンだね」って言われたwwwwwww

209 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 07:39:51 ID:WDwvXEG9]
デザインパターンなんて何年前の技術だよ
うんこもれちゃうぅぅぅぅぅ

210 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 08:29:54 ID:TDR4iWlC]
うん。大丈夫。俺だけはまともだ

211 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 08:59:45 ID:7Vhx53Ep]
タダシン元気だったか

212 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 10:01:07 ID:KS0mry8G]
タダシンとか懐かしすぎる



213 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 11:51:40 ID:jEMz4U5E]
新参で頭おかしいのが来たか年齢層が下がったか
今日びシューティングなんておっさんしか作ってないのかと思ったが
10代20代のがきんちょもつくってんのかね

214 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 13:38:31 ID:9YG19P1/]
いつもの彼だろ

215 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 06:42:10 ID:/PbeHoQk]
893だったか

216 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 12:14:21 ID:kDyXwhQ1]
俺じゃないよ

217 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 14:52:20 ID:/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();

218 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 15:50:33 ID:/PbeHoQk]
グラフィッカー来たらと思ったら
自称プログラマの揚げ足取り野郎だった
ちょ〜っと辛口コメントしただけで消えやがった
士ね

219 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 16:08:01 ID:DkCmDL9z]
何の話だよ

220 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 16:47:13 ID:/PbeHoQk]
>>219
jun.2chan.net:81/b/src/1229154418067.jpg

221 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 17:51:58 ID:nI3aVzuF]
そろそろメモリアロケータの話をするべきだ

222 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 17:57:14 ID:2kHwy9mM]
>>220
何の話だ



223 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 18:40:29 ID:bE3YPBnE]
いつものお話です

224 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 16:47:21 ID:nnJ/0oba]
javascriptでSTGを作ろうとしたのだが、やっぱり重い(´・ω・`)
すんごい作りかけだが、ちょっと晒してみます。
www.csync.net/service/file/view.cgi?id=1229240355 (解凍:starman)

225 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 19:08:12 ID:zWg8gBHj]
頑張ってんなおいw

226 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 00:56:14 ID:nHX6b6vV]
描画についての質問。
弾幕を描画するときって基本的にどうやるべき?
おいらの場合はbulletクラスにdrawableインターフェイスくっつけてるけど、これって本来正しくないよな?
一般的にはどうやるんだべさな。一番効率が良い方法とか教えてけれ。

227 名前: ◆PSPI/D/D3o mailto:sage [2008/12/15(月) 01:38:17 ID:VhKuPzAs]
クラスがよくわからん俺はループで弾の構造体一個一個調べて存在する奴を表示してる

228 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 09:30:22 ID:fyQ9eFTJ]
俺の場合、描画する際には弾幕かどうか関係ない。
画像をもつオブジェクトはWindowオブジェクトに描画オブジェクトを登録して
Windowオブジェクトは定期的に登録された描画オブジェクトを全部描画してる。


229 名前:名前は開発中のものです。 mailto:sage [2008/12/15(月) 20:19:12 ID:1MzMGffR]
>>226
俺も似たような方法かな。
drawableインターフェースのリストを表示優先度別に持って
順番に描画処理を実行。
ちなみに俺も弾幕かどうかは区別していない。

230 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 06:57:54 ID:THHYYLqB]
オブジェクトのソートとかを考えたほうがいいな
同じ画像はまとめて描画するのが基本だから
もうやってるならそれでいいが

231 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 21:36:45 ID:xxIGjXbe]
60fpsでソートw
でも、実際のところコスト的にはどうなんだろう。
Z軸をソートすることで表示されなくなるスプライトは描画しないようにしようって話だよな?
でも、そのためにNxとか計算してたら確実に赤字のような。
何fpsごとに、とかやっても意味のない処理だし。

232 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 23:29:56 ID:aSVdIEfv]
>>224
矢印キーを押すとブラウザのスクロールバーが動いちゃうぜ。
うちのノートパソコンなら問題なく60で動いた。



233 名前:名前は開発中のものです。 mailto:sage [2008/12/16(火) 23:52:42 ID:aSVdIEfv]
ってこっちのレスはおまけだ

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

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

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








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

と、2D前提の俺は思った。

235 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 20:44:43 ID:Yu9nmAqi]
>>231
> 60fpsでソートw
> でも、実際のところコスト的にはどうなんだろう。

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

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

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

>>230はそんなこと書いてないと思うんだよね

236 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 21:13:03 ID:Kx3CWuJW]
ソートなのになんでバラすんだ?

237 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 21:39:24 ID:Yu9nmAqi]
マテリアルソートする意味が分かると思うの

238 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 21:41:47 ID:Yu9nmAqi]
>つまりテクスチャもレンダリングステートもシェーダも何もかもバラバラにして

これ順番をバラバラにするってことね。ステート切り替えしまくった場合と
ある程度まとめた場合の比較をすればマテリアルソートすることの
意味が理解できると思うの

239 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 22:37:27 ID:iw2fEQZz]
>>235
ロクにベンチマークテストもしないで根拠レスなことグダグダ言う奴っているよな
先入観だけで意味の無い最適化したり逆に必要なところで何もしなかったり



240 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:05:17 ID:Z0+SOnp7]
>先入観だけで意味の無い最適化したり逆に必要なところで何もしなかったり

俺の事だな。

241 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:26:50 ID:jSJuJ/S7]
>>237-238
YUTORI最下層シミュレータにかけたところ以下のような出力結果が出たぜー( ・∀ ・)♪

  「なんでやんないんだろう」
        ↓
  [YUTORI最下層変換]
        ↓
  「なんでソートしないんだろう」

「なんで実験しないんだろう」にはならないらしいぜ。YUTORI最下層ってすごいだろ。配慮しろよ

242 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:32:50 ID:Kx3CWuJW]
ソートありとなしを比較するのにバラバラにする必要はないだろ



243 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:38:16 ID:jSJuJ/S7]
タ○○○○○ムとか使ってる知能障害プログラマのコードを
簡易にエミュレートするには有効だと思うよ

244 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:42:27 ID:Yu9nmAqi]
嫌な予感がするので僕は逃げます。バイバイ

245 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:43:48 ID:Kx3CWuJW]
言いたいことが分らない
ていうかSTGで描画するのにソートって意味あるのか?

246 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:51:53 ID:j5po2Z2/]
タムリンビーム?

247 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:52:27 ID:IrN9kYXf]
いつまでやってんのお前ら

248 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 00:03:27 ID:ngcbnL8q]
まぁ ID:xxIGjXbe = ID:Kx3CWuJW なわけだが。臭いで分かるだろ
今日も彼は元気ってことだ。よかったなお前ら

249 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 05:57:52 ID:cp3Q3c0h]
祖母「地獄巡りの片道切符は貴様らの命で買ってもらおう」

250 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 05:58:30 ID:cp3Q3c0h]
誤爆 祖母ろスレと間違えた

251 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 06:26:04 ID:3f8yaJHa]
なんだそれw

252 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 13:02:45 ID:RBRbpCNL]
なんか家庭問題平和的解決STGとかそんなのを連想したがこれ以上はやめておく



253 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 16:03:34 ID:jTA930xc]
文化祭の出し物に家族計画STGというものを展示したら三者面談
大人って汚いよなーっておもた

254 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 16:15:20 ID:6J6Zh9g6]
どっかで聞いたなその話ww

255 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 21:45:07 ID:aoTycjO5]
Direct3D直叩きで作ってるやつ減ってるなあ
もうちょっと勉強しようぜ

256 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 22:05:15 ID:N/4dA9YH]
それを突き詰めるとカーネルから作れという話になるわけだが
システム弄りに熱を上げるよりゲームに精を出そうぜ

257 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 00:11:23 ID:1hgxtZAX]
HSP直叩きで作ってるやつ減ってるなあ
みんなもうちょっと玉葱の勉強しようぜ!



ハードウェア⇔デバイスドライバ⇔ダイレクトサンディー⇔アプリ  (だいたいあってる)
GPUを隠蔽したインターフェース相手に直叩きって言えるなら
僕だって毎晩E3Dを直叩きしてるんだからねってGDAlgorithms-listで叫んでいいはず

哂われたら>>255の所為

258 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 00:15:14 ID:nHSI00R2]
自分のパソコンでしか動かないゲーム作ってもなーってのはあるな。
ハードに近付けば近付くほど、その傾向が高くなる。

259 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 07:59:20 ID:H3IwsSUC]
dirfct3Dに手を出そうとしてるがマイクロソフト公式解説の時点で既にアバババ゙なレベルで難解ねコレ

260 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 10:39:32 ID:5kd3ludm]
www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=dirfct3D&num=50

261 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 12:41:00 ID:L1HxTdft]
DrawIndexedPrimitiveUP最強伝説

262 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 12:45:27 ID:YE9FCgVX]
OGREとIrrlihtという3Dエンジンがあってだな



263 名前:名前は開発中のものです。 [2008/12/28(日) 02:55:22 ID:fJQKz6W8]
>>259
いきなり公式解説はきつくない?
DirectXの本でCDつきのを1冊買ってきてサンプルいじってある程度
理解してから公式みるとかをお勧めする

264 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 08:14:01 ID:YXHvuVkA]
>>263
公式は絶望的なのでそうするよ!

265 名前:名前は開発中のものです。 mailto:sage [2009/01/01(木) 17:24:36 ID:ltM6YgTq]
“砂漠の女王”をテーマにした質素な衣装 
contents.oricon.co.jp/upimg/news/20081230/61682_200812300341752001230620377c.jpg
contents.oricon.co.jp/upimg/news/20081230/61682_200812300297266001230620377c.jpg
contents.oricon.co.jp/upimg/news/20081230/61682_200812300349984001230620377c.jpg

266 名前:名前は開発中のものです。 mailto:sage [2009/01/01(木) 23:19:12 ID:FIs8DZhM]
どこのラスボスですか

267 名前:名前は開発中のものです。 mailto:sage [2009/01/01(木) 23:28:42 ID:6YUsPd07]
>266
んー…… ぱろでぃうす?

268 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 00:05:09 ID:1UwFDDbr]
ガルーダIIとか

269 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 04:07:59 ID:qbyqKLbA]
こんな動画があったりする。

【生かして】もし弾幕STGのラスボスが小林幸子だったら【帰さん】
www.nicovideo.jp/watch/sm5646733


270 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 04:20:29 ID:TfxriBg+]
鼻水噴射したw

271 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 17:06:49 ID:2fVT2icX]
>>256
キモさから見てR-TYPEあたりかな

272 名前:名前は開発中のものです。 mailto:sage [2009/01/03(土) 20:02:39 ID:2WWeLwqZ]
東方風神録みたいな円形のボムってどう実装すればいいんだ?



273 名前:名前は開発中のものです。 mailto:sage [2009/01/03(土) 20:03:55 ID:u8o0v/Vp]
気にせず矩形判定

274 名前:名前は開発中のものです。 mailto:sage [2009/01/03(土) 20:30:08 ID:m8+AG4EB]
円同士なら距離で判定

275 名前:名前は開発中のものです。 mailto:sage [2009/01/03(土) 20:42:50 ID:2WWeLwqZ]
>>273-274
あーいやそれはわかるんだがあんな感じのエフェクトって入れるの忘れてた

276 名前:名前は開発中のものです。 mailto:sage [2009/01/03(土) 23:36:52 ID:WL8Ra5wy]
PrimitiveType.TriangleFanを使ったらできないかな。

277 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 00:55:41 ID:iRIf9nnw]
見たこと無いから間違ってるかも知れんが
円の画像を拡大縮小すればいいんでねぇの?

278 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 01:12:01 ID:286vebya]
>>276
ポリゴンそのものを円形にする必要があるの?

279 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 02:37:24 ID:mE4zeWub]
どんな絵か判らんが普通に円の絵を板ポリに貼るだけじゃないのか

280 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 04:49:12 ID:342MFaiV]
>>175
見た感じ、紫、白ともに画像は同一。
輪自体はかなり高速に回転してるけどグラフィック自体はアニメーションしてないっぽい。
白い輪は途中で2枚の回転方向が異なる円形画像が重なるようにしてるっぽい。
輪の線の太さは変わらず半径だけ増えてるから変形は単純な拡大縮小ではないけど、多分スケール操作か連番画像。

281 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 04:52:09 ID:342MFaiV]
安価ミス>>275

282 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 07:07:50 ID:A48anJ+N]
>>280
んじゃ最終的な大きさになるテクスチャを縮小した状態から大きくしてなおかつ
1枚絵を高速回転してるわけか



283 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 11:54:26 ID:626OHoem]
>輪の線の太さは変わらず半径だけ増えてるから変形は単純な拡大縮小ではないけど、
単純に輪郭画像と輪郭の太さ分小さい画像の重ね合わせじゃないかね?
単純に重ね合わせると違和感があるのでアルファブレンドなり加算合成なり・・・
実物見たこと無いから(略


284 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 11:58:07 ID:YqDPoRid]
>>282
素材抜き出したらそれっぽいのが1つあったが真っすぐな線だった。
あれを円状にしてるのかな

285 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 19:39:03 ID:342MFaiV]
ってことは直交座標から極座標に変換してるでFAっぽいね
昨日(というか今日)似たような画像を作ろうと試したときレタッチソフトのフィルタでXYRT変換使ったから、
プログラム上でそれが出来ればわざわざ円形の画像を使う必要もないってことか

286 名前:名前は開発中のものです。 mailto:sage [2009/01/04(日) 19:50:08 ID:rNc3nTBq]
そこでTriangleFanをだな。

287 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 11:31:40 ID:mG4OZtVg]
>>285
kwsk

288 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 17:30:37 ID:Lp4/o7ME]
オブジェクト指向で作っていたが
構造体で作った方が牢固で、保守的で、頑丈なものができそうな気がするんだが
どうだろうか?

289 名前: ◆Fp.xSEIREI mailto:sage [2009/01/05(月) 17:36:20 ID:61TWp3Uz]
全部構造体で作ってる俺が通るぜヒャッハー

290 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 20:13:08 ID:NpAsIYET]
>>289
通るだけかよw
所感も書いてけYO

291 名前: ◆Fp.xSEIREI mailto:sage [2009/01/05(月) 20:21:20 ID:61TWp3Uz]
おぶじぇくと嗜好とかクラスとかわけわからんが構造体だけで何も困ってないぜ(・∀・)

でおk?

292 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 20:32:37 ID:UP4QdJRg]
個人で作るなら(プログラマが1人なら)オブジェクト指向である必然性は無い。



293 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 20:45:15 ID:Q9h5Nd6t]
オブジェクト指向と構造体は並べて比較できるものではないと思うが。

294 名前:名前は開発中のものです。 mailto:sage [2009/01/05(月) 21:01:01 ID:Lp4/o7ME]
そうなのか?
やはり難しいことを先にやっていたようだ
どおりで完成しないわけだ
構造体楽だね♪

295 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 02:12:01 ID:BIH/S8bQ]
グラディウスXの芋ステージを真似てみようと勢いで作ってみたが、
判定処理が複雑になりすぎ+処理重すぎでまともに動かないorz

・岩1つ1つを背景と判定するために座標変換
・プレイヤーやショット、空中の敵も背景との判定の為に座標変換

スムーズにはいかないな…。

296 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 03:03:01 ID:lygLfbkU]
>>287
詳しく・・・といわれても。
適当にぎざぎざ引いた線を左右が循環するようにして、そのあとフィルタを使用しただけだが。
photoshop(elementだが・・・)でやった。
大抵のレタッチソフトは座標変換操作するフィルタはデフォであるか、プラグインがあるんでない?

直交座標を極座標に変形するってことに対してなら、
元のY軸の値を原点からの距離、元のX軸の値を方向にするような変換でしょ。
ぐぐって上に出てきたページの真ん中あたりに直感的に理解できる図がある。
ttp://pkunto.akuma.to/atelier/filter/no1.htm

297 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 08:30:15 ID:3goLI8kZ]
>>291
おk
俺もそーしてみるかな

298 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 09:00:46 ID:xH3medab]
ま〜わる〜ま〜わる〜よ〜
ソースはまわる〜
コメントーアウトーくりかえ〜し
今日は消された コメント達も
いずれコミットされて動きだ〜すよ〜

299 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 00:37:24 ID:dIlqsnyP]
>>295
>座標変換

座標の整数化とビット右シフトはやってんの?
当たり判定グリッドの単位マス当たりドット数を、2の倍数にしておく必要があるが。

300 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 01:56:25 ID:xahHjft8]
>>295
参考になりそう?
ttp://marupeke296.com/COLSmp_2D_No9_QuadTree_Imp.html

座標変換なんて一つのオブジェクトに1回で済むんだから
まず考えるのはあたり判定回数を減らすことだと思う。

>>299のはもっとシビアに最適化しなきゃいけない場合にするものだと思う。

301 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 01:56:40 ID:RoDN07wS]
>>299
いや、普通にfloatで行列使ってやっているw
岩は丸判定、背景はあたり判定用のポリゴンでクソ真面目に計算しているから
処理が重いのは当然かww
バスクリンステージも後々再現してみようと思ってたので背景に判定ポリゴン使って、
カメラのZ軸回転にも対応できる形にしていったつもりだが、
処理の高速化とか全く考えていなかったorz

302 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 17:20:35 ID:LE+aMQpC]
>>299
それ2の倍数ではなく2の冪乗だと思う




303 名前:299 mailto:sage [2009/01/08(木) 20:43:25 ID:FVMUmd1O]
>>302
ううっ、恥ずかしい。累乗だった。

>>301
ひょっとしてレイ使って当たり判定やってんの?

304 名前:299 mailto:sage [2009/01/08(木) 21:10:15 ID:FVMUmd1O]
つーか、日本語不自由でもPC言語不自由じゃなかったら問題解決だべ。
ゴラアヽ(`Д´)ノカカッテコイヤ!

305 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 23:40:32 ID:hjhgOuWK]
>>303
まぁそんな感じだな。
判定用ポリゴンもできる限り少なくしたつもりだが、
そもそもグラXとかの判定って全く違う考え方でやっているとしか思えないな…
あれだけの物量の判定やっているんだから何かごまかしているとは思うんだが、
簡易的な処理方法が俺には思いつかないorz
座標変換処理だけでかなりの処理負荷だしなぁ。

306 名前:名前は開発中のものです。 mailto:sage [2009/01/09(金) 08:05:19 ID:5mIhsbR7]
>>304
A = {a | a∈2^n, ∀n∈N}
B = {b | b∈2n, ∀n∈N}

この2つはまったく別の集合だよな
数学の言葉で記述すればいいんだから、日本語が不自由ってのは言い訳にできない

307 名前:名前は開発中のものです。 mailto:sage [2009/01/09(金) 10:24:29 ID:yPsQiCUo]
>>306
なんか、顔文字に見えるのは俺だけか
ニダって感じのやつが手を横に伸ばしてるみたいな

308 名前:名前は開発中のものです。 mailto:sage [2009/01/09(金) 21:32:08 ID:qlgyo294]
>>307
大丈夫
俺もだ

309 名前:299 mailto:sage [2009/01/09(金) 22:24:08 ID:jRkwlo0g]
>>306
横で、お主が昔飼っていたペットが「昔この2本足に虐待されていた!」と憤っているぞ。

>2つはまったく別の集合    ('ー`)フムフム
> ↓
>数学の言葉で記述すればいい  ('ー`)フムフム
> ↓
> ↓
> ↓
>∴日本語が不自由ってのは言い訳にできない  ('A`)???

('A`)・・・

('∀`)!!!→日本語不自由でも○○言語不自由じゃなかったら問題解決

310 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 17:19:25 ID:7Z5jM2VY]
>>308
あるよ。
以上。
↓次の方どうぞ

311 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 18:55:37 ID:7t9eOtH/]
ひつぜん-せい 0 【必然性】
(1)そうなる以外にありえないこと。

312 名前:名前は開発中のものです。 mailto:sage [2009/01/11(日) 23:38:57 ID:shDRgwES]
東方のDirect3Dの描画範囲って本当に640×480?
どうやっても1024×768のディスプレイであそこまで綺麗に画像が映らない・・・
何か特別なパラメータの設定でもあるのかな?
誰か情報あったらきぼん。



313 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 00:19:51 ID:GIadNQrK]
>>312
文章の意味がよく分からんが

東方よりも大きい解像度で自作ゲームを作ってるけど
あそこまで画面を綺麗にできないってこと?

それでも綺麗の定義がよく分からけど

314 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 01:00:55 ID:1n7V9OY/]
いえ、Direct3Dの描画サイズは640×480で作っています。
それを1024×768のフルスクリーンで表示しても
同じ640×480の東方に対して画像などの粗が目立つ気がするんです。
東方も若干ぼやけてますがその1.5倍くらいぼやけて見えるんですよね、、、

315 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 01:13:35 ID:kLt2gAb1]
じゃあ、東方はビットマップとかをあらかじめ大きめに作っておいて、
それを縮小表示してるのかもね。

解像度を小さくする理由としては、動作速度を稼ぐためとかが挙げられる

316 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 01:14:41 ID:kLt2gAb1]
>動作速度を稼ぐ
俺のことなんですけどね。

317 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 01:51:27 ID:GIadNQrK]
グラボのアンチエイリアス機能が画面全体に効いてたりして

318 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 09:43:09 ID:8kpUJMIm]
開発中はグラボの機能カットするなんて基本…>312はやってないかもしれんな

319 名前:名前は開発中のものです。 mailto:sage [2009/01/12(月) 20:05:51 ID:uZxavI2u]
ち、違う!俺はやってない!

320 名前:名前は開発中のものです。 mailto:sage [2009/01/13(火) 18:44:36 ID:nk2yEPDW]
話は署で聞くから

321 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 08:47:38 ID:t2+2vepU]
>>319 が「やれ」とほのめかしたんです(TT)

322 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 11:58:08 ID:FlGhDI92]
グラボの機能カットしない男のひとって…



323 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 12:26:04 ID:t2+2vepU]
私のグラボは最新です!!

324 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 21:03:42 ID:Z9wb8pAX]
ちょっと質問。
C/C++系などメモリ破棄を自前でやる言語使ってる人で、
メモリ管理ってどうしてる?
・デフォルトのmalloc/newに丸投げ
・配列+空きインデックス管理
・大き目の領域を取ってその中を自前で管理
・その他(併用とか)

最初自分で工夫しようと思ったけど、デフォルトのnewでもそんなに困らん気がしてきた。


325 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 21:33:56 ID:lgzfaO0G]
困ったら別の方法を模索すればいいんじゃね?

326 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 21:51:51 ID:yw67XO87]
new使ってるけど、
newで作ったものは全部プールしておいて後で使いまわすからという理由で
どうにもdeleteしている形跡が無いという
不思議な仕様になった。

もったいない精神は偉大である

327 名前:名前は開発中のものです。 mailto:sage [2009/01/14(水) 23:32:25 ID:DxGJXt39]
つスマートポインタ

328 名前:名前は開発中のものです。 mailto:sage [2009/01/15(木) 01:55:30 ID:JeQw1zKV]
>>324
C++ならnewで作っておいて、パフォーマンスに問題があれば
newを自分で定義すりゃいいんだよ。
グローバルなnewもクラス固有のnewも、自分で再定義できる。

329 名前:名前は開発中のものです。 mailto:sage [2009/01/22(木) 01:33:23 ID:3/DQX7/Y]
ふつーに初期処理でnewして、ふつーに終了処理でdeleteするだけっすよ
ゲーム中では絶対new/deleteしない。あらかじめコンテナにプールしとく

330 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 17:57:25 ID:5+1qMjEp]
>>306
>A = {a | a∈2^n, ∀n∈N}
>B = {b | b∈2n, ∀n∈N}
数学科の俺から見ると、このA,Bは数学の言葉としては全く意味が通らない。
おそらく、2のベキ乗全体の集合をA, 2の倍数全体の集合をBと書いた
つもりなのだろうが、全然そうなっていない。

「a∈2^n」は「aは2^nという集合の元である」という意味であり、
「b∈2n」は「bは2nという集合の元である」という意味になる。
この言い回しは意味不明。2^nも2nも、集合ではなく自然数だから。
ついでに、「∀n∈N」の部分もおかしい。なんで∀なの?∃だろ?
正しくはこうだ。
A={a|a=2^n,∃n∈N}
B={b|b=2n,∃n∈N}

>数学の言葉で記述すればいいんだから、日本語が不自由ってのは言い訳にできない
数学の言葉に不自由な輩がそんなこと言ってもな。

331 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 19:36:50 ID:aHGsam3F]
何を言ってるのか判りません(*´∀`)

332 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 19:53:02 ID:JDa3+sU9]
>>330
うむ、分かるぜ。俺も数学科なので。



333 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 20:17:07 ID:jU6T6L7v]
せっかく数学に長けているのなら
>おそらく、2のベキ乗全体の集合をA, 2の倍数全体の集合をBと
の時点で止めて間違いを訂正をするだけにすればよかったのにな
数学科「だから」意味が通らないなんて明らかにおかしいだろう

334 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 20:26:02 ID:5+1qMjEp]
>>333
何が言いたいのか分からん。

>の時点で止めて間違いを訂正をするだけにすればよかったのにな
330は まさに「訂正するだけ」にしているのだが。

>数学科「だから」意味が通らないなんて明らかにおかしいだろう
何が言いたいのか不明。
数学科だから意味が通らないのではなく、
「数学の言葉としては意味が通らない」と言っている。

335 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 20:45:23 ID:aHGsam3F]
理屈っぽい奴だのう…

336 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 20:58:47 ID:jU6T6L7v]
>>334
簡潔にまとめるなら「変に煽るな」だな
不明不明連呼したり最後に煽ったりしなくてもいいだろってことだよ

337 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 21:04:18 ID:fzZ5GsXa]
Cライクに書いたほうがここのやつらは理解できると思うぞ

338 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 21:25:20 ID:5+1qMjEp]
>>336
そうだな。最後の一文は無い方がいいな。スマン。

339 名前:名前は開発中のものです。 mailto:sage [2009/01/28(水) 22:35:15 ID:S/z1HGjh]
理屈っぽくなくちゃ数学科ではやってられないんじゃね?
(情報科もたいがいだが)

340 名前:名前は開発中のものです。 mailto:sage [2009/01/29(木) 06:36:45 ID:GL+e0Tao]
ああ、∀ がどうしても顔文字の一部分にしか映らない・・・

341 名前:名前は開発中のものです。 mailto:sage [2009/01/29(木) 07:39:59 ID:HssP4OCR]
マタリいこうぜ

342 名前:名前は開発中のものです。 mailto:sage [2009/01/29(木) 21:04:30 ID:tEunSzsz]
そうそう



343 名前:名前は開発中のものです。 mailto:sage [2009/01/30(金) 18:01:38 ID:TG53Q3u1]
現在開発中なのですが オブジェクト指向でいくか構造体でいくかで悩んでいます

オブジェクト指向
・ソースの量が増え、複雑になる
・再利用しやすい

構造体
・ソースが読みやすい
・エラーの発見が遅れる

といった点がありますが他の方の意見も聞きたいです
ちなみにひとりでの開発となります

344 名前:名前は開発中のものです。 mailto:sage [2009/01/30(金) 19:16:23 ID:Wfa7Ajy1]
オブジェクト指向だからソースの量が増えるなんてことは無いし、
また再利用しやすいなんてことも無い。再利用しやすいのならソースの量は減るはず。

自分のスキルにあわせて作りゃいいんじゃないの。

345 名前:名前は開発中のものです。 mailto:sage [2009/01/30(金) 20:09:26 ID:h1LyQerr]
例えば、ライフゲームの1セル1セルをオブジェクトにしたら、只の馬鹿だろうな。


結局、オブジェクト指向で造るのだが。
 画面上の敵弾の配列を持ったオブジェクトとか考えて、
この配列に対して、前進・衝突と描画とを一致させる。
衝突したら、イベントを爆発エフェクトのマネージャーに渡す。

これを継承して誘導弾の配列を持ったオブジェクトなんかも造れる。

346 名前:名前は開発中のものです。 mailto:sage [2009/01/30(金) 21:07:07 ID:rGGs7k+/]
馬鹿と言われた気がして来ました

347 名前:名前は開発中のものです。 mailto:sage [2009/01/30(金) 22:13:01 ID:h1LyQerr]
俺だけじゃなくて良かったよ。

348 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 00:53:17 ID:chB/xLS8]
漫才自重ww

349 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 02:34:13 ID:reoFZLyJ]
>>345
くわしく

350 名前:名前は開発中のものです。 mailto:sage [2009/01/31(土) 12:47:05 ID:o/pl2w7I]
>>343
まずは色々作ってみたほうがいいんじゃね?

351 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 00:23:50 ID:RhyejPYt]
過去すれ見たんだけど
超連射の効果音って勝手にパクっていいの?

352 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 00:29:33 ID:7hOuLO4j]
何言ってんの?



353 名前:名前は開発中のものです。 mailto:sage [2009/02/01(日) 00:58:38 ID:HD8VEBR/]
久々に来てみたらなんだ
数学厨の亀レス煽りとライフゲーム漫才だけかよ

354 名前:名前は開発中のものです。 mailto:sage [2009/02/03(火) 19:11:55 ID:QCnjXzK6]
全ステージ全オブジェクトの画像をゲーム初めによみこんだらまずい?
どれくらいまでなら大丈夫?

355 名前:名前は開発中のものです。 mailto:sage [2009/02/03(火) 20:09:33 ID:jxpi8Mbc]
VRAMから逆算するか実際に実験してみろとしか

356 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 21:26:38 ID:UrMJj4p/]
オブジェクト指向だとソースの量が増え
クラスなど管理することが増えるので
手間がかかるし、覚えておくのも大変で、後から追加するときなども
いちいち解析しないと追加できないので、そこで悩んでいる

そこで構造体で関数と構造体だけにし、クラスを排除し、簡素化し、楽にゲーム製作にいどもとしているんだが
どうだろうか?

357 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 21:38:38 ID:H/Ui7lv7]
関数型言語だな

358 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 21:53:35 ID:KL5bquCP]
いいんじゃね?
メンテのしやすさで俺は構造体使ってるよ
今の時代パフォーマンスなんてそれほど変わらないんだし
自分が見やすいかどうかが最重要

359 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 22:18:14 ID:jk9lWcsB]
適材適所で使い分けられたら良いと思う

360 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 23:43:11 ID:27IGqo7d]
>>356

C++ vs 純粋C

ということかな?

361 名前:名前は開発中のものです。 mailto:sage [2009/02/06(金) 23:54:10 ID:TAltxXAk]
というか>>356がオブジェクト指向を理解していないだけな気が。

362 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 00:02:41 ID:PRstJ7Nj]
プログラムはスクリプト読み込めるように作っとけば適当でよくね?
再利用とか考えるより、効率よくステージを作る方法考えたほうがいいよ

プログラムのバグ潰しはモチベーション下がるから
ソースコードあんまいじらない仕組みを初めに一気に作るべし



363 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 00:12:07 ID:qvO9PNvj]
>>362
>効率よくステージを作る方法考えたほうがいいよ
同意。

しかし、
気の利いたギミックの汎用的量産フレームワークの発想に取り憑かれると、
いかんともしがたくならね?

364 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 08:53:56 ID:7s0KpNz2]
>効率よくステージを作る方法考えたほうがいいよ
ステージ構成やプログラム設計をきちんとやらないと破綻するよね?
そこで どの方法がベストなのか悩んでいるんだが

365 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 12:55:48 ID:TnMoqfDe]
ステージエディタ最重要
作りこみの効率が大幅に変わる

366 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 16:59:02 ID:XPWWKT8C]
俺も素人だから良く分からないけど、
>>356のオブジェクト指向うんぬんって話とステージ作りの効率化って関係ある話なの?
というか相反する要素じゃないと思うんだけど
あとオブジェクト指向って要は対象がその処理をやるっていうイメージでしょ
大規模になるほどオブジェクト指向でやっといた方がいいと思うんだけどどう?

詳しい人間違ってたら訂正頼む

367 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 18:31:45 ID:Sui9BRnn]
>>365
うp!

368 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 18:43:37 ID:Sui9BRnn]
俺は基本グローバルな構造体で、ソースコード分けるために無理やりクラス作ってる感じ
ステージ、敵、弾の定義は多分一番普通なやつ


set 敵の種類 X座標 Y座標
set 敵の種類 X座標 Y座標
sleep 待機時間
set 敵の種類 X座標 Y座標
sleep 待機時間

こんなのが書いてあるのを配列に読み込んで設置とスリープを繰り返す
敵(弾)もほぼ同じだけど移動部と攻撃部を同時に実行してく
画像ファイル名、当たり判定の大きさ等もヘッダに書いとく


//移動 (sleepの間は増加量を変えないで動き続ける)
move 角度 速度
sleep 待機時間
move 角度 速度
sleep 待機時間
・・・
//攻撃
sleep 待機時間
nway WAY数
sleep 待機時間
make 敵の種類(特殊な動きをする弾(敵)をだす)
・・・

369 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 18:54:15 ID:TD1JXYnJ]
面はいいけど
敵が未だにできない。
ソースコード直。

370 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 19:05:31 ID:PPweItha]
うpってこんな感じかと思った。
ttp://a-draw.com/contents/uploader2/src/up3255.jpg.html

371 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:18:51 ID:aITFKn0s]
真面目に見ようと思ってるのに、どうしても左上の眉に目が行く

372 名前:名前は開発中のものです。 mailto:sage [2009/02/07(土) 20:27:56 ID:PPweItha]
ここは半角板じゃあらへんで。 つ>>371

何となくスレに出てくる単語を繋いだら、過去に弄ってた物と一致した気がした。
・ライフゲーム(1セルオブジェクト)
・スクリプト
・汎用的量産フレームワーク(意味不w)
・sleep 待機時間



373 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 10:42:03 ID:LVw4EUev]
>>356
まー。継承を使わないなら無理にクラスを使う必要はないよ。
そもそも継承自体も適切な使用をしないと返って煩雑になるだけだし。
JavaやC#は構造体がなかったり、参照型の構造体が定義できなかったりするからクラスになるけど。

374 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 11:45:38 ID:x6XD/8wC]
その言い方だと誤解しやすいぞw
Javaには構造体が無くて、C#には値型として構造体がある。

375 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 18:41:46 ID:ZAK2gUTB]
お前らのステージエディタ見せろ

376 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 22:16:40 ID:Pn0RyiLu]
まずお前が見せてくれ
話題としては興味ある

377 名前:名前は開発中のものです。 mailto:sage [2009/02/08(日) 23:50:03 ID:OdbXdqqn]
上の話の流れから言って、>>365ぐらいしか作って無くない?

例えば、手打ちの俺はこんなことしてる。
1.pause機能を加える。
 ・トリガーとなる時間(ステージ開始からのフレーム数なんなり)を表示。
 ・pause中だけマウスカーソルを表示させて、オブジェクトと重なったらVSのbreakが掛かるようにする。
 ・break中に、識別番号やら座標やらを取得。
2. 1.の情報を元にテキストエディタで追加。
3. Cut&Try

この作業を肩代わりしてくれるツールをGUIとかで作るの?

378 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:16:04 ID:UkCGE4Ld]
よし、じゃあ俺のやり方を教えよう。
俺はMS-Excel2007でステージエディタを作っている。
キャラのプレビュー画像を用意して、MS-Excelの図形で表示させたりしている。

他の奴もエディタ問題の解決法教えれ。

379 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:27:55 ID:bnEG9l2P]
今、ちょろっとやってみたんだけど、csvじゃ無いんだな。
うちがoffice 2003だからダメなのかもしれんが。

380 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:30:18 ID:UkCGE4Ld]
>>379
csvってカンマ区切りのことだよな。
出力データの話か?
出力ファイル形式は何でもいいんじゃねえの。

381 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:38:41 ID:bnEG9l2P]
>>出力ファイル形式は何でもいいんじゃねえの。
何でも読めるゲームアプリ作ってるなら苦労は無いわなw

csvでは、セル情報と共に画像も消えるので残念だ。
ちょっとマクロを挟んでから出力させるか、xls読ませれば良いだけで、
Excellの各種機能が使えるのは楽かも。

382 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:42:13 ID:DhOAYtpm]
>>368みたくスクリプト使ってる人も多いんでね?俺もスクリプト派。



383 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:46:11 ID:UkCGE4Ld]
まあ好きにやってくれ。

384 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 00:48:38 ID:UkCGE4Ld]
>>381
>>383

385 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 01:07:16 ID:UkCGE4Ld]
>>382
スクリプト直編集だと、位置の調整が面倒臭くね?
スクリプト編集→実行して画面確認→スクリプト修正→・・・
みたいにならね?

386 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 01:36:05 ID:yfVHrkfT]
あれ?だれか来たみたいだ
こんな時間にだれだろう?

387 名前:377 mailto:sage [2009/02/09(月) 16:42:57 ID:bnEG9l2P]
>>スクリプト編集→実行して画面確認→スクリプト修正→・・・
ないないw

 ゲームエンジンの作り方は人それぞれだけど、
大概のエンジンでbreak中に座標書き換えたら
敵とかアイテムとかテレポートするよな?

 一時停止中に良いと思える位置まで微調整して、その座標をメモって
軽く逆算すればスクロールインする時間も求まってるよね?

388 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 18:09:48 ID:wk3y2YCS]
DirectX学習中のものです。こういう初心者の質問は他でやるべきですかね。

弾の描画で困っています。
下の画像、左が自作のもので右が弾幕風のものです。
blog-imgs-24.fc2.com/f/r/o/frontiersman/WS000008.jpg

どちらも角度を指定して弾を発射する処理を行っているのですが、
弾幕風のように滑らかな表示ではなく、いやにガクガクした動きになってしまいます。
ドット単位でしか表示できないみたいなのですが、DrawPrimitiveで描画すること自体が間違っているのでしょうか?
それとも何らかの工夫を施しているのでしょうか?

判断に必要な情報があれば指定してください。お願いします

389 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 18:44:24 ID:bnEG9l2P]
俺が生粋のDirectXユーザーじゃ無いので、余り助けにならないかも知れないが…、

画像を見た感じ、小数点以下を切り捨てて居るように見える。
DrawPrimitive()というか、固定機能で射影行列無しなら、
800x600の画面中なら、(370.5f,423.1f)なんて座標も行ける。

 次問題なのはエフェクト ステートのSetSamplerStateだが、こっか
らさきはググッた方が速いな。

390 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 18:58:43 ID:bnEG9l2P]
最後、これはJavaやC++のboost.とかforeachのある環境だけなので、余計なお世話だけど、

 画面外に出た弾を消など配列の長さが変わったりすると、foreachが途中で止まって
しまい、直線に並ばない事があった。

それならこういう画像にならないハズだが。

391 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 19:45:29 ID:sWcYFprK]
>>388
座標をintでやってるとかじゃない?
つーかこういうときはソースを上げたほうが回答しやすいと思うよ

392 名前:388 mailto:sage [2009/02/09(月) 20:09:43 ID:wk3y2YCS]
SetupTexSamplerState( g_pD3DDevice , kTSS_LINEAR );を使って
線型補間を行ったところうまくいきました。
本のサンプルでは見栄えが変わる程度にしか書いてなかったこともあって、完全に見落としてました。
皆さまありがとうございました。



393 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 20:18:57 ID:bnEG9l2P]
>SetupTexSamplerState に一致する情報は見つかりませんでした。
ttp://www.google.com/search?client=opera&rls=ja&q=SetupTexSamplerState&sourceid=opera&ie=utf-8&oe=utf-8
世界は広いなw
頑張ってください。

394 名前:388 mailto:sage [2009/02/09(月) 20:39:06 ID:wk3y2YCS]
オリジナルの関数だった。。
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MIPFILTER , D3DTEXF_LINEAR );
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MAGFILTER , D3DTEXF_LINEAR );
g_pD3DDevice->SetSamplerState( 0 , D3DSAMP_MINFILTER , D3DTEXF_LINEAR );
中身はこれですね。。手つかずの部分を改造してきます

395 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 21:03:49 ID:UkCGE4Ld]
>>387
必ずしも一回で位置が確定するわけじゃないだろ。
結局、
>>スクリプト編集→実行して画面確認→スクリプト修正→・・・
となると思うが?間に起動位置逆算の作業も入るのか。
俺はそういうやり方は煩雑で、成果としての遊びの質を下げると思うな。
ま、好きにやればいいと思うが。

396 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 21:10:23 ID:bnEG9l2P]
>>実行して画面確認
が 一時停止とbreak中の座標書き換えで収まる。
と書いて居る。

そう読めないのがよく解らない。

397 名前:名前は開発中のものです。 mailto:sage [2009/02/09(月) 21:21:41 ID:UkCGE4Ld]
>>396
「一時停止とbreak中の座標書き換えで収まる」位置を、1回決めたとして、
それが最後まで修正されることはないのか?
画面見て、やっぱもうちょっとこっち寄りの方がいいなとか思ったら、
逆算して、スクリプト編集するんだろ。

398 名前:377 mailto:sage [2009/02/09(月) 21:28:01 ID:bnEG9l2P]
>>377
>例えば、手打ちの俺はこんなことしてる。
>1.pause機能を加える。
> ・トリガーとなる時間(ステージ開始からのフレーム数なんなり)を表示。
> ・pause中だけマウスカーソルを表示させて、オブジェクトと重なったらVSのbreakが掛かるようにする。
> ・break中に、識別番号やら座標やらを取得。

一時停止(pause)とbreakは別なの。
一時停止(pause)中にF5押す度に、ウォッチ式を書き換えた新しい位置にキャラ動かして画面に表示されるの。
何百回くりかえしても良いの。 一時停止(pause)を切るまで。

人の書いてる事を婉曲させないで。
俺も君のアプリはxlsが読めるマロア画企マロア画企マロ
(^ω^ )

399 名前:名前は開発中のものです。 mailto:sage [2009/02/26(木) 18:38:54 ID:DtL54jOj]
何この流れ・・・












>>556いいIDですね

400 名前:名前は開発中のものです。 mailto:sage [2009/02/26(木) 19:41:24 ID:Q2gTHi5s]
何この流れ・・・












>>556いいIDですね

401 名前:名前は開発中のものです。 mailto:sage [2009/02/26(木) 20:33:54 ID:jXUUuFnP]
>561
なんでだろう…水平のはずなのに
ドンキーコングみたいに斜めに傾いて見える。

402 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 00:34:00 ID:MTNvmPFd]
>>561
おれも斜めに見える。
煽りのくせにいいスキルをもってるな。。



403 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 00:48:49 ID:495+w4CM]
そんな使い古されたコピペに感動するレスしてどうする

404 名前:名前は開発中のものです。 mailto:sage [2009/02/27(金) 00:49:39 ID:C2LGhPqJ]
>>566
感動するレスまでがコピペ

405 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 10:21:37 ID:OTlbnBJs]
>>450
亀だけど

E構造体の宣言には”}”の後にセミコロンをつける

orz

406 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 11:53:28 ID:9wM7nouk]
誰か矩形と点の衝突判定の方法を教えてくださいな(C++)

407 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 14:32:29 ID:VISRpTLr]
>>568
クラスもな

>>569
点が矩形の縦と横の範囲内なら衝突
「点」じゃなくて「円」だったらちょっと変わる

408 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 15:52:53 ID:9wM7nouk]
>>570
説明不足だった
「回転した矩形と点」だった
円と回転した矩形の判定ってスパッとできるものなの?

409 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 16:19:30 ID:VISRpTLr]
>>571
点と2つの線分として判定するとかどう?内積。
スパッとやる方法は思いつかない。

410 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 16:42:06 ID:TEDvPeCP]
>>571
回転した矩形をもとにもどして、もどしたぶんだけ点を移動させるってのがあるらしい


  ・



..・

こんなかんじ

411 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 16:44:50 ID:9wM7nouk]
>>572
やっぱり3回くらい判定いるよね
内積…とか数学チックな単語が出てくると脳がとろけだすんだがC++で回転矩形と点の衝突判定はどんな感じに書けばいいかを知りたい…
引数は矩形の4点の角のxy座標と点のxy座標

412 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 16:46:44 ID:9wM7nouk]
>>573
その発想はなかった
俺の作った「角度と距離を渡すと座標を返す関数」が役に立ちそうだ

ちょっと考えてみよう



413 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 16:49:32 ID:VISRpTLr]
>>574>>575
数学から逃げるなよ
>>573のは「回転行列」とか調べれば分かるはず

414 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 17:02:34 ID:9wM7nouk]
>>576
その回転行列?っぽい方法でなら実装できそうだ
がんばってみる

415 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 17:08:24 ID:VISRpTLr]
>>577
あ、もしかしてまだ習ってない年齢とか?
そしたら言い方が悪かった
「回転行列」とか「一次変換」とか。三角関数が分かれば理解できると思う。

416 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 17:25:53 ID:9wM7nouk]
>>578
いや…なんというか…俺の通ってた高校がちょっとアレなとこでな…
高2くらいの時に三角関数の基礎は習ったっぽいんだがそのあと二次関数と三角関数の基礎を往復してたんだ…

一応sinとかついてる関数の使い方やラジアンうんたらは自力で勉強してそこはかとなく理解した
んで今作ってるシューティングにどうしても矩形の判定を使うシーンが出て来て/(^o^)\
ググってみて回転行列はよくわからんかったがとりあえず俺の作った「点pと点qの座標を渡すとp→qのラジアンを返す関数」を使えば何とかなりそうだ

417 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 17:28:57 ID:VISRpTLr]
>>579
自力でできてるならなんとかなるじゃん。頑張ってね。

418 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 17:41:00 ID:9wM7nouk]
>>580
(・∀・)b

ID:TEDvPeCPも超ありがとう

419 名前:名前は開発中のものです。 mailto:sage [2009/03/03(火) 21:07:08 ID:9wM7nouk]
実装できたぜ
www.dotup.org/uploda/www.dotup.org4085.jpg

改めて御礼を申し上げます(・∀・)

420 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 02:47:16 ID:c679wlvv]
絵を見ながら考えてみた。三角関数使わなくても
直線と点の距離で判定することも可能

レーザの直線をL、判定する座標をPとした場合、
直線Lに直交し座標Pを通る直線L'を求め、
直線Lと直線L'の交点と、座標Pの距離を求める。

421 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 05:41:14 ID:kXQL8zXx]
画像だけなんでしょ?

422 名前:582 mailto:sage [2009/03/04(水) 06:11:33 ID:1TDttkKc]
電話から失礼(・∀・)
>>583
なんか難しそうだな…
家帰ったら考えてみる

>>584
青◇は画像、赤◇は当たり判定、白◇と白○は回転したレーザーと自機の当たり判定を関数で表示させてる(・∀・)ちゃんと当たり判定あるぜ



423 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 11:37:54 ID:lY36xohs]
>>583は内積の公式がそのまま使えるってだけなので…
学校で習うことも無駄では無いよぐらいのお話
だから
>直線Lに直交し座標Pを通る直線L'を求め、
は補助線だけで、計算する必要は無い

どちらかというと公式でググると全然出て来ないゆとり社会に絶望した
…仕方ないから描いた
ttp://www.dotup.org/uploda/www.dotup.org0763.jpg

上の回転前のでよくね?

424 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 11:51:22 ID:AkgUqz4M]
レーザーを直線だとすると中学で習う y = ax + b の公式が使えるんじゃない。
接触したかどうかは目標の座標がこの公式に当てはまるかどうかで判定できないかな。
もっとも誤差をどうするかっつ問題もあるが。

425 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 11:53:42 ID:5CMIzNbi]
画像キャッシュにおっぱいなメイドが残っててちょっとびっくりした

426 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 14:46:59 ID:kXQL8zXx]
管理の機能ってなに?と聞いたら

まあ、全部クリックでジャンプ機能なんだが。
くわしくは、「ファセット分類」でググれ。

と友人から回答
こんな口の利き方のやつのために誰がツール作るかって感じだね
アイマスヲタ( ゚Д゚)<氏ね!

中野区から杉並区に引越し?
キモさがさらに増すねw糞
もう30代 市ねよとしか

427 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 15:26:30 ID:oZbYQf/b]
その友人とやらが見たら一発で特定される情報満載だがわざとか。

428 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 15:31:36 ID:lY36xohs]
NGIDにレスしない
「内積」が地雷だったらしい  ごめんね

429 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 15:38:15 ID:kXQL8zXx]
アホだから分からんよ

430 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 16:13:28 ID:6k5gw4bE]
>>587
数学的にはそれでもおk
点の座標を任意の曲線に代入したとき、解となるか

でもコーディングのしやすさとかから結局内積か一次変換に辿り着く

431 名前:582 mailto:sage [2009/03/04(水) 17:09:34 ID:YGcqHfCc]
な、内積…?に…日本語で…

432 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:18:24 ID:6k5gw4bE]
内積って日本語じゃなかったのか
ちなみに>>583は単なる外積



433 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:34:27 ID:lY36xohs]
>>594
>>583を図に描いて
ttp://www.dotup.org/uploda/www.dotup.org0763.jpg
っぽくなってればおk
D3DXVec2Dot()があるから内積は求まる
あと
sin^2+cos^2=1
つまり
a^2*sin^2+a^2*cos^2=a^2
かな

実は外積ベクトルの長さでもいいんだw
|a x b| = |a||b|sinθ
べ、別に知らなかった訳じゃないぞ!

434 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:43:13 ID:6k5gw4bE]
>>596
「点と直線」ならそれでおk
「点と線分」だったら長さの制限も必要

435 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:46:57 ID:lY36xohs]
>>597
「点と線分」だからこうやって逃げてる
0≦|a|cosθ≦|b|


ごめん。 ウチは2次の外積って使ったこと無い。
外積だと線分を定義出来るの?

436 名前:582 mailto:sage [2009/03/04(水) 17:47:15 ID:YGcqHfCc]
sinとかそーゆーのはCの関数に丸投げしてるからよくわからんのだ…
正直三角関数も三平方の定理?くらいしかよくわからんww

けどゲーム動く!ふしぎ!!^p^

437 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:49:01 ID:pxzxR280]
>>599
三平方の定理は三角関数じゃないぞ…

438 名前:582 mailto:sage [2009/03/04(水) 17:50:58 ID:YGcqHfCc]
>>600
なん…だと…!?

439 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:53:01 ID:PEZ4h1/D]
すごいね

何がすごいって
その昔ゲームプログラムの雑誌投稿とかしてた小中学生は
塾や独学で高校レベル大学レベルの数学を身に着けていたのに
今はそういう努力をしなくてもゲームが作れることを実証してしまっているという事実が

440 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:56:38 ID:eMTzYVfZ]
少しぐらいは勉強汁

441 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 17:57:57 ID:6k5gw4bE]
>>598
それでおk
若しくは、端点2つから角度判定するとかもあり
どっちが高速かは知らんが

そして>>602に全力で同意
知らないのは罪ではないが、知ろうともしないのは大罪。

442 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 18:17:36 ID:lY36xohs]
2次元の外積ってなんだったんだ?



443 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 18:29:39 ID:kXQL8zXx]
>>602
どうせ応用利かないし 動くものをうpしないし 口だけだし
ただの駄スレ

444 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 18:38:02 ID:YGcqHfCc]
うpしたのは去年9月が最後だったかな…

445 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 21:05:48 ID:kXQL8zXx]
www.youtube.com/watch?v=HTMQIBypM1E

446 名前:名前は開発中のものです。 mailto:sage [2009/03/04(水) 22:15:05 ID:EHouFaTB]
またキチガイが沸いてるな

447 名前:名前は開発中のものです。 [2009/03/05(木) 00:48:55 ID:d60hqFFF]
DirectXを直に叩いて2DSTG作ってる人に質問。
2DSTGだと長方形描画がメインになることが多いけど、頂点バッファって使ってる?
四角を書くだけならDrawPrimitiveUPでもそんなにデータ転送発生しないし、
そんなにデメリットないのかなぁと。

448 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 01:45:31 ID:YZiaSlgc]
>>605
お前は外積を何だと思ってるんだ?

449 名前:583 mailto:sage [2009/03/05(木) 02:17:45 ID:IWxpnIkp]
>>582
中学校でならった公式が役にたてる日がくるなんてなー
とか思いながら書き込んだんだ。直線の傾きを求める方法の方が
良いからとかいう思いはなかった。余計な一言だったらごめん。
回転前の座標に変換してから判定する方法で動いているのだから
そのやり方で良いとおもいます。

あと>>602
勉強しなくても良いと言うわけでなないけど、数学を頑張らなくても
ゲームを作れるライブラリがあって、それが目的に合ったものなら
使うべきじゃね?
プログラミングのコツは、いかに楽をするかだと思う。


450 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 02:29:16 ID:YZiaSlgc]
>>612
>>602が「ライブラリを使うな」と書いてあるようには見えないけど

451 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 02:46:28 ID:brqYBTxt]
軽く皮肉ってるようには取れるな

452 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 02:49:20 ID:YZiaSlgc]
皮肉られるのは当然だろwww



453 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 02:50:17 ID:w2SNAszt]
自嘲も含まれてる気がするな。
まぁいいじゃん。どうでも。

454 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 02:51:26 ID:YZiaSlgc]
でも三角関数くらいできてほしい

455 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 02:58:51 ID:sodOyuM3]
>>613
おちつけ、>>612に対するそのレスはちょっと暴投だぞ

456 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 03:01:36 ID:sodOyuM3]
レスが進んでタイミングずれてるしorz

457 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 03:01:38 ID:YZiaSlgc]
>>618
>ゲームを作れるライブラリがあって、それが目的に合ったものなら使うべきじゃね?
俺はこの発言を受けたまでだが。

458 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 03:04:47 ID:brqYBTxt]
>>620
だから皮肉ってると思うならその内容は何だと思ってるんだよ

459 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 03:09:59 ID:w2SNAszt]
>>620

602はいわば「さびしい世の中になっちゃったね」と言ってて
612はそれに「そんな捨てたもんじゃないですよ」と言ってて
話は噛み合ってるんだから、613のレスはズレてる。

460 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 03:14:35 ID:YZiaSlgc]
>612はそれに「そんな捨てたもんじゃないですよ」と言ってて
俺は「目的にあった便利なライブラリなら使うべきじゃない?」と言ってるように見えた。
前提から俺が間違ってたね。

461 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 03:18:43 ID:39/f14G9]
お前らシューティングの話以外だと急に盛り上がるのな
つまんねぇ言い合いしてねぇで技術的な話しろやアホども

462 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 09:20:01 ID:/7Ei5x6Q]
ゲームできちゃったらインストーラー作りたいじゃん?
あれってなんかライブラリかパッケージかなんかあんの?



463 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 09:29:07 ID:UZtmr8UQ]
フリーソフトでインストーラとか気持ち悪いよ・・・

464 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 09:35:47 ID:if7dF5u6]
>>625 Inno Setupとか。

465 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 13:28:50 ID:ibiz+wEo]
フリーとか体験版でインストーラー使わないと始められないものは
DLしてもゴミ箱行きだ

466 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 14:54:12 ID:1d/NzH52]
>>624
わかったよ。

Moveってひとくくりにしてるけど実際の所、関数をさらに細分化すると管理しやすいと思わん?
座標移動、オブジェクト(弾)の生成、消滅判定、衝突判定とか。

1、とりあえず全員動かす。
2、弾やザコを追加する。
3、画面外の敵や弾を消す。
4、衝突判定する。

どうだろう




467 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 16:29:50 ID:39/f14G9]
>>629
むしろ移動とか(別の)オブジェクトの生成をどうやって集約してんだよ
普通に作ってりゃいくつかの関数に分かれるだろ

468 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 16:32:07 ID:rEiNGvky]
技術的な話したかったら話を広げる努力しろよwww
俺はしないけどwwww

469 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 16:53:26 ID:39/f14G9]
>>631
消えろよカスwwwwwwwwww

470 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 17:24:46 ID:1d/NzH52]
>>630
俺に聞くなよ。そこら辺のMove、Drawに分けるべき、で解説が終わってるサイトに聞けよ。

471 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 17:28:30 ID:39/f14G9]
>>633
おいおい、逆ギレか?ww
馬鹿め、自分の無能を呪えよアホww

472 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 17:50:45 ID:brqYBTxt]
>>629で何が言いたいのか意味分からん
Moveってひとくくり?何の話?
各オブジェクトにとりあえずMoveとDraw作ってそこに適当に関数作ったりしながら処理を書いてくんじゃないの?





473 名前:名前は開発中のものです。 [2009/03/05(木) 18:42:04 ID:1d/NzH52]
>>635
ん、そうだよな。ただ自分の場合
Move()、Fire()、Exists()、Touch(オブジェクト a,オブジェクト b)、Draw()で決まりきって今の所問題もないからふと疑問に思って。

474 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 18:49:42 ID:/7Ei5x6Q]
何が何だかワケワカメ

475 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 19:17:32 ID:brqYBTxt]
>>636
だからFire、Exist、Touch等はMove内の処理だろ?
各オブジェクトの移動と描画をMoveとDrawに分けてるんだから
細分化って何をどうしたいんだ?

476 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 19:20:00 ID:FsoDo+yK]
おちつけ

477 名前:名前は開発中のものです。 [2009/03/05(木) 19:57:43 ID:K8fBdWo9]
俺はこんなの。
各自オブジェクトがスクリプトで行動を切り替えてる。
自殺もするのでオブジェクトを管理して回してる奴が生き死にを確認したりもしてる。
 
//インタプリタなスクリプト。Objectから呼んでActionを主に更新する。
class Script{
  
};
 
//MoveとかFireとかの基底のインタフェース
class Action{
  bool update(void);//処理が終了していたらtrueを返すとかそんなの
};
 
//敵、自機、弾、その他の基底のインタフェース
class Object{
protected:
  Script scr;
  Action act;
public:
  void update(void);//この中でact.update()を処理したりScriptを呼んでactの切り替えをする。
  void draw(void);//描く
};
 
なんか面白い組み方があったら教えてほしい。
という技術の話題を振ってみる。

478 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 20:02:25 ID:1d/NzH52]
なぜか上げてた。特に意味はない。

>>638
なんだ、その。いや、ゲーム全体からみりゃそうなんだが。

if ポーズ中じゃないなら
{
forループ
オブジェクト配列[i].Move()
forループ
オブジェクト配列[i].Fire()
forループ
  forループ
   Touch(オブジェクト配列[i],オブジェクト配列[j])
}
forループ
  オブジェクト配列[i].Draw()

とかやんね?

479 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 20:12:12 ID:1d/NzH52]
>>640
今の所、難易度別の行動設定とか用意してないんで、オブジェクトの行動は敵の種類ごとにべた書きだなー。




480 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 20:19:46 ID:/7Ei5x6Q]
>>640
なんかJAVA JAVAっぽいね
それはおいといて
これの Object 派生させるの?

481 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 20:24:42 ID:g++EGVdD]
>>640>>641同じ人なの?

>>643
この作りでObjectを派生させたらナンセンスだと思う。
オブジェクト配列を派生するなら判る。

派生とかクラス設計の人は
>オブジェクト配列[i].Fire()
>Touch(オブジェクト配列[i],オブジェクト配列[j])
などをやらない
「オブジェクト配列に、Fireを行わないオブジェクトや、
Touchが不用なオブジェクトを入れられ無いっておかしくね?」

…と思うんじゃね?

482 名前:名前は開発中のものです。 [2009/03/05(木) 20:25:20 ID:K8fBdWo9]
>>643
ほとんどのクラスをスマートポインタラッパにしてjavaのようにC++で書いてる。
で、
class Bullet : public Object
class Enemy : public Bullet
とかしてる。
MyShipをどこから派生させると美しいかは毎回悩む。



483 名前:372 mailto:sage [2009/03/05(木) 20:27:09 ID:g++EGVdD]
>>645
3人目ゲット

484 名前:名前は開発中のものです。 [2009/03/05(木) 20:41:04 ID:K8fBdWo9]
>>646
?

485 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 20:45:15 ID:1d/NzH52]
>>644
んにゃ別。

>Objectを派生させたらナンセンスだと思う。
マジカー。Fire()で実装が空とかなんだが。実際Fireしてもほんとに撃つかどうかはオブジェクト依存だしいいかなーと思ってる。
ってかFire()という名前が問題か。

Touchのほうは実際は、自機リスト、敵機リスト、背景オブジェリスト、前景オブジェリスト、などから
2つ選んでハードコーディングする。だからまぁ自機_敵機、敵機_自機弾_自機_敵弾の3つぐらいTouchを利用したループがある。

自分で言っててあんまりきれいな実装じゃないかも。

486 名前:名前は開発中のものです。 [2009/03/05(木) 20:48:41 ID:JU51dqJC]
>>645
継承がis aの関係じゃない時点で美しくない

487 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 20:53:18 ID:g++EGVdD]
富豪的にはありなんだろうけど…。 今俺本当に日本語書けてる?
以下、俺の思い浮かべる評判の悪いクラス設計の例。 「is a」ぐらいは守ってる?
vector<Obj *> ObjArray;
class Obj
{
  virtual void Update()
  {
    Move();
  }
  virtual void Move(){/*実装*/}
};
class EnemyObj :Obj
{
  virtual void Fire(){/*実装*/}
  void Update()
  {
    Move();
    Fire();
  }
};
class EnemyA :EnemyObj
{void Fire(){/*ユニークな実装*/} void Move(){/*ユニークな実装*/}};
class Barrier :Obj
{
  bool IsTouch(Obj tgt){/*実装*/}
  void Update()
  {
    Move();
    foreach(vector<Obj *>,tgt,ObjArray)IsTouch(Obj tgt);//foreachの構文が今ググったら違った!?
  }
};

488 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 20:54:12 ID:/7Ei5x6Q]
>>645
class Enemy : public Bullet
だと Bullet 属性も継承することになるんだが・・・
Bulletクラスに破裂するという操作があると
Enemyにも引き継がれるが

それだったら Object に破裂操作を最初っから純仮想関数で宣言しておき
class Bullet : public Object;
class Enemy : public Object;
の方が自然じゃない?

とりあえず >> 372 のソースが見たいものだが
オブジェクト=メモリのかたまりと考えてるのか?

489 名前:名前は開発中のものです。 [2009/03/05(木) 20:55:41 ID:K8fBdWo9]
>>649
640のObjectは例えで、ScriptとかActionはもう少し上で持ってる。
updateだけを持ってるクラスがだいたいの基底。
で、Enemyは高級なBullet的な定義をするんだけど
(BulletもAbstractBulletみたいなのを作って細分化した方がいいとか悩む)
MyShipはどこがいいのかに悩んでる。
 
どうだろうか?


490 名前:名前は開発中のものです。 [2009/03/05(木) 21:04:28 ID:K8fBdWo9]
>>651
Bulletの破裂はEnemyの死。
Bulletだって弾を撃つことはある。
そんな感じでBulletに出来てEnemyに出来ないことがあまり考えつかないから class Enemy : public Bullet にしてる。
 
あと、EnemyAとかEnemyBってのは作ってなくて、全部スクリプトで決めてる。
 
Enemy img="res/enemy/zako1.bmp" x="100" y="100"
Move r="90" v="100"
Sleep sec="60"
 
みたいなの。

491 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 21:27:03 ID:/7Ei5x6Q]
>>650
それは Prototype パターンだね

492 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 21:39:01 ID:g++EGVdD]
ライフゲームの1セルを1オブジェクトにした実装はしない
と前書いた時通じたかと思った…

>>651
>とりあえず >> 372 のソースが見たいものだが
>オブジェクト=メモリのかたまりと考えてるのか?
DirectXの都合で、同じ描画のオブジェクトを集めたい

言語が痛いので、模擬コードです
class DrawAbleObj
{
  描画位置配列;
  void Draw(){/*SetStreamSource()1回に、SetMatrix()とDrawPrimitive()を配列要素数回 */}
  virtual update()
  add(座標)…など
}
class bullet :
class enemy :
class enemy_bullet :
/*初期化*/
DrawAbleObj配列.add(new bullet())
DrawAbleObj配列.add(new enemy())
DrawAbleObj配列.add(new enemy_bullet())
/*メインループ内のDraw*/
  foreach(型,i,DrawAbleObj配列)
    i.Draw();

>>652
MyShipに継承させたい物はあんまりないな
グローバルまで行かなくても、参照されて困らない所に在ればよくね?



493 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 21:39:53 ID:/7Ei5x6Q]
>>653
その構造だと Enemy インスタンスが消滅すると
Bullet インスタンスも消えてしまうけど
Bullet インスタンスを残しておきたい場合などの表現が不可能になる

Enemy *enemy = new Enemy
enemy->Fire(); // ここでbulletが複数作られる
enemy->End(); // 敵の消滅
delete enemey; // ここでbulletも全部消える

継承という概念が分かってない
どこかで不具合がでてくる
設計で悩んでる

494 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 21:45:45 ID:/7Ei5x6Q]
>>655
君は問題ない

495 名前:名前は開発中のものです。 [2009/03/05(木) 21:47:03 ID:K8fBdWo9]
>>656
Enemyが死んでもBulletは死なないように作ってる。
なんでBulletが消えるのか分からない。
EnemyのFireをBullet管理者が受け取ってBulletが生成されてるだけで、Enemyとの関連はない。

496 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 21:47:30 ID:sv4Dn5ZX]
一体何の話かわからない俺はベターC

497 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 21:53:28 ID:g++EGVdD]
>>654
いちお、生存期間中にCloneを作る事はないよ

自称Strategyのつもり、Update()に多態性を持たせたい
しかし、生存期間中にEnemyAがEnemyBにキャストされるような事はないので、自称

>>657
thx

498 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 21:59:43 ID:/7Ei5x6Q]
#include <stdio.h>

class Object
{
protected:
double x;
public:
virtual void Fire() = 0;
};

class Bullet : public Object
{
public:
virtual void Fire();
};

class Enemy : public Bullet
{
public:
virtual void Fire();
};

//----------------------
// 永遠に呼ばれない
void Bullet::Fire()
{
x = 2.0;
printf( "%f\n", x );
}
//----------------------


499 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:00:07 ID:/7Ei5x6Q]

void Enemy::Fire()
{
x = 1.0;
printf( "%f\n", x );
}

void main()
{
Object *obj = new Enemy;

obj->Fire();

delete obj;
}

となり無駄が生じる

500 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:03:17 ID:kKvbso12]
>656こんな事言う人に問題ないと言われても安心できないと思うんだが
というかID:/7Ei5x6Qがなにを言いたいのか分からない


501 名前:名前は開発中のものです。 [2009/03/05(木) 22:06:05 ID:K8fBdWo9]
>>661
BulletもEnemyもFireは持ってない。
BulletもEnemyも呼ばれるのはupdateとdrawだけ。
それぞれの行動はupdateの中でScriptが決めてActionに実体がある感じ。
 
class Fireはないけどあえて書くなら
class Fire : public Action
class Move : public Action
みたいになっている。

502 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:11:08 ID:/7Ei5x6Q]
>>664
すまんね ちと混合していた
Fire() はないようだね

君は Composite パターン

問題ない

ただ、複雑になるのはある程度予測しといた方がいい



503 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:15:21 ID:/7Ei5x6Q]
>>664
いや
class Enemy : public Bullet
ここが問題

それでいくなら Decorator パターン

class Decorator : public Object
class Bullet : public Decorator
class Enemy : public Decorator
class MyShip : public Decorator
ではどうかね?

504 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:21:16 ID:g++EGVdD]
>>663
>>656のミスリードには気付いてたけど、僕がいう事じゃ無いし

後はみんなの好き嫌いをアンケート程度の気分で聞いておく
>>661
ぐらいだったら、僕は許すな
アンチパターンも許すけど、

>Draw(){/*SetStreamSource()1回に、SetMatrix()とDrawPrimitive()を配列要素数回 */}
は譲れないな

505 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:23:48 ID:/7Ei5x6Q]
>>660
なるほど EnemyA, EnemyB に目がいっていた

君がしたいのは Iterator パターンでは?

506 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:50:23 ID:/7Ei5x6Q]
//----------------------
// 永遠に呼ばれない
void Bullet::Fire()
{
printf( "部長ぉぉぉぉぉぉぉ!!!\n" );
}
//----------------------
とかしてもいいかな

507 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 22:53:56 ID:/7Ei5x6Q]
//----------------------------------------------------------------------------
// 永遠に呼ばれない
void Bullet::Fire()
{
MessageBox( HWND_DESKTOP, "返事がないようだ ただの屍のようだ", "error?", MB_OK );
or
MessageBox( HWND_DESKTOP, "パターンが分からないようだ", "error?", MB_OK );

}
//----------------------------------------------------------------------------

508 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 23:03:09 ID:vElUtQql]
いまさらだけど、>>656
>Enemy インスタンスが消滅すると
>Bullet インスタンスも消えてしまう
な に を い っ て い る ん だ ?

継承を理解してないな。


それはそうと個人的には class Bullet : public Enemy なんだけどな。 弾は特殊な敵って意味合いで。

509 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 23:13:05 ID:/7Ei5x6Q]
>>671
ミスリードと言ってるだろ

反応ないから寝る

510 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 23:16:48 ID:/4jagLW1]
なんとなくメモリの動的確保をしたくない俺は
ずらずらとスパゲティ書いてるw

511 名前:名前は開発中のものです。 mailto:sage [2009/03/05(木) 23:42:12 ID:1d/NzH52]
うむ。まだデザパタがまだ生成パターンしか読み終わってないうちにはちと辛いな、デザタパで説明が完結されるとorz
てかみんな柔軟だな。実際のコードを覗いてみたいぜ。・・・C++は多分読めないけど

512 名前:名前は開発中のものです。 [2009/03/06(金) 00:03:12 ID:Eu3rRFpD]
>>674
ID:/7Ei5x6Q の言ってることはあまり気にしない方がいいよ。



513 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 07:29:29 ID:xstPUn85]
>>675
ID変えてからの反応ではもう誰も信頼せんよ
そんなに否定するなら代案だせよ

ID:K8fBdWo9「だれか〜このソースどうにかしてくれませんか〜?」
ID:/7Ei5x6Q「こういうのはどうかね?」
ID:K8fBdWo9「・・・」

この船は先に進むんですか?

514 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 08:00:37 ID:UQFJ8zhz]
>>676 港につきません。

515 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 11:06:50 ID:HHW0AAKz]
どこをどう勘違いしたら>>656みたいな解釈になるんだ。

ていうか

>継承という概念が分かってない

ってのはID:/7Ei5x6Q 自身の話かな。
とりあえずC++のサイト回って勉強してみては?

516 名前:名前は開発中のものです。 [2009/03/06(金) 12:07:53 ID:Eu3rRFpD]
>>676
ID:K8fBdWo9が低レベルすぎて話にならない所をやんわり流してるんだろ。

517 名前:名前は開発中のものです。 [2009/03/06(金) 12:11:05 ID:Eu3rRFpD]
>>676
間違えた
ID:/7Ei5x6Qが低レベルすぎて話にならない所をやんわり流してるんだろ。

518 名前:/7Ei5x6Q mailto:sage [2009/03/06(金) 12:58:32 ID:xstPUn85]
そうなのかい?
君のはデコレータパターンとコンポジットパターンの組み合わせだよ
もしくはパターンに当てはめられるのが嫌だったのかな
ごめんよ・・・

519 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 13:07:51 ID:q2+zc1Kz]
クラス?継承?new?知らんがな(´・ω・`)

構造体最強ヒャァハァァァァー

520 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 13:36:30 ID:dVN9ZSyA]
よう、俺。

521 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 13:57:04 ID:C76RJ9rx]
>>682 その結論はオカシイ
 このパターン厨の書いてることは、パターンの名前で
ググる事ができる奴が見たら赤面もんのことばかりだぞ…

>>674の持ってる本がちょっと分厚過ぎるじゃないか?
GoFは、たった23個しか無くて判りやすい図が入ってる


…STG制作にはアンチパターン>>655が要る事もあるが、
発想の種子ぐらいにはなるんじゃない?

522 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 14:06:02 ID:q2+zc1Kz]
>>684
いや、俺はガチで会話についていけないだけだww
最近になってポインタの使い道がわかって喜んで関数作って動いてSUGEEEEEEEEってやってるレベルだ

独学マンセー



523 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 14:15:36 ID:wgorap74]
みんな いったい誰と戦っているんだ!?

524 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:03:36 ID:xstPUn85]
ブルマは脱いだらアカンがな(`・ω・´)

525 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 16:33:57 ID:QhFILLD4]
このスレでは、そんなシューティングゲームの製作技術や技術の検証、成功談
失敗談笑い話、難易度の設定方法論、多弾の是非などについて語り合いましょう。
もちろんBulletMLなどで弾幕を作成してみたり、自分の作ったシューティングを
晒してみたり、プロジェクトをはじめてみるなどもOK!


何でここ喧嘩と設計の話ばっかりなの?
実際に作ってる奴いるの?

526 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 17:41:36 ID:wgorap74]
これは自作自演でうpする前フリだな

527 名前:685 mailto:sage [2009/03/06(金) 18:57:39 ID:E7ymH2OK]
作ってるぜっ(・∀・)半年前に一度うpしてるぜ

528 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 19:33:21 ID:fB/frkhf]
頑張ってクラスとか継承とか使ってみるものの、こんがらがって死ぬ
設計がいかに大事かがセッ分かった気がする

529 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 19:49:27 ID:g/bnT2ZX]
俺はObject クラス作って基本、自機や敵、それらの弾、爆発、背景等はみんなObjectから派生させて作ってる
敵から出る弾は当たり判定チェックの関係上、壊せる弾は敵と同じ扱い(Enemy派生)、壊せん奴は別扱い
ただ、getxとか使うとイメージ的に負荷かかりそうで座標とかpublicにしてるためStructチックになってしまってるorz
以前は強引にfriend使ってたw
まあとりあえず完成させればいいよな、どこかは言わんが以前別スレにうpしてる

530 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 19:58:07 ID:CCKZ0ZvT]
>>692
特定した

531 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 20:04:30 ID:xstPUn85]
>>692
当たり判定は どこのクラスでやってる?

532 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 20:35:02 ID:t1RJlJqe]
作ってるぜ、劣化サイヴァリアみたいなの。ここのレスはレベルが高くて理解出来ないけど。



533 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 20:40:28 ID:C76RJ9rx]
この流れなら言える!!
ちょい前までゲーム制作ブログのオマケでSTGも挙げてたけど、全部消してバックれたぜw


…移転先や安否を気遣うメールは一通たりとも来なかったぜ… orz
きっと、色々内情を察してくれたんだ、多分、きっと多分

534 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 20:45:54 ID:g/bnT2ZX]
当たり判定はゲーム本体のクラスでやる予定(以前はグローバル関数でやってた)

535 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:37:07 ID:xstPUn85]
>>696
バックれたら 移転先もわからんだろうw

536 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:42:08 ID:ZZrBBfbz]
>>697
ミジンコがうじ虫になるくらいの進化じゃないか!

マジレスするならグローバル関数でやるのと大差ないぞ、それ。


537 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:50:00 ID:QYwcIkUm]
JAVAで作ってるのは俺くらいか……
つい最近調べてみたら、なんか東方遊夜雀なんてもんが開発されてたりするのね。
ハードル高いwwww

538 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:58:23 ID:g/bnT2ZX]
駄目なのか
他にも敵クラス辺りに当たり判定するメンバ関数作ることも考えてるけど
まあ呼び出すところは変わらんけど

539 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 22:02:00 ID:QYwcIkUm]
普通はbulletクラスかplayerクラスにisHit関数を付けるもんだろう。
だってそうしないと弾固有の当たり判定とかとれないじゃん。

540 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 22:23:03 ID:k/SdMtBY]
>>697
俺の場合、
class CollisionListener {
public:
  int getX();
  int getY();
  int getWidth();
  int getHeight();
  void touched(CollisionListener* obj) // objは衝突相手
};

class Player : public CollisionListener;
class Bullet : public CollisionListener;
class Enemy : public CollisionListener;

/* 衝突判定のカテゴリを分類する。(例:プレイヤなら敵、敵弾、地面と衝突。敵弾ならプレイヤ、地面と衝突) */
enum CollisionGroup { Player, PlayerBullet, Enemy, EnemyBullet, Ground };

/* 衝突検知を管理するクラス(ほんとは○○マネージャとかいう名前はダメなんだとかうんたらかんたら……) */
class CollisionManager {
public:
  void addListener( CollisionGroup type, CollisionListener* listener ); // リスナ(プレイヤ、敵とか)を登録する
  void removeListener( CollisionGroup type, CollisionListener* listener ); // 登録を抹消する
  void detect(); // 登録されたリスナの衝突を検知し、衝突したならリスナのtouchedメソッドを呼び出す
};


541 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 22:27:05 ID:C76RJ9rx]
ぶっちゃけ関連ページが全部消えててメアドだけ生きてるとは普通思わないもんな

>>701
これくらいなら「ダメ出し」があったとしても、クラス設計の善し悪しの話で、
>>702みたいなのをifで逃がすことになると、クラス設計が下手だと言われる。

 その関数の中に、switchやifが沢山含まれるなら、設計を変える事で
良くなる『可能性』があるし、将来の拡張でswitchやifを加えないで済む『可能性』もある


アドホックなswitchやifも許し… 
…今クラス設計の話をしてるんだから、参考にすべきだ(゚Д゚)ハッ!

542 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 22:51:03 ID:QYwcIkUm]
それはそうとおまえらに質問。
クラス名の相談なんだが、敵の弾クラスはbulletでいいと思うんだが、自分の発射した弾はなんて名前にするのがベスト?
bulletクラスを継承してないからplayerBulletって名前にするのも変だし……



543 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 22:59:54 ID:C76RJ9rx]
shot に一票

544 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 23:06:52 ID:ZZrBBfbz]
>>705
EnemyBullet,PlayerBullet
って明記してしまえば後で見ても間違わない気がする。
気がするだけかもしれない。

Object -> Enemy -> EnemyBullet
   ├ -> Player
   └ -> PlayerBullet
みたくなるだろうけど、それでよければ。


545 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 23:07:20 ID:QYwcIkUm]
>>706せんきゅー。shotって命名しておいたぜ!
それと、携帯アプリのSTGだとどういうインターフェイスで弾撃たせるのが楽かな?
自動で撃ってしまうとそれはそれで戦略性が低くなってしまいそうなのだが。

546 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 23:09:44 ID:ZZrBBfbz]
>>707は矢印の方向に継承するってことでヨロ。

クラス図としてみたら逆になっちゃうけど突っ込んじゃらめぇ

547 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 23:10:38 ID:CCKZ0ZvT]
プレイヤーの弾はChinkoにして可読性を著しく低下させてる

548 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 23:14:46 ID:ZZrBBfbz]
>>710
おま…それアンタッチャブルじゃないか
触れないです><

549 名前:名前は開発中のものです。 [2009/03/07(土) 14:49:37 ID:oFkRuMFA]
class OchinpoMilkとかやるだろ。
あとで後悔するんだけど。

550 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 15:07:06 ID:bRexpzAJ]
確かにシューティングゲームだな

551 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 05:03:44 ID:j2H/7CnL]
class AbstractManko
{
private:
    virtual long ChinkoPlease(size_t) = 0;
};
//○月×日作成: すべてのクラスはこれを継承してねw名前変えないでねw

552 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 07:56:41 ID:XlVAa9br]
すべての存在はAbstractなMankoから生まれる……



553 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 15:43:28 ID:B8bsQorT]
なるほど。playerはmotherShipクラスから生成されて、enemyはalienMotherクラスから生成されるんだな……

554 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 16:19:58 ID:AO3ln+kr]
ChinkoPlease(size_t) がprivate:って、
ありえねぇーことを宣言するなw。

555 名前:名前は開発中のものです。 [2009/03/08(日) 16:29:42 ID:3kCVX1OJ]
STGの話題じゃないけど
#include <iostream>

class A{
private:
        virtual void aa(void) = 0;
};
class B : public A{
public:
        void aa(void){}
};


int main(void){
        B b;
        b.aa();

        std::cout << "hello" << std::endl;
        char c;
        std::cin >> c;
        return 0;
};

が通るのは何で?

556 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 16:35:19 ID:lUOcnlf/]
何が疑問なのかわからないが、、、、virtual をオーバーライドした関数はvirtual が無くてもvirtual

557 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 16:54:34 ID:iZlPrvU5]
タイプセーフが無いC++的にはこうだよ。 タイプセーフな他の言語から見るととおかしいのだろうけど
#include <iostream>

class A{
private:
? ? ? ? virtual void aa(void) = 0;
public:
? ? ? ? void update(void){
? ? ? ? ? ? ? ? std::cout << "update" << std::endl;
? ? ? ? ? ? ? ? aa();
? ? ? ? };
};
class B : public A{
public:
? ? ? ? void aa(void){
? ? ? ? std::cout << "aa() of B called." << std::endl;}
};


int main(void){
? ? ? ? B b;
? ? ? ? A *a;
? ? ? ? a = &b;

? ? ? ? //a->aa(); エラー
? ? ? ? a->update();
? ? ? ?
? ? ? ? return 0;
}


558 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 16:54:35 ID:XklWG2/f]
???何で通らないと思うのか?

class A の private: virtual void aa(void) = 0;
は、どこでも使ってないから捨てられるだろ?
ちなみに *aa=NULL; って意味だから。aa(); とかやって実行するのは危険だね。
Windows なら特権エラー(不正な処理を実行しましたダイアログ)かな?

class B の public: void aa(void){}
は、main 始まったらすぐ実行されるね。ここは、
public: void aa(void){std::cout << "ot"; }
とでもしとけば?

559 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 16:58:17 ID:XklWG2/f]
>>721
*aa=NULL; はまちがい。aa=NULL;


560 名前:名前は開発中のものです。 [2009/03/08(日) 17:01:45 ID:3kCVX1OJ]
C++はあまりわかんないです。
不思議だと思ったのは
class Aのprivateな抽象関数aaを
Aを継承したclass Bでpublicに実体を作っているところです。

561 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:07:12 ID:XklWG2/f]
「privateな抽象関数aa」は、class Bへ継承させても、継承されてないよ。だってprivateだもん。

562 名前:名前は開発中のものです。 [2009/03/08(日) 17:09:35 ID:3kCVX1OJ]
>>724
そう思います。
でもこれが通らないんです。
#include <iostream>

class A{
private:
        virtual void aa(void) = 0;
};
class B : public A{
public:
        //void aa(void){}
};


int main(void){
        B b;
        //b.aa();

        std::cout << "hello" << std::endl;
        char c;
        std::cin >> c;
        return 0;
};




563 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:11:14 ID:XklWG2/f]
>>724


564 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:12:13 ID:iZlPrvU5]
>>724
virtual抜いたらコンパイルできない。
codepad.org/MaZEDgo2

「privateな抽象関数aa」は、pubicな aa()でもオーバーライドできるだろ

565 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:15:16 ID:XklWG2/f]
>>724
ごめん間違えた。
「privateな抽象関数aa」は、class Bへ継承されているが class Bのpublic aa();の方が優先だから、
class Bのpublic aa();にしかアクセス出来ない。

ここでclass A の privateやvirtualなbb();とかあれば、継承されるから、
int main(void){
B b;
b.bb();
とかで使えると思う。


566 名前:名前は開発中のものです。 [2009/03/08(日) 17:18:35 ID:3kCVX1OJ]
抽象関数を持つclass Aを継承したclassは、
class Aの抽象関数を実体化しなくてはいけない。
 
 
と思っていたのです。
そうではないのですね。
javaから入ったので不思議でした。

567 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:25:14 ID:iZlPrvU5]
>>728
>class A の privateやvirtualなbb();とかあれば、
ねーよw
codepad.org/aEfKdVPO

568 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:25:58 ID:XklWG2/f]
ttp://msugai.fc2web.com/java/override.html
>アクセス修飾子の規則の例外として、private 修飾されたメソッドはオーバーライドできません。
JavaもC++も同じじゃないかな?

569 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:27:59 ID:XklWG2/f]
>>730
>>728
ごめんそれも間違いだ。bb();とか無理です。

570 名前:名前は開発中のものです。 [2009/03/08(日) 17:31:31 ID:3kCVX1OJ]
privateな抽象関数を持つclass Aを継承したclass Bが実体化出来るのが不思議。
同class Aの抽象関数aaと同じ名前のpublicな関数をclass Bに作ったことで動く事が不思議。
同class Aの抽象関数aaを継承したclass Bでで作らないと実体化できない事が不思議。
なんかそんな感じです。
すみません。

571 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 18:00:50 ID:uTNKd2IK]
プログラム板の初心者C++スレでやろうぜ・・・

572 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 20:02:21 ID:t0AdkGXJ]
Javaは違うのかもしれんがC++はそういう仕様なんでしょ
メンバ変数も違うアクセス修飾詞でオーバーライドできるし
抽象関数を持ったクラスはそれを派生させて実装したクラスでないと実体化できんのはJavaでも同じでしょ



573 名前:名前は開発中のものです。 [2009/03/09(月) 00:20:55 ID:vdPDd+Q/]
javaって派生先の仮想関数のアクセス修飾を変えれなかったんじゃなかったっけ?

574 名前:名前は開発中のものです。 [2009/03/09(月) 00:54:10 ID:4v1RPow6]
オブジェクト指向も度がすぎると、使われもしないゴミクラスが
沢山残る罠。

575 名前:名前は開発中のものです。 [2009/03/09(月) 01:02:27 ID:4v1RPow6]
↑ただ単に今一、配慮を怠ったクラスを書くと
そういう事になると言うのをいいたかっただけ。

576 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 01:43:12 ID:j7Fn6gwa]
継承が多くても、STG中にキャストする様なオブジェクトとかあんまり無いと思うけどな
オブジェクト指向とか言うほど大げさなモノでも無い

抽象基底クラスを作り、それの配列かコンテナに継承した子のオブジェクトをいれる
遷移するモノならインターフェースを作り、継承した状態のオブジェクトを保存しておくだろ

あんまり思い浮かばない。 楽につくる事が優先だ

577 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 02:29:20 ID:nD/Sv/Tx]
敵とか敵弾とか継承してもどうせ分けて扱っちゃうし・・・

578 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 05:33:07 ID:s3+yn2Ga]
け、継承って何だ、クラスって何だ

敵の構造体とか、弾の構造体でいいだろっ
動的確保?知らんがな(´・ω・`)

579 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 05:50:33 ID:nD/Sv/Tx]
いちいち動的確保なんかしてたら弾幕の生成でめちゃくちゃ処理落ちする
俺は最初に作っとくの

580 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 10:04:04 ID:c/sep/SW]
ボス戦とかどうしてるんだ。
予め発射される弾の数を決めてるってことか?

581 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 10:41:10 ID:s3+yn2Ga]
一万発分くらい確保しとけばおkkkkkk

582 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 10:48:15 ID:nD/Sv/Tx]
>>743
一体何万発確保するつもり?
決めるといっても、せいぜい2〜3000発程度。これ以上多いとメモリ云々以前にゲームとして無理。



583 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:24:29 ID:c/sep/SW]
いや、そういう意味じゃない。
ボス戦だと、ボス倒すまで延々と戦闘が続く訳じゃん。
合計弾発射数は、実質無限な訳じゃん? ということは、どっかで弾リストのクリーンナップでもしてるんだろ?
どうやって要らない弾とそうでないのとか分けてるのかと。

584 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:30:20 ID:c/sep/SW]
それとさ、普通はbullet[]にしろリストにしろ、実際に格納されてるのはbulletクラスを継承した
StreightBulletクラスとかAccelBulletとかcurveBulletな訳じゃん。
newしないでどうやって使いまわすの?

585 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:36:43 ID:nD/Sv/Tx]
>StreightBulletクラスとかAccelBulletとかcurveBulletな訳じゃん。
こんなことしてねーもんwww

586 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:39:35 ID:4gpR4arb]
画面外に出たりどっかにぶつかったら未使用状態に戻せばいいだけ
クラスだけで動作変えてるならそりゃnew必要でしょう

587 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:40:29 ID:nD/Sv/Tx]
ちなみにこれ
>どうやって要らない弾とそうでないのとか分けてるのかと。
リスト2つ作ればいいじゃん

588 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:42:50 ID:9YN/v32z]
クラスだけで動作変えるとかないわ
本人は継承を有効活用してるつもりだろうが、無駄でしかない

589 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:45:34 ID:s3+yn2Ga]
>>746
俺リストよくわからん
弾にフラグもたせてて設置されているなら1、設置されていないなら0
置かれた順にソートもしてるぞ。設置する時に空いてる弾拾ってきて構造体の仮想連結の最後にくっつけてフラグON
弾が削除される瞬間に前後の番号の弾連結してから弾の構造体のメンバ初期化してフラグをOFF


590 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:48:31 ID:M8Y9J7eH]
>>750
>>492(というかそこからの一連の流れ)みたいな感じ?
あと動的確保するだけでそんな処理落ちする?

クラスだけで動作変えるってのがよく分からない
あとそうじゃなかったらどう動作を変えるの?

591 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:53:40 ID:c/sep/SW]
えー、みんな曲射弾とか加速/減速弾とか誘導弾とか重力弾とか拡散/炸裂弾とか別々のクラスにしてないのー?
別々のクラスにしておけば拡張が簡単だよ?

592 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:53:40 ID:L17yPJfy]
>>747
うん、newしないと継承が使えなくなって不便な面はある。
でも弾が多くなってくると、それを差し引いてもnewしない事によるパフォーマンス的なメリットはあるよ。実際スペックしょぼいノートPCで試したら30fpsが60fpsになったし。



593 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:53:44 ID:nD/Sv/Tx]
>>753
あぁ、ちょうどこんな感じ、STLは使ってないけど
処理落ちは量によってはする。弾数の多いn-way弾とか、出現と消失が頻繁なときとか。
最近のPCじゃ気にならないだろう。それだけに、こんなに話題が続くとは思ってなかったがw

>あとそうじゃなかったらどう動作を変えるの?
動作の部分だけ別に作る

594 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:56:34 ID:c/sep/SW]
なるほど。弾種類からswitchしてprivate staticメソッドを呼ぶのかw なんかそれも変な気もするが。

595 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:57:43 ID:nD/Sv/Tx]
>>757
馬鹿?

596 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:58:29 ID:s3+yn2Ga]
>>754
弾の行動をひたすら書いてるソースファイルがある
特にキモイ動きさせたくなければ無指示でも動くし指示しまくれば弾が増えたりグラフィック変わったりどんな奇天烈な動作もお手の物

597 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:02:11 ID:9YN/v32z]
>>757
動作分岐でswitchしか知らないのか

598 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:17:02 ID:wiYT9l9H]
弾1発ごとにnewしてdeleteしてたらメモリに断片できまくらない?

599 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:33:25 ID:Q0zoLpbu]
total memoryが1MB位しか無いenvironmentなら話はotherだが、
今時そんなところを気にしても仕方ないぞ。
心配ならboost::pool使っとけ。

booooostが気に食わないなら、弾の継承クラスを全て包含した共用体で配列を作って
placement newすればいい。

600 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:35:45 ID:M8Y9J7eH]
>>753
なるほどね、大体把握(したと思うw)
>動作の部分だけ別に作る
これってどんな感じ?

俺のイメージ的には

bullet{
bulletがもってるステータス(位置とか)
moveA(){ /* 動作A */};
moveB(){ /* 動作B */};
}

こんな感じなんだけど
それとももっと手続き的?な感じなのかな

601 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:46:24 ID:4gpR4arb]
関数ポインタ持たせてもいいけど、動きはスクリプトにして実行時に読ませることもあるしなあ

602 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:52:06 ID:nD/Sv/Tx]
>>763
弾に直接はもたせない。デリゲートする。



603 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:54:05 ID:9YN/v32z]
スクリプトはもう別の話だろう
設計自体が大きく変わる

604 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 13:58:24 ID:L17yPJfy]
>>765
言語にもよるだろうけどdelegate作るとnewと同様コストかかんない?

605 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:02:36 ID:nD/Sv/Tx]
>>767
デリゲートっていうと大げさか。所詮ポインタ演算だし。関数ポインタとどっこい。
気に食わなきゃ>>762でもしてろってこった。でも「いちいちnew」は絶対にやだね。

606 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:41:27 ID:DKKqMNCl]
1フレーム内で100も200もnewしなければいいだけの話で、
new/deleteをそこまで毛嫌いすることも無いと思うお。
ちなみに俺はnewしたものはdeleteせずにプールして使いまわしてる。
クラスごとにプールが出来てテラカオスw

607 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:46:04 ID:M8Y9J7eH]
>>766
そういう設計の話もしていいんじゃない?
というか参考にしたいから色々話をしててくれると助かる

>>768
うん、とりあえず「デリゲート」ってのを初めて知ったよw
簡単にググって調べただけだから全然理解できてないけど
オブジェクト指向版の関数ポインタみたいな感じかな?
>>763の例でいくとbullet以外にmoveobjがあって
その中にメソッドmoveA、moveBがあるみたいな感じでおk?

思ったんだけど「STG」でまとめてるけど弾幕系なのか否かで最適な設計も変わってくるよな

608 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:47:13 ID:nD/Sv/Tx]
俺はID:c/sep/SWに突っ込まれたから答えてただけ

609 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:55:43 ID:nD/Sv/Tx]
>>770
まぁそんな感じ。汚いから多分もっとちゃんとした実装考えるけど。

610 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 14:56:41 ID:9YN/v32z]
>>770
スクリプトの解析は実行時にやるしか方法はないのか?

611 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 15:15:38 ID:M8Y9J7eH]
>>772
サンクス
いや勉強になったわ

>>773
ん、俺へのレス?

612 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 19:45:24 ID:yVcj05z4]
いつも思うんだけど、このスレでは一度newとdeleteを自分で定義する方法を
教えた方がいい希ガス。
newが重いなんてのは、newをオーバーライドできることを知らない奴の戯言だろう。



613 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:01:59 ID:c/sep/SW]
アブストラクト尺取りパターンっていうあれだな!
……すまん、それってjavaでもできるの?>newのオーバーライド

614 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:08:44 ID:Q0zoLpbu]
お前それただjava言いたいだけちゃうんかと

615 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:10:05 ID:VLwDy1Z0]
>>776
Javaはそもそも演算子オーバーライドをサポートしてないな。(文字列の+除く)
C#もnewはサポートしてないと思う。

616 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:21:37 ID:c/sep/SW]
ともかく。
いちいち弾丸を作成させる際にnewを使わないのは、ゲームにおける総使用メモリ量をむやみやたらと増やさないためだろ?
だとすれば、bulletクラスの中に総ての弾丸の動作なりパラメータを突っ込むのも、ましてや弾丸ひとつひとつがスクリプト動作なんてのも、
決して奨められるべき軽量化の仕組みじゃないんじゃねえか。
まあ、弾丸の最大出現数くらいは制限をかけてしかるべきだと思うけども。

617 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:33:00 ID:vlsfOe2n]
ID:c/sep/SWは>>757からちっとも成長がないな…

618 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:37:29 ID:iQeP+3UH]
>>779
逆でございます。

619 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:41:09 ID:9TcJmEGm]
ひとつのパターンに凝り固まって他の可能性とその技術を考えられないんだな、
ある意味、全くの無知よりたちが悪い。

620 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 20:54:50 ID:hDtxD0U6]
人それをバカの壁という

621 名前:名前は開発中のものです。 [2009/03/09(月) 20:58:05 ID:xoToA8tC]
何でもかんでも出来る1000byteくらいの弾クラスを10000発用意しておいてもメモリは10MBだろ。
PCで作ってる分には何ら問題ないじゃん。
newをゲーム中にしたくないのはコストがでかくてボトルネックになるからだ。
とマジレス。
 
自信ないけどマジレスになってるよね?

622 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 21:04:45 ID:DKKqMNCl]
>>784
「1フレームあたりX回以上newすれば処理落ちが発生する」とかいう目安というか、カンみたいなものがあるなら良いんじゃね。
実際にnew/deleteがどれだけ重いのか評価する手法でもあればいいんだが。



623 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 21:11:35 ID:c/sep/SW]
newの実質的なコストって生成時にmallocを発行してる部分くらいじゃないの。
ま、デストラクタがあれば、そこも処理に影響するんだろうけど。

624 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 21:34:19 ID:vlsfOe2n]
>>785
>実際にnew/deleteがどれだけ重いのか評価する手法
メモリ断片化とか色々あって、線形的には求まらない予感

エンドの環境依存も大きいし
俺が賭け事で弱いので、カンとかあんまり頼れない

625 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 22:56:30 ID:86T0U1dK]
実際にゲームを作ってみて重いと感じたら別の方法を模索すればいいだけの話だと思うんだがな。

626 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:26:04 ID:YtHLVg0L]
やっぱ new にはコストかかるのか
俺はそうだと思っていったんある程度の量を最初に確保してから使い回そうと考えたこともあったな
結局面倒になって適宜 new にして使ってるけど
まあ俺は激しい弾幕使ってないから大して困らないのだろうけど
いったんある程度の量を最初に確保してから使い回す方法を取ってる本もあったな

627 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:34:30 ID:frstm+EJ]
メモリの断片化か・・・根深い問題だな。自由度を増やせば増やすほどに異常が増えていく。
ある程度複雑になると、突然例外大発生だもんな。どうにかならないものか。

628 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:44:57 ID:JKHKOtra]
性的確保&構造体リスト最強説

256本もリスト作ったから変なソートいらないZE☆

629 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 23:49:48 ID:hDtxD0U6]
>>791
なんだかエロいな

630 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 02:09:56 ID:is2LuZ0W]
関数WinMainの中にすべてを詰め込んで、
「シングルトンって言うのかな、等身大の自分に合った小悪魔的デザインパターン☆」
とか言ってるやつってなんなの

631 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 08:19:34 ID:YODFEaFk]
名前聞けばいいだろ

632 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 08:20:22 ID:XEibpF8L]
タスクマネージャ使うと分かると思うけど、東方は普通に50MBとか食ってるぞ
たぶん起動時にものすごい量の弾を確保してるんだと思う

それにしても、あの化け物じみた描画速度はなんなんだ・・・・



633 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 09:46:51 ID:z6f1lzf6]
構造体リストと普通のジェネリックなLinkedListってなんか違うのか?
むしろ、リスト構造そのもののパフォーマンスでいえばArrayListの方が高い訳だし、構造体リストにこだわる必要は無いような。

634 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 10:37:13 ID:xhsEfov4]
newのコストもだけど、GCがある言語(C#,D言語等)ではGCが動くコストも馬鹿に出来ない。これはnewする瞬間じゃなくてゲーム中常にかかる恐れがあるから性質が悪い。

635 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 11:57:08 ID:zS8jCfA2]
構造体リストに限定した話なんて誰もしていない件

636 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 12:24:14 ID:iLQTzUsY]
>>795
まあ片手間とはいえ本職ゲームプログラマの作品だし・・・・・
ただ、いくら弾幕でも弾はせいぜい同時1000発ほど
容量を食ってるのはテクスチャとか音声だろう

637 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 12:38:17 ID:BXbMSorN]
DirectX本スレでも東方ネタで酷いコンニャク問答があったな

さすがにこのスレにはPix for Windowsと東方(体験版含む)の
両方がそろえられないパソコン初心者は居ないだろうな?

638 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 13:04:35 ID:zS8jCfA2]
何の話だ

639 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 13:11:23 ID:BXbMSorN]
>>795 起動時にものすごい量の弾を確保
>>799 せいぜい同時1000発から
が激しく可笑しかったという話

640 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 13:40:55 ID:WjmOfCMU]
>>800
Pixなんちゃらも初めて知ったし東方は要るの?
東方をやろうとも思わないわけなんだけど

641 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 13:57:07 ID:qoncgAvF]
PIXはDirectXのSDKいれてりゃあるだろ。
オレも東方は動画でちょっと見ただけだな。

642 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 14:12:22 ID:BXbMSorN]
>>803

東方が特別とは思ってない
たまたま、dat落ちしていたDirectX本スレのネタを思い出したぐらいの関連



643 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 14:24:10 ID:FYjcJP4e]
そのたまたま思い出したネタが
あたかもこのスレの人間全員に通じるように
いきなり語りだした心理状態が理解できない。

644 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 14:27:20 ID:WjmOfCMU]
>>804
ほんとだ、入ってるわ。知らんかった

>>805
東方のことはわかった
でもPIXの方は使えてないとダメって意味じゃないの?

ここにくるからには「ゲームを作りたい」と思ってるのは確かだけど
DirectXの扱い(というか製作工程?)に熟練してるのを前提にしてるのはおかしくない?
そりゃ例えばC言語の基礎がわからないとかなら話は別だけど・・・

645 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 14:31:43 ID:NZS10vbU]
そもそもプログラマしか居ないわけじゃないし…

646 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 15:20:21 ID:BXbMSorN]
自治厨みたいに取られたとしたら、誤解だ
滑稽な笑い話だと思ったので、キツメの冗談をいれただけ
       /_      |
       /. \ ̄ ̄ ̄ ̄|
     /  /  ― ― |
     |  /    -  - |
     ||| (6      > |
    | | |     ┏━┓|    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   | | | |     ┃─┃|  < 正直、すまんかった。
   || | | |  \ ┃  ┃/    \________
   | || | |    ̄  ̄|


自分の環境でもC++は現役じゃない、読めても書けない
だが、このスレは役立ってる もっとやれ

647 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 15:32:06 ID:is2LuZ0W]
今日のキチガイはID:BXbMSorNか

648 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 15:45:52 ID:xIah3Ja8]
はいはい、自虐風自慢自虐風自慢

649 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:18:21 ID:z6f1lzf6]
よくわからんが、DXの重さとプログラム自体の重さがごっちゃになってないか?って話だろ多分。
だって、テクスチャとかってDXならVRAMのほうにキャッシュされるじゃん、とかそういう感じ?
そもそも東方で使ってるテクスチャとかイメージとか全部足してもそんな大きいものにならんよな。

650 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 18:55:33 ID:w5LZNudx]
>>795
東方はスタート時に最大2000の弾の構造体用意して弾作るときに空きフラグ探してるだけのような雰囲気だけどね
弾幕眺めていると弾作成順序と描画順序が合ってないときがあるし

651 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 20:00:35 ID:EAZXIwPU]
まったく話が先に進まんね

652 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 20:34:40 ID:WjmOfCMU]
>>795の真意がわからないけどその前までの話は動的確保か静的確保かって話でしょ?
俺は詳しく分からないけどnew、deleteが原因で重くなるってのはどれぐらいからなの?

あと話変わるけどみんなどんな開発環境でやってる?
今どんな感じで進めようか考えてるところなんだけど色々参考にしたい
c++でDirectX使って自分でライブラリ作って進めるのとかってかなり根気いるよな?
やっぱDXライブラリとかseleneとかでやってる人の方が多いのかな



653 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:10:45 ID:7gM7pWnB]
>>815
対象OS: Windows/Linux

エディタ: vi
使用言語: C++, Perl
コンパイラ: gcc

ライブラリ(GUI): SDL
ライブラリ(画像処理): SDL_image, SDL_ttf
ライブラリ(音声処理): SDL_mixer

Windows専用: MinGW(Windows版gcc), MSYS(Autoconf実行環境)
その他ツール: Autoconf, Automake(Makefile自動生成), make, Subversion(バージョン管理システム), Trac(バグトラッキングシステム)
画像関連ツール: GIMP(ペイント系のお絵かきソフト?), 発色弾(爆発画像生成)
音声関連ツール: Rosegarden(MIDIシーケンサ), Audacity(DAWソフト), OggEnc(OGG Vorbisエンコーダ)

654 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:39:11 ID:r1vtyYFk]
>>815
私は勉強のためにC++とDirectXでやってますね。大規模なライブラリを使うのにはやや抵抗が。。
初心者脱却すればそういうこともなくなるんでしょうかね。

655 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 23:44:39 ID:TZYyXrii]
www.freem.ne.jp/cgi-bin/bbs/create/osiete.cgi/mode_view/no_160/p_2/
コピペ? 本人降臨でもさほど驚かないな


>>815
SlimDX
ソースが公開されていないことには話にならない

656 名前:815 mailto:sage [2009/03/11(水) 02:06:14 ID:p1QxzQFQ]
おお、結構色々あるんだな
ゲームを早く作るってことなら既成のライブラリ使った方が速いだろうけど
DirectXの勉強もしときたいんだよな
なかなか悩ましいところだ

657 名前:名前は開発中のものです。 [2009/03/11(水) 03:45:10 ID:VaF0H100]
解像度ってどうしてる?
640x480もいいけど320x240の荒さも美しい。

658 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 07:27:36 ID:w8fCzJC6]
縦長だろ常考

659 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 08:05:24 ID:4/xdNvp5]
8*16最高

660 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 08:33:34 ID:Tp27eIn2]
>>820 Mode Xか。
Mode 13hも便利だったけど。Mode Xもいいよね。

661 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 19:20:39 ID:1+6JKHL2]
バカのバカによるバカのための井戸端会議
時々天才現る煽りもあるよ
でいいですか?

662 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 19:29:26 ID:1+6JKHL2]
ジャンル: シューティング
対象OS: Windows/Linux
使用言語: C++, Perl
コンパイラ: gcc

この時点ですでに終わ(ry
それに気づかずにレスする奴も終わ(ry

日時: 2008/09/04 13:45
てか半年前ですか



663 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 19:50:28 ID:1+6JKHL2]
#include <stdio.h>

class Object;
class Object{ public: virtual void Insert( Object* object ) = 0; };

class Penis : public Object{ public: virtual void Insert( Object* object ); };
class Vagina : public Object{ public: virtual void Insert( Object* object ); };

void Penis::Insert( Object *object ) {
if( object == Penis ) // 型判定
printf( "OMG!!\n" );
}

void Vagina::Insert( Object *object ){
if( object == Penis ) // 型判定
printf( "YES!!\n" );
}

型判定の方法忘れた


664 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 20:13:16 ID:9E1Rxsqt]
typeofか.classだろ

665 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 20:16:47 ID:oJVouOUF]
>『様々な質問に対する万能レス』
>
>Q. 制作が進まない。スレがうまく機能しない。盛り上がらない。人がいない。
>  やる気がでない。思い通りにいかない。雰囲気が悪い。なんとなくムカつく。
>  気に入らない奴がいる。作業しない奴がいる。他企画を潰したい。
>
>A. まずは自演しろ、話はそれからだ。
を実演してくれてるだよ 生暖かく見守ってやれよ

666 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 19:00:14 ID:FmG/VDzc]
例えば何かを失うとしても
守っていかなきゃ
ひとつだけは

667 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 15:51:11 ID:5K3GjlrZ]
らめぇ

668 名前:名前は開発中のものです。 mailto:sage [2009/03/16(月) 11:17:49 ID:eNBXNzM0]
「悔しいのに・・・感じちゃうっ(ビクンビクン」

669 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 01:22:02 ID:e6BdzSZL]



public class Loli extends Applet
{
いやぁ、らめぇ……そんな、こすっ、たらぁ……
なんか、んっ、で……ちゃう……
おしっこ、おしっこでちゃうよぉ……
あン、いやっ、やらぁ……!
ん、んんっ、は、はぁ、あ、あぁぁ!
だ、めぇ……きちゃ……んはぁ!!
あ、ああぁぁぁらめぇぇええぇぇ!!!!
あっ、くっ、んぁ、ひ、あああぁっ!!!!
}



670 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 14:16:32 ID:cJ6We/Al]
(´・ω・`)ハァハァ

671 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 16:18:35 ID:VdQyhofw]
(´・ω・`)やんのかてめー

672 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 16:25:50 ID:e6BdzSZL]
しゃぶれよ



673 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 20:20:22 ID:BzIoAHhs]
この一連のレスに新しいSTGのアイデアが隠されているかもしれない。

674 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 20:36:51 ID:120cRAoh]
自機が精子で卵子を目指すSTG作れ

675 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 20:41:23 ID:H84ZNjLE]
そのへんはフィロソマやR-TYPE凾ナやってないか?

・・・自機じゃないか

676 名前:826 [2009/03/17(火) 21:02:04 ID:2sMEY88Z]
続き
void main() {
Object *penis = new Penis;
Object *oninnin = new Penis;
penis->Insert( oninnin );
}


677 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 22:42:14 ID:cJ6We/Al]
>>839
コンパイルエラー「移植性のない挿入行為」

678 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 22:45:38 ID:kQgGzQTB]
おいおい、ウィンドウズプロフェッショナルゲームプログラミング読んだやつ居ないのかよ。

一般流通している専門書で
CCSakura->InsertStick(); //サクラたんに肉棒をハァハァ
みたいなのを載せた名著なんだが。 そろそろちょっと古いか。 多分2002年辺りの本。

679 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 23:52:35 ID:cJ6We/Al]

CCSakura->InsertStick(); //サクラたんに肉棒をハァハァ に一致する情報は見つかりませんでした。

検索のヒント:

・キーワードに誤字・脱字がないか確認します。
・別のキーワードを試してみます。
・もっと一般的なキーワードに変えてみます。
・キーワードの数を減らしてみます。

680 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 08:09:09 ID:S/V1EoOn]
その1行だけで誰が書いた本かわかるから困る

681 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 11:37:40 ID:zud1sGUj]
コードとコメントが一致してないが

682 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 12:32:55 ID:yzxa8Eak]
そうだよな。
stick->tukiage()とか
stick->grind()とかを実行した後にorgsumイベントが飛んできて、その時stick->shotzamen()が呼ばれてstickがdisElectになって、
それでstickを格納してるotakuクラスのgetMode()がkenjyaModeを返すようになって初めて
//さくらたんハァハァ
だよな。



683 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 12:47:44 ID:RAb/8Q9d]
CCSakura->InsertStick();
だと、
//サクラたんがスティックを挿入
と書くのが自然。
引数が無いし文脈もよく分からんが、少なくとも「挿入される」とは読みにくい。

684 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 22:47:34 ID:qMfWPeJK]
こっちでどうだ?
Oresama->Insert( CCSakura );

685 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 23:14:54 ID:uTQJ+Za+]
やねうらおさんの本か!なら仕方ないw

686 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 23:18:25 ID:RAb/8Q9d]
>>847
もはや>>841とは別の話になるけどな

687 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 00:19:40 ID:lp2wnfCw]
私は、いのりがだぁぁぁい好きです。とくに、プリキュアになった時が、1ばーんすきかなぁ…
皆さん。どうかぁぁぁぁぁぁぁ私のいのりを応援してぇぇぇ。
そして、私のいのりをよろしくぅぅぅぅぅ。…っあ、でもぉぉぉぉ
もちろん いのり はぁぁぁぁぁ
私の私の私のぉぉ いのり だからね。

キュアピーチちゃんからのメッセージ

もかですみすみなぎさちゃん九条ひかりちゃん雪白ほのかちゃん日向さきちゃん夢原のぞみちゃん夏木りんちゃんみみのくるみちゃん水無月かれんちゃん
秋元こまちやん春日野うららちゃん桃園らぶちゃん蒼野みきちゃん山吹いのりちゃん忘年会やつて楽しい食事会やりたい津端あみちゃんとお話おしましたキュアピーチより

688 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 00:55:26 ID:Z816WPjh]
マジキチ






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<214KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef