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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。2006/08/06(日) 00:36:37ID:bMXg4APt
ゲームプログラマなら誰もが通る、もしくは、通った道。青春の香り?
それは「シューティングゲーム製作」・・・。

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

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

過去スレ,関連スレは >>2で。
0877名前は開発中のものです。2007/03/02(金) 09:04:32ID:wTG26rkV
プログラミングの多重設計が出来る人間で無いと、DirectXを使いこなすのは難しいかもな。

つ〜か、最低でも三重の設計思想が必要になるから。
ゲーム本体の設計、Windowsインターフェイスに関する設計、
インターフェイスとゲーム本体との間の設計、これで三重設計。
あと、ゲーム内部の設計が規模によって何重になるか分からないから・・・
0878名前は開発中のものです。2007/03/02(金) 09:23:06ID:J59iKPrK
DOSの頃は単純設計の能力でも簡単なゲームなら作れたからな。
で、CGを重視したゲームを作る時代になってくると、
インターフェイス絡みとゲーム本体の二重設計が出来ないと
マトモなゲームは作れなくなった。Windowsでは三重だ。
単純設計の能力で三重以上の設計をするのは無茶だとオモ。
0879名前は開発中のものです。2007/03/02(金) 09:53:32ID:9ln/D2ol
設計を分けて考えられないと、バグの原因が突き止められなくなるからな・・・
Windows絡みのバグと、ゲームの設計絡みのバグと、Windowsとゲームの間のやり取りのバグと、
三重のバグの系統があるからな。
0880名前は開発中のものです。2007/03/02(金) 12:02:44ID:kJ+TzZhR
Windowsで普通のアプリ窓を普通に出すだけでも100行近く必要になるもんな。
DirectXの分厚い本読んで、機種依存にも十分気をつけながら
アニメーション、多重サウンド、コントロール設計、ゲーム設計をこなして
まともにぬるぬる動くゲームとして動かすとなるともう苦行に近いよ。。
0881名前は開発中のものです。2007/03/02(金) 12:03:53ID:AlxNYkg4
>>876
ゲームが先だったよ
ただ、汎用にしようということで名前を変えてDirectX2にした
0882名前は開発中のものです。2007/03/02(金) 12:26:41ID:0H6ZJN0P
WInG→GameSDK→DirectX
という流れ。
ゲーム用に速い描画を、という発想からスタートしてる。
0883名前は開発中のものです。2007/03/02(金) 12:34:37ID:xyVtqYUO
ここってシューティングの話題じゃ盛り上がらないよな
0884名前は開発中のものです。2007/03/02(金) 14:31:24ID:1Vmks2j7
シューティングって
骨組みができたらゲーム自体にかかる手間はほとんどなくて
あとはひたすら調整するだけのジャンルだもの
純粋にシューティングとして語るとこなんかほとんどないよ
0885名前は開発中のものです。2007/03/02(金) 15:06:44ID:uUGK98po
だよなw
0886名前は開発中のものです。2007/03/02(金) 15:37:41ID:l4KoZ8I0
プログラム技術という観点では話題はすぐなくなるな。
調整部分の技術のほうが重要だし。

8ビット時代は技術披露のジャンルでもあったんだがなあw
0887名前は開発中のものです。2007/03/02(金) 16:02:31ID:pQKQcOZM
>>881
いやだからそ〜ゆ〜意味じゃなくて、ソフトウェア処理だと
遅すぎてゲームに使えない。ハードウェアを叩くのは、
処理がバラバラでどのマシンでも動くゲームを作るのが難しい。
で、ハードウェアを叩く共通ライブラリが必要になったから
DirectXが出来たわけで、ゲームを簡単に作るのが目的じゃない、
という事を言いたかったわけ。

ありゃりゃ、文章の表現がバラバラだ・・・
0888名前は開発中のものです。2007/03/02(金) 16:40:28ID:K4ycXiis
じゃあ面白いシューティングに調整する技術を語ろうじゃないか

まあ語れるほど理解できたら苦労しないんだが
0889名前は開発中のものです。2007/03/02(金) 16:41:32ID:nl2aW+B9
シェーダー部分も含めると4重だな。
誰かシューに最適なゲームエンジン作れよ
0890名前は開発中のものです。2007/03/02(金) 17:22:28ID:l4KoZ8I0
>888
結構人によって好みがあるしな。
普遍的な部分は意外と少ないのかもシレン
0891名前は開発中のものです。2007/03/02(金) 17:48:04ID:0H6ZJN0P
ノウハウで言えばコリジョン方面で色々あるな。
階層構造による多パーツ・モーション制御とか。

