ゲームにおけるデータ構造・クラス設計・パターン
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/08/10(木) 20:27:06ID:BnvyxuCBどのようにクラス設計をすればよいか、
継承・委譲関係はどのようにすればよいか、
使えそうなパターンは何かなど語るのもよし。
自作ゲームの内容とクラス図を書いて
改善案を聞くもよし。
設計に関して困ったことを質問するもよし。
関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。
大いに語れ。
0489名前は開発中のものです。
2007/08/08(水) 00:01:44ID:2nrPyfF8優しいな
0490名前は開発中のものです。
2007/08/08(水) 07:33:12ID:71C/M+UGさも凄まじいシステムであるかのように
タスクシステムと言う人の気がしれない
0491名前は開発中のものです。
2007/08/08(水) 07:48:40ID:4PM0J5aw歴史を勉強しましょう
0492488
2007/08/08(水) 07:51:26ID:obrNCieZ同意。
アセンブリ言語でハードコーディングしていた時代に初めて見たら「やるな」と思うが、
今時だとふつー過ぎて何も言うことがないよね。UNIX V6 のころのデバドラも、既に
こんな作りだし。
自分でコード書くのもいいけど、もっとコード読もうよ、と思う。
0493名前は開発中のものです。
2007/08/08(水) 07:53:43ID:HMa+110cTCBを弄り回してた時代のことを知らないんだろね
0494名前は開発中のものです。
2007/08/08(水) 08:21:56ID:XmcrCIW0タスクシステム総合スレ
http://pc11.2ch.net/test/read.cgi/gamedev/1173708588/
0495457,460,466,476
2007/08/09(木) 01:21:26ID:WI6u6LTt抽象基底クラスは知っていたが、
仕様上、基底クラスから上位のクラスをたどる必要があったので、
関数ポインタ云々といっていたのだが・・
キャストすればよいだけだった。
javaにはポインタの概念がないから、
javaのクラスは当然キャストできない、というような誤解があったので。
0496名前は開発中のものです。
2007/08/09(木) 01:24:51ID:Tm6LW0Jpそれなんか設計がおかしくないか?
みんなの意見無視ってところか
0497名前は開発中のものです。
2007/08/09(木) 02:27:45ID:RcnrWFRiそんな仕様にするのが悪い。
第一、抽象基底クラスを知っているのならば
そんなところで困ったりしない。
0498名前は開発中のものです。
2007/08/09(木) 02:50:07ID:yVPi3RJq0499名前は開発中のものです。
2007/08/09(木) 03:14:21ID:v8CPCZuZ0500名前は開発中のものです。
2007/08/09(木) 04:12:56ID:k08h5JG9ポリモフィズムをカケラも理解しとらんじゃないか
0501名前は開発中のものです。
2007/08/09(木) 04:46:19ID:BskRNsfrまともな意見すら無視するような勉強不足君は
鮮やかに放置して、次の話題ドゾー
0502名前は開発中のものです。
2007/08/09(木) 05:27:24ID:nQyaGvDb質問者はどちらの属性も持ってるけど
0503457,460,466,476,495
2007/08/10(金) 20:04:16ID:aK9bbQO3>>488
解決のヒントになりました。
ただboostライブラリはjavaにはないような気がします。
>>468
Vectorの案内が最初の解決のヒントになりました。
0504名前は開発中のものです。
2007/08/11(土) 20:49:07ID:AcYB8hIqさんざん情報貰ったんだから、せめてソース晒して恩返ししてみないか?
0505名前は開発中のものです。
2007/08/17(金) 01:53:51ID:7sSY46ad0506名前は開発中のものです。
2007/08/21(火) 16:35:31ID:/oULNmRu例えばRPGで、キャラデータ・アイテムデータ・フラグおよび
ゲーム内システムデータ(ゲーム世界での日付とか)は、
それぞれグローバルなデータクラスにしてるんですが、
もうちっとスマートな設計の仕方はないでしょうか?
ほぼ全てのインスタンスから参照するデータ(例えばフラグとか)って、
いちいち参照やポインターで格納させるよりか、データクラスとしてグローバルに
展開してメソッド経由でアクセスさせたほうがいいような気がするど素人なんですが、
こんな俺はオブジェクト指向として根本的に間違ってますね?
0507名前は開発中のものです。
2007/08/21(火) 18:54:06ID:/OCncB5N0508名前は開発中のものです。
2007/08/21(火) 19:55:25ID:LQCVNOKZ>>507に同意
オブジェクト指向をしたいのか、ゲームを作りたいのか。
書き方に明確な規則やルールがあれば、それだけでいいと思うけどね。
でも自分が「オブジェクト指向的」に組むなら、その辺の情報はグローバルにはしないと思う。
必ずシステム内で生成する。何故なら、ゲームシステム≠ゲームの世界と考えてるから。
1.ゲームシステム=ゲームの中の宇宙を作る(ゲームシステム=プログラム本体)
2.宇宙の中に惑星を一個作る。(ゲーム世界(日付等含む))
3.ゲームの世界の中に、登場人物やアイテムを作る。(キャラクターデータ、アイテムデータ)
4、登場人物とアイテムは、状態を所有している。(フラグ)
単純に現実に沿って状態を作る(これがRPG向きか?と言われると、そうではないけど)
データは必ず1→2→3→4の順にアクセスする。面倒くさいけど、一応これにも利点がある。
・ゲーム内での登場人物の役割を切り替えやすい。
・同時に複数キャラが操られても破綻しにくい。(マルチプレイさせやすい)
・同様に、ゲーム世界以下の要素は増やすのが比較的容易。
まとめて言えば、人や物、物事の取り扱いを現実と同じようにできるってことね。
最初に戻ると、規則があるなら君の好きで良いんじゃないってことで。
0509名前は開発中のものです。
2007/08/22(水) 02:49:01ID:xHfctKqh標準ライブラリが互換性のために未だに使いまくってるんだが・・・。
んで使い勝手悪いからいい加減JCFに移行しろと叩かれてるじゃないか。
0510名前は開発中のものです。
2007/08/22(水) 10:20:41ID:lSyOGrel0511名前は開発中のものです。
2007/08/22(水) 21:45:27ID:HTZJHbeS> 単純に現実に沿って状態を作る(これがRPG向きか?と言われると、そうではないけど)
単一システムで作るのは、結構つらいなぁ。
俺だと RPG はフィールド&シナリオ、戦闘、デモシーンでシステム完全に切り離して
作っちゃうけど。どーしてもフィールドからシームレスに戦闘に入りたいと言われたら
考えるが、工数は開発もデバッグも倍かさむよって感じ。
0512名前は開発中のものです。
2007/08/22(水) 21:58:56ID:9DW3Phydオブジェクト指向とはあんまり関係ない気がする
オブジェクト指向言語は結局構造化手法の流れを汲んでるから関係あるっちゃあるんだけど
「オブジェクト指向的」に批判されることはないと思うんよ
0513名前は開発中のものです。
2007/08/22(水) 22:26:25ID:9DW3Phyd0514名前は開発中のものです。
2007/08/23(木) 00:15:28ID:mSgl7P3T0515名前は開発中のものです。
2007/08/24(金) 15:43:24ID:C1/M3//R>>510みたいなことは流石にやってないけど、マップが複数面あって
自由にキャラクターを選べるのを作ってるから、今のやり方で全く問題なかったりするぜ!
0516名前は開発中のものです。
2007/09/01(土) 13:35:04ID:+CS1vDDV0517名前は開発中のものです。
2007/09/01(土) 15:26:53ID:AAlSvZp8お前って奴は…
0518名前は開発中のものです。
2007/09/01(土) 18:53:13ID:pEzsrlB5クラス名がネームスペース入りのフルネームで書かれてて
>>510と比べてもあまり遜色ないくらい長ったらしい記述になってる
0519名前は開発中のものです。
2007/09/03(月) 18:50:24ID:pkJ0HJ1y0520名前は開発中のものです。
2007/09/03(月) 18:56:19ID:l4kjvmoQ0521名前は開発中のものです。
2007/09/03(月) 20:58:24ID:nm3JiNC10522名前は開発中のものです。
2007/09/03(月) 21:43:06ID:l4kjvmoQ0523名前は開発中のものです。
2007/09/03(月) 22:51:36ID:4m5q0iOiUniverse.MilkyWay.SolarSystem.Earth
しかし、こんな話題しかないものか。
0524名前は開発中のものです。
2007/09/03(月) 23:01:33ID:nm3JiNC10525名前は開発中のものです。
2007/09/04(火) 00:01:23ID:aU+sltFhそんなこと言いだしたらjavaのエンクロージング型の完全修飾名は恐ろしいことになる。
0526名前は開発中のものです。
2007/09/04(火) 00:51:30ID:SZHcTWC/0527名前は開発中のものです。
2007/09/04(火) 01:36:58ID:aBG3sZkWDelphiはわかりにくいと申すか
0528名前は開発中のものです。
2007/09/04(火) 01:47:09ID:h5r4WGWI俺は氏の思想は好きだが
0529名前は開発中のものです。
2007/09/04(火) 09:17:06ID:/fq60VcD0530名前は開発中のものです。
2007/09/04(火) 14:17:11ID:A5VD8KopVSがIDEなだけで。
0531名前は開発中のものです。
2007/09/04(火) 17:20:53ID:/fq60VcD#regionとかpartialとかIDE向けの機能があるのは確か
http://www.atmarkit.co.jp/fdotnet/insiderseye/20060215cscommunity/cscommunity_03.html
>Q.C# 3.0では、型推論によって読むのが難しいコードになってしまうのではないか?
>A.Visual StudioのIDEを強化すればおk
さすがにスレ違いだなすまん
0532名前は開発中のものです。
2007/09/04(火) 18:32:28ID:1MQtcsKRというかC#は既存言語の枯れたパラダイム
てんこもりにしただけのくせに信者が騒ぎだすんだろうなぁw
0533名前は開発中のものです。
2007/09/05(水) 22:29:15ID:wushZy2l0534名前は開発中のものです。
2007/09/06(木) 00:13:48ID:XDEo8NLL0535名前は開発中のものです。
2007/09/06(木) 01:04:58ID:ojjbKURb0536名前は開発中のものです。
2007/09/07(金) 00:33:06ID:B51b23c5タスクシステムのワーク領域のキャストってどうやるのかな
0537名前は開発中のものです。
2007/09/07(金) 00:44:42ID:GaWvLQQX今どきそんなC時代の古典的「タスクシステム」に無理矢理合わせようとしないのが正解。
0538名前は開発中のものです。
2007/09/07(金) 00:54:28ID:qKvVhzB0だからインターフェース継承しろと。どうせメモリ管理は GC 入ってるんだし。
0539名前は開発中のものです。
2007/09/07(金) 09:56:16ID:+KS6LJ+FまぁC++でもそんなコードかいてたら殴り倒すけど
0540名前は開発中のものです。
2007/09/07(金) 10:04:18ID:puv664XKシューティングゲーム プログラミング
松浦 健一郎 (著)
この本ではC++でワーク領域のキャストしてたけど、殴るの?
0541名前は開発中のものです。
2007/09/07(金) 10:07:03ID:ODKwq4Ib0542名前は開発中のものです。
2007/09/07(金) 11:36:49ID:+KS6LJ+F0543名前は開発中のものです。
2007/09/07(金) 12:02:42ID:xHXwrHzM普通に使ってたよ
本を書いてる人を殴れる程、出来るプログラマーなの?あなたは
0544名前は開発中のものです。
2007/09/07(金) 12:51:19ID:6U+LdAPY松浦 健一郎 (笑)の間違いだろ。
0545名前は開発中のものです。
2007/09/07(金) 13:28:52ID:43uHszUC0546名前は開発中のものです。
2007/09/07(金) 13:54:05ID:NUmtK/nu継承使わずにやるやり方にページ割くくらいならさわり程度でも継承教えたほうがためになりそうだが・・・
0547名前は開発中のものです。
2007/09/07(金) 16:11:07ID:g09BD/TG>>542が出来るプログラマーかどうかはわからんが、
基本的に日本だと本を出す奴ってのは3流だから
とりあえず本出してる人すごいって認識は改めたほうがいい。
0548名前は開発中のものです。
2007/09/07(金) 16:48:36ID:HXEpQNDZ0549名前は開発中のものです。
2007/09/07(金) 16:51:44ID:wO5yXJcP三行目に同意
俺も高校まではそういうステレオタイプを持ってた
0550名前は開発中のものです。
2007/09/07(金) 17:54:50ID:VwzOSVjv0551名前は開発中のものです。
2007/09/07(金) 20:37:04ID:B51b23c50552名前は開発中のものです。
2007/09/08(土) 00:42:34ID:hAtUkBFn一応継承は使ってるみたいだよ
new deleteのオーバロードも使ってるし
だから単に継承を使ったやり方をしらないだけじゃね
0553名前は開発中のものです。
2007/09/08(土) 02:39:33ID:RITYgY6W0554名前は開発中のものです。
2007/09/08(土) 07:47:53ID:bNPXbGtI0555名前は開発中のものです。
2007/09/13(木) 22:14:56ID:1Bt3Jrj9シューティングの本?
同人シュー作者の俺がそのうち書いてボコボコにしてやんよ
∧_∧
つ≡つ);:)ω・).,,';
_| ̄ ̄||≡つ=つ )
/旦|――||// /| \
| ̄ ̄ ̄ ̄ ̄| ̄| . |∪ ̄\_)
|_____|三|/
0556名前は開発中のものです。
2007/09/13(木) 22:42:21ID:sAjH+7xy正直、本を書いてもあまり儲からないんだよな……。前に技術書書いたことがあるんだが
印税8%で初版3000部とかだったから、時間単価考えたらコード書いてた方が遥かにマシ
だった。
もう少し幅広く売れる本とか、時間かけずに書けるとか、その後の仕事受注につながる類の
ヤツなら良いんだが。
0557名前は開発中のものです。
2007/09/13(木) 22:44:13ID:p9GEmztQそれとも普通の言語系?
0558名前は開発中のものです。
2007/09/13(木) 23:27:43ID:sAjH+7xyネットワーク系。だいぶ前だけど、当時は翻訳やら執筆やらイロイロやってた。
今じゃすっかりコンサル稼業で、趣味でしかコードかけない人生だけどな……。
0559名前は開発中のものです。
2007/09/14(金) 00:00:01ID:qAC7e6UH0560名前は開発中のものです。
2007/09/14(金) 01:56:40ID:kBeEhHlBでも 1 冊 2,000 円 x 8% x 3000 冊だと 48 万だぜ。駆け出しのプログラマだった頃は
実質 1.5 ヶ月かけても割に合ったけど、もうダメだ。金以外に何か目的がないと
やってられんよ。
0561名前は開発中のものです。
2007/09/14(金) 04:58:49ID:CTgFkt8N0562名前は開発中のものです。
2007/09/15(土) 18:37:54ID:odGWNMQb人生掛けてまでやることじゃない
クソ本あろうとしったことか!
あ、俺?俺は、情報商材にして、単価上げて(゚Д゚)ウマー
0563名前は開発中のものです。
2007/09/15(土) 20:05:14ID:5hbSwr+P何ページで執筆に何カ月かけたか知らんが、
コード書けない人間なら数こなせば良い金になるな。
eclipse本なんてコード書かなくても良いしソフトの新版出る度に改定するから副業にはちょうど良いじゃないか。
デザインパターン本なんて同じ内容なのに言語ごとにあるぞ。
コード書いて食ってる人間に本なんて書いてる暇があるかは知らんが・・・。
0564名前は開発中のものです。
2007/09/15(土) 20:15:34ID:zE0h51TJだから低レベルな本しか出てない。
そんな本ばかりだから若い人が育たない。
で、その若い人がコードで食えないから、さらに劣化した本を書くというスパイラル。
0565名前は開発中のものです。
2007/09/15(土) 20:27:26ID:lBqIBG3l0566名前は開発中のものです。
2007/09/15(土) 21:30:05ID:kmdFdmdy> 日本の場合、コード書いても食えない人間ばかりだろ。
というか、単価の高いプログラミング仕事がほとんどない。
大手ゲームメーカーでリードプログラマやるより、中小の基幹システム改修
案件の SE やってた方が全然収入がいいという。技術的にもプロジェクト運営の
面でも、ゲーム屋の方が大変なんだが。
0567名前は開発中のものです。
2007/09/16(日) 03:07:48ID:YcEkQAYx0568名前は開発中のものです。
2007/09/16(日) 07:52:57ID:hBA8iHMq0569名前は開発中のものです。
2007/09/16(日) 09:22:16ID:bdw4UY6nGoogleとかMSだと給料高いけどな。現地ではなく日本採用でも。
0570名前は開発中のものです。
2007/09/16(日) 09:44:24ID:hBA8iHMqプログラムだけできるだけじゃ、入れないところじゃねーか
0571名前は開発中のものです。
2007/09/16(日) 11:01:46ID:5DEnzRu4M$はともかくgoogleは給料安いんでないの?福利厚生はともかく給料は。
0572名前は開発中のものです。
2007/09/16(日) 12:12:44ID:bdw4UY6nGoogle は給与水準公開してないから情報限られるけど、俺が中の人から
聞いた話だと十分高いと思った。
それより株式公開前にストックオプション貰ってた連中は、上場と同時に
億万長者の仲間入りしちゃってるから、それと比べると給与はどうでも
良いっつー話らしいが。
0573名前は開発中のものです。
2007/09/16(日) 19:28:45ID:OIlosS2zたった3年で20倍になってる事実に絶望した。
絶対うまいこと乗れたギーク系投機家がどこかにいるはず。
0574名前は開発中のものです。
2007/09/16(日) 20:24:04ID:JalQ3AgQCEREN vs NCSAのhttpd戦争終結後くらいか・・・。
0575名前は開発中のものです。
2007/09/16(日) 20:58:05ID:uZJ+v8CM0576名前は開発中のものです。
2007/09/16(日) 23:32:07ID:cz5uVFrl0577名前は開発中のものです。
2007/09/17(月) 01:15:23ID:YnotUqm60578名前は開発中のものです。
2007/09/17(月) 01:50:53ID:VnVYOx3Udoxygenが酔ってくれるから困る
0579名前は開発中のものです。
2007/09/17(月) 10:46:54ID:4TcSZ3vDでも、心がけてくれないチーム員もいるんだよなあ
0580名前は開発中のものです。
2007/09/17(月) 11:33:01ID:wCNRu3Bd――――Click Click Click――――
それは、一番クリックした国が優勝するバカバカしくも熱いゲーム!
2ch全板から力を結集して日本を1位にしよう! 日本は過去に8勝(世界最多)しています。
めざすは、台湾の6連勝記録を打ち破ること!
現在日本は3連勝中だけど、猛加速のハンガリーに昨夜逆転されてしまいました。
日本のツールはとても優秀ですが、参加人数が足りません!!
逆転するには、最低でもあと100台のPCが必要です。
専用ツールを落として、ブラウザを起動しておいてくれるだけでOKです!
放置できるので、寝ながら日本の戦力になることができます!
どうか力を貸してください!
【日本2位】一番クリックした国が優勝【版画ksk】
http://wwwww.2ch.net/test/read.cgi/news4vip/1189932725/l50
※オリジナルのゲーム制作チームがあります。ぜひ力を貸してください。
0581名前は開発中のものです。
2007/09/17(月) 11:46:33ID:gzVOF+3o書いてる。(javadoc 形式というべきか)
> コメントの規格を統一できるのもいいよな
目的はこっち。
0582名前は開発中のものです。
2007/09/17(月) 12:30:12ID:GfvjK68dコメントだけでなく、ファイル名とかクラス名とか変数名とかのコンベンションも
やっぱ決められてるもんなの?
0583名前は開発中のものです。
2007/09/17(月) 12:33:20ID:gzVOF+3o当然。
ただ汎用ライブラリを持ってくることもあるから、そっちとこっちで
規約が違って一部混在することはある。たとえば STL と DirectX
だと名づけ方大分違うしな。
0584名前は開発中のものです。
2007/09/17(月) 15:33:27ID:GfeYD8acDelphi使いなんで、Togetherで UMLはコードから自動生成だぜ〜(嘘、使いません
ドキュメント生成ツールは、日本語対応したものがなくて、使ってない orz
0585名前は開発中のものです。
2007/09/17(月) 19:51:10ID:W3g8XPDv0586名前は開発中のものです。
2007/09/17(月) 23:45:15ID:/t9Slj66普通設計してからコード書かないか?
UMLの仕様上は確かにcode2UMLもUML2codeも相互運用可能だけど・・・。
0587名前は開発中のものです。
2007/09/17(月) 23:57:57ID:zeWn8DxNネタにマジ(ry
> UMLの仕様上は確かにcode2UMLもUML2codeも相互運用可能だけど・・・。
C++ は code generation に向かない言語だなぁとおもうよ。
集約・コンポジション・関連の区別とかつけにくいし、boost::scoped_ptr で pimpl イディオム
使ってる場合とか、マジメに piml クラスもクラス図に入れると煩雑になりすぎ。
私は設計段階で主要クラスだけ図に書き出して、あとはコードでって感じ。
クラス図は必要があれば更新するけど、あくまでコードが第一の文書に
しちゃってる。
0588名前は開発中のものです。
2007/09/18(火) 00:16:16ID:0DwxQSyZというのは比較的お堅い業務アプリでの常識なんだが
柔軟性が求められるゲーム開発ならなおのことじゃね?
組込み系が今突撃中
■ このスレッドは過去ログ倉庫に格納されています