具体的なゲーム名を挙げて、
どのようにクラス設計をすればよいか、
継承・委譲関係はどのようにすればよいか、
使えそうなパターンは何かなど語るのもよし。
自作ゲームの内容とクラス図を書いて
改善案を聞くもよし。
設計に関して困ったことを質問するもよし。
関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。
大いに語れ。
前スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1155209226/
テンプレ追加事項あったらよろすく
探検
ゲームにおけるデータ構造・クラス設計・パターン2
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
2008/05/23(金) 21:10:59ID:8M1gqhPX2008/05/23(金) 22:15:47ID:KYZLgWWh
■デザインパターン
必須ではないが用語として便利なのでしばしば話題に上がる
[参考サイト]
Gameつくろー! デザインパターン習得編
http://marupeke296.com/DP_main.html
サルでもわかる 逆引きデザインパターン
http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html
[参考書籍(Amazonリンク)]
オブジェクト指向における再利用のためのデザインパターン
http://amazon.co.jp/o/ASIN/4797311126/
デザインパターンとともに学ぶオブジェクト指向のこころ
http://amazon.co.jp/o/ASIN/4894716844/
>>1乙
一応デザパタ軽く。
必須ではないが用語として便利なのでしばしば話題に上がる
[参考サイト]
Gameつくろー! デザインパターン習得編
http://marupeke296.com/DP_main.html
サルでもわかる 逆引きデザインパターン
http://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-1.html
[参考書籍(Amazonリンク)]
オブジェクト指向における再利用のためのデザインパターン
http://amazon.co.jp/o/ASIN/4797311126/
デザインパターンとともに学ぶオブジェクト指向のこころ
http://amazon.co.jp/o/ASIN/4894716844/
>>1乙
一応デザパタ軽く。
2008/05/24(土) 01:01:32ID:hwB5uNnT
3ゲトー1乙。ずっと待ってたぜ。
2008/05/24(土) 01:10:28ID:hwB5uNnT
・オブジェクト指向といったら特に指定しない限りクラスベース(所謂最も一般的なオブジェクト指向)
・インスタンスの方がより正しい場合は極力インスタンスという用語を使い、オブジェクトの使用は避ける。
とかスレの前提としてどうだろう。
・インスタンスの方がより正しい場合は極力インスタンスという用語を使い、オブジェクトの使用は避ける。
とかスレの前提としてどうだろう。
2008/05/24(土) 01:16:03ID:fCOY9f2q
インスタンスってつまりは実体のこと?
Foo foo = new Foo() とすると foo がインスタンス?
Foo foo = new Foo() とすると foo がインスタンス?
2008/05/24(土) 01:24:20ID:WrI+RE5A
デザインパターンとOpen-Closed Principle
http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/dp-ocp.html
これも
http://www.morijp.com/masarl/homepage3.nifty.com/masarl/article/dp-ocp.html
これも
2008/05/24(土) 02:07:45ID:hwB5uNnT
2008/05/24(土) 02:41:35ID:/DdfEDqz
「ゲームとはPrettyなインターフェースを備えたデータベースである」
っていう文言がどっかのペーパーに書いてあったけど、
スクリプト指向が進めば進むほど現実味を帯びてくるな
っていう文言がどっかのペーパーに書いてあったけど、
スクリプト指向が進めば進むほど現実味を帯びてくるな
2008/05/24(土) 16:24:52ID:WrI+RE5A
スクリプト指向の意味がさっぱりわからない
2008/05/24(土) 17:17:01ID:LLc7AXF7
今最高峰のプログラマって、全員WEB系じゃん?
WEB系ってぶっちゃけスクリプト志向なんだよね
これでわかるかな?
WEB系ってぶっちゃけスクリプト志向なんだよね
これでわかるかな?
2008/05/24(土) 17:53:41ID:hwB5uNnT
2008/05/24(土) 21:56:16ID:WrI+RE5A
メリットやデメリットを言えないくせに
「これはすごいんですよ、これを使えば安心です」って言ってるだけか
タスクシステム信者と同じだな
それで、教祖様は誰がなる予定なの?
「これはすごいんですよ、これを使えば安心です」って言ってるだけか
タスクシステム信者と同じだな
それで、教祖様は誰がなる予定なの?
2008/05/24(土) 23:02:12ID:zxthQanT
2008/05/24(土) 23:16:51ID:6QB8Oyw/
プ板から厨房誘致すればこのスレは盛り上がる。間違い無いw
2008/05/24(土) 23:28:05ID:PtHN405f
たてなきゃいいのに布教スレなんかたてるからこうなる
2008/05/25(日) 00:49:54ID:9gKbes0q
もう厨房が数匹住み着いたのか
2008/05/25(日) 10:55:20ID:9DfW5HgH
プ板?
ム板のことか?
ム板のことか?
2008/05/25(日) 11:05:10ID:93aOxetu
マ板じゃね?
2008/05/27(火) 12:06:43ID:NfKeIEM4
これも貼っておこう
やる夫で学ぶデザインパターン
ttp://mojalog.com/cgi/mt/mt-search.cgi?tag=%E3%82%84%E3%82%8B%E5%A4%AB%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&blog_id=1
やる夫で学ぶデザインパターン
ttp://mojalog.com/cgi/mt/mt-search.cgi?tag=%E3%82%84%E3%82%8B%E5%A4%AB%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3&blog_id=1
2008/05/28(水) 00:17:53ID:EMOoLtkb
途中からゲーム関係なくね?
2008/05/28(水) 09:16:17ID:rm2+ecl2
俺には全部ゲームに関係した話に見えるけど?
サンプルコードもゲームだしわかりやすくていいと思うが
サンプルコードもゲームだしわかりやすくていいと思うが
2008/05/28(水) 10:19:46ID:jKXaFTfv
なんか、無理矢理ゲームに例えてる感がひしひしと。
2008/05/28(水) 12:07:15ID:yrY1wCou
日本語も満足に読めないのか
2008/05/28(水) 12:58:54ID:aV/WuK9Y
お、2スレ目立ってたのね。
なんだかんだで前スレは良スレだったと思っていたので嬉しいじゃない。
なんだかんだで前スレは良スレだったと思っていたので嬉しいじゃない。
2008/05/28(水) 19:17:39ID:rm2+ecl2
>>22
そりゃ「デザインパターン使えばこんなにゲーム作りやすいよ!」じゃなくて
「例としてゲーム使ってデザインパターン解説してみた」だからそんなもんだろ
無理に読めとは言わないが、全く関係ないって事は無い
そりゃ「デザインパターン使えばこんなにゲーム作りやすいよ!」じゃなくて
「例としてゲーム使ってデザインパターン解説してみた」だからそんなもんだろ
無理に読めとは言わないが、全く関係ないって事は無い
2008/06/01(日) 20:32:11ID:CN3GNXI+
俺のレベルではよくわからんが
ゲーム屋からみれば変な設計なん?
ゲーム屋からみれば変な設計なん?
2008/06/01(日) 20:35:37ID:9GWV5N72
デザインパターンを丸々入れ込むとゲームだと描画とかで
速度でないゴミになりそうな悪寒
速度でないゴミになりそうな悪寒
2008/06/01(日) 22:40:05ID:IjC+ZLNy
関数呼び出しとか仮想関数分のオーバーヘッドってそんなに響くか?
まぁ使い過ぎが良くないってのには同意だけど
まぁ使い過ぎが良くないってのには同意だけど
29名前は開発中のものです。
2008/06/02(月) 00:45:33ID:u3nq1AKu クラスというか、同じ関数名が増えまくるオブジェクト思考言語は、GTAGS使えないので嫌いです。継承構造とかも嫌い。
こんなんじゃ、ゲーム屋って無理?
こんなんじゃ、ゲーム屋って無理?
2008/06/03(火) 13:20:56ID:Up2rlfhT
2008/06/03(火) 13:37:21ID:60nvGBII
2008/06/03(火) 14:28:32ID:FP0Va/Ol
cscopeならglobalと同じような事をC++やjavaのコードに対してもできるぜ
2008/06/03(火) 18:34:30ID:R8vkDVly
CodeWarriorとか、OOPでもばんばんタグジャンプできるから問題ないのでは?
どうしてもGTAGSがいいの?GTAGSってGNU Tags?Google Tags?
どうしてもGTAGSがいいの?GTAGSってGNU Tags?Google Tags?
2008/06/04(水) 03:53:09ID:8a5x1JRq
35名前は開発中のものです。
2008/06/07(土) 05:38:48ID:PKYwPYRJ >>27
デザインパターンはシステムに応じて最適化することを前提としてる。
お前が考えているように、パターンを丸々適用するのは危険。
ただ、デザパタを適用する事による処理コストなんて大したことない。
物理演算や描画周りの重さに比べればメソッド呼び出しがちょっと増えるくらい誤差みたいなもん。
デザインパターンは省メモリプログラミング手法でもなければ、高速化手法でもない。
どのデータに対してどの処理を行うかを、継承と抽象化を使って示しているにすぎない。
皆がパターンやオブジェクト指向をありがたがるのはソースコードが肥大化しても
グダグダになりにくいという利点があるからであって、そこに処理速度の話を持ち込むのは
少々お門違いな気もする。
デザインパターンはシステムに応じて最適化することを前提としてる。
お前が考えているように、パターンを丸々適用するのは危険。
ただ、デザパタを適用する事による処理コストなんて大したことない。
物理演算や描画周りの重さに比べればメソッド呼び出しがちょっと増えるくらい誤差みたいなもん。
デザインパターンは省メモリプログラミング手法でもなければ、高速化手法でもない。
どのデータに対してどの処理を行うかを、継承と抽象化を使って示しているにすぎない。
皆がパターンやオブジェクト指向をありがたがるのはソースコードが肥大化しても
グダグダになりにくいという利点があるからであって、そこに処理速度の話を持ち込むのは
少々お門違いな気もする。
36名前は開発中のものです。
2008/06/08(日) 20:08:17ID:1W8n4o1x シューティング作っているんだけど
参考になるサイトでもある?
参考になるサイトでもある?
2008/06/08(日) 20:17:15ID:WckjqjCh
積み木ファイターのひととか
2008/06/10(火) 10:07:55ID:nTtkz+dw
ゲーム作るときってどうやってプログラム組んでいく?
全体構造を決めてから、トップダウンアプローチで作る
その場 その場で決めていき 作っていく スパイラルモデル
全体構造を決めてから、トップダウンアプローチで作る
その場 その場で決めていき 作っていく スパイラルモデル
2008/06/10(火) 10:18:30ID:XooPHqWt
>>38
その場その場で決まることを組み合わせて全体構造を決めていく。
都合が悪けりゃさっさと変える。
これじゃ毒にも薬にもならんかも。・・・トップダウンとかスパイラルとか、
アプローチの方向を固定化するのは良くない、って感じ?
その場その場で決まることを組み合わせて全体構造を決めていく。
都合が悪けりゃさっさと変える。
これじゃ毒にも薬にもならんかも。・・・トップダウンとかスパイラルとか、
アプローチの方向を固定化するのは良くない、って感じ?
2008/06/10(火) 11:31:11ID:K9Q1TpUp
2008/06/10(火) 12:26:21ID:hsBh970A
趣味で1人で作るのか、同人誌即売会狙いで数人で作るのか、会社の業務として作るのかで変わるとは思うけどな。
まあ、最後はありえねーとしてもw
まあ、最後はありえねーとしてもw
2008/06/10(火) 19:02:52ID:ZqBN8Kq4
>>38
どうしても単体テスト完了した部品を繋ぎ合わせる格好でやるので
最初は全体構造は無視
エンジン本体が部品の扱うデータ構造とズれる事はしょっちゅうなんで
ブリッジ用コードやデータの再パーサだらけになるorz
どうしても単体テスト完了した部品を繋ぎ合わせる格好でやるので
最初は全体構造は無視
エンジン本体が部品の扱うデータ構造とズれる事はしょっちゅうなんで
ブリッジ用コードやデータの再パーサだらけになるorz
2008/06/12(木) 08:01:35ID:IMyaUQnN
2008/06/14(土) 10:10:24ID:ITcMwq//
まずはトップダウンでモデル作って、作りながら問題があれば
モデルにフィードバック入れてくってやり方以外で
マトモなプログラムを作る方法はないだろ。
モデルにフィードバック入れてくってやり方以外で
マトモなプログラムを作る方法はないだろ。
2008/06/14(土) 14:13:33ID:GhaLcPKx
それができないから、他に方法が無いかと模索してるんでしょうね。お察しください。
2008/06/14(土) 15:55:22ID:vUcsb6CI
あのgoogleですらボトムアップだという
2008/06/14(土) 21:53:33ID:TLBVclDV
それはプロジェクト的な意味でだろ。
2008/06/23(月) 00:38:10ID:fMSgUVEh
デバイスへのポインタってグローバルにしたほうが明らかに管理しやすいよな
2008/06/23(月) 01:30:28ID:eCdVbunT
>>48 は?なんで?
2008/06/23(月) 01:34:12ID:pTJzzIh1
俺はどっかにまとめるなあ
グローバルとか、デバイス差の吸収とか必要になったとき困らね
グローバルとか、デバイス差の吸収とか必要になったとき困らね
2008/06/23(月) 02:05:44ID:NUHlpJuv
Direct3Dのデバイスの話とまず仮定。
そして、
・デバイスへアクセスする処理(関数)まで引数渡しでデバイスポインタを渡す
・どの処理(関数)からでもグローバルにアクセス出来るように保持する
との2択から、管理しやすさについて語っているのだと推測。
で、俺の意見は>>48と一緒。
理由は、引数で渡していくのは手間が増えるだけだと思うから。
引数で渡すのは、複数のデバイスを使う場合には意味を持つのかなと思うんだけど、
ゲームにおいて複数のデバイスを使う時って無いんじゃないだろうか。
そして、
・デバイスへアクセスする処理(関数)まで引数渡しでデバイスポインタを渡す
・どの処理(関数)からでもグローバルにアクセス出来るように保持する
との2択から、管理しやすさについて語っているのだと推測。
で、俺の意見は>>48と一緒。
理由は、引数で渡していくのは手間が増えるだけだと思うから。
引数で渡すのは、複数のデバイスを使う場合には意味を持つのかなと思うんだけど、
ゲームにおいて複数のデバイスを使う時って無いんじゃないだろうか。
2008/06/23(月) 02:31:28ID:/DBWn/TJ
ヘッダーが重たくなるから一部のソースでデバイス関連のインクルードして、
そのソースだけでインスタンスの管理やアクセスを許して、
他のソースではインスタンスのポインター保持だけできるようにしてる。
そのソースだけでインスタンスの管理やアクセスを許して、
他のソースではインスタンスのポインター保持だけできるようにしてる。
2008/06/23(月) 08:22:39ID:mKIom38M
オレはシングルトンクラスに持たせてそこからgetter呼ぶかなあ
2008/06/23(月) 14:04:29ID:/Ozl3kU4
レイヤスーパータイプじゃないの
シングルトンはインスタンス数の制限が目的だし、組み合わせて使うならいいけど
シングルトンはインスタンス数の制限が目的だし、組み合わせて使うならいいけど
2008/06/23(月) 22:16:08ID:T9NriNFy
デバイスを使うような処理は関数で囲っちゃって、
普段はデバイスに直接触りすらしないようにしちゃうのは異端かな?
普段はデバイスに直接触りすらしないようにしちゃうのは異端かな?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本と中国を結ぶ12航空路線で全便欠航 中国人に最も人気の海外旅行先は日本から韓国に [ぐれ★]
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに ★2 [ニョキニョキ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【国際】トランプ氏、来年4月に中国を訪問する招待を受け入れる 習氏も国賓で訪米へ 電話会談 [ぐれ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【東京・足立の車暴走】赤信号無視か 危険運転致死傷疑いも視野に捜査 逮捕された職業不詳の男性(37)は精神疾患で通院歴も ★3 [ぐれ★]