とシューティング特有じゃない技術ばかりだな。
ネタになり易そうなのは。
0892名前は開発中のものです。2007/03/02(金) 18:00:17ID:yITvJuXg
シューティング特有でない技術も含めて
過去スレで語りつくしてしまった気がする。

シューティングのゲーム本体部分の製作に関しては
ほとんどパターン化されている感があるし、
製作上でより多くの技術や知識を得たいと思う人はそれこそ
DirectXのライブラリでも作ってた方がよさげ。
0893名前は開発中のものです。2007/03/02(金) 22:41:46ID:ZEMvJZ8X
語りつくしたって言う人ならもうここに来る必要は無いよね。
0894名前は開発中のものです。2007/03/03(土) 01:59:35ID:XlOVdV67
まだ語ることがあるっていうのなら
もったいぶらずに提案したら?
0895名前は開発中のものです。2007/03/03(土) 03:07:06ID:CogWCGQA
>製作技術や技術の検証、成功談
>失敗談笑い話、難易度の設定方法論、多弾の是非など

のうちの、製作技術に限るのなら、語ることは語り尽くしたかもな。
0896名前は開発中のものです。2007/03/03(土) 03:35:01ID:CogWCGQA
実は設計分割に関しては、あまり語られて無かったり。

例えば、ボスステージと雑魚ステージって、同じループで処理してる?
それとも異なるループで処理してる?

前者の方法は、同じループの中に雑魚キャラやボスキャラの処理が全部入る。

後者の方法は、まずステージ毎のループがあり、さらに雑魚ステージとボスステージで別々にループがあって、
雑魚ステージとボスステージとの境界では、雑魚ステージのループから抜けて、ボスステージのループに
入るという処理を、プレイヤーに気づかれないように行う必要がある。

ただし、つじつま合わせの方法さえ確立すれば、実は後者の方法の方が作成は楽だったりする。

つ〜か、前者のやり方でボスキャラ作るなんて無茶だろ。
ボスキャラ一体作った段階で、一般PGの設計能力は限界に到達する。
実際、そ〜なってる人は何人か見るしな。
0897名前は開発中のものです。2007/03/03(土) 03:37:23ID:ilWvJnHp
????????????
0898名前は開発中のものです。2007/03/03(土) 04:14:17ID:1KPSEhEx
さっぱり意味がわからない・・・
0899名前は開発中のものです。2007/03/03(土) 04:27:26ID:EdH6awpf
ボスと雑魚を分けるという発想がまずわからん
なんでわざわざ分けるの?
0900名前は開発中のものです。2007/03/03(土) 04:28:26ID:tNfnkee9
色々いいたい事があるが、多分896はスクリプトでゲームを作ってる人な気がします。
0901名前は開発中のものです。2007/03/03(土) 07:22:25ID:6fYNfi25
>>899
動作をプログラムでハードコーディングしてるんじゃ?

普通はパラメータか、簡易スクリプトみたいなもので、動作を定義して、
それらを処理するループは共通だと思うけど。

結局移動や表示、当たり判定とかは共通化できる部分だから、
別にする意味はない。

別に必要なのは、キャラの大きさ形等の基礎データや動きのデータで、
これはプログラムというよりデータの部分だし。
0902名前は開発中のものです。2007/03/03(土) 10:00:30ID:DgGdUJio
俺は、ボスは、ボスフラグを立てるだけだw
0903名前は開発中のものです。2007/03/03(土) 10:16:08ID:k16PWtsP
>>899
色々やるには処理を分けないと管理しきれなくならね?
一つのステージでしか使わない処理とかあるでしょ。
このボスにはこんな動作をさせたいとか。
0904名前は開発中のものです。2007/03/03(土) 10:57:38ID:tNfnkee9
>>903
そういうゲーム制作の基本的なところから話をするスレに路線変更か?
0905名前は開発中のものです。2007/03/03(土) 11:24:58ID:vVu9iFKK
シーンの中に各種ロジックをいれていくか
シーンが各種ロジックの中に入るかの違いで別に動けばどうでもいいわな

そういう自由度も含めてプログラムっつーもんだと思うが

フレームワークとして固定されていて使いにくいとかそういう話ならわかるんだが
0906名前は開発中のものです。2007/03/03(土) 12:19:09ID:EdH6awpf
>>903
それと>>896の言うボスと雑魚を分けることの関連がよくわからないが…
ボスが雑魚呼んだりしないのか?
0907名前は開発中のものです。2007/03/03(土) 12:21:36ID:gVWxjfEM
一人で作ってると敵の動きだとかスクリプトにするメリットすくねぇなあ
C++でもファイル1つぐらいコンパイルしなおしてもそこまで重くねぇし
開発環境もってない人に手伝ってもらうなら、スクリプトじゃねぇと困るけど。
0908名前は開発中のものです。2007/03/03(土) 12:40:58ID:1KPSEhEx
色々やらせたってプログラムが長くなるだけで
ザコもボスも扱いは同じだろう。

既成のツールやスクリプト使ってるから自由度が低くて
ボスを別プログラムにしないと凝ったことができないってことか?
0909名前は開発中のものです。2007/03/03(土) 13:52:27ID:6fYNfi25
>>903
>色々やるには処理を分けないと管理しきれなくならね?

この考えでいけば、雑魚も種類が違ったらプログラム分けないといけない。
ボスも当然、面ごとに動きが違うから処理を分ける。
で、30面とか作ると、雑魚&ボスプログラムが30個も出来ることになるわけだ。

それこそ管理が大変では?
もし、共通する部分に変更が発生したら、30ヶ所全部修正しないといけないぞ。
0910名前は開発中のものです。2007/03/03(土) 14:07:29ID:YkFSkvir
>>909
>>903のやりかたをしたとしてもそうはならんだろ
0911名前は開発中のものです。2007/03/03(土) 14:12:45ID:Tx1Q0UH6
分けて管理するからと言って共通してるとこまでわざわざ分けてやらんだろ。
0912名前は開発中のものです。2007/03/03(土) 14:46:31ID:ngO2HFdJ
状態を「実行中の位置」でもつか「変数」で持つかっていう問題だな

タスクごとに処理を入れ替える仕組みがあれば変数で管理したほうが楽
その代表がタスクシステム
でもこれだってソースを分割統治してると言えなくもないか……


「動的にループを生成するタスクシステム」に対して「静的にループを生成する>>896案」だと理解したけど
ループを「タスク単位で繋ぎ変える」か「リスト単位で入れ替える」か程度の差であって
設計レベルでそんなに大差があるようには思えないな
0913名前は開発中のものです。2007/03/03(土) 14:55:15ID:4UJviPYF
タスクシステムキター
0914名前は開発中のものです。2007/03/03(土) 14:59:03ID:XlOVdV67
>>896からは動的メモリ確保すらできなさそうな空気が漂ってる
0915名前は開発中のものです。2007/03/03(土) 15:17:02ID:ngO2HFdJ
タスクシステムという文字を書き込むだけでなんだか照れるぜグヒヒヒ

HSPやLGPでも配列使って双方向リストを作成して
タスクシステムっぽいの作れるんだぜ?
関数ポインタが無いからif文羅列することになるんだけどな
メインループはちょっとカッコイイぜ!

話変わるけど、タスクシステムって保守しづらいな
他人のソース読むまで気づかなかったぜ
0916名前は開発中のものです。2007/03/03(土) 18:21:25ID:XlOVdV67
タスクの分割だの依存関係だのに気を遣えば
そこまで保守しにくくもないと思う。

初心者はタスクシステムを学ぶ前に
構造化プログラミングだのオブジェクト指向プログラミングだのを
学んだ方がいい気がする今日この頃。
この方が結果的にゲーム製作の近道になると思うのだが、
早く製作にとりかかりたい奴は見事にすっ飛ばして
結果的にオソロシイコードが完成すると。
0917名前は開発中のものです。2007/03/03(土) 18:56:00ID:+OXGBFk1
そいやコンポジットとポリモーフィズムしらんと
C++でタスク構築できないんだっけ
0918名前は開発中のものです。2007/03/03(土) 19:02:32ID:NpwQBMaQ
つーか抽象化はオブジェクト指向の基本概念だ。
0919名前は開発中のものです。2007/03/03(土) 19:13:57ID:XlOVdV67
Compositeパターンは
タスクを階層化しないのであればいらないんじゃないかな。
まあシューティングの場合、敵と弾とか、ボスと敵とかを
親子関係にするのが自然だから、必須になってくるけど。

ポリモーフィズムを知らんような奴は
タスクシステムどころか普通のプログラムも満足に書けないと思うよ…。
C++を使用する意味が全くない。
0920名前は開発中のものです。2007/03/03(土) 19:15:58ID:EdH6awpf
必要になったら学んで使えばいいだけじゃね?
なぜそれが必要なのか理解せずに使っても
これまたオソロシイコードになるぞw
0921名前は開発中のものです。2007/03/03(土) 19:18:33ID:XlOVdV67
それもそうだなw
0922名前は開発中のものです。2007/03/03(土) 19:29:53ID:37Z4YcGn
>>919
> C++を使用する意味が全くない。

つ ベターC
0923名前は開発中のものです。2007/03/03(土) 19:58:35ID:n09SmcrK
ここはC++が前提なんですね。知らんかった。テンプレにいれとけよ
0924名前は開発中のものです。2007/03/04(日) 03:25:52ID:fF+IhTRk
ステージボスばりの攻撃をしてくる雑魚が出せるようになれば解決じゃね?
0925名前は開発中のものです。2007/03/04(日) 03:27:10ID:3s0I3fQ7
全部ボスにしてカオスフィールドでもつくれば解決じゃね
0926名前は開発中のものです。2007/03/04(日) 08:56:24ID:U7DHZFAq
結局ボスルーチンは、雑魚ルーチンをカバーできるんだから、分ける意味は無いと。
0927名前は開発中のものです。2007/03/04(日) 14:57:05ID:w0snWO05
ゲームスタート直後にすべてのボスが同時に出てこればOK
敵の戦術的にもいいだろ
0928名前は開発中のものです。2007/03/04(日) 15:35:08ID:Xjqd8ZGI
急に巨大戦艦出したくなったけど背景として実装するしか選択肢がないとか
ボスがバックミラーにしか映らない吸血鬼の車だとか
ボスがmpeg動画でその中で自機を動かさなきゃならないとか
別ウィンドウのをタッチペンで叩かなきゃならないとか
あるかもしれない
0929名前は開発中のものです。2007/03/04(日) 15:42:27ID:HAhTvGLC
>>928
いずれの場合でもメインループを分ける必要がないわけだが。
っていうか何が言いたいのかわからん。
0930名前は開発中のものです。2007/03/04(日) 15:56:28ID:PI7DnOuV
背景とか言ってる時点でもう
0931名前は開発中のものです。2007/03/04(日) 15:57:10ID:+vXxM3Oo
最初のがアンドアジェネシスだという事だけは判る。
0932名前は開発中のものです。2007/03/04(日) 16:51:49ID:5R8TXDd8
このところスキルの低いっぽい人の書き込みに対するツッコミでスレが進行してるな。
あんまりガツガツ行かずにやわらかく対応しようぜ。
できれば各人のスペックは自分と同等では無いのを前提に、あいてに分るように話そう。
0933名前は開発中のものです。2007/03/04(日) 17:17:35ID:U//ZsCle
>>929
東方みたいに画面チェンジと同時に弾の性質が変わったりとか、
インベーダゲームみたいな敵弾でもこっちの弾でも壊せる障害物を一時的に出してみるとか、
二体以上以上のボスキャラが合体変形したりして、全部倒してようやく先に進めるとか、
色々と変なバリエーションを使うと、グローバル変数の扱いがややこしくならね?
0934名前は開発中のものです。2007/03/04(日) 17:27:34ID:HAhTvGLC
>>933
結論から言うとならない。
どんな言語でどんな設計をしているかは知らんが、
ややこしくなってしまうような設計が悪いだけにしか思えない。
0935名前は開発中のものです。2007/03/04(日) 17:34:52ID:fartzWa7
むしろ、どう設計することを想定してるんだろう。
グローバルでフラグ立てるとして、上に出た例ってそんなにややこしくなるかな・・・
東方みたいに画面チェンジで弾の性質がかわるっては言ってる意味がよく解らんが、
ボスの合体とかステージ中精々1つか2つだよな・・・ややこしいか?
0936名前は開発中のものです。2007/03/04(日) 17:44:12ID:U//ZsCle
>>935
弾幕を時間をかけて大量にばらまいたあと、全部の弾が効果音と共に一瞬で別の弾に変わったりするんだが?

つまり基本的には、ステージによってルールが変化するようなケースを想定してるわけ。
0937名前は開発中のものです。2007/03/04(日) 17:50:04ID:HAhTvGLC
>>936
メインループ内に全部の処理がごちゃまぜになっているような
汚いプログラムであっても、画面チェンジ時にフラグをひとつ立てて
処理を分岐させるだけで十分だと思うのだが。

実装方法は山ほど思いつくが、グローバル変数がややこしくなるような
実装はひとつも思いつかねえ。
0938名前は開発中のものです。2007/03/04(日) 17:51:39ID:fartzWa7
・グローバルでフラグ立てて、弾のタスクがフラグ見つつ変化
・一定時間後に弾をすべて変化させるタスクの発動
・最初から一定時間後に変化する弾を作る

めんどい?
0939名前は開発中のものです。2007/03/04(日) 17:58:46ID:ELeB6++8
ファンタジーゾーンみたいにボスの挙動がまるっきり異なるケースでも?
0940名前は開発中のものです。2007/03/04(日) 18:01:19ID:fartzWa7
具体的に言ってよ、何について言ってるのかさっぱり解らない
0941名前は開発中のものです。2007/03/04(日) 18:02:20ID:HAhTvGLC
>>940に同意。悪いが意味がわからん。
というかせめて使っている言語ぐらい教えてくれ。
0942名前は開発中のものです。2007/03/04(日) 18:35:01ID:HAhTvGLC
なんつーか、単にプログラミング言語自体の勉強量が
足りてないだけな匂いがするんだよね…。
Cを使っているのに関数ポインタや動的メモリ確保についてしらないとか、
C++やJava(いないと思うけど)を使っているのに
クラスを活用しきれていないとか(特に委譲とか)だったら
これらについて勉強しなおした方がいい。
あとタスクシステムについても。
スクリプトだったらごちゃごちゃになっても文句言うな。
0943名前は開発中のものです。2007/03/04(日) 18:38:15ID:DdFsNkAz
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
スクリプトだったらごちゃごちゃになっても文句言うな
0944名前は開発中のものです。2007/03/04(日) 18:39:49ID:yrQ/olK7
こういう方向には盛り上がるんだよなこのスレw
0945名前は開発中のものです。2007/03/04(日) 18:44:04ID:fartzWa7
あ、でも珍しくシューティングの話した気がするんだけどw
0946名前は開発中のものです。2007/03/04(日) 18:53:42ID:HAhTvGLC
>>943
そこだけ取り上げるなバーローw
俺はスクリプトに関して無知だからアドバイスできんし
相手の仕様言語(ツール)は結局わからんしで
少々投げやりになって書いてしまっただけだw
でもスクリプトを馬鹿にする発言っぽいから謝っとく。すまんかった。
0947名前は開発中のものです。2007/03/04(日) 19:04:07ID:3iY3lGBk
http://game-melody.com/cgi-files/csystem/html/n-81971-vodafone-vodafone3g.html
0948名前は開発中のものです。2007/03/04(日) 19:17:02ID:k0G/xwJv
>>933
>東方みたいに画面チェンジと同時に弾の性質が変わったりとか、
オブジェクトリストから弾IDを持つものを探して、その情報を元に、同じ位置に新しい弾を作る。
古い弾は殺しとく。

>インベーダゲームみたいな敵弾でもこっちの弾でも壊せる障害物を一時的に出してみるとか、
障害物の当たり属性を敵弾と自機弾に設定する。

>二体以上以上のボスキャラが合体変形したりして、全部倒してようやく先に進めるとか、
子供を管理するだけの親を作り、合体前のキャラを子として見張る。
合体したくなったら子供に号令かけて合体させ、合体後は子供を殺して自分自身がキャラになる。

>色々と変なバリエーションを使うと、グローバル変数の扱いがややこしくならね?
グローバル変数は使わない。

>>937の言うとおり実装方法はいくらでもあるんだけど
俺だったらこうするみたいな。
0949名前は開発中のものです。2007/03/04(日) 19:17:17ID:sf6/O3bq
どうも本当の初心者みたいだね・・・
口調がいっぱしのプログラマーぶってるから
みんな普通のやり方を教えてくれないのなw


敵弾っつっても、方向と速度(移動量)だけじゃなくて
「状態」「種類」「タイマ」といったパラメータをいろいろ持たせてあげよう。
タイマが一定値になったら速度・方向を変えてやれば
東方みたいな弾幕ができるよ。


敵・自機・障害物にもフラグを持たせて、それによって
敵弾に当たる・自機弾に当たる・障害物に当たるってやれば
当たり判定は共通処理にできる。
0950名前は開発中のものです。2007/03/04(日) 19:19:39ID:E/eX2xqk
HSP使ってたときに似非タスクシステム組んだことあるけど
on〜gosubとローカル変数宣言で結構スッキリ組めたぞ
どんな環境でもやり方次第だと思うんだけどね
0951名前は開発中のものです。2007/03/04(日) 19:32:12ID:HAhTvGLC
>>948
俺は階層型タスクシステムを利用しているからボスに関しては同じかな。
画面チェンジで性質の変わる弾に関しては、
大量のオブジェクトの生成・破棄はなるべく避けたいから
既存の弾オブジェクトの状態を変更するだけに留めるかな。
0952名前は開発中のものです。2007/03/04(日) 20:33:57ID:9C2BU3SO
じゃあオレも

>東方みたいに画面チェンジと同時に弾の性質が変わったりとか、
複数のキャラクタが属性を共有する場合は独立させる
この場合は弾オブジェクトに弾の性質オブジェクトへの参照を持たせる

>インベーダゲームみたいな敵弾でもこっちの弾でも壊せる障害物を一時的に出してみるとか、
キャラクタの組み合わせによって分岐が変わる場合はテーブルを作成する
この場合は全キャラ×全キャラの衝突有無の表をつくって接触するたびに検索する

>二体以上以上のボスキャラが合体変形したりして、全部倒してようやく先に進めるとか、
集団を扱う場合は画面に表示しないコントロール専用のタスクを作成する
この場合はコントロールタスクからボス1やボス2へ参照を繋ぐ
コントロールタスクから合体などの指示をだす
ボス1や2が破壊された場合はコントロールタスクへそれを通知する


基本こんな感じだけど速度が問題になる場合はどんどん崩す
データベースでいう正規化された状態だからそのまま使うと遅いよ
でも設計する段階では正規化してるし崩すにしても崩すパターンあるから簡単
0953名前は開発中のものです。2007/03/04(日) 23:40:33ID:Xjqd8ZGI
「あらかじめゲーム内容を予測してすべて適切に設計すれば良い」
という理想状態の話ばかりだけど、

「メインプログラムが糞仕様なのにも関わらず上司は最小限のソース改変しか許さない」
実務がそんなんだったらどうするんだよ
0954名前は開発中のものです。2007/03/04(日) 23:50:24ID:RG9J/GKB
責任の所在を上司だと明確にするだけ
0955名前は開発中のものです。2007/03/04(日) 23:56:24ID:E/eX2xqk
なんで上司の話とか出てくるんだよw
0956名前は開発中のものです。2007/03/05(月) 00:07:40ID:vpsv+fAM
なんでそんな極論が出てくるのか理解に苦しむ
普通のプログラムの話しようぜ
糞仕様で改変させてくれない話なんてここは愚痴スレじゃ無いぜ
0957名前は開発中のものです。2007/03/05(月) 03:36:49ID:7tVG/VWq
10年ぶりにゲームが作ろうと思うんですが
SDLの勉強をしっかりやっとけば大丈夫ですか?

最近じゃスレッドとか使えるから感動的に美しいコードが書ける予感がする。
0958名前は開発中のものです。2007/03/05(月) 05:23:39ID:1nOvH2lg
昔ゲームPGだった人とかなら
何勉強しても大丈夫なんじゃないんですかね
0959名前は開発中のものです。2007/03/05(月) 09:19:24ID:vD0HTcUo
スレッドって、同期関連しっかりやっとかないと例外で跳ぶんだよな。
特に最近のマシンは、複数のCPUが乗っていて、二つ三つのスレッドを同時処理したりするし。
0960名前は開発中のものです。2007/03/05(月) 09:24:15ID:Cw2/WpnT
ふーん
0961名前は開発中のものです。2007/03/05(月) 11:16:21ID:y4PcrGny
セマフォとかカウントダウンラッチとかサイクリック分割、バリアとかわからん人は
マルチスレッドの本みたほうがいいだろうね

そうしないと>>959の現象で落ちることになる
0962名前は開発中のものです。2007/03/05(月) 11:51:53ID:ck7zxrxb
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;  最近じゃスレッドとか使えるから
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;  感動的に美しいコードが書ける予感がする。
  ヾ;;;ハ    ノ       .::!lリ;;r゙
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f    そんなふうに考えていた時期が
   ~''戈ヽ   `二´    r'´:::. `!   俺にもありました
0963名前は開発中のものです。2007/03/05(月) 18:26:26ID:MLlWK8lH
CPUが8bitから32bitになったのだから、一万倍のスプライト処理も余裕。
そんなふうに思っていた時期もありました。
0964名前は開発中のものです。2007/03/05(月) 18:29:35ID:yTZHNxxt
自機の動きを制御するスレッド
敵機の動きを制御するスレッド
背景をスクロールさせるスレッド、みたいに分離して考えられるの?
0965名前は開発中のものです。2007/03/05(月) 18:47:30ID:9WkSMmpL
それが逐次処理で駄目な理由が良く判らん
敵機がネットワークの向こう側ならまた話は別かもだけど
0966名前は開発中のものです。2007/03/05(月) 20:44:29ID:t6zOS1r5
というかスレッド切り替えは重そうだと思うんだけど、
敵機とか敵弾ごとにスレッド作ったら死んじゃわないかな。
ファイバーとか呼ばれる類のスレッドもどきならマルチスレッドに
関する罠も少なかろうから楽でいいんだろうけど。

メインスレッドで作業する裏で、IOとやりとりするスレッドを
回しておく、という方によく使われると思う。
Now Loading... って場面とか。
0967名前は開発中のものです。2007/03/05(月) 20:56:03ID:wAiX0Qdt
考えるだけでやらないのがここの住人
0968名前は開発中のものです。2007/03/05(月) 21:07:51ID:yk8IUqsD
>>966
ファイバ使おうにも、それに対応出来る言語が無いだろ。

・・・スクリプト言語で、それっぽいのは作ってるけど。
つ〜か、タスクの概念入れたらようやく設計落ち着いたのがここ最近の話。
藻前らあんがと。
0969名前は開発中のものです。2007/03/05(月) 21:09:42ID:yTZHNxxt
自分で考えてみたけど
逐次順番に処理するよりも負荷が分散されるんじゃないかな?<スレッド
0970名前は開発中のものです。2007/03/05(月) 21:15:06ID:yk8IUqsD
>>969
バスクロックの壁が重く感じられるようになるよ。w
0971名前は開発中のものです。2007/03/05(月) 21:29:01ID:9YvEXR7S
生成した後、あとはもう知らん勝手にやれ
ってなエフェクト類を別スレッドにして云々っていう
ゲーム開発者の記事をどこかで見た希ガス
0972名前は開発中のものです。2007/03/05(月) 22:13:33ID:XLZSlgq1
ファイバーくらいc(インラインアセンブラ)で書けるだろうに

0973名前は開発中のものです。2007/03/05(月) 22:28:48ID:d+wajXdt
ゲームはparallelでなくconcurrentで十分だ。
0974名前は開発中のものです。2007/03/05(月) 22:48:52ID:UNB9akD7
そうはいってもローエンドですらマルチコアなんだぜ?
50%しかCPU使わないなんて勿体無いじゃん
0975名前は開発中のものです。2007/03/05(月) 23:42:49ID:ck7zxrxb
いい事思いついた。
お前、メニーコア時代に備えて弾一個にスレッド一個使え。
俺は多くても2〜3個で十分だよ。
 
君:コアが○○個あるのに2〜3個しか使わないなんて勿体無いじゃん。
俺:コア2〜3個で済むのに○○個全部使ったら電気勿体無いじゃん。
0976名前は開発中のものです。2007/03/05(月) 23:53:42ID:mHGe8uVs
なんで自分でやろうとしないのかね
0977名前は開発中のものです。2007/03/05(月) 23:55:36ID:UNB9akD7
スレッド数個に対してタスクが行列を作るイメージ
タスクとスレッドの寿命が同じなんてことはない
レス数が950を超えています。1000を超えると書き込みができなくなります。