ゲームにおけるデータ構造・クラス設計・パターン2
at GAMEDEV
1:名前は開発中のものです。
08/05/23 21:10:59 8M1gqhPX
具体的なゲーム名を挙げて、
どのようにクラス設計をすればよいか、
継承・委譲関係はどのようにすればよいか、
使えそうなパターンは何かなど語るのもよし。
自作ゲームの内容とクラス図を書いて
改善案を聞くもよし。
設計に関して困ったことを質問するもよし。
関数の具体的な実装内容やゲーム内容に関しては他スレに譲る。
大いに語れ。
前スレ
スレリンク(gamedev板)
テンプレ追加事項あったらよろすく
2:名前は開発中のものです。
08/05/23 22:15:47 KYZLgWWh
■デザインパターン
必須ではないが用語として便利なのでしばしば話題に上がる
[参考サイト]
Gameつくろー! デザインパターン習得編
URLリンク(marupeke296.com)
サルでもわかる 逆引きデザインパターン
URLリンク(www.nulab.co.jp)
[参考書籍(Amazonリンク)]
オブジェクト指向における再利用のためのデザインパターン
URLリンク(amazon.co.jp)
デザインパターンとともに学ぶオブジェクト指向のこころ
URLリンク(amazon.co.jp)
>>1乙
一応デザパタ軽く。
3:名前は開発中のものです。
08/05/24 01:01:32 hwB5uNnT
3ゲトー1乙。ずっと待ってたぜ。
4:名前は開発中のものです。
08/05/24 01:10:28 hwB5uNnT
・オブジェクト指向といったら特に指定しない限りクラスベース(所謂最も一般的なオブジェクト指向)
・インスタンスの方がより正しい場合は極力インスタンスという用語を使い、オブジェクトの使用は避ける。
とかスレの前提としてどうだろう。
5:名前は開発中のものです。
08/05/24 01:16:03 fCOY9f2q
インスタンスってつまりは実体のこと?
Foo foo = new Foo() とすると foo がインスタンス?
6:名前は開発中のものです。
08/05/24 01:24:20 WrI+RE5A
デザインパターンとOpen-Closed Principle
URLリンク(www.morijp.com)
これも
7:名前は開発中のものです。
08/05/24 02:07:45 hwB5uNnT
>>5
揚げ足取りな事はわかってるんだが一応。
fooは変数だから、fooが参照してる参照先の何か、がインスタンスじゃね?
文脈でわかるけど、ここら辺の表記も少し気をつけた方がいいかも。
8:名前は開発中のものです。
08/05/24 02:41:35 /DdfEDqz
「ゲームとはPrettyなインターフェースを備えたデータベースである」
っていう文言がどっかのペーパーに書いてあったけど、
スクリプト指向が進めば進むほど現実味を帯びてくるな
9:名前は開発中のものです。
08/05/24 16:24:52 WrI+RE5A
スクリプト指向の意味がさっぱりわからない
10:名前は開発中のものです。
08/05/24 17:17:01 LLc7AXF7
今最高峰のプログラマって、全員WEB系じゃん?
WEB系ってぶっちゃけスクリプト志向なんだよね
これでわかるかな?
11:名前は開発中のものです。
08/05/24 17:53:41 hwB5uNnT
>>8
ゲームをやる側から見た場合のRPG、特にFFなんかは5辺りから
ある意味その言葉を既に体現してる気がする。
12:名前は開発中のものです。
08/05/24 21:56:16 WrI+RE5A
メリットやデメリットを言えないくせに
「これはすごいんですよ、これを使えば安心です」って言ってるだけか
タスクシステム信者と同じだな
それで、教祖様は誰がなる予定なの?
13:名前は開発中のものです。
08/05/24 23:02:12 zxthQanT
>>12
今出てるのってそんな話か?
俺には世間話に>>10が適当な横槍入れただけに見えるが
14:名前は開発中のものです。
08/05/24 23:16:51 6QB8Oyw/
プ板から厨房誘致すればこのスレは盛り上がる。間違い無いw
15:名前は開発中のものです。
08/05/24 23:28:05 PtHN405f
たてなきゃいいのに布教スレなんかたてるからこうなる
16:名前は開発中のものです。
08/05/25 00:49:54 9gKbes0q
もう厨房が数匹住み着いたのか
17:名前は開発中のものです。
08/05/25 10:55:20 9DfW5HgH
プ板?
ム板のことか?
18:名前は開発中のものです。
08/05/25 11:05:10 93aOxetu
マ板じゃね?
19:名前は開発中のものです。
08/05/27 12:06:43 NfKeIEM4
これも貼っておこう
やる夫で学ぶデザインパターン
URLリンク(mojalog.com)
20:名前は開発中のものです。
08/05/28 00:17:53 EMOoLtkb
途中からゲーム関係なくね?
21:名前は開発中のものです。
08/05/28 09:16:17 rm2+ecl2
俺には全部ゲームに関係した話に見えるけど?
サンプルコードもゲームだしわかりやすくていいと思うが
22:名前は開発中のものです。
08/05/28 10:19:46 jKXaFTfv
なんか、無理矢理ゲームに例えてる感がひしひしと。
23:名前は開発中のものです。
08/05/28 12:07:15 yrY1wCou
日本語も満足に読めないのか
24:名前は開発中のものです。
08/05/28 12:58:54 aV/WuK9Y
お、2スレ目立ってたのね。
なんだかんだで前スレは良スレだったと思っていたので嬉しいじゃない。
25:名前は開発中のものです。
08/05/28 19:17:39 rm2+ecl2
>>22
そりゃ「デザインパターン使えばこんなにゲーム作りやすいよ!」じゃなくて
「例としてゲーム使ってデザインパターン解説してみた」だからそんなもんだろ
無理に読めとは言わないが、全く関係ないって事は無い
26:名前は開発中のものです。
08/06/01 20:32:11 CN3GNXI+
俺のレベルではよくわからんが
ゲーム屋からみれば変な設計なん?
27:名前は開発中のものです。
08/06/01 20:35:37 9GWV5N72
デザインパターンを丸々入れ込むとゲームだと描画とかで
速度でないゴミになりそうな悪寒
28:名前は開発中のものです。
08/06/01 22:40:05 IjC+ZLNy
関数呼び出しとか仮想関数分のオーバーヘッドってそんなに響くか?
まぁ使い過ぎが良くないってのには同意だけど
29:名前は開発中のものです。
08/06/02 00:45:33 u3nq1AKu
クラスというか、同じ関数名が増えまくるオブジェクト思考言語は、GTAGS使えないので嫌いです。継承構造とかも嫌い。
こんなんじゃ、ゲーム屋って無理?
30:名前は開発中のものです。
08/06/03 13:20:56 Up2rlfhT
>>29
マならどんな屑でもなれるし、無理じゃないよ
個人的には一緒に仕事したくないタイプだな
他社にいても移植とかサンプルとかでそういうコード渡ってきたらゲンナリする…
31:名前は開発中のものです。
08/06/03 13:37:21 60nvGBII
>>29
利点理解した上で必要ないと言い切る奴は性質の悪い秀才
食わず嫌いで利点なしと判断してごねてるならただの馬鹿
環境によっては使わない方がいい事もあるかもしれんけど
32:名前は開発中のものです。
08/06/03 14:28:32 FP0Va/Ol
cscopeならglobalと同じような事をC++やjavaのコードに対してもできるぜ
33:名前は開発中のものです。
08/06/03 18:34:30 R8vkDVly
CodeWarriorとか、OOPでもばんばんタグジャンプできるから問題ないのでは?
どうしてもGTAGSがいいの?GTAGSってGNU Tags?Google Tags?
34:名前は開発中のものです。
08/06/04 03:53:09 8a5x1JRq
>>33
>GTAGSってGNU Tags?Google Tags?
カエレw
35:名前は開発中のものです。
08/06/07 05:38:48 PKYwPYRJ
>>27
デザインパターンはシステムに応じて最適化することを前提としてる。
お前が考えているように、パターンを丸々適用するのは危険。
ただ、デザパタを適用する事による処理コストなんて大したことない。
物理演算や描画周りの重さに比べればメソッド呼び出しがちょっと増えるくらい誤差みたいなもん。
デザインパターンは省メモリプログラミング手法でもなければ、高速化手法でもない。
どのデータに対してどの処理を行うかを、継承と抽象化を使って示しているにすぎない。
皆がパターンやオブジェクト指向をありがたがるのはソースコードが肥大化しても
グダグダになりにくいという利点があるからであって、そこに処理速度の話を持ち込むのは
少々お門違いな気もする。
36:名前は開発中のものです。
08/06/08 20:08:17 1W8n4o1x
シューティング作っているんだけど
参考になるサイトでもある?
37:名前は開発中のものです。
08/06/08 20:17:15 WckjqjCh
積み木ファイターのひととか
38:名前は開発中のものです。
08/06/10 10:07:55 nTtkz+dw
ゲーム作るときってどうやってプログラム組んでいく?
全体構造を決めてから、トップダウンアプローチで作る
その場 その場で決めていき 作っていく スパイラルモデル
39:名前は開発中のものです。
08/06/10 10:18:30 XooPHqWt
>>38
その場その場で決まることを組み合わせて全体構造を決めていく。
都合が悪けりゃさっさと変える。
これじゃ毒にも薬にもならんかも。・・・トップダウンとかスパイラルとか、
アプローチの方向を固定化するのは良くない、って感じ?
40:名前は開発中のものです。
08/06/10 11:31:11 K9Q1TpUp
>>38
まず、誰にでも読める企画書とプレイマニュアルを作成する。
俺自身がどんなゲームを作る気なのかわかっていないことが多いから。
41:名前は開発中のものです。
08/06/10 12:26:21 hsBh970A
趣味で1人で作るのか、同人誌即売会狙いで数人で作るのか、会社の業務として作るのかで変わるとは思うけどな。
まあ、最後はありえねーとしてもw
42:名前は開発中のものです。
08/06/10 19:02:52 ZqBN8Kq4
>>38
どうしても単体テスト完了した部品を繋ぎ合わせる格好でやるので
最初は全体構造は無視
エンジン本体が部品の扱うデータ構造とズれる事はしょっちゅうなんで
ブリッジ用コードやデータの再パーサだらけになるorz
43:名前は開発中のものです。
08/06/12 08:01:35 IMyaUQnN
>>42
でも一番趣味でやる構築なら手ごろな手法っぽい。
ブリッジとアダプタさえあればドウトデモナルサー的な感じで。
44:名前は開発中のものです。
08/06/14 10:10:24 ITcMwq//
まずはトップダウンでモデル作って、作りながら問題があれば
モデルにフィードバック入れてくってやり方以外で
マトモなプログラムを作る方法はないだろ。
45:名前は開発中のものです。
08/06/14 14:13:33 GhaLcPKx
それができないから、他に方法が無いかと模索してるんでしょうね。お察しください。
46:名前は開発中のものです。
08/06/14 15:55:22 vUcsb6CI
あのgoogleですらボトムアップだという
47:名前は開発中のものです。
08/06/14 21:53:33 TLBVclDV
それはプロジェクト的な意味でだろ。
48:名前は開発中のものです。
08/06/23 00:38:10 fMSgUVEh
デバイスへのポインタってグローバルにしたほうが明らかに管理しやすいよな
49:名前は開発中のものです。
08/06/23 01:30:28 eCdVbunT
>>48 は?なんで?
50:名前は開発中のものです。
08/06/23 01:34:12 pTJzzIh1
俺はどっかにまとめるなあ
グローバルとか、デバイス差の吸収とか必要になったとき困らね
51:名前は開発中のものです。
08/06/23 02:05:44 NUHlpJuv
Direct3Dのデバイスの話とまず仮定。
そして、
・デバイスへアクセスする処理(関数)まで引数渡しでデバイスポインタを渡す
・どの処理(関数)からでもグローバルにアクセス出来るように保持する
との2択から、管理しやすさについて語っているのだと推測。
で、俺の意見は>>48と一緒。
理由は、引数で渡していくのは手間が増えるだけだと思うから。
引数で渡すのは、複数のデバイスを使う場合には意味を持つのかなと思うんだけど、
ゲームにおいて複数のデバイスを使う時って無いんじゃないだろうか。
52:名前は開発中のものです。
08/06/23 02:31:28 /DBWn/TJ
ヘッダーが重たくなるから一部のソースでデバイス関連のインクルードして、
そのソースだけでインスタンスの管理やアクセスを許して、
他のソースではインスタンスのポインター保持だけできるようにしてる。
53:名前は開発中のものです。
08/06/23 08:22:39 mKIom38M
オレはシングルトンクラスに持たせてそこからgetter呼ぶかなあ
54:名前は開発中のものです。
08/06/23 14:04:29 /Ozl3kU4
レイヤスーパータイプじゃないの
シングルトンはインスタンス数の制限が目的だし、組み合わせて使うならいいけど
55:名前は開発中のものです。
08/06/23 22:16:08 T9NriNFy
デバイスを使うような処理は関数で囲っちゃって、
普段はデバイスに直接触りすらしないようにしちゃうのは異端かな?
56:名前は開発中のものです。
08/06/23 22:34:15 X6Q0hHes
>>55
俺もー
57:56
08/06/23 22:37:13 X6Q0hHes
↑でも、ビューアとかデバッグ系のプログラムは別だけどね。
58:名前は開発中のものです。
08/07/02 02:46:33 Z7PtKJGp
お前らシーンの遷移ってどういう風に管理してる?
俺は最初、各シーンクラス内で次シーンオブジェクトを直接生成してたんだが、遷移の修正がし難くなるから止めた。
そこでより上位で、静的なシーン遷移管理クラスが現在シーンからイベントを受け取って、
現在の色々な状態をチェックして適切なシーン遷移を行うのを考えたんだが、
これでも、一定のまとまりのあるシーン遷移が積層した場合には泥臭いコードが増えると思ったんで止めた。
んで今やってみてるのは、先のシーン遷移管理クラスをオブジェクト化して、それらをスタック状に積み上げておいて、
現在シーンからのイベントを、処理できる奴まで上から順にたらい回しにしていく方法。
遷移管理オブジェクトのポップ忘れに注意が必要だけど、今のところそう悪くない構造だと思ってる。
他にはどういうやり方があるだろう。
59:名前は開発中のものです。
08/07/02 03:01:12 US3ampRT
シーンクラスじゃなくて管理クラスの方を積むの?
俺の鳥頭じゃちょっとイメージしにくい・・・
60:名前は開発中のものです。
08/07/02 08:11:54 1rjp9Xph
シーンなぞ市販のゲームだって両手の指で足りるくらいしかないのに
なんでそんなものの遷移だけで無駄にコードをいじりまわすのか
現在アクティブな遷移管理オブジェクトを隠蔽してなにか楽しいことがあるの?
61:名前は開発中のものです。
08/07/02 10:15:59 25mPqNml
シーンねぇ
なんか適当な名前のグローバルな列挙定数でswitch文で制御しているけど駄目なんかなぁ。
62:名前は開発中のものです。
08/07/02 19:16:17 noQk3O5d
それで問題感じなきゃ無問題
設計次第だしね
抽象化次第では面白い構造になりそうかも
抽象化不要なゲームなら別にswitchでよくね
63:名前は開発中のものです。
08/07/02 22:59:17 zDJJl2HF
シーンの切替で驚いた事といえば、
RPGとかで、フィールドからダンジョンや町などに入る/出るときにシーンの切替をするって言うのを聞いた時。
何か自分とはシーンというものの大きさが著しく違うのか、それとも自分が思っているRPGとは違うものなのか。
64:名前は開発中のものです。
08/07/02 23:04:11 surY1LL8
システムによっては、フィールドと町の中とではまるっきり違うやつもあるから、
そーゆーんじゃないのん?
65:名前は開発中のものです。
08/07/02 23:06:33 25mPqNml
まぁドラクエ的な物なら自分もフィールド、街、ダンジョンは同列に扱うかな。
66:名前は開発中のものです。
08/07/02 23:19:07 Z+lS9RAU
>>58
P of EAA Application Controller
というのがある、設計によっては使えるかもしれない
シーン遷移の追加よりも修正が多いのなら
可読性を重視して分散しないように書いた方が修正は楽になる、と思う
67:名前は開発中のものです。
08/07/02 23:42:43 US3ampRT
俺はステータス画面の中の項目や、更に細かい項目もシーン扱いしちゃうなー
そこまで行くとシーンじゃなくてswitchレベルかもとは思うんだけど
68:名前は開発中のものです。
08/07/02 23:53:44 noQk3O5d
サブメニュー系は別で作ってhas関係にしてるな
シーン単一保持だと元シーン内のアニメも止める事になるし(※無論それが前提なら無問題だけど)
俺の手癖だと、シーンを同時に複数駆動できるようにするとこんがらがる。
結局多態やswitch、Cなら関数ポインタの嵐になって弄りにくくなる一方な感じ。
なんか下手なんだろな
69:名前は開発中のものです。
08/07/02 23:58:28 surY1LL8
>67
俺の中では、親/子シーンとか、大(メジャー)/小(マイナー)シーンとか呼んでたりする。あくまでも俺の中だけ。
70:名前は開発中のものです。
08/07/03 03:42:52 Z+nUDepW
自分はCだけど、シーン毎にゲームループを作る。
フィールド移動、戦闘(コマンド入力)、戦闘(実行)とか。
シーンで必要な分だけ触れる形になるので分かりやすい。
ただ、新しくできてきた言語だと構造的に無理かもしれない。
71:名前は開発中のものです。
08/07/03 12:34:48 4VgEaFFX
システムデザインに拘ると、抽象化についてこれないメンバーいるからなぁ・・
ゲームは面白さ追及なんで仕方ない。この辺は妥協しないと。
外人はゲームに限らず抽象化は得意だね。まああっちは人が多いから下のレベルが高いんだろうけど。
72:名前は開発中のものです。
08/07/03 12:38:03 e4SGKyy/
>>71
それにアマチュア間で情報をやり取りする開発者のフォーラムとか
あってアマチュアも結構あれこれ知ってるからなあ。
日本って情報でも鎖国常態だから、会社にどっぷりでもない限りは
素人同然でしょ。
73:名前は開発中のものです。
08/07/03 12:49:08 ysSgecWy
むしろ日本の問題は、会社の枠で情報が閉ざされがちで、
結果ひとりよがりでフレームワークが洗練されないことに
あると思うわけだが。
74:名前は開発中のものです。
08/07/03 13:01:27 aUHHO03G
閉ざしたくて閉ざしているわけでもないと思うんだけどね。
情報公開については、企業がそうした活動に意味を見いだせれば
積極的に動くようになると思うがなあ。
75:名前は開発中のものです。
08/07/03 15:05:04 qaYiJWl1
それは違うな、設計能力を持つ人間が極めて少数しか世界に存在していない
守秘義務でコードを公開できなくても、設計に関わる議論ぐらいはできるはず
または公開することもできるだろう
実際は理解できる人がいないから話もできない
システムエンジニアがあんな連中ばかりだから設計が軽視されている
軽視されているから積極的に吸収して学ぶ気持ちを持つものが少なくなる
設計が戦略で、実装が戦術なら
ハッカーは戦術家だな
日本は戦術家ばかりで、戦略を低く評価する傾向にある
その結果、優れた戦術家をかき集めて特攻をかけるバカな頭しかない
力技で戦局を変えることしかできない、それしか方法がないと考える
一つの成功体験にすがり、臨機応変に設計を考えて変えようとしない
他人が使っている新しいものばかりを見て、導入して
仲間内だけで、「俺らって凄くね?」って言ってるだけで
自己満足に浸っている限り何も変わりはしない
道は二つだ
戦略を覆すだけの力を身につけ、力づくで戦局をねじ伏せ続けるか
戦略を考え続けるか
76:名前は開発中のものです。
08/07/03 18:39:02 9NkLv6DU
>>75
きもい、長い
77:名前は開発中のものです。
08/07/03 19:12:29 aUHHO03G
>>75
> 守秘義務でコードを公開できなくても、設計に関わる議論ぐらいはできるはず
> または公開することもできるだろう
もちろん社内で議論はしてるだろう。仕事してるんだから。
それと公開するかどうかは別の話だ。
ここでの話は、企業として技術情報を公開することについてじゃないの?
少なくとも>>72はそういう話でしょう。
それとも>>75は単に多くの日本の開発者を無能扱いしたいだけ?
78:名前は開発中のものです。
08/07/03 20:24:00 odWCpgCc
アメリカと日本じゃ、プログラマの流動性も違う品。
業界内で名を売って自分の値段を上げて転職するのが王道の国と、
あくまで内部で実績積み上げてくのが主流の国では、プログラマが
社外で情報発信するモチベーションが違う。
79:名前は開発中のものです。
08/07/03 21:55:28 DTx5b/+j
外国人すげぇ日本人だめ、みたいなステロタイプの意見が多いな
日米で比較した場合、これは産業構造が完全に異なるので
人材・才能の産業別分配比率からしてまるで違うよ。だから
日米の情報関連産業を比較したら日本劣勢となるのは仕方ないよ
>外人はゲームに限らず抽象化は得意
国産虹コンテンツの破壊力を目の当たりにしてそれはないよ
>まああっちは人が多いから下のレベルが高いんだろうけど
PCでQ3AとかUTがバカ売れしていた頃はね。そうだったよ。人数少なかったから。
でも今はだいぶ様相が違うよ。開発中期後期での期間工を大量採用しての
労働集約型闘争の比重が増大して、その成否が勝敗を分けるようになった辺りから
国内大手のそれとあんま変わらなくなった。というか下(兵隊)の素養は日本のが上。
言語障壁さえ無ければ日本の兵隊は米国の開発現場では無敵を誇るよ。
勤勉でサビ残も何のその一日12時間以上文句ひとつ言わずに働くんだから
米国の兵隊は駆逐されるよ。言語障壁さえなければね
80:名前は開発中のものです。
08/07/03 22:23:51 DTx5b/+j
>アマチュア間で情報をやり取りする開発者のフォーラムとか
>あってアマチュアも結構あれこれ知ってるからなあ
MODとか好きだから今でも国籍隠してチョコチョコ見たり書き込んだりしてるが
日本のアマチュアを劣等とするほど明瞭な差異は感じない
嗜好の差異は凄まじいが素養・素質はどっこいだよ
「CoD4作りたいですどうすればいいですか」「HL2買ってHammerでもいじってろ」「サーセンww」
みたいなやり取りは沢山ある。日本で言えば「FF作りたいです」「ツクールやってろ」「おっおっお(#^ω^)」と等価。
ただ英語圏vs日本語圏では裾野・人口が圧倒的に違うのでキチガイの数では英語圏に軍配があがる。
それと英語圏=3Dキチガイの巣窟。日本語圏=虹キチガイの巣窟。なのでアマチュアが渇望する知識
アマチュアが尊崇するアマチュア作家はだいぶ違う。単純に比較はできない
81:名前は開発中のものです。
08/07/03 22:25:41 4YUvzjZW
ゲーム開発に限った話じゃないけど、長引く不況のせいで日本人は
技術やノウハウを外に出し惜しむ癖が付いちゃってるんだと思うな。
82:名前は開発中のものです。
08/07/03 22:33:05 odWCpgCc
>>81
不況かどうかに関係なく、米国の IT 企業はノウハウ流出には厳しいけど。
秘密主義で知られる Google とかさ。
情報を出すことで他社のサービスをつぶせる場合には、積極的に公開しちゃうけど。
83:名前は開発中のものです。
08/07/03 22:46:20 4YUvzjZW
ノウハウ流出に厳しいってほんとかよ。
Googleなんて論文バンバン出して技術発表してるイメージがあるけどなあ。
海外では古い商用ゲームのソース公開したりする人達が沢山いる
けど、日本でそういうことやった会社はあんま聞いたことないし
プログラミングの本でも、80年代は日本人が書いた本でも面白い本は
沢山あったのに、ここ10年ぐらいの名著は外人が書いた本の
翻訳本ばっかりの現状考えるとにわかに信じられん。
84:名前は開発中のものです。
08/07/03 22:47:22 JMOvob5t
単なる欧米コンプレックスだろ
85:名前は開発中のものです。
08/07/03 22:50:43 odWCpgCc
>>83
> Googleなんて論文バンバン出して技術発表してるイメージがあるけどなあ。
当たり障りがないところだけな。
Google が出してる論文は、実証論文が多い。分散システムは理論的には
だいぶ前から研究されているんだが、Google が出してる論文は「それを
使って実際にファイルシステムを作って運用したら、このぐらい性能出たよ」
みたいなやつ。
実装の詳細は公開していないし、細かい数値は「これは出せない」とか平気で
書いてある。
もちろん実証論文にも学術的に価値があるんだが、ノウハウを公開しているの
とはだいぶ違う。読んでも真似できないし。
86:名前は開発中のものです。
08/07/03 22:55:44 odWCpgCc
Google の論文は、個人的には就職者ホイホイのような気がしてる。
SIGOPS とか USENIX の論文読むような質の高い連中に、ウチに
来るとこんな仕事できるぜーとお誘いかけてる。人材仲介業者に
高い金払うより良い宣伝だよw
87:名前は開発中のものです。
08/07/03 23:05:49 1g03RBvk
論文の質・量で言うとMicrosoft Researchのほうがすごくない?
88:名前は開発中のものです。
08/07/04 00:30:18 lh91Gh1r
専門知識を蓄えてしまうと、ますます話の合う人間がいなくなりそうな予感。
89:名前は開発中のものです。
08/07/04 05:23:01 5KkF19ee
>>84
ソフトウェアに携わる人間で米コンプレックスを感じない人は
無能あるいは情報弱者だろう
欧州はそれほどとも思わないけどアメリカリードしすぎ
90:名前は開発中のものです。
08/07/04 05:32:42 fzMGN+kp
>>89
海外はすごいよ。
開発するにしてもニッチな物になればなるほど日本側で
解説してるのが少ない。
結局は翻訳サイトで翻訳しながら自力で学習してる。
91:名前は開発中のものです。
08/07/04 05:48:08 dN9x2gJA
それ、英語の普及範囲を評価してるだけだろ
日本人の英会話力の低さは別問題だよもう
92:名前は開発中のものです。
08/07/04 05:56:42 KBN1fM3d
米コンプレックスとは世界の「知」が集まる「場」「国家」に対するコンプレックス
こういう感情や危機感を抱く対等の存在は「その他の場」「その他の国家」
一個人は素直により良い「場」の恩恵を享受することができるわけで
情報交換にしたって英語圏MODコミュやゲームデベロッパーのコミュを
覗き見ることに何の拘束も受けないよ。このネットの時代にあって
国家の枠組みや物理的距離は、知的欲求や情報交換を阻害する
主要因では既になくなってるよ。特にアマチュアにとってはこんな恵まれた状況は
90年代半ば以前はなかったわけで、この期に及んで、より良い「場」に距離を感じ
コンプレックスをおぼえるならその正体は言語コンプレックスなんだよ
言語障壁にもがき苦しんで乗り越えたもん勝ち。がんばれ
93:名前は開発中のものです。
08/07/04 05:57:56 KBN1fM3d
>>91
かぶったスマンコ
94:名前は開発中のものです。
08/07/04 06:11:54 KBN1fM3d
ところで休暇中に発見した格安で愉快な英語おしゃべり上達法
ネトゲでボイチャ。中毒性の低いFPSとかでVoIP対応してるやつがオヌヌメ
95:名前は開発中のものです。
08/07/04 06:28:19 KBN1fM3d
米国の現場における労働集約型闘争が生み出した兵隊の質の低下は
既に数年前から顕在化しているという話をしたが、適当に日本語ソースをググッてきた
URLリンク(slashdot.jp)
「知」が集まる国といえど開発規模の肥大化で苦しんでる様は日本同様
促成教育で動員された兵隊は待遇面でも基礎素養でも決して恵まれては居ない
理系大卒ないし中退程度の知識を持つ少数の変態テクノギークがブイブイ言わせていた
PC-FPS主流時代とは事情が違ってる
96:名前は開発中のものです。
08/07/04 06:32:14 ulIK/zsc
くねくねハニィのコラムによると、
日本は会社の枠に縛られず下請けやフリーのプログラマばんばん使って短期決戦、
海外は外部の人間は使わず自社内で十分な予算を確保してじっくり練り上げていく、
ってことらしいぞ。
むしろ海外の方が技術的には閉鎖的なんじゃないか?知らんけど。
少なくとも俺はよそのメーカーを手伝う機会が多いから日本が閉鎖的とは思わんな。
97:名前は開発中のものです。
08/07/04 06:58:00 KBN1fM3d
切羽詰って偽装請負みたいなことやっちゃってたりするよな
98:名前は開発中のものです。
08/07/04 08:23:31 BChTVd/d
>>96
>日本は会社の枠に縛られず下請けやフリーのプログラマばんばん使って短期決戦、
>海外は外部の人間は使わず自社内で十分な予算を確保してじっくり練り上げていく、
>ってことらしいぞ。
これは言えてる。
日本のホワイトカラーは、最上位の意思決定者と外注の中継地点にしか過ぎない。
地道な作業をしないことに価値を見出す役人根性が、世の中を席捲している。
99:名前は開発中のものです。
08/07/04 08:49:34 BChTVd/d
>>80
以下を見ると、英語圏の方が日本よりも、アマチュアというかインディーズ(同人)市場が発展しているという印象を受ける。
URLリンク(www.gametunnel.com)
○ 絵(とくに3D)がきれい。
○ 音楽も一般受けする質の高いものが標準。
○ ゲーム中以外のシーン(デモ、オプション設定)が作りこまれている。
パーツを生産する能力は、上位企業の即戦力並だ。
ただし、ゲームとして楽しいのはあまりない気がする。
日本のフリーとかシェアは、ゲームとして楽しいのが少ない上、パーツも陳腐なデザインが多い(よくできたものもあるが)。
グローバルな金儲けには関心なく、村市場(コミックマーケット)で満足してしまっている奴が多いんだろうな。
100:名前は開発中のものです。
08/07/04 10:11:43 pYjEAjeh
最近の家庭用の大規模RPGのデータってどう管理されてるのが多いんですか?
RDBですか?それともタダのファイル?
101:名前は開発中のものです。
08/07/04 12:41:59 tMJHCBTq
普通はゲームデータ制作ツールとゲーム実行エンジンを並行して作っていく。
データはファイルが多い。ゲームデータ制作ツールの仕様にもよるけど、バイナリファイルの場合が多い。
C構造体のバイナリダンプは実装が楽だからね。
PCゲーには、ユーザがテキストファイルを弄ってデータや設定を変えられるものもある。
102:名前は開発中のものです。
08/07/04 13:10:11 04Qw9LMa
国単位になるとステレオタイプのイメージに支配されちゃう人っているんだねぇ
103:名前は開発中のものです。
08/07/04 15:33:28 eL1SAVRC
マの話はマ板でやってくれ
>>100
某タイトルはSQLite使ってるな
104:名前は開発中のものです。
08/07/04 20:15:06 HsoNh4J4
>>87
> 論文の質・量で言うとMicrosoft Researchのほうがすごくない?
同意。世間じゃGoogleを持て囃すのが流行ってるけど、むしろ
コンピュータサイエンスはMSRのほうがすごい研究者を集めてる。
105:名前は開発中のものです。
08/07/05 11:31:29 rip3o1Gr
>>104
研究者の層の厚さだと IBM 強いよなぁ。
Google は R&D でも R より D 寄り。
106:名前は開発中のものです。
08/07/05 11:38:06 rip3o1Gr
>>103
まだ、主流は独自フォーマットのバイナリだと思うな。
CSV か XML っぽいフォーマットでデータファイル作っておいて、コンバータで
バイナリに変換して組み込み。
107:名前は開発中のものです。
08/07/05 11:38:38 Def2so2E
だめだ、全然話についていけないぜ
108:名前は開発中のものです。
08/07/05 11:41:27 qX1NKMBA
>>99
> ○ 絵(とくに3D)がきれい。
> ○ 音楽も一般受けする質の高いものが標準。
> ○ ゲーム中以外のシーン(デモ、オプション設定)が作りこまnれている。
ちょwwわかってかいてんのかよww
全部、投入できるリソースの違いで解決できるじゃねーかw
109:名前は開発中のものです。
08/07/05 11:44:02 qX1NKMBA
俺は、海外のインディゲームデベロッパーを結構チェックしているが、
絵がきれー、とか音楽すげーとかってなかなかないよ
それこそ、日本でたまに同人ですげえグラでバリバリ3Dなのがでてくる頻度並み。
たまにこれすげえ描き込みだ、とか思ったら現役プロの趣味作品だったり(日本かとおもうけど、海外の話だよ)
110:名前は開発中のものです。
08/07/05 11:44:46 qX1NKMBA
連投ごめん、音楽すげーはけっこうあるわw まあ俺がテクノ好きなだけかもしれんけど
111:名前は開発中のものです。
08/07/05 13:29:28 E9y2cnx1
雑談スレに移動すべきだと思うけど二つだけ。
そもそも一国と世界を比べることに意味があるのかな。
言語障壁はローカルのコミュニティが栄えない理由にならないよね。
112:名前は開発中のものです。
08/07/05 20:57:12 UjEcMe9W
>>108
>>109
>>99のリンク先のコンテンツを見た上で、のたまっているのか?
優れたリソースの利用可能性も、市場発展度合いの目安。
113:名前は開発中のものです。
08/07/05 21:01:08 rip3o1Gr
日本の職人はゲームじゃなくて、ニコ動に集ってるだけだろ。
114:名前は開発中のものです。
08/07/05 21:23:48 hYTfj9Xn
方向性が違う物を比べても何にも成らないのに
115:名前は開発中のものです。
08/07/06 00:07:36 Gwo/Ylg2
>>80だが
>>99
繰り返すが、趣味者の嗜好の差異が凄まじいと言っているだろう。
IGDA日本の新清士に代表される外国すげぇ日本だめ論のステロタイプアジテーターは
なぜ乱暴な単純比較して優劣を競おうとするのか、FPS大好きの俺でも理解に苦しんでいる
>英語圏の方が日本よりも、アマチュアというかインディーズ(同人)市場が発展しているという印象を受ける
>URLリンク(www.gametunnel.com)
ところでgametunnelはフリゲのダウンロード数、シェアウェアの販売数を公表してるか?してないだろ
特に後者について公表したらおそらくDLSiteの販売数を遥かに下回るんじゃないかと俺は読んでいる
(下半身産業が絡んで不公平になるので全年齢のみで比較してもいい)
>日本のフリーとかシェアは(中略)
>グローバルな金儲けには関心なく、村市場(コミックマーケット)で満足してしまっている奴が多いんだろうな。
だから、嗜好の差異が凄まじいと言っている。エロゲ塗り紙芝居ADVが大好きだから一生懸命作ってるアマチュアに
「グローバルな金儲けに関心もて」「今すぐFPS作れ」なんて言えるかい?毎日好きでもないものを延々作らされてる
腹いせに素人に因縁付けてるようで感心しないな。だいたいプロの何パーセントがグローバルな金儲けのために
真剣に取り組んでるよw素人に八つ当たりする前に自分の胸に手を当てて考えろっての。
あと、素人に即戦力を問う例のあのアジテーターも異常だ。10年以上前から新卒採用の新人に即戦力なんざ期待してない。
他業界同様、研修・実習・OJT、一から大事に大事に育て上げ戦力化している。N-88BASICマスターだろうがファミベの達人だろうが
ツクラーだろうがデザエモナーだろうがボードゲーム狂いだろうが等しくスタートラインから育て上げてる。それができる体力のない
弱小零細が新卒学生の即戦力がないだのと八つ当たりしてベーマガ2.0が要るだの喚いてるだけ。勝手に滅べと言いたい
116:名前は開発中のものです。
08/07/06 00:20:54 Gwo/Ylg2
外国すげぇ日本だめ論が好きな連中は日本の文化を否定する傾向にあってあまり好かん。
アマチュアゲーム開発者の嗜好が世界のガラパゴスと呼ばれても気にする必要なし。
趣味に独自文化が形成できるのは豊かさの象徴であって決して恥じるものではない。誇っていい。
エロゲ塗り紙芝居ADV作家は大挙してgametunnelに突撃するくらいの自信を持っていい。
世界に比類の無いコミケのような巨大なヲタ祭を村市場などと自虐に走る連中は無視しろ。
あんだけカネと人が動く趣味野郎の祭典が開けるのは豊かさと根暗パワーの象徴だ。誇っていい
117:名前は開発中のものです。
08/07/06 00:32:11 ADZbZeYt
日本人はどちらかといえば何か分からんが動いたから良いやって人が多
い気がするね。
昔から日本人は抽象的な概念は強いけど具体的な概念に弱いって言われ
てるって何かの本に書いてた気がしないでもない。
SEやらPGやってる人なら分かると思うけど「なんで?どういうこと?」っていう
のを突き詰めてちゃんと答えが出ないと気が狂いそうになる人じゃないとエンジニア
には向かないと思う。
まぁ外人云々じゃなくて正確か??
118:名前は開発中のものです。
08/07/06 00:33:49 Gwo/Ylg2
ただし、技術屋を志向する趣味プログラマは技術的ガラパゴス状態に陥ったら負けだな。
この点だけは外国すげぇ日本だめ論を展開するアジテーター共の意見に一理ある。
お国柄のせいか虹派が多数派の我が国ではアマチュアプログラマに要求される
技術水準はそれほど高くはない。それはそれでいいのだが、その技術ガラパゴスの中で
タスクシステム知ってる俺tuee状態とかになっては格好が悪い。俺tueeする時はもっと
見識を広めたほうが良い
119:名前は開発中のものです。
08/07/06 00:34:25 Gwo/Ylg2
>>117
かぶったスマン
120:名前は開発中のものです。
08/07/06 00:34:55 7QhD5OiR
熱く語ってもらってるとこ悪いけどお前らスレ違いだ
121:名前は開発中のものです。
08/07/06 00:42:02 Gwo/Ylg2
ああ、悪い。次に長文レスするときは↓に投げることにする
現役開発者が質問に答えるスレ
スレリンク(gamedev板)l50
122:名前は開発中のものです。
08/07/06 00:44:51 VtZ5ywY1
>>115
>腹いせに素人に因縁付けてるようで感心しないな。
感じやすいんだな。
一つ俺が言いたいのはさ、スキルがあるんだったら、
小規模ながらもグローバルな金儲け(変な言葉だ)に挑戦すること考えた方が、
面白えんじゃねえのってことだよ。
自身の嗜好に自信がないって?
じゃあ、そいつは一体何をやっているんだ。
123:名前は開発中のものです。
08/07/06 00:48:46 mek7cAwO
スレ違いだボケども
124:名前は開発中のものです。
08/07/06 01:43:19 D1fZ4Z3G
> SEやらPGやってる人なら分かると思うけど
PG以外がこのスレに居るのかと問い詰める必要があるな
125:名前は開発中のものです。
08/07/06 07:26:44 XCulGsMF
すみません。話を脱線させた一人です。。。
小さな会社でケータイゲー作ってる業界人です。底辺です。分かってます
俺も職場の仲間はみんなゲーム専門学校卒です。
英語とか読めないしGPGの日本語版も難しすぎてわからないので
や○う○おさんの本とかCマガのタスク記事が職場のバイブルです。
某スレでタスクシステムが馬鹿にされて自棄になってて
俺の職場のレベルが低いのはきっと日本の閉鎖性のせいだと
考えるようになってました。
だってPS3とか箱○のゲーム作ってるクライアント(大手です)は
自分たちのノウハウを俺ら底辺には絶対教えてくれないし。。。
発注したケータイゲーをおとなしく作ってろって感じの扱いです。。。
ぜんぜん頭よくなれそうにない知育ゲーとか糞つまんねー
クイズものばっかり作らされて気が狂いそうです。。。
126:名前は開発中のものです。
08/07/06 07:43:01 XCulGsMF
日経のサイトのベーマガ2.0の記事も読んでました。
ベーマガがどんなものか実は知らないのですが日本の
アマゲーコミュニティがないから悪いって言ってたので
我が意を射たりって感じでした。
土日スレで投稿してましたがいつも荒らされてました。
PCゲーム板のフリゲ厨とか氏ねと思ってました
俺は今もDirect3Dとかわけわかんないです。そういうのを
教えてくれるベーマガみたいなものに出会えなかったから
ファミ通の特集記事のゲーム専門学校すごいと思って
高校の先生の反対を押し切ってゲーム専門学校に行きました。
でも専門学校の講師も3D苦手でした。
おまえらには3D無理だから2Dで卒業制作作れって言われたので
言う通りにしました。今思えば先生が分からないもの作られると
質問されても答えられないから嫌だったんだと思います。
ゲーム専門学校に行ったことをすごく後悔してます。
ファミ通氏ねと思いました。きっとベーマガがあれば俺の人生
違ってたかもと思いました。やっぱおまえらが悪い
127:名前は開発中のものです。
08/07/06 07:59:00 XCulGsMF
すみません。ついカッとなってまたスレ違いのこと書いちゃいました
消えます
128:名前は開発中のものです。
08/07/06 08:43:38 S3/2UtrA
ネタじゃなかったら真面目に一度精神科に行くべき。
明らかに躁鬱の傾向が見て取れる。
過度のストレスで脳に器質的な損傷が出来てるかもしれん。
129:名前は開発中のものです。
08/07/06 09:01:33 VtZ5ywY1
>>123
何も語れない馬鹿よりはマシ。
130:名前は開発中のものです。
08/07/06 09:28:24 I4JuM713
まあ、消えなくていいからまた、スレ違いじゃなくてよさげな情報あったら教えてくれよ
131:名前は開発中のものです。
08/07/06 10:03:51 4WjvpweZ
>>129
さすがにそれはねーよw
スレ違いでも知識をひけらかすほうが賢いと?
まあ、あまり過疎ってもらってもつまらんのだが・・・
132:名前は開発中のものです。
08/07/06 13:03:17 cXpJQpiz
tunnelでおすすめのゲームを教えてkれ
133:名前は開発中のものです。
08/07/06 15:04:16 ZiAdcqL1
VIPから来ました
ギャルゲひっさげて殴り込んで欲しいリア充外人サイトがあると聞いて
134:名前は開発中のものです。
08/07/06 16:19:57 le8Gr2pO
いや、作者じゃないと殴り込めないわけだが
135:名前は開発中のものです。
08/07/06 16:49:47 NhLrwJLQ
おかしな奴の言い分もわかるぜ
日本の企業は総じて、コミュニケーション能力だのなんだの
わけのわからない能力やノウハウを好んでそれを要求するくせに
それらを他人に教えるようなことはしないからな、ヒントすらも
異常なほど排他的だ
数年前に某大作RPGの下請けの社長様が
「3Dできる奴なんて腐るほどいる死ね、コミュニケーション能力のない奴は死ね」(意訳)
って新聞記事に載せてたの思い出した
笑える、うひゃ
136:名前は開発中のものです。
08/07/06 17:01:01 a3zGOuXr
マ板でやれっつの
あーあ
137:名前は開発中のものです。
08/07/06 17:06:30 NhLrwJLQ
ほらクソども設計について語れや
レイヤスーパータイプは
class Devicer { static Device device; }
で、スーパークラスとしてDevicerを使うことだ覚えとけ
Application Controllerは
class AP {
View GetView(入力と状態値);
Command GetCommand(入力と状態値);
}
引数に入力情報や状態を判断する値を入力すると
それに適したViewやModelに対するCommandを返すものだ
覚えておけ、クソども
138:名前は開発中のものです。
08/07/06 17:44:48 bleemPMj
みんな独自のウィンドウマネージャー(画面管理)クラス作ってるのかなあ
139:名前は開発中のものです。
08/07/06 22:29:37 mQf6Jrcq
>>135
良いこというなぁ。
禿同。
社長に。
140:名前は開発中のものです。
08/07/06 22:41:15 NhLrwJLQ
シーン遷移をきれいに実装したいという話なら、俺は否定するぞ
ジャンルにもよるが大抵のゲームで使うシーンは、多くてもせいぜい十にも満たない数だ
この規模の小さい状態遷移を、そのまま適当に実装してもとくに肥大しない
後で追加が頻繁に発生するとも思えない、適当に修正しても特に難しくはならない
こういう部分に、色々な知恵を絞ったコードを書くことに意味はない
逆にそのクラスの為に他の部分にしわ寄せが行って、
難しいロジック部分や画面描画部分に関係のないシーン遷移のコードが入り込む
無駄に依存関係が発生し複雑になる、遷移するためのコードが分散して修正が難しくなる
やるんだったら他の部分に影響を及ぼさない程度にしておけ
無意味に分断しすぎて複雑にするな
141:名前は開発中のものです。
08/07/06 23:15:17 bOQhFRQW
>>140
めんどくさいのは、シーン遷移よりキャラクターの状態遷移だよな。仕様変更が
わりと発生しがちな部分だし。
142:名前は開発中のものです。
08/07/06 23:34:33 NhLrwJLQ
>>141
同感だ
そういう箇所に擬似コルーチンを使ってる
前はState使ってたが、あれは追加には強いが変更に弱いな、複雑になって死んだ
単純ならそのまま状態変数で適当に書いてもいいが
コルーチンのほうが書いてて楽しいな
143:名前は開発中のものです。
08/07/06 23:47:58 bleemPMj
状態が変わる時は自滅させてから、見た目同じで中身は別の敵オブジェクトを生成するとか。
144:名前は開発中のものです。
08/07/07 00:57:38 FUQ1BpEu
>擬似コルーチン
浅学な俺にコレについて詳しく
145:名前は開発中のものです。
08/07/07 04:37:03 ohkg3t4w
>>144
以前けっこう調べた俺がコレについて詳しく
コルーチン
並列実行をさせない(できない)スレッドのこと。外国人はコーディングの際 coro と略すこと多し。
メリットは、排他処理が不要、ネイティブスレッドに比べてコンテキスト切り替えが軽い(もちろん実装次第だが)。
デメリットは、切り替えタイミングをプログラマが指示する必要がある、CPUがデュアルコアでも恩恵が受けられない。
最近ゲーム関係でよく聞くようになったが、アルゴリズム的にはすんごく昔のクヌース本にも載っているらしい。
マイクロスレッド、協調的マルチスレッド、ファイバー(Windowsのみ)、などの言い方があるが、
ゲーム業界ではコルーチンが一般的かな?
ネイティブスレッドではないので擬似的なスレッドと言えるが、「擬似スレッド」という呼び方は
よく混乱を招くようなのでお勧めしない(後述するように、スレッドを擬似的に再現する手法は他にもある)。
Cで実装する場合は、たいてい手動でスタックポインタを切り替えることで実現する。
主な実装:
アセンブリで実装:作成難度高、コンパイラ依存、移植性なし、使い手にもスキルが必要(スタック溢れ対策など)
大域ジャンプで実装:作成難度中、コンパイラ依存、やや制限がある
スクリプトで実装:スクリプトのVM(例えばLuaやSquirrel)に任せる。使うのは簡単で制限も少ない
擬似コルーチン
コルーチンっぽいことを擬似的にやること(を、>>141は言っているのだと思われる)。
主な実装:
マクロで実装:作成難度低、移植性高い、制限多い、読み手には超分かりずらい
感じを掴むには、LuaかSquirrelでコルーチンを触ってみるのが一番手っ取り早いと思う。
以下は直接関係ないので、混乱するようなら読み飛ばして。
・昔のMacOSやWindowsで言うところの「プリエンプティブでない」マルチタスクの仕組みは、コルーチンの親戚。
・RubyやPythonのスレッドも、一般的な実装ではネイティブスレッドではなく擬似的なスレッドらしいが、
明示的にコンテキスト切り替えを行うわけではないのでコルーチンとは異なる。
Javaではこのような擬似的に実装したスレッドをネイティブスレッドに対してグリーンスレッドと呼ぶ。
146:名前は開発中のものです。
08/07/07 07:19:25 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:名前は開発中のものです。
08/07/07 07:20:47 1RaeXbIY
ミスった orz
for (i = 0; i < 100; i++) {
GoToLeft(); yield;
}
for (i = 0; i < 100; i++) {
GoToRight(); yield;
}
:
148:名前は開発中のものです。
08/07/07 07:24:44 1RaeXbIY
コルーチンは、タスクシステム総合スレで話題が出てたね
149:名前は開発中のものです。
08/07/07 08:00:36 FUQ1BpEu
あー、マイクロスレッドのことか!
それなら一応分かるような気がしないでもない
でもC++じゃあ無理だよね・・・
150:名前は開発中のものです。
08/07/07 08:00:37 0ql4peFo
fiber?
151:名前は開発中のものです。
08/07/07 09:17:09 1RaeXbIY
>>149
ネイティブに落とされる言語だと実現するにはコンパイラ依存になるんじゃないのかなあ?
スタックいじるし。
>>150
Windows用語ではそうかと。
てか、要点は>>145に書いてあるなw
うまいまとめだ
152:名前は開発中のものです。
08/07/07 10:04:53 BeipJAsv
コンパイラ依存じゃなくてアーキテクチャ依存だ。
setjmp()でコンテキストを保存したあと、保存したコンテキストの
スタックポインタとリターンアドレスを書き換えてlongjmp()で戻すだけ。
C++だけで実装可能だぞっと。
153:名前は開発中のものです。
08/07/07 13:31:17 yE1V62Sc
fiberはRubyでも使われてるよ
スレッド(糸)より細いものだからファイバ(繊維)
あとJavaScriptにも1.7から導入されてるぜい
154:名前は開発中のものです。
08/07/07 22:11:23 oT4ePMXj
マイクロスレッドは理想だけどそこまでトリッキーなことやる踏ん切りが付かない
155:名前は開発中のものです。
08/07/07 22:26:27 yE1V62Sc
やっぱスクリプト以外ではやる気しないな
156:名前は開発中のものです。
08/07/07 22:30:56 nV3j1Oo/
タスクシステムはコルーチン実装の一つだね
157:名前は開発中のものです。
08/07/07 23:47:06 ZC8HSbxq
コルーチンの「コ」って子供の子って意味じゃないよね?
158:名前は開発中のものです。
08/07/08 00:00:56 2Ffcfnsn
cooperativeと一緒のco-だろ?
159:名前は開発中のものです。
08/07/08 01:20:29 DPfKtgJc
俺はオブジェクト指向で、シングルスレッドだな。
常にメインループ内で、オブジェクトの描画、行動、当たり判定が行われてる。
また一方で、オブジェクト発生イベントのリストを持っていて、
順次、メインループにオブジェクトが登録されていく。
この「オブジェクト発生イベントのリスト」はシーンに相当していて、
シーンを切替えたければ、今登録されているオブジェクトを破棄して、
イベントのリストを差し替えるだけでいい。
while (1) {
for i=0...
{
オブジェクト[i]->行動();
オブジェクト[i]->描画();
オブジェクト[i]->当たり判定();
}
イベント発生()
}
160:名前は開発中のものです。
08/07/08 17:13:03 8FRUZW5m
>>159
PACに似てるが違う、オブジェクトの追加に強そうだが
そのメリットの恩恵が受けられない場合に死ぬほど複雑になる予感
ドメインロジックのテストを行うときにビューが関わってくる
逆にビューのテストを行うときにドメインロジックが関わってくるため
テストに多大な労力がかかる事が予想される
常にプログラム全体をテストしなければならないため、試行錯誤すると死ねる
render target等の処理が俺にはすぐに思いつかない、よって3Dには不向き
2Dにしても描画に関する処理が単純でなければうまく動かないだろう
規模が小さいプログラムを無駄に複雑にしてすごそうに見せたい人にお勧め
または、意味もなく多機能オブジェクトをリストに突っ込んで管理したい人にお勧め
私はお勧めしない、追加のメリットが多大である場合は考慮に値するが
ゲームには不向きだと思う、特に3Dの場合は
俺は怖くて使えない
161:名前は開発中のものです。
08/07/08 17:19:39 8FRUZW5m
>>160
追加
リソースの追加が障害にならなければロジックのテストは問題ない場合もある
やるんだったらそんな半端な構造ではなく
関連まで含めて、PACアーキテクチャ使った方がよくないか?
162:名前は開発中のものです。
08/07/08 22:56:21 8FRUZW5m
小規模な状態遷移の実装は
今持ってる手で四つ
1.擬似コルーチン
2.スレッド
3.スクリプトで隠蔽したスレッド
4.通常の状態変数による管理(State含む)
設計が明確でない初期のもの、プロトタイプ
又は小規模な場合の初期のとりあえず書いておくコードに向いているのは
擬似コルーチン又は状態変数だろう
まだ設計方針が明確に決まっていない場合や試行錯誤しなければならない状態で
スレッドやスクリプトの導入を決めるのは早すぎる、リスクが大きい
ある程度、方針が固まってから適切なものを選択するのがいいだろう
状態変数での管理が大手を振っているのも
初期コストが低いという部分が大きい
このため、状態変数やState以外の選択肢は簡単には普及しないだろう
ただし、スレッドの積極的採用が処理速度向上に繋がるのならその限りではない
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5258日前に更新/166 KB
担当:undef