ゲームにおけるデータ構造・クラス設計・パターン2
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/05/23(金) 21:10:59ID:8M1gqhPXどのようにクラス設計をすればよいか、
継承・委譲関係はどのようにすればよいか、
使えそうなパターンは何かなど語るのもよし。
自作ゲームの内容とクラス図を書いて
改善案を聞くもよし。
設計に関して困ったことを質問するもよし。
関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。
大いに語れ。
前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1155209226/
テンプレ追加事項あったらよろすく
0174名前は開発中のものです。
2008/07/09(水) 19:21:37ID:eQNI5n3rしょうがないからその辺の単語は誤魔化して話進めてくれ
いつまで経っても話進まねーからな
0175名前は開発中のものです。
2008/07/09(水) 19:22:14ID:anjhk7B80176名前は開発中のものです。
2008/07/09(水) 21:10:22ID:7MZGZOjk言ってる奴が、メリットもデメリットも把握していないんだから
ただ難しそうな言葉が並んでいるだけで、それ以上の意味はない
宇宙の力がイオン水に影響を与えてゲーム脳がゲルマニウムパワーに還元されるんだよ
誰かこれを理解してみろクソが
0177名前は開発中のものです。
2008/07/09(水) 21:12:45ID:iC3IHDcBまあ俺的にはそんな何とかシステム(自称)はどうでもいいよ。
市販のゲームでも売り出す際は自称xxxシステム採用とかいう
元からそういうの好きな業界だし。
0178名前は開発中のものです。
2008/07/09(水) 21:30:52ID:4OXXlyYN少し落ち着けよw
>宇宙の力がイオン水に影響を与えてゲーム脳がゲルマニウムパワーに還元されるんだよ
お前はこういう事を言うやつに馬鹿だのアホだの必死に噛み付くのか?
俺はスルーするけどな
0179名前は開発中のものです。
2008/07/09(水) 22:16:56ID:EYwlC03l端からはただのバカにしか見えてないけどね。
0180名前は開発中のものです。
2008/07/09(水) 22:19:25ID:SF8ehHxO>OSがタスクを処理してるの
ってどんな実装してるの?
0181名前は開発中のものです。
2008/07/09(水) 22:22:48ID:uQp1o0/nリアルタイムOSとか便利なもんがなかった時代の組み込みシステム開発に
起源があるような気がする。
まあ、C++で真っ当にオブジェクト指向やってれば、こんな古臭いもんを
有難がる必要はないと思う。
0182名前は開発中のものです。
2008/07/09(水) 22:23:19ID:iC3IHDcBそりゃ・・・その辺はがんばって勉強して
キューだとかスレッドだとかタスクだとか
タイムスライスだとか
まあ同時に複数のものが動いてる(ように処理してる)風に出来るものかな
乱暴な言い方だけど。
0183名前は開発中のものです。
2008/07/09(水) 22:24:41ID:7MZGZOjk君らのレベルから比較して自分のレベルがどの程度低いのかがよくわかった
有益だったぜw
また暇なときに挑発に乗ってやる
この完璧な捨て台詞を覚えておけよ
0184名前は開発中のものです。
2008/07/09(水) 22:48:57ID:XmNOce7Z巣に帰れとか言うけど、君の方がタスクシステムスレの流れを持ち込んでるようにしか見えない。
感情的にならずに、なぜいけないのか説明すればいいだけだと思うよ。
会社でタスクシステムで組みたいと同僚が言ったとして、
烈火の如く怒っても、自分が不利になるだけじゃなく、なぜ駄目なのかを分からせることも難しいだろ。
ここは、「現代的な設計ではそれは無い。なぜなら・・・」と話を進めるべきじゃないかな。
0185名前は開発中のものです。
2008/07/09(水) 23:14:23ID:nYED4jrhなんというか、要するに、
ただの孤独なレス乞食。
もしくはタスク・スレへの誘導係。
マンネリだな。
効率的な挑発方法については、再考した方がいい。
0186名前は開発中のものです。
2008/07/09(水) 23:17:00ID:md3RJLJr0187名前は開発中のものです。
2008/07/09(水) 23:26:06ID:30d6bQh7以前より良い設計ができない上に、収集がつかなくなった。
svnさんにお願いして、前のリビジョンに戻る日が近くないことを祈るばかりだ。
0188名前は開発中のものです。
2008/07/09(水) 23:50:08ID:XmNOce7Z0189名前は開発中のものです。
2008/07/10(木) 00:33:17ID:rFEYqRAa神は自らタスクる者をタスク。
0190名前は開発中のものです。
2008/07/10(木) 00:51:19ID:A+tXgG+Vタスクスレの話題を続けるのはよくなさそうなので情報だけ
http://pc11.2ch.net/test/read.cgi/gamedev/1196711513/456
OSだからできることを思いっきり使ってるんで
管理手法以外はあまり参考にならんよ。
OS自体に興味があるならOS板にいくといいよ
0191名前は開発中のものです。
2008/07/10(木) 00:54:31ID:MjVgJsdw0192名前は開発中のものです。
2008/07/10(木) 05:56:13ID:nnoBQqoIttp://itpro.nikkeibp.co.jp/article/NEWS/20080709/310437/
0193名前は開発中のものです。
2008/07/10(木) 07:41:02ID:99kxezye【小さく審議中】
,、_,、 ,、_,、
,、_('・ω)(ω・`)、_,、
('・ω)u゚ ゚uu(ω・`)
゙uu゚( '・) (・` )uu'
゚uu゚ ゚uJ
0194名前は開発中のものです。
2008/07/13(日) 00:51:10ID:eBw+YtUVつくりかけのゲームってどうやって動かしてテストするんですか?
0195名前は開発中のものです。
2008/07/13(日) 01:06:26ID:47vlxomfちまちまと小規模な物を作って、それを拡張していく形になります。
例
第一段階: ウィンドウを表示する
第二段階: キャラクターを一つ表示する
第三段階: キャラクターを動かしてみる
第四段階: 飽きる
0196名前は開発中のものです。
2008/07/13(日) 01:25:52ID:eBw+YtUVなんで途中までカタコトなんですか?
そういう個人規模でなくて、複数のPGで役割分担してる場合はどうするんでしょう?
0197名前は開発中のものです。
2008/07/13(日) 01:29:50ID:R4nPLnnD0198名前は開発中のものです。
2008/07/13(日) 02:53:02ID:lqrHuCir0199名前は開発中のものです。
2008/07/13(日) 03:04:31ID:uUrGa3AK他にやりようないな
0200名前は開発中のものです。
2008/07/13(日) 03:23:29ID:eBw+YtUV他人がつくったクラスがないと動かない場合はテストできないのでしょうか?
0201名前は開発中のものです。
2008/07/13(日) 03:29:10ID:uUrGa3AKいや出しゃばった 俺はweb系なので実情は判らん
まあロジック側は業種問わずどうグズったところで、
「何々渡したときに何々返す関数作ってー!」しか分業方法ないと思うけど
0202名前は開発中のものです。
2008/07/13(日) 03:29:54ID:edzJ8FGN目に見えて作りかけとみれるのは殆ど完成間近なのが多いんじゃ。
プログラムの作りかけを動かす=エラーが出ないで動く なので
0203名前は開発中のものです。
2008/07/13(日) 03:32:16ID:edzJ8FGNwikiのチュートリアル→段階的学習でもやってみては
0204名前は開発中のものです。
2008/07/13(日) 04:56:24ID:tw1/nxGsそのクラスのインタフェースが分かるならその仮実装を作れば良いでしょ。
プロキシとかスタブって聞いたこと無いかな?
そもそもあなたの言っているテストとは何をどうするテストなのか、
自分でハッキリと認識出来ているのなら人に聞くような問題じゃないと思う。
0205名前は開発中のものです。
2008/07/13(日) 09:43:53ID:47vlxomfもし私がプログラマなら、担当部分を動かすための
テストプログラム書いてます。
だから、それを見せてもらったら、大体どんなことができてるのか
把握できるんじゃないかと思います。
早い段階でCVSやSVNによるコード共有にも
慣れておくと幸せになれるかもしれません。
統合テストの段階になってからでないと
全体のMakefileが書けない、
リンク作業もできないのではどうにもなりません。
今のうちからコードを共有して、
常に全体がコンパイル/リンクが可能であることを
確認できる環境作りが云々、、、、、、、、
0206名前は開発中のものです。
2008/07/13(日) 09:51:14ID:timDAMYM>>200は外注や営業職の言い訳で多発するんだよね。
あんなのはまともに相手するのも無駄。
「スタブ要るじゃん。 スタブ供給してくれないとコストにあわないんだよね」系で、素で言ってのけやがる。
超ウケルんですけど。
こういうのに仕事を与えないようにするのが業界の為だろ。
政治的な理由により取引継続となったら、「スタブの作り方を指導しますから、
その講習料として、スタブ作成代を相殺ですね」ぐらいしか案が無い。
・こちらはスタブなんて、要求仕様の一部で料金内。jk
・カス会社は、どちらも追加料金や有料。
・解決してなくても解決!!!!
0207名前は開発中のものです。
2008/07/13(日) 10:22:09ID:L3kGAfa0作り掛けでも動くように、ゲーム全体を一枚岩ではなくバラして作る。
RPG だったら戦闘・マップ・店・イベントシーンで完全にバラしておいて、
テスト用のメニューからそれぞれ起動できるようにするとかな。
0208名前は開発中のものです。
2008/07/13(日) 10:49:52ID:UM30DsAY全員が全体を上から下まできっちり把握した上で、
常に連絡を密にし、お互いが何をやってるのか理解しつつ、
各自が必要とみなしたら声かけてどんどん作ったり直したりしていく。
0209名前は開発中のものです。
2008/07/13(日) 11:17:51ID:L3kGAfa0全員が全体を把握できるのは、せいぜい3人ぐらいまでだな。その先は
ヒエラルキー作って、パート毎に管理業務やる人間を立てないと無理。
0210名前は開発中のものです。
2008/07/13(日) 13:47:03ID:DAEU2DrCほとんどないしな。大半はマが1人、多くて2人で>>408方式
ツーといえばカーの黄金タッグ。あ、ああじゃいる
0211名前は開発中のものです。
2008/07/13(日) 13:48:37ID:DAEU2DrC0212194
2008/07/13(日) 14:07:22ID:eBw+YtUV>>208
それ実際には各人に漏れやズレが出て手戻りが出るんで、大規模プロジェクトでは無理では
0213名前は開発中のものです。
2008/07/13(日) 14:19:00ID:sqmPpN2O仕事(勿論?非ゲーム)でやってたときも、自分で単体テスト仕様書書いてたんで、
こんなやり方でもOKだったw
個人開発だったらウィンドウなりポリゴンなり目で見てわかる方から書いて、
中身を作っていくので、単体テストらしい単体テストはしないかな…
とりあえず箱を表示するとこ書いて、テストして、
動かすところを書いて、テストして、…ってのはやるけどw
0214名前は開発中のものです。
2008/07/13(日) 14:24:18ID:RINNRPdbサークルのようなものなのか会社なのかもわからないから議論が発散してる
フリーソフト作るのに主力のプログラマ2〜3人と、バグ修正や機能強化の
パッチくれる人10人くらいでなら、MLとIRC使って>>208のような方針でやれてた
最初のバージョンはリリース済みで方向性が決まってたのが大きそうだ
>>212
作業するタスクを割り振りはちゃんとやって、頻繁なイテレーションと
継続的インテグレーションやるっつうのは何人くらいで破綻する?
0215名前は開発中のものです。
2008/07/13(日) 15:08:38ID:eBw+YtUV1チーム10人以下で、各チームにリーダー2人ぐらいで、200人ぐらいのプロジェクトも回ってました。
素人なのでこれくらいしかわかりません。
0216名前は開発中のものです。
2008/07/13(日) 15:15:30ID:uaqPI4FPプログラマの数は?
0217名前は開発中のものです。
2008/07/13(日) 15:23:34ID:L3kGAfa0まぁ、プロジェクトの種類にもよるわな。勘定系とかだとデータ項目と画面の
I/O 決まってれば、各人の作業は依存が少ない(DB に仕様どおりのテスト
データ作れば良い)から、スケールしやすい。
基本的には、プロジェクト全体をいかに疎結合なパーツに分解できるような
設計をするかにかかってる。DB とかメッセージングシステム使う世界は、
そこで切れてることが多いから分けやすい。
0218名前は開発中のものです。
2008/07/13(日) 17:47:09ID:eBw+YtUV150人はプログラマでした
0219名前は開発中のものです。
2008/07/13(日) 18:56:00ID:UM30DsAY>>218
なんの素人なんだw
ゲームでプログラマ150人規模って洋げーでも多分ないのでは。予算的に。
マジレスしますと、
小さい規模ならメインプログラマがほとんど一人で下位システムを作っちゃうし、
大きい規模なら別の部署が作るから、
「作りかけの状態でどうやってテスト・・・」という事態があんまり無いでつ
0220名前は開発中のものです。
2008/07/13(日) 21:19:15ID:Q/hESmShゲームのスタッフロールにマが150人も並んでたら壮観だな
ちなみにそれなりの規模だと思われるFFXでメインプログラマが2人
サブプログラマが12人で残りは大半がデザイナー
0221名前は開発中のものです。
2008/07/13(日) 21:20:02ID:6QYOrVUt0222名前は開発中のものです。
2008/07/13(日) 22:39:48ID:3VGnVE920223218
2008/07/13(日) 23:00:22ID:eBw+YtUV詳細は言えませんが。
ゲームのテストってプログラマがCppUnitみたいの使ってできないですよね。
やはり手動でテスターがテストするんでしょうか。
0224名前は開発中のものです。
2008/07/13(日) 23:23:02ID:UM30DsAY単体テスト→結合テスト→受け入れテスト、みたいな流れは無い
昔ながらの職人的やり方というと聞こえは悪いですが、
衝突判定とか文字列処理部分のような仕様が明確な箇所なら
自動テストは有効だし実際にやっている会社もあるようだけど、
「ここで光がばーっと集まって、このキャラが独白を始めて、そして背景が宇宙に切り替わっていく」
みたいな仕様書があったとして、それをテストする基準がないし自動テストできません
なので大部分がデバッグチーム頼みです
0225名前は開発中のものです。
2008/07/14(月) 00:00:22ID:yOzfOKcB>224 みたいな場合はどうしようもないけど、表示以前のコアな部分では
単体テストも結構使う
0226名前は開発中のものです。
2008/07/14(月) 00:02:24ID:IEzc7ZIHネットワーク部分やスクリプトの読み込み部分なんかは
いくらでも自動化できるっしょ
0227名前は開発中のものです。
2008/07/14(月) 00:10:58ID:cIaZ6JxY逆に(自分含めて)しっかり単体テストできるなら、複数PG開発も悪くないと思う。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ようするに他人のコードのデバッグは勘弁w
テンパってる人はバグ処理を後回しにしたり、他に回したがるだろうからな!
0228名前は開発中のものです。
2008/07/14(月) 12:30:06ID:Hnt5WQTkPGだけで1500人だそうです
0229名前は開発中のものです。
2008/07/14(月) 15:33:56ID:xdO9+1xM乗っかってるリソースの量がとんでもないだけで。
実際、市販ソフト見てても、絶対に手が出せないというような印象はないなあ。
ゲームシステム(シーン別)、描画系、サウンド系、ツールやエディタ系と分けていけば
それほどカオスな状態にはならないイメージがあるけど。
もちろんプログラマの数の2乗程度の複雑性はあるだろうけど。
見ててもう明らかに絶望的なのは、勘定系とか電子カルテとか。
あと、それなりに腕の立つリードプログラマがいないと今時の3Dゲーム自体作りようがなくて
そいつがほとんどの重要なコード書いてしまってそう。なんとなく。
0230名前は開発中のものです。
2008/07/14(月) 15:36:32ID:Hy149M4+勘定系だってそれほど変わらんよ。
0231名前は開発中のものです。
2008/07/14(月) 15:40:51ID:0Th48wDt0232名前は開発中のものです。
2008/07/14(月) 15:47:11ID:wxUymIt70233名前は開発中のものです。
2008/07/14(月) 16:22:48ID:Hnt5WQTk0234名前は開発中のものです。
2008/07/15(火) 13:15:33ID:IiJYDS4l古典的なドラクエ初期のように2Dオンリー
チョンゲーに代表される3D使ってるクリックゲー
0235名前は開発中のものです。
2008/07/15(火) 13:29:25ID:Hl1v93zY(発売時は中学生?)
http://www.ne.jp/asahi/shiba/mic/nori/xevi_tiny1/index.html
0236名前は開発中のものです。
2008/07/16(水) 17:02:22ID:WbuXgq6y勘定系は、人数は増えるけど PM しっかりしてればカオスにはならんよな。
金回りの話なのでミスが許されず、テスト工数がやったら膨らむから、
プロジェクト管理大変だけど。
0237名前は開発中のものです。
2008/07/16(水) 17:02:59ID:WbuXgq6yメモリ管理
0238名前は開発中のものです。
2008/07/17(木) 20:17:04ID:uAQ9zE97要素の洗い出し
0239名前は開発中のものです。
2008/07/20(日) 02:44:36ID:gpI6Slf50240名前は開発中のものです。
2008/07/20(日) 02:56:31ID:L2XNyVag移植モノで、しかも元のプログラマが辞めて連絡取れないという条件で
一度やったことがある。二度とやりたくない。
0241名前は開発中のものです。
2008/07/20(日) 03:05:04ID:x+htBSIeアーケード版のバイナリだけ渡されて
「これをPS2に移植してください。ソースは紛失してしまいました。」
と言った大田区の某大手ゲーム会社があったそうな。
0242名前は開発中のものです。
2008/07/20(日) 03:08:22ID:ZbM+kRVzすみません… それ、たぶんウチだ orz
0243名前は開発中のものです。
2008/07/20(日) 03:39:46ID:18o8S9ZjMAMEでも進呈したほうがいいな
0244名前は開発中のものです。
2008/07/20(日) 15:36:02ID:gpI6Slf50245名前は開発中のものです。
2008/07/20(日) 17:18:51ID:g88tpUo20246名前は開発中のものです。
2008/07/20(日) 17:43:16ID:1Zabkxz6どうやれば良いか分からないから、手探りで書いてる(´・ω・`)
0247名前は開発中のものです。
2008/07/20(日) 22:53:25ID:zgBZw03q0248名前は開発中のものです。
2008/07/20(日) 23:02:17ID:Tcsf7iZJ各フィールドやメンバ関数がまるごとstatic宣言されていない限りは、破綻しないと思うよ。
数に制限のあるリソース(or デバイス)を取り扱ってる場合は、セマフォか何かで排他処理とかロックとかが必要になるかもしれないけど。
0249名前は開発中のものです。
2008/07/20(日) 23:02:30ID:USb+9tXOシングルトンが2つも3つもあるならそれはシングルトンじゃないし
シングルトンのインスタンスがさらにインスタンスを生成するようなメソッド持ってても別に破綻しないけど?
0250名前は開発中のものです。
2008/07/21(月) 01:05:54ID:9zclfNbN0251名前は開発中のものです。
2008/07/21(月) 14:17:23ID:Y7Mzeak+出来てる、辞めた先輩の残した謎コードって事ですね。わかりませn
0252名前は開発中のものです。
2008/07/21(月) 18:53:57ID:9zclfNbN0253名前は開発中のものです。
2008/07/21(月) 18:54:50ID:NGr1sFSW0254名前は開発中のものです。
2008/07/21(月) 23:51:13ID:yo6BY71C0255名前は開発中のものです。
2008/07/22(火) 00:00:52ID:grvq6f3AWii 普通
PS3 言わせるなw
という感じか?
0256名前は開発中のものです。
2008/07/22(火) 00:03:34ID:9zclfNbN詳しく
0257名前は開発中のものです。
2008/07/22(火) 00:08:34ID:zCVKhHD70258名前は開発中のものです。
2008/07/22(火) 00:21:20ID:inlA4ozd0259名前は開発中のものです。
2008/07/22(火) 00:35:03ID:88jYUtHh0260名前は開発中のものです。
2008/07/22(火) 02:21:06ID:TRIzaodv実際どんなもんなんだろ
0261名前は開発中のものです。
2008/07/22(火) 02:44:01ID:kfP9Fty30262名前は開発中のものです。
2008/07/22(火) 02:45:19ID:zCVKhHD70263名前は開発中のものです。
2008/07/22(火) 16:12:48ID:k5fUsZQo0264名前は開発中のものです。
2008/07/22(火) 18:29:14ID:c7QeI/ED0265名前は開発中のものです。
2008/07/22(火) 18:36:04ID:Jekk8SUvあ、Dreamcastという例外があるか
0266名前は開発中のものです。
2008/07/22(火) 20:52:26ID:6od3yLDuDirectXそのものを使ってるかどうかは知らないが。
0267名前は開発中のものです。
2008/07/25(金) 15:29:12ID:9vpYBrtF0268名前は開発中のものです。
2008/07/25(金) 20:06:41ID:66T6bhjF板違い
プログラマー@2ch掲示板
http://pc11.2ch.net/prog/
0269名前は開発中のものです。
2008/07/26(土) 01:19:05ID:+2uolo1R0270名前は開発中のものです。
2008/07/26(土) 02:28:02ID:Esaqa0cW0271名前は開発中のものです。
2008/07/28(月) 18:13:52ID:9GhNVVJ3後者はなんだ?状態フラグ読んで条件分岐すればコマンド変化はいくらでも管理できるでしょ
それともzorkみたいなやつかな。それだと構文解析が肝だろうなあ
0272名前は開発中のものです。
2008/07/29(火) 14:37:45ID:kHD6g876なるほど。フラグの状態で、出るコマンドを制御すればいいのか。
サンクス
0273名前は開発中のものです。
2008/07/31(木) 18:14:30ID:ucHp1Nqpメニューオブジェクトを生成してどうこうみたいな。
■ このスレッドは過去ログ倉庫に格納されています