- 1 名前:名前は開発中のものです。 [2008/05/23(金) 21:10:59 ID:8M1gqhPX]
- 具体的なゲーム名を挙げて、
どのようにクラス設計をすればよいか、 継承・委譲関係はどのようにすればよいか、 使えそうなパターンは何かなど語るのもよし。 自作ゲームの内容とクラス図を書いて 改善案を聞くもよし。 設計に関して困ったことを質問するもよし。 関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。 大いに語れ。 前スレ pc11.2ch.net/test/read.cgi/gamedev/1155209226/ テンプレ追加事項あったらよろすく
- 81 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 22:25:41 ID:4YUvzjZW]
- ゲーム開発に限った話じゃないけど、長引く不況のせいで日本人は
技術やノウハウを外に出し惜しむ癖が付いちゃってるんだと思うな。
- 82 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 22:33:05 ID:odWCpgCc]
- >>81
不況かどうかに関係なく、米国の IT 企業はノウハウ流出には厳しいけど。 秘密主義で知られる Google とかさ。 情報を出すことで他社のサービスをつぶせる場合には、積極的に公開しちゃうけど。
- 83 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 22:46:20 ID:4YUvzjZW]
- ノウハウ流出に厳しいってほんとかよ。
Googleなんて論文バンバン出して技術発表してるイメージがあるけどなあ。 海外では古い商用ゲームのソース公開したりする人達が沢山いる けど、日本でそういうことやった会社はあんま聞いたことないし プログラミングの本でも、80年代は日本人が書いた本でも面白い本は 沢山あったのに、ここ10年ぐらいの名著は外人が書いた本の 翻訳本ばっかりの現状考えるとにわかに信じられん。
- 84 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 22:47:22 ID:JMOvob5t]
- 単なる欧米コンプレックスだろ
- 85 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 22:50:43 ID:odWCpgCc]
- >>83
> Googleなんて論文バンバン出して技術発表してるイメージがあるけどなあ。 当たり障りがないところだけな。 Google が出してる論文は、実証論文が多い。分散システムは理論的には だいぶ前から研究されているんだが、Google が出してる論文は「それを 使って実際にファイルシステムを作って運用したら、このぐらい性能出たよ」 みたいなやつ。 実装の詳細は公開していないし、細かい数値は「これは出せない」とか平気で 書いてある。 もちろん実証論文にも学術的に価値があるんだが、ノウハウを公開しているの とはだいぶ違う。読んでも真似できないし。
- 86 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 22:55:44 ID:odWCpgCc]
- Google の論文は、個人的には就職者ホイホイのような気がしてる。
SIGOPS とか USENIX の論文読むような質の高い連中に、ウチに 来るとこんな仕事できるぜーとお誘いかけてる。人材仲介業者に 高い金払うより良い宣伝だよw
- 87 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 23:05:49 ID:1g03RBvk]
- 論文の質・量で言うとMicrosoft Researchのほうがすごくない?
- 88 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 00:30:18 ID:lh91Gh1r]
- 専門知識を蓄えてしまうと、ますます話の合う人間がいなくなりそうな予感。
- 89 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 05:23:01 ID:5KkF19ee]
- >>84
ソフトウェアに携わる人間で米コンプレックスを感じない人は 無能あるいは情報弱者だろう 欧州はそれほどとも思わないけどアメリカリードしすぎ
- 90 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 05:32:42 ID:fzMGN+kp]
- >>89
海外はすごいよ。 開発するにしてもニッチな物になればなるほど日本側で 解説してるのが少ない。 結局は翻訳サイトで翻訳しながら自力で学習してる。
- 91 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 05:48:08 ID:dN9x2gJA]
- それ、英語の普及範囲を評価してるだけだろ
日本人の英会話力の低さは別問題だよもう
- 92 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 05:56:42 ID:KBN1fM3d]
- 米コンプレックスとは世界の「知」が集まる「場」「国家」に対するコンプレックス
こういう感情や危機感を抱く対等の存在は「その他の場」「その他の国家」 一個人は素直により良い「場」の恩恵を享受することができるわけで 情報交換にしたって英語圏MODコミュやゲームデベロッパーのコミュを 覗き見ることに何の拘束も受けないよ。このネットの時代にあって 国家の枠組みや物理的距離は、知的欲求や情報交換を阻害する 主要因では既になくなってるよ。特にアマチュアにとってはこんな恵まれた状況は 90年代半ば以前はなかったわけで、この期に及んで、より良い「場」に距離を感じ コンプレックスをおぼえるならその正体は言語コンプレックスなんだよ 言語障壁にもがき苦しんで乗り越えたもん勝ち。がんばれ
- 93 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 05:57:56 ID:KBN1fM3d]
- >>91
かぶったスマンコ
- 94 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 06:11:54 ID:KBN1fM3d]
- ところで休暇中に発見した格安で愉快な英語おしゃべり上達法
ネトゲでボイチャ。中毒性の低いFPSとかでVoIP対応してるやつがオヌヌメ
- 95 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 06:28:19 ID:KBN1fM3d]
- 米国の現場における労働集約型闘争が生み出した兵隊の質の低下は
既に数年前から顕在化しているという話をしたが、適当に日本語ソースをググッてきた slashdot.jp/it/article.pl?sid=07/04/02/2312234 「知」が集まる国といえど開発規模の肥大化で苦しんでる様は日本同様 促成教育で動員された兵隊は待遇面でも基礎素養でも決して恵まれては居ない 理系大卒ないし中退程度の知識を持つ少数の変態テクノギークがブイブイ言わせていた PC-FPS主流時代とは事情が違ってる
- 96 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 06:32:14 ID:ulIK/zsc]
- くねくねハニィのコラムによると、
日本は会社の枠に縛られず下請けやフリーのプログラマばんばん使って短期決戦、 海外は外部の人間は使わず自社内で十分な予算を確保してじっくり練り上げていく、 ってことらしいぞ。 むしろ海外の方が技術的には閉鎖的なんじゃないか?知らんけど。 少なくとも俺はよそのメーカーを手伝う機会が多いから日本が閉鎖的とは思わんな。
- 97 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 06:58:00 ID:KBN1fM3d]
- 切羽詰って偽装請負みたいなことやっちゃってたりするよな
- 98 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 08:23:31 ID:BChTVd/d]
- >>96
>日本は会社の枠に縛られず下請けやフリーのプログラマばんばん使って短期決戦、 >海外は外部の人間は使わず自社内で十分な予算を確保してじっくり練り上げていく、 >ってことらしいぞ。 これは言えてる。 日本のホワイトカラーは、最上位の意思決定者と外注の中継地点にしか過ぎない。 地道な作業をしないことに価値を見出す役人根性が、世の中を席捲している。
- 99 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 08:49:34 ID:BChTVd/d]
- >>80
以下を見ると、英語圏の方が日本よりも、アマチュアというかインディーズ(同人)市場が発展しているという印象を受ける。 ttp://www.gametunnel.com/ ○ 絵(とくに3D)がきれい。 ○ 音楽も一般受けする質の高いものが標準。 ○ ゲーム中以外のシーン(デモ、オプション設定)が作りこまれている。 パーツを生産する能力は、上位企業の即戦力並だ。 ただし、ゲームとして楽しいのはあまりない気がする。 日本のフリーとかシェアは、ゲームとして楽しいのが少ない上、パーツも陳腐なデザインが多い(よくできたものもあるが)。 グローバルな金儲けには関心なく、村市場(コミックマーケット)で満足してしまっている奴が多いんだろうな。
- 100 名前:名前は開発中のものです。 [2008/07/04(金) 10:11:43 ID:pYjEAjeh]
- 最近の家庭用の大規模RPGのデータってどう管理されてるのが多いんですか?
RDBですか?それともタダのファイル?
- 101 名前:名前は開発中のものです。 [2008/07/04(金) 12:41:59 ID:tMJHCBTq]
- 普通はゲームデータ制作ツールとゲーム実行エンジンを並行して作っていく。
データはファイルが多い。ゲームデータ制作ツールの仕様にもよるけど、バイナリファイルの場合が多い。 C構造体のバイナリダンプは実装が楽だからね。 PCゲーには、ユーザがテキストファイルを弄ってデータや設定を変えられるものもある。
- 102 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 13:10:11 ID:04Qw9LMa]
- 国単位になるとステレオタイプのイメージに支配されちゃう人っているんだねぇ
- 103 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 15:33:28 ID:eL1SAVRC]
- マの話はマ板でやってくれ
>>100 某タイトルはSQLite使ってるな
- 104 名前:名前は開発中のものです。 mailto:sage [2008/07/04(金) 20:15:06 ID:HsoNh4J4]
- >>87
> 論文の質・量で言うとMicrosoft Researchのほうがすごくない? 同意。世間じゃGoogleを持て囃すのが流行ってるけど、むしろ コンピュータサイエンスはMSRのほうがすごい研究者を集めてる。
- 105 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 11:31:29 ID:rip3o1Gr]
- >>104
研究者の層の厚さだと IBM 強いよなぁ。 Google は R&D でも R より D 寄り。
- 106 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 11:38:06 ID:rip3o1Gr]
- >>103
まだ、主流は独自フォーマットのバイナリだと思うな。 CSV か XML っぽいフォーマットでデータファイル作っておいて、コンバータで バイナリに変換して組み込み。
- 107 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 11:38:38 ID:Def2so2E]
- だめだ、全然話についていけないぜ
- 108 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 11:41:27 ID:qX1NKMBA]
- >>99
> ○ 絵(とくに3D)がきれい。 > ○ 音楽も一般受けする質の高いものが標準。 > ○ ゲーム中以外のシーン(デモ、オプション設定)が作りこまnれている。 ちょwwわかってかいてんのかよww 全部、投入できるリソースの違いで解決できるじゃねーかw
- 109 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 11:44:02 ID:qX1NKMBA]
- 俺は、海外のインディゲームデベロッパーを結構チェックしているが、
絵がきれー、とか音楽すげーとかってなかなかないよ それこそ、日本でたまに同人ですげえグラでバリバリ3Dなのがでてくる頻度並み。 たまにこれすげえ描き込みだ、とか思ったら現役プロの趣味作品だったり(日本かとおもうけど、海外の話だよ)
- 110 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 11:44:46 ID:qX1NKMBA]
- 連投ごめん、音楽すげーはけっこうあるわw まあ俺がテクノ好きなだけかもしれんけど
- 111 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 13:29:28 ID:E9y2cnx1]
- 雑談スレに移動すべきだと思うけど二つだけ。
そもそも一国と世界を比べることに意味があるのかな。 言語障壁はローカルのコミュニティが栄えない理由にならないよね。
- 112 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 20:57:12 ID:UjEcMe9W]
- >>108
>>109 >>99のリンク先のコンテンツを見た上で、のたまっているのか? 優れたリソースの利用可能性も、市場発展度合いの目安。
- 113 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 21:01:08 ID:rip3o1Gr]
- 日本の職人はゲームじゃなくて、ニコ動に集ってるだけだろ。
- 114 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 21:23:48 ID:hYTfj9Xn]
- 方向性が違う物を比べても何にも成らないのに
- 115 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:07:36 ID:Gwo/Ylg2]
- >>80だが
>>99 繰り返すが、趣味者の嗜好の差異が凄まじいと言っているだろう。 IGDA日本の新清士に代表される外国すげぇ日本だめ論のステロタイプアジテーターは なぜ乱暴な単純比較して優劣を競おうとするのか、FPS大好きの俺でも理解に苦しんでいる >英語圏の方が日本よりも、アマチュアというかインディーズ(同人)市場が発展しているという印象を受ける >ttp://www.gametunnel.com/ ところでgametunnelはフリゲのダウンロード数、シェアウェアの販売数を公表してるか?してないだろ 特に後者について公表したらおそらくDLSiteの販売数を遥かに下回るんじゃないかと俺は読んでいる (下半身産業が絡んで不公平になるので全年齢のみで比較してもいい) >日本のフリーとかシェアは(中略) >グローバルな金儲けには関心なく、村市場(コミックマーケット)で満足してしまっている奴が多いんだろうな。 だから、嗜好の差異が凄まじいと言っている。エロゲ塗り紙芝居ADVが大好きだから一生懸命作ってるアマチュアに 「グローバルな金儲けに関心もて」「今すぐFPS作れ」なんて言えるかい?毎日好きでもないものを延々作らされてる 腹いせに素人に因縁付けてるようで感心しないな。だいたいプロの何パーセントがグローバルな金儲けのために 真剣に取り組んでるよw素人に八つ当たりする前に自分の胸に手を当てて考えろっての。 あと、素人に即戦力を問う例のあのアジテーターも異常だ。10年以上前から新卒採用の新人に即戦力なんざ期待してない。 他業界同様、研修・実習・OJT、一から大事に大事に育て上げ戦力化している。N-88BASICマスターだろうがファミベの達人だろうが ツクラーだろうがデザエモナーだろうがボードゲーム狂いだろうが等しくスタートラインから育て上げてる。それができる体力のない 弱小零細が新卒学生の即戦力がないだのと八つ当たりしてベーマガ2.0が要るだの喚いてるだけ。勝手に滅べと言いたい
- 116 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:20:54 ID:Gwo/Ylg2]
- 外国すげぇ日本だめ論が好きな連中は日本の文化を否定する傾向にあってあまり好かん。
アマチュアゲーム開発者の嗜好が世界のガラパゴスと呼ばれても気にする必要なし。 趣味に独自文化が形成できるのは豊かさの象徴であって決して恥じるものではない。誇っていい。 エロゲ塗り紙芝居ADV作家は大挙してgametunnelに突撃するくらいの自信を持っていい。 世界に比類の無いコミケのような巨大なヲタ祭を村市場などと自虐に走る連中は無視しろ。 あんだけカネと人が動く趣味野郎の祭典が開けるのは豊かさと根暗パワーの象徴だ。誇っていい
- 117 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:32:11 ID:ADZbZeYt]
- 日本人はどちらかといえば何か分からんが動いたから良いやって人が多
い気がするね。 昔から日本人は抽象的な概念は強いけど具体的な概念に弱いって言われ てるって何かの本に書いてた気がしないでもない。 SEやらPGやってる人なら分かると思うけど「なんで?どういうこと?」っていう のを突き詰めてちゃんと答えが出ないと気が狂いそうになる人じゃないとエンジニア には向かないと思う。 まぁ外人云々じゃなくて正確か??
- 118 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:33:49 ID:Gwo/Ylg2]
- ただし、技術屋を志向する趣味プログラマは技術的ガラパゴス状態に陥ったら負けだな。
この点だけは外国すげぇ日本だめ論を展開するアジテーター共の意見に一理ある。 お国柄のせいか虹派が多数派の我が国ではアマチュアプログラマに要求される 技術水準はそれほど高くはない。それはそれでいいのだが、その技術ガラパゴスの中で タスクシステム知ってる俺tuee状態とかになっては格好が悪い。俺tueeする時はもっと 見識を広めたほうが良い
- 119 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:34:25 ID:Gwo/Ylg2]
- >>117
かぶったスマン
- 120 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:34:55 ID:7QhD5OiR]
- 熱く語ってもらってるとこ悪いけどお前らスレ違いだ
- 121 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:42:02 ID:Gwo/Ylg2]
- ああ、悪い。次に長文レスするときは↓に投げることにする
現役開発者が質問に答えるスレ pc11.2ch.net/test/read.cgi/gamedev/1214321147/l50
- 122 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:44:51 ID:VtZ5ywY1]
- >>115
>腹いせに素人に因縁付けてるようで感心しないな。 感じやすいんだな。 一つ俺が言いたいのはさ、スキルがあるんだったら、 小規模ながらもグローバルな金儲け(変な言葉だ)に挑戦すること考えた方が、 面白えんじゃねえのってことだよ。 自身の嗜好に自信がないって? じゃあ、そいつは一体何をやっているんだ。
- 123 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 00:48:46 ID:mek7cAwO]
- スレ違いだボケども
- 124 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 01:43:19 ID:D1fZ4Z3G]
- > SEやらPGやってる人なら分かると思うけど
PG以外がこのスレに居るのかと問い詰める必要があるな
- 125 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 07:26:44 ID:XCulGsMF]
- すみません。話を脱線させた一人です。。。
小さな会社でケータイゲー作ってる業界人です。底辺です。分かってます 俺も職場の仲間はみんなゲーム専門学校卒です。 英語とか読めないしGPGの日本語版も難しすぎてわからないので や○う○おさんの本とかCマガのタスク記事が職場のバイブルです。 某スレでタスクシステムが馬鹿にされて自棄になってて 俺の職場のレベルが低いのはきっと日本の閉鎖性のせいだと 考えるようになってました。 だってPS3とか箱○のゲーム作ってるクライアント(大手です)は 自分たちのノウハウを俺ら底辺には絶対教えてくれないし。。。 発注したケータイゲーをおとなしく作ってろって感じの扱いです。。。 ぜんぜん頭よくなれそうにない知育ゲーとか糞つまんねー クイズものばっかり作らされて気が狂いそうです。。。
- 126 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 07:43:01 ID:XCulGsMF]
- 日経のサイトのベーマガ2.0の記事も読んでました。
ベーマガがどんなものか実は知らないのですが日本の アマゲーコミュニティがないから悪いって言ってたので 我が意を射たりって感じでした。 土日スレで投稿してましたがいつも荒らされてました。 PCゲーム板のフリゲ厨とか氏ねと思ってました 俺は今もDirect3Dとかわけわかんないです。そういうのを 教えてくれるベーマガみたいなものに出会えなかったから ファミ通の特集記事のゲーム専門学校すごいと思って 高校の先生の反対を押し切ってゲーム専門学校に行きました。 でも専門学校の講師も3D苦手でした。 おまえらには3D無理だから2Dで卒業制作作れって言われたので 言う通りにしました。今思えば先生が分からないもの作られると 質問されても答えられないから嫌だったんだと思います。 ゲーム専門学校に行ったことをすごく後悔してます。 ファミ通氏ねと思いました。きっとベーマガがあれば俺の人生 違ってたかもと思いました。やっぱおまえらが悪い
- 127 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 07:59:00 ID:XCulGsMF]
- すみません。ついカッとなってまたスレ違いのこと書いちゃいました
消えます
- 128 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 08:43:38 ID:S3/2UtrA]
- ネタじゃなかったら真面目に一度精神科に行くべき。
明らかに躁鬱の傾向が見て取れる。 過度のストレスで脳に器質的な損傷が出来てるかもしれん。
- 129 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 09:01:33 ID:VtZ5ywY1]
- >>123
何も語れない馬鹿よりはマシ。
- 130 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 09:28:24 ID:I4JuM713]
- まあ、消えなくていいからまた、スレ違いじゃなくてよさげな情報あったら教えてくれよ
- 131 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 10:03:51 ID:4WjvpweZ]
- >>129
さすがにそれはねーよw スレ違いでも知識をひけらかすほうが賢いと? まあ、あまり過疎ってもらってもつまらんのだが・・・
- 132 名前:名前は開発中のものです。 [2008/07/06(日) 13:03:17 ID:cXpJQpiz]
- tunnelでおすすめのゲームを教えてkれ
- 133 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 15:04:16 ID:ZiAdcqL1]
- VIPから来ました
ギャルゲひっさげて殴り込んで欲しいリア充外人サイトがあると聞いて
- 134 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 16:19:57 ID:le8Gr2pO]
- いや、作者じゃないと殴り込めないわけだが
- 135 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 16:49:47 ID:NhLrwJLQ]
- おかしな奴の言い分もわかるぜ
日本の企業は総じて、コミュニケーション能力だのなんだの わけのわからない能力やノウハウを好んでそれを要求するくせに それらを他人に教えるようなことはしないからな、ヒントすらも 異常なほど排他的だ 数年前に某大作RPGの下請けの社長様が 「3Dできる奴なんて腐るほどいる死ね、コミュニケーション能力のない奴は死ね」(意訳) って新聞記事に載せてたの思い出した 笑える、うひゃ
- 136 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 17:01:01 ID:a3zGOuXr]
- マ板でやれっつの
あーあ
- 137 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 17:06:30 ID:NhLrwJLQ]
- ほらクソども設計について語れや
レイヤスーパータイプは class Devicer { static Device device; } で、スーパークラスとしてDevicerを使うことだ覚えとけ Application Controllerは class AP { View GetView(入力と状態値); Command GetCommand(入力と状態値); } 引数に入力情報や状態を判断する値を入力すると それに適したViewやModelに対するCommandを返すものだ 覚えておけ、クソども
- 138 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 17:44:48 ID:bleemPMj]
- みんな独自のウィンドウマネージャー(画面管理)クラス作ってるのかなあ
- 139 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 22:29:37 ID:mQf6Jrcq]
- >>135
良いこというなぁ。 禿同。 社長に。
- 140 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 22:41:15 ID:NhLrwJLQ]
- シーン遷移をきれいに実装したいという話なら、俺は否定するぞ
ジャンルにもよるが大抵のゲームで使うシーンは、多くてもせいぜい十にも満たない数だ この規模の小さい状態遷移を、そのまま適当に実装してもとくに肥大しない 後で追加が頻繁に発生するとも思えない、適当に修正しても特に難しくはならない こういう部分に、色々な知恵を絞ったコードを書くことに意味はない 逆にそのクラスの為に他の部分にしわ寄せが行って、 難しいロジック部分や画面描画部分に関係のないシーン遷移のコードが入り込む 無駄に依存関係が発生し複雑になる、遷移するためのコードが分散して修正が難しくなる やるんだったら他の部分に影響を及ぼさない程度にしておけ 無意味に分断しすぎて複雑にするな
- 141 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 23:15:17 ID:bOQhFRQW]
- >>140
めんどくさいのは、シーン遷移よりキャラクターの状態遷移だよな。仕様変更が わりと発生しがちな部分だし。
- 142 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 23:34:33 ID:NhLrwJLQ]
- >>141
同感だ そういう箇所に擬似コルーチンを使ってる 前はState使ってたが、あれは追加には強いが変更に弱いな、複雑になって死んだ 単純ならそのまま状態変数で適当に書いてもいいが コルーチンのほうが書いてて楽しいな
- 143 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 23:47:58 ID:bleemPMj]
- 状態が変わる時は自滅させてから、見た目同じで中身は別の敵オブジェクトを生成するとか。
- 144 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 00:57:38 ID:FUQ1BpEu]
- >擬似コルーチン
浅学な俺にコレについて詳しく
- 145 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 04:37:03 ID:ohkg3t4w]
- >>144
以前けっこう調べた俺がコレについて詳しく コルーチン 並列実行をさせない(できない)スレッドのこと。外国人はコーディングの際 coro と略すこと多し。 メリットは、排他処理が不要、ネイティブスレッドに比べてコンテキスト切り替えが軽い(もちろん実装次第だが)。 デメリットは、切り替えタイミングをプログラマが指示する必要がある、CPUがデュアルコアでも恩恵が受けられない。 最近ゲーム関係でよく聞くようになったが、アルゴリズム的にはすんごく昔のクヌース本にも載っているらしい。 マイクロスレッド、協調的マルチスレッド、ファイバー(Windowsのみ)、などの言い方があるが、 ゲーム業界ではコルーチンが一般的かな? ネイティブスレッドではないので擬似的なスレッドと言えるが、「擬似スレッド」という呼び方は よく混乱を招くようなのでお勧めしない(後述するように、スレッドを擬似的に再現する手法は他にもある)。 Cで実装する場合は、たいてい手動でスタックポインタを切り替えることで実現する。 主な実装: アセンブリで実装:作成難度高、コンパイラ依存、移植性なし、使い手にもスキルが必要(スタック溢れ対策など) 大域ジャンプで実装:作成難度中、コンパイラ依存、やや制限がある スクリプトで実装:スクリプトのVM(例えばLuaやSquirrel)に任せる。使うのは簡単で制限も少ない 擬似コルーチン コルーチンっぽいことを擬似的にやること(を、>>141は言っているのだと思われる)。 主な実装: マクロで実装:作成難度低、移植性高い、制限多い、読み手には超分かりずらい 感じを掴むには、LuaかSquirrelでコルーチンを触ってみるのが一番手っ取り早いと思う。 以下は直接関係ないので、混乱するようなら読み飛ばして。 ・昔のMacOSやWindowsで言うところの「プリエンプティブでない」マルチタスクの仕組みは、コルーチンの親戚。 ・RubyやPythonのスレッドも、一般的な実装ではネイティブスレッドではなく擬似的なスレッドらしいが、 明示的にコンテキスト切り替えを行うわけではないのでコルーチンとは異なる。 Javaではこのような擬似的に実装したスレッドをネイティブスレッドに対してグリーンスレッドと呼ぶ。
- 146 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 07:19:25 ID:1RaeXbIY]
- コルーチンを使わなかった場合
if (frame <= 100) GoToLeft(); else if (frame <= 200) GoToRight(); : 以下延々とつづく コルーチンを使った場合 for (i = 0; i < 100; i++) GoToLeft(); yield; for (i = 0; i < 100; i++) GoToRight(); yield; :
- 147 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 07:20:47 ID:1RaeXbIY]
- ミスった orz
for (i = 0; i < 100; i++) { GoToLeft(); yield; } for (i = 0; i < 100; i++) { GoToRight(); yield; } :
- 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++で真っ当にオブジェクト指向やってれば、こんな古臭いもんを 有難がる必要はないと思う。
|

|