- 1 名前:名前は開発中のものです。 [2008/05/23(金) 21:10:59 ID:8M1gqhPX]
- 具体的なゲーム名を挙げて、
どのようにクラス設計をすればよいか、 継承・委譲関係はどのようにすればよいか、 使えそうなパターンは何かなど語るのもよし。 自作ゲームの内容とクラス図を書いて 改善案を聞くもよし。 設計に関して困ったことを質問するもよし。 関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。 大いに語れ。 前スレ pc11.2ch.net/test/read.cgi/gamedev/1155209226/ テンプレ追加事項あったらよろすく
- 148 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 07:24:44 ID:1RaeXbIY]
- コルーチンは、タスクシステム総合スレで話題が出てたね
- 149 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 08:00:36 ID:FUQ1BpEu]
- あー、マイクロスレッドのことか!
それなら一応分かるような気がしないでもない でもC++じゃあ無理だよね・・・
- 150 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 08:00:37 ID:0ql4peFo]
- fiber?
- 151 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 09:17:09 ID:1RaeXbIY]
- >>149
ネイティブに落とされる言語だと実現するにはコンパイラ依存になるんじゃないのかなあ? スタックいじるし。 >>150 Windows用語ではそうかと。 てか、要点は>>145に書いてあるなw うまいまとめだ
- 152 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 10:04:53 ID:BeipJAsv]
- コンパイラ依存じゃなくてアーキテクチャ依存だ。
setjmp()でコンテキストを保存したあと、保存したコンテキストの スタックポインタとリターンアドレスを書き換えてlongjmp()で戻すだけ。 C++だけで実装可能だぞっと。
- 153 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 13:31:17 ID:yE1V62Sc]
- fiberはRubyでも使われてるよ
スレッド(糸)より細いものだからファイバ(繊維) あとJavaScriptにも1.7から導入されてるぜい
- 154 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 22:11:23 ID:oT4ePMXj]
- マイクロスレッドは理想だけどそこまでトリッキーなことやる踏ん切りが付かない
- 155 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 22:26:27 ID:yE1V62Sc]
- やっぱスクリプト以外ではやる気しないな
- 156 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 22:30:56 ID:nV3j1Oo/]
- タスクシステムはコルーチン実装の一つだね
- 157 名前:名前は開発中のものです。 [2008/07/07(月) 23:47:06 ID:ZC8HSbxq]
- コルーチンの「コ」って子供の子って意味じゃないよね?
- 158 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 00:00:56 ID:2Ffcfnsn]
- cooperativeと一緒のco-だろ?
- 159 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 01:20:29 ID:DPfKtgJc]
- 俺はオブジェクト指向で、シングルスレッドだな。
常にメインループ内で、オブジェクトの描画、行動、当たり判定が行われてる。 また一方で、オブジェクト発生イベントのリストを持っていて、 順次、メインループにオブジェクトが登録されていく。 この「オブジェクト発生イベントのリスト」はシーンに相当していて、 シーンを切替えたければ、今登録されているオブジェクトを破棄して、 イベントのリストを差し替えるだけでいい。 while (1) { for i=0... { オブジェクト[i]->行動(); オブジェクト[i]->描画(); オブジェクト[i]->当たり判定(); } イベント発生() }
- 160 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 17:13:03 ID:8FRUZW5m]
- >>159
PACに似てるが違う、オブジェクトの追加に強そうだが そのメリットの恩恵が受けられない場合に死ぬほど複雑になる予感 ドメインロジックのテストを行うときにビューが関わってくる 逆にビューのテストを行うときにドメインロジックが関わってくるため テストに多大な労力がかかる事が予想される 常にプログラム全体をテストしなければならないため、試行錯誤すると死ねる render target等の処理が俺にはすぐに思いつかない、よって3Dには不向き 2Dにしても描画に関する処理が単純でなければうまく動かないだろう 規模が小さいプログラムを無駄に複雑にしてすごそうに見せたい人にお勧め または、意味もなく多機能オブジェクトをリストに突っ込んで管理したい人にお勧め 私はお勧めしない、追加のメリットが多大である場合は考慮に値するが ゲームには不向きだと思う、特に3Dの場合は 俺は怖くて使えない
- 161 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 17:19:39 ID:8FRUZW5m]
- >>160
追加 リソースの追加が障害にならなければロジックのテストは問題ない場合もある やるんだったらそんな半端な構造ではなく 関連まで含めて、PACアーキテクチャ使った方がよくないか?
- 162 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 22:56:21 ID:8FRUZW5m]
- 小規模な状態遷移の実装は
今持ってる手で四つ 1.擬似コルーチン 2.スレッド 3.スクリプトで隠蔽したスレッド 4.通常の状態変数による管理(State含む) 設計が明確でない初期のもの、プロトタイプ 又は小規模な場合の初期のとりあえず書いておくコードに向いているのは 擬似コルーチン又は状態変数だろう まだ設計方針が明確に決まっていない場合や試行錯誤しなければならない状態で スレッドやスクリプトの導入を決めるのは早すぎる、リスクが大きい ある程度、方針が固まってから適切なものを選択するのがいいだろう 状態変数での管理が大手を振っているのも 初期コストが低いという部分が大きい このため、状態変数やState以外の選択肢は簡単には普及しないだろう ただし、スレッドの積極的採用が処理速度向上に繋がるのならその限りではない
- 163 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 23:04:46 ID:gy2iNnCl]
- コルーチンで擬似ってどういうこと?
- 164 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 23:41:41 ID:8FRUZW5m]
- >>163
擬似じゃなくていいのか、訂正 1.コルーチン、又は擬似のそれ 言語仕様に含まれてるときはそのままコルーチンとして呼び出し c/c++の場合は以下のものが使える、又は自分で作る www.chiark.greenend.org.uk/~sgtatham/coroutines.html それ以外なら ソースコードを変換するプログラムでも作る gotoやthrowやswitchやラベルなんかが含まれない言語では無理、又は面倒くさい
- 165 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 23:46:18 ID:iq4s5004]
- まぁいいけど、ライセンスがGPLで良けりゃこっちを使おうぜ。
ttp://www.xmailserver.org/libpcl.html
- 166 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 01:10:17 ID:vZNCPgy9]
- 言語機能として付いてないC++で無理やんこやるのはいろいろ怖い気が
すんごい便利そうなんだけどなぁ・・・
- 167 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 07:23:21 ID:eQNI5n3r]
- そこまでするならスクリプト組み込んだほうが
よっぽど安全で楽だと思うけどな
- 168 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 09:40:38 ID:nYED4jrh]
- >>162
スレッドっていう言葉は聞いたことあるが、実装手法は、全く聞いたことが無いな。 >小規模な状態遷移の実装 >>146のような、行動予約の状態遷移を前提にしているのかな。 だとしたら、もっぱら自分は、C++で、 >4.通常の状態変数による管理(State含む) と動作制御用独自スクリプトだな。 基本は、ゲーム開発で言うところのタスクシステムで処理。 各オブジェクトは、単一クラス中に、状態ごとに処理関数(メンバ関数)を用意する。 フレーム毎に、その時点の状態に該当する処理関数を、1回ずつ呼び出す。 その関数中で、動作制御用独自スクリプトの解釈処理も行い、適宜、処理関数を切り替える。 状態毎の処理関数は、メンバ関数ポインタ配列を通じて、インターフェースを切り替える。 動作制御用独自スクリプト解釈込みの処理関数を、継承用テンプレート・クラス中に実装。 表現くどいけど、悪しからず。
- 169 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 17:57:35 ID:7MZGZOjk]
- 巣に帰れ
タスクシステム総合スレ part2 pc11.2ch.net/test/read.cgi/gamedev/1196711513/l50 おまえらタスクシステム信者がクソでカスでゴミクズな理由は 自分が書いてるコードにどんなメリットとデメリットがあるかを理解できてないところだ または、それを考えようとしないところだ ただ使えばいいと思い込んで、それで完結している 考えることを放棄したおまえらに設計能力を向上する機会はない 戦略のない戦術はただのテロだ
- 170 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 18:38:12 ID:vZNCPgy9]
- ひどいな・・・
なんでそんな暴言が吐けるの
- 171 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 18:47:18 ID:vvjjLorC]
- 良く知らんがタスクシステムって言葉が出ると荒れるようだ
なんかそういうgdgdな経緯でもあったんだろうな
- 172 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 18:55:55 ID:nYED4jrh]
- >>169
pc11.2ch.net/test/read.cgi/gamedev/1215129226/4n
- 173 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 18:56:55 ID:iC3IHDcB]
- >>171
ゲーム業界の造語みたいなものだからな。 OS屋に言わせると「なにそれ?プ」というものらしい。 まあ一定60FPSとか30FPSといったフレームで常に動いてて 物の動きとか制御してるのがOSがタスクを処理してるのに見えるから そういう風に業界の人間かゲーム評論家か自称ゲーム評論家の素人 が言い始めたのそもそもらしい
- 174 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 19:21:37 ID:eQNI5n3r]
- やっぱり顔真っ赤にして噛み付くヤツが出ると思ったよ
しょうがないからその辺の単語は誤魔化して話進めてくれ いつまで経っても話進まねーからな
- 175 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 19:22:14 ID:anjhk7B8]
- 名前負けしてるよね、完全に。
- 176 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 21:10:22 ID:7MZGZOjk]
- 話が進むわけないだろ
言ってる奴が、メリットもデメリットも把握していないんだから ただ難しそうな言葉が並んでいるだけで、それ以上の意味はない 宇宙の力がイオン水に影響を与えてゲーム脳がゲルマニウムパワーに還元されるんだよ 誰かこれを理解してみろクソが
- 177 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 21:12:45 ID:iC3IHDcB]
- 噛み付いてはないけど・・すまんな
まあ俺的にはそんな何とかシステム(自称)はどうでもいいよ。 市販のゲームでも売り出す際は自称xxxシステム採用とかいう 元からそういうの好きな業界だし。
- 178 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 21:30:52 ID:4OXXlyYN]
- >>176
少し落ち着けよw >宇宙の力がイオン水に影響を与えてゲーム脳がゲルマニウムパワーに還元されるんだよ お前はこういう事を言うやつに馬鹿だのアホだの必死に噛み付くのか? 俺はスルーするけどな
- 179 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 22:16:56 ID:EYwlC03l]
- 「面白いこと書いた」と思ってるんだろうなぁ。
端からはただのバカにしか見えてないけどね。
- 180 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 22:19:25 ID:SF8ehHxO]
- >>173
>OSがタスクを処理してるの ってどんな実装してるの?
- 181 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 22:22:48 ID:uQp1o0/n]
- タスクシステムってゲームプログラミング固有のもんじゃなくて
リアルタイムOSとか便利なもんがなかった時代の組み込みシステム開発に 起源があるような気がする。 まあ、C++で真っ当にオブジェクト指向やってれば、こんな古臭いもんを 有難がる必要はないと思う。
- 182 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 22:23:19 ID:iC3IHDcB]
- >>180
そりゃ・・・その辺はがんばって勉強して キューだとかスレッドだとかタスクだとか タイムスライスだとか まあ同時に複数のものが動いてる(ように処理してる)風に出来るものかな 乱暴な言い方だけど。
- 183 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 22:24:41 ID:7MZGZOjk]
- そろそろ潮時か
君らのレベルから比較して自分のレベルがどの程度低いのかがよくわかった 有益だったぜw また暇なときに挑発に乗ってやる この完璧な捨て台詞を覚えておけよ
- 184 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 22:48:57 ID:XmNOce7Z]
- >>183
巣に帰れとか言うけど、君の方がタスクシステムスレの流れを持ち込んでるようにしか見えない。 感情的にならずに、なぜいけないのか説明すればいいだけだと思うよ。 会社でタスクシステムで組みたいと同僚が言ったとして、 烈火の如く怒っても、自分が不利になるだけじゃなく、なぜ駄目なのかを分からせることも難しいだろ。 ここは、「現代的な設計ではそれは無い。なぜなら・・・」と話を進めるべきじゃないかな。
- 185 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 23:14:23 ID:nYED4jrh]
- >7MZGZOjk
なんというか、要するに、 ただの孤独なレス乞食。 もしくはタスク・スレへの誘導係。 マンネリだな。 効率的な挑発方法については、再考した方がいい。
- 186 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 23:17:00 ID:md3RJLJr]
- タスクスレに託すか。
- 187 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 23:26:06 ID:30d6bQh7]
- コードが繁雑になって来たので、大革命を起こしたら
以前より良い設計ができない上に、収集がつかなくなった。 svnさんにお願いして、前のリビジョンに戻る日が近くないことを祈るばかりだ。
- 188 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 23:50:08 ID:XmNOce7Z]
- >>186
- 189 名前:名前は開発中のものです。 mailto:sage [2008/07/10(木) 00:33:17 ID:rFEYqRAa]
- >>186
神は自らタスクる者をタスク。
- 190 名前:名前は開発中のものです。 mailto:sage [2008/07/10(木) 00:51:19 ID:A+tXgG+V]
- >>180
タスクスレの話題を続けるのはよくなさそうなので情報だけ pc11.2ch.net/test/read.cgi/gamedev/1196711513/456 OSだからできることを思いっきり使ってるんで 管理手法以外はあまり参考にならんよ。 OS自体に興味があるならOS板にいくといいよ
- 191 名前:名前は開発中のものです。 mailto:sage [2008/07/10(木) 00:54:31 ID:MjVgJsdw]
- PG系隔離スレの2大巨塔でタスク厨の押し付け合いイクナイ!
- 192 名前:名前は開発中のものです。 mailto:sage [2008/07/10(木) 05:56:13 ID:nnoBQqoI]
- Google,自社開発のデータ構造化ツール「Protocol Buffers」を公開
ttp://itpro.nikkeibp.co.jp/article/NEWS/20080709/310437/
- 193 名前:名前は開発中のものです。 mailto:sage [2008/07/10(木) 07:41:02 ID:99kxezye]
- >>186
【小さく審議中】 ,、_,、 ,、_,、 ,、_('・ω)(ω・`)、_,、 ('・ω)u゚ ゚uu(ω・`) ゙uu゚( '・) (・` )uu' ゚uu゚ ゚uJ
- 194 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 00:51:10 ID:eBw+YtUV]
- 素人です
つくりかけのゲームってどうやって動かしてテストするんですか?
- 195 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 01:06:26 ID:47vlxomf]
- ワタクシ ハ インクリメンタル ナ カイハツ ホウシキをとっているので
ちまちまと小規模な物を作って、それを拡張していく形になります。 例 第一段階: ウィンドウを表示する 第二段階: キャラクターを一つ表示する 第三段階: キャラクターを動かしてみる 第四段階: 飽きる
- 196 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 01:25:52 ID:eBw+YtUV]
- >>195
なんで途中までカタコトなんですか? そういう個人規模でなくて、複数のPGで役割分担してる場合はどうするんでしょう?
- 197 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 01:29:50 ID:R4nPLnnD]
- そんなことシロウトせんでいいいよ
- 198 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 02:53:02 ID:lqrHuCir]
- 動くところまで作ってからテストする
- 199 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 03:04:31 ID:uUrGa3AK]
- 改めて言われるとあれだな
他にやりようないな
- 200 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 03:23:29 ID:eBw+YtUV]
- >>198
他人がつくったクラスがないと動かない場合はテストできないのでしょうか?
- 201 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 03:29:10 ID:uUrGa3AK]
- つ 単体テスト
いや出しゃばった 俺はweb系なので実情は判らん まあロジック側は業種問わずどうグズったところで、 「何々渡したときに何々返す関数作ってー!」しか分業方法ないと思うけど
- 202 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 03:29:54 ID:edzJ8FGN]
- たぶん、作りかけってのが何処までか分からんけど
目に見えて作りかけとみれるのは殆ど完成間近なのが多いんじゃ。 プログラムの作りかけを動かす=エラーが出ないで動く なので
- 203 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 03:32:16 ID:edzJ8FGN]
- wiki.game-develop.com/
wikiのチュートリアル→段階的学習でもやってみては
- 204 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 04:56:24 ID:tw1/nxGs]
- >>200
そのクラスのインタフェースが分かるならその仮実装を作れば良いでしょ。 プロキシとかスタブって聞いたこと無いかな? そもそもあなたの言っているテストとは何をどうするテストなのか、 自分でハッキリと認識出来ているのなら人に聞くような問題じゃないと思う。
- 205 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 09:43:53 ID:47vlxomf]
- >>200
もし私がプログラマなら、担当部分を動かすための テストプログラム書いてます。 だから、それを見せてもらったら、大体どんなことができてるのか 把握できるんじゃないかと思います。 早い段階でCVSやSVNによるコード共有にも 慣れておくと幸せになれるかもしれません。 統合テストの段階になってからでないと 全体のMakefileが書けない、 リンク作業もできないのではどうにもなりません。 今のうちからコードを共有して、 常に全体がコンパイル/リンクが可能であることを 確認できる環境作りが云々、、、、、、、、
- 206 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 09:51:14 ID:timDAMYM]
- >>204
>>200は外注や営業職の言い訳で多発するんだよね。 あんなのはまともに相手するのも無駄。 「スタブ要るじゃん。 スタブ供給してくれないとコストにあわないんだよね」系で、素で言ってのけやがる。 超ウケルんですけど。 こういうのに仕事を与えないようにするのが業界の為だろ。 政治的な理由により取引継続となったら、「スタブの作り方を指導しますから、 その講習料として、スタブ作成代を相殺ですね」ぐらいしか案が無い。 ・こちらはスタブなんて、要求仕様の一部で料金内。jk ・カス会社は、どちらも追加料金や有料。 ・解決してなくても解決!!!!
- 207 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 10:22:09 ID:L3kGAfa0]
- >>194
作り掛けでも動くように、ゲーム全体を一枚岩ではなくバラして作る。 RPG だったら戦闘・マップ・店・イベントシーンで完全にバラしておいて、 テスト用のメニューからそれぞれ起動できるようにするとかな。
- 208 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 10:49:52 ID:UM30DsAY]
- 作業分担?
全員が全体を上から下まできっちり把握した上で、 常に連絡を密にし、お互いが何をやってるのか理解しつつ、 各自が必要とみなしたら声かけてどんどん作ったり直したりしていく。
- 209 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 11:17:51 ID:L3kGAfa0]
- >>208
全員が全体を把握できるのは、せいぜい3人ぐらいまでだな。その先は ヒエラルキー作って、パート毎に管理業務やる人間を立てないと無理。
- 210 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 13:47:03 ID:DAEU2DrC]
- 趣味ゲだと3人超えのマが介在するゲーム開発って
ほとんどないしな。大半はマが1人、多くて2人で>>408方式 ツーといえばカーの黄金タッグ。あ、ああじゃいる
- 211 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 13:48:37 ID:DAEU2DrC]
- ×>>408 ○>>208
- 212 名前:194 mailto:sage [2008/07/13(日) 14:07:22 ID:eBw+YtUV]
- 非常に参考になりました。ありがとうございます。
>>208 それ実際には各人に漏れやズレが出て手戻りが出るんで、大規模プロジェクトでは無理では
- 213 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 14:19:00 ID:sqmPpN2O]
- Cだったらmain()関数書いて実行して、デバッガ等で動き見るかな…
仕事(勿論?非ゲーム)でやってたときも、自分で単体テスト仕様書書いてたんで、 こんなやり方でもOKだったw 個人開発だったらウィンドウなりポリゴンなり目で見てわかる方から書いて、 中身を作っていくので、単体テストらしい単体テストはしないかな… とりあえず箱を表示するとこ書いて、テストして、 動かすところを書いて、テストして、…ってのはやるけどw
- 214 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 14:24:18 ID:RINNRPdb]
- 大規模が何人か明確じゃないし、作業形態もネット上だけなのか
サークルのようなものなのか会社なのかもわからないから議論が発散してる フリーソフト作るのに主力のプログラマ2〜3人と、バグ修正や機能強化の パッチくれる人10人くらいでなら、MLとIRC使って>>208のような方針でやれてた 最初のバージョンはリリース済みで方向性が決まってたのが大きそうだ >>212 作業するタスクを割り振りはちゃんとやって、頻繁なイテレーションと 継続的インテグレーションやるっつうのは何人くらいで破綻する?
- 215 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 15:08:38 ID:eBw+YtUV]
- >>214
1チーム10人以下で、各チームにリーダー2人ぐらいで、200人ぐらいのプロジェクトも回ってました。 素人なのでこれくらいしかわかりません。
- 216 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 15:15:30 ID:uaqPI4FP]
- >>215
プログラマの数は?
- 217 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 15:23:34 ID:L3kGAfa0]
- >>215
まぁ、プロジェクトの種類にもよるわな。勘定系とかだとデータ項目と画面の I/O 決まってれば、各人の作業は依存が少ない(DB に仕様どおりのテスト データ作れば良い)から、スケールしやすい。 基本的には、プロジェクト全体をいかに疎結合なパーツに分解できるような 設計をするかにかかってる。DB とかメッセージングシステム使う世界は、 そこで切れてることが多いから分けやすい。
- 218 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 17:47:09 ID:eBw+YtUV]
- >>216
150人はプログラマでした
- 219 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 18:56:00 ID:UM30DsAY]
- >>208は半分冗談、半分マジだったんだが意外と受け入れられてるw
>>218 なんの素人なんだw ゲームでプログラマ150人規模って洋げーでも多分ないのでは。予算的に。 マジレスしますと、 小さい規模ならメインプログラマがほとんど一人で下位システムを作っちゃうし、 大きい規模なら別の部署が作るから、 「作りかけの状態でどうやってテスト・・・」という事態があんまり無いでつ
- 220 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 21:19:15 ID:Q/hESmSh]
- 大規模金融システムで、SEの数ってことならありうるが
ゲームのスタッフロールにマが150人も並んでたら壮観だな ちなみにそれなりの規模だと思われるFFXでメインプログラマが2人 サブプログラマが12人で残りは大半がデザイナー
- 221 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 21:20:02 ID:6QYOrVUt]
- ネトゲじゃねーの?
- 222 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 22:39:48 ID:3VGnVE92]
- マ150人てどんなネトゲだよ。。。
- 223 名前:218 [2008/07/13(日) 23:00:22 ID:eBw+YtUV]
- ゲームのプロジェクトじゃないです。
詳細は言えませんが。 ゲームのテストってプログラマがCppUnitみたいの使ってできないですよね。 やはり手動でテスターがテストするんでしょうか。
- 224 名前:名前は開発中のものです。 mailto:sage [2008/07/13(日) 23:23:02 ID:UM30DsAY]
- 俺の知る限り、ゲーム開発では基本的にテストは無いです
単体テスト→結合テスト→受け入れテスト、みたいな流れは無い 昔ながらの職人的やり方というと聞こえは悪いですが、 衝突判定とか文字列処理部分のような仕様が明確な箇所なら 自動テストは有効だし実際にやっている会社もあるようだけど、 「ここで光がばーっと集まって、このキャラが独白を始めて、そして背景が宇宙に切り替わっていく」 みたいな仕様書があったとして、それをテストする基準がないし自動テストできません なので大部分がデバッグチーム頼みです
- 225 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 00:00:22 ID:yOzfOKcB]
- 3Dの衝突判定ライブラリを書いていたときは、単体テスト使いまくりだったぞ。
>224 みたいな場合はどうしようもないけど、表示以前のコアな部分では 単体テストも結構使う
- 226 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 00:02:24 ID:IEzc7ZIH]
- グラフィックやサウンドが絡む部分は自動化は難しいけど
ネットワーク部分やスクリプトの読み込み部分なんかは いくらでも自動化できるっしょ
- 227 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 00:10:58 ID:cIaZ6JxY]
- 一人で作ってる分には単体テストに拘る必要はないと思うな。
逆に(自分含めて)しっかり単体テストできるなら、複数PG開発も悪くないと思う。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ようするに他人のコードのデバッグは勘弁w テンパってる人はバグ処理を後回しにしたり、他に回したがるだろうからな!
- 228 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 12:30:06 ID:Hnt5WQTk]
- (NetBSDをOSに使ってる)リコーのプリンタの開発チームは
PGだけで1500人だそうです
- 229 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 15:33:56 ID:xdO9+1xM]
- 数万行の同人ソフトしか作ったことないけど、ゲームってプログラムとしては割合小規模じゃね?
乗っかってるリソースの量がとんでもないだけで。 実際、市販ソフト見てても、絶対に手が出せないというような印象はないなあ。 ゲームシステム(シーン別)、描画系、サウンド系、ツールやエディタ系と分けていけば それほどカオスな状態にはならないイメージがあるけど。 もちろんプログラマの数の2乗程度の複雑性はあるだろうけど。 見ててもう明らかに絶望的なのは、勘定系とか電子カルテとか。 あと、それなりに腕の立つリードプログラマがいないと今時の3Dゲーム自体作りようがなくて そいつがほとんどの重要なコード書いてしまってそう。なんとなく。
- 230 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 15:36:32 ID:Hy149M4+]
- >>229
勘定系だってそれほど変わらんよ。
- 231 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 15:40:51 ID:0Th48wDt]
- RPGみたいないろんな要素のあるゲームのプログラミングってどこから手をつけていったらいいですか?
- 232 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 15:47:11 ID:wxUymIt7]
- お好きなところからどうぞ
- 233 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 16:22:48 ID:Hnt5WQTk]
- MSXのドラクエ2も大学生が一人で全部作ったんだよね
- 234 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:15:33 ID:IiJYDS4l]
- RPGっていってもいまだといろんなシステムあるからな〜
古典的なドラクエ初期のように2Dオンリー チョンゲーに代表される3D使ってるクリックゲー
- 235 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:29:25 ID:Hl1v93zY]
- P6のゼビウスは小学生が一人で作ったんだよね
(発売時は中学生?) www.ne.jp/asahi/shiba/mic/nori/xevi_tiny1/index.html
- 236 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 17:02:22 ID:WbuXgq6y]
- >>230
勘定系は、人数は増えるけど PM しっかりしてればカオスにはならんよな。 金回りの話なのでミスが許されず、テスト工数がやったら膨らむから、 プロジェクト管理大変だけど。
- 237 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 17:02:59 ID:WbuXgq6y]
- >>231
メモリ管理
- 238 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 20:17:04 ID:uAQ9zE97]
- >>231
要素の洗い出し
- 239 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 02:44:36 ID:gpI6Slf5]
- 先人のろくにコメントもないコードの解析だけで一ヶ月ぐらいコーディングもしないってことはありますか?
- 240 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 02:56:31 ID:L2XNyVag]
- >>239
移植モノで、しかも元のプログラマが辞めて連絡取れないという条件で 一度やったことがある。二度とやりたくない。
- 241 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 03:05:04 ID:x+htBSIe]
- ソースがあるだけマシだよ
アーケード版のバイナリだけ渡されて 「これをPS2に移植してください。ソースは紛失してしまいました。」 と言った大田区の某大手ゲーム会社があったそうな。
- 242 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 03:08:22 ID:ZbM+kRVz]
- >>241
すみません… それ、たぶんウチだ orz
- 243 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 03:39:46 ID:18o8S9Zj]
- 最悪だなそれ
MAMEでも進呈したほうがいいな
- 244 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 15:36:02 ID:gpI6Slf5]
- オブジェクト指向のくずれてるウンココードに出会ったらどうしますか?
- 245 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 17:18:51 ID:g88tpUo2]
- 見なかったことにする
- 246 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 17:43:16 ID:1Zabkxz6]
- それ俺だな。
どうやれば良いか分からないから、手探りで書いてる(´・ω・`)
- 247 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 22:53:25 ID:zgBZw03q]
- シングルトンで作ったクラスが2つや3つもインスタンスを生成することになったら破綻しない?
- 248 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 23:02:17 ID:Tcsf7iZJ]
- >>247
各フィールドやメンバ関数がまるごとstatic宣言されていない限りは、破綻しないと思うよ。 数に制限のあるリソース(or デバイス)を取り扱ってる場合は、セマフォか何かで排他処理とかロックとかが必要になるかもしれないけど。
|

|