ゲームプログラムなら俺に聞け17

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
前スレ
ゲームプログラムなら俺に聞け16
http://hibari.2ch.net/test/read.cgi/tech/1298619221/

ゲーム開発に関してプログラムの観点からアプローチするスレッドです。
一応質問も受け付けます。
ソースをうpするとアドバイスがもらえるかもしれません。
次スレは>>950辺りでお願いします。

このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
2デフォルトの名無しさん:2011/05/22(日) 01:46:37.23
人生初2ゲット
3デフォルトの名無しさん:2011/05/22(日) 08:56:27.53
3getッモルッピグ!
4uy:2011/05/22(日) 09:07:32.82
5デフォルトの名無しさん:2011/05/22(日) 09:12:52.17
尻から目が出た!
6デフォルトの名無しさん:2011/05/22(日) 09:21:47.48
いきなり3連続あぼ〜んとか景気いいな
7デフォルトの名無しさん:2011/05/22(日) 09:26:53.99
素でフイタw
8デフォルトの名無しさん:2011/05/22(日) 11:18:53.92
実行速度気にならない、たとえばターン性のボードゲームとかだとSQLでゲームオブジェクトを管理すると楽ちんじゃないですか?
ひょっとしてプロの方はこのテクニックもうやってるんじゃないでしょうか
9デフォルトの名無しさん:2011/05/22(日) 11:34:05.12
ほとんどのボードゲームが簡単にオブジェクトの総数が求まるから
配列で管理した方が楽なんじゃないだろうか
10デフォルトの名無しさん:2011/05/22(日) 11:54:09.17
どうせ COM 対戦作る羽目になるし、基礎ルーチン高速化しとかないとしょぼいAIしかできなくなる
11デフォルトの名無しさん:2011/05/22(日) 12:29:33.75
なぜSQLなのか
12デフォルトの名無しさん:2011/05/22(日) 13:20:41.37
将棋だったら盤面上の駒だけじゃなく不特定数の持ち駒も管理するからデータベースでもいいかな?
データベースつってもSQLite以外の選択肢はないだろうけど。
それでも大した数じゃないんだから可変長配列とかで持ったほうがいいか。
13デフォルトの名無しさん:2011/05/22(日) 13:24:59.89
設計すらマトモにできないのか
14デフォルトの名無しさん:2011/05/22(日) 13:29:30.71
プレイ中のデータをセーブしといて、あとで続きの対局ができるようにするんだったら、将棋なんかはXMLとかで保存するよりSQLiteのほうがラクじゃね?
15デフォルトの名無しさん:2011/05/22(日) 13:36:40.05
>>12
将棋の駒って最大40だろ?それくらい固定配列でいいと思うんだが
16デフォルトの名無しさん:2011/05/22(日) 14:09:32.29
シリアライゼーションじゃいかんの?
17デフォルトの名無しさん:2011/05/22(日) 14:56:51.09
このスレってゲ製作技術板とどう住み分けてるの?
18デフォルトの名無しさん:2011/05/22(日) 15:01:48.13
過疎り具合
19uy:2011/05/22(日) 16:33:50.94
どっちかというとここも過疎板だが向こうの過疎っぷりはさらに酷い
20デフォルトの名無しさん:2011/05/22(日) 16:34:22.12
ゲームって相互参照多すぎじゃね?
相互参照切るとこんどはグローバル地獄だし
どないせぇちゅうねん
21デフォルトの名無しさん:2011/05/22(日) 16:36:22.54
親子関係をはっきりさせてないのでは?
22デフォルトの名無しさん:2011/05/22(日) 16:51:34.25
はっきりさせたって相互参照はできるだろう普通に考えて…
ゲームクラスはキャラとかのリストをもつし
キャラはゲームクラスからほかのゲーム要素と連絡を取る
どうやっても相互参照の形になる
23デフォルトの名無しさん:2011/05/22(日) 16:54:44.58
相互参照に親と子が明確にあれば問題は起こらないだろってことなんだけど。
相互参照がまったくないってどういう状況だよ。
24デフォルトの名無しさん:2011/05/22(日) 17:04:18.83
別に相互参照でいいじゃん
25デフォルトの名無しさん:2011/05/22(日) 17:58:43.83
ハンドルを使う
26デフォルトの名無しさん:2011/05/22(日) 17:59:59.19
>>22
> キャラはゲームクラスからほかのゲーム要素と連絡を取る

そのキャラのクラスは、ゲームクラスが抱える
他の全てのゲーム要素にアクセスする手段があるわけ?
つまり、ゲームクラスを介せばキャラクラスは他クラスにアクセスし放題?

そうであれば、キャラクラスにとって
他のクラスはグローバルであることとほとんど変わらず、
相互参照が複雑に絡む要因の一つになってると思う

そうではなく、アクセス制限を掛けられる何らかの手段があるのなら、
その制限を可能な限りきつくすることで、
相互参照の見通しを少しでもスッキリさせられる
27デフォルトの名無しさん:2011/05/22(日) 20:36:29.05
相互参照せずともイベントとしてメッセージなげて拾えば処理はできる
が、正しい設計を考えるより結んじゃったほうが早い、
という状況は結構ある
仕事でやるならTPOの問題
趣味でやるなら好きにしるww
28デフォルトの名無しさん:2011/05/22(日) 20:58:12.38
イベントとしてメッセージ投げるってコード上だとどう表現すんの?
29デフォルトの名無しさん:2011/05/22(日) 21:08:53.38
struct MESSAGE { いろいろ; };
みたいなメッセージ情報構造体を作っておいて
void ReceiveMessage(MESSAGE Message);
みたいなメッセージ受信用のメソッド作っておくとかでいいんじゃない?
30デフォルトの名無しさん:2011/05/22(日) 21:12:28.44
struct msg{
  int sender;
  int receiver;
  int info;
  void* extra;
};

void send(msg m)
{
  getEntity(m.receiver)->handle(m);
}

てきなやつじゃね
31デフォルトの名無しさん:2011/05/22(日) 21:25:11.46
C++(GCもってない言語)でイベントドリブンてグローバル撒き散らしじゃない?
32デフォルトの名無しさん:2011/05/22(日) 21:42:01.13
33デフォルトの名無しさん:2011/05/22(日) 21:48:06.24
わからないのか・・・
34デフォルトの名無しさん:2011/05/22(日) 21:50:27.06
>>33
お前がもう一度いろいろよく調べる必要がある
35デフォルトの名無しさん:2011/05/22(日) 21:51:14.20
グローバルまき散らすって何故?
36デフォルトの名無しさん:2011/05/22(日) 21:55:55.53
メッセージの構造体にはreceiverいれるとコードいくぶん簡潔になるけど
たとえばひとつのメッセージを複数のオブジェクトがフックする場合なんかは
ないほうがいいかもね
receiver入れるってことは投げる側が受け取り側が誰かを知ってないといけないから
ある意味疎の相互参照とも言えるw
37 [―{}@{}@{}-] デフォルトの名無しさん:2011/05/22(日) 22:01:51.50
アセンブラなんかどこからでもアドレス指定してデータにアクセスできたんだろ
それでも面白いゲームできてるわけで
オブジェクト指向とかただのウンコじゃないの
38デフォルトの名無しさん:2011/05/22(日) 22:04:43.06
全くその通り、あなたにとってはただのウンコです
39デフォルトの名無しさん:2011/05/22(日) 22:09:37.41
>>37
串刺し
40デフォルトの名無しさん:2011/05/22(日) 22:21:34.93
イベントをサポートする言語を使った事無い人が多いのかね
41デフォルトの名無しさん:2011/05/22(日) 22:32:26.47
>>40
まずごめんなさいしろよクズ
42デフォルトの名無しさん:2011/05/22(日) 22:34:27.29
SendMessageがあるジャマイカ
つってもラッパー作るのしんどいが
43デフォルトの名無しさん:2011/05/22(日) 22:37:41.22
>>41
どんな感じに謝ればいいですか?
44デフォルトの名無しさん:2011/05/22(日) 22:42:07.28
イベントドリブンて結局コールバック関数じゃん。
C++だとメンバ関数ポインタあるけどオブジェクトのポインタが必要になるじゃん。
オブジェクトのポインタ渡すってことはコールバック登録してる間は破棄できないじゃん。
ってことがわからないのかな。
そもそもオブジェクトをイベントマネージャーに渡してるかどうかもあやしい。
45デフォルトの名無しさん:2011/05/22(日) 22:46:29.44
senderのポインタを渡すかどうかは作り方次第でしょ
必須ってわけでもない
46デフォルトの名無しさん:2011/05/22(日) 22:50:47.76
お前らがまともにプログラムを作れているか心配になってきた
47デフォルトの名無しさん:2011/05/22(日) 22:54:56.50
全く作れていないから心配ご無用
48デフォルトの名無しさん:2011/05/22(日) 22:59:16.88
数当てゲームなら作れるよ!
49デフォルトの名無しさん:2011/05/22(日) 23:03:11.10
>>46
大丈夫。6社ほど見てきてるけどこんなレベル。
50デフォルトの名無しさん:2011/05/22(日) 23:12:18.23
類友ですね。分かります
51デフォルトの名無しさん:2011/05/22(日) 23:13:07.09
>46
ソースコードの良し悪しはわからないけど、成果物はできてるよ。
52デフォルトの名無しさん:2011/05/22(日) 23:51:43.33
しかし2ちゃんもそうだが
なんでゲームプログラマーのコミュニティって盛り上がらないんだろうね
53デフォルトの名無しさん:2011/05/23(月) 00:03:49.69
メッセージ通信であれこれするのはまあべつにいいとしても
このハンドルのキャラの位置をくれとか、この範囲に落ちてるアイテムのハンドルのリストくれとか
そこまでメッセージでやり取りするのって過剰だよね
そう考えると結局のところほぼ直接的にアクセスする手段は持たせるわけじゃん
const_chara_proxy p= entity_registry.get_chara_proxy(handle); if(p) p.get_pos(x, y); ...;
とか
FOREACH(const_item_handle h, entity_registry.get_item_handle_list(is_inside(l,t,r,b))){...}
みたいな感じで
だったら最初から相互参照にしてメッセージ送信で操作しないで直接メソッドコールすればおkじゃん
chara_proxy p=entity_registry.get_chara_proxy(handle); if(p) p.move(dx, dy);
これで十分なのに
entity_registry.send_msg(to_handle, msg_move, move_param(dx, dy).address());
わざわざこう書く理由がわからない
54デフォルトの名無しさん:2011/05/23(月) 00:11:21.07
がんば・・・
55デフォルトの名無しさん:2011/05/23(月) 00:23:29.61
がんばれ・・・
56デフォルトの名無しさん:2011/05/23(月) 00:33:42.81
そんなことよりもタスクの同期の取り方のほうが僕は知りたい
57デフォルトの名無しさん:2011/05/23(月) 00:34:52.38
タスクってプロセスのこと?タスクシステムのこと?
58デフォルトの名無しさん:2011/05/23(月) 00:41:14.08
もしかして朝鮮人が日本のゲーム開発のレベルを下げようとして荒らしてるのかも。。。
59デフォルトの名無しさん:2011/05/23(月) 00:42:25.50
ゲームプログラムでプロセス起動するのってサーバープログラムくらいな気が
60デフォルトの名無しさん:2011/05/23(月) 01:02:15.71
朝鮮人ってこのスレのレベルより低いのか
61デフォルトの名無しさん:2011/05/23(月) 05:11:01.22
朝鮮といえばMMOだが他に朝鮮製ゲーってないのかね
やつらの実力は実際どの程度のものなんだろ
62デフォルトの名無しさん:2011/05/23(月) 07:15:59.25
>>61
囲碁ゲーム
63デフォルトの名無しさん:2011/05/23(月) 09:24:43.83
朝鮮ゲーは企画がつまらない
64デフォルトの名無しさん:2011/05/23(月) 10:00:53.44
まるで日本のは面白いみたいだな
しかもプログラム関係無いし
65デフォルトの名無しさん:2011/05/23(月) 11:01:57.16
これが東方か
66デフォルトの名無しさん:2011/05/23(月) 11:02:35.79
半島製MMOは面白いとは思うけどバグ多すぎ
どんなプログラム組んでるんだろうな
67デフォルトの名無しさん:2011/05/23(月) 11:23:13.18
かなしいが朝鮮、中国人のほうがレベルが高い
68デフォルトの名無しさん:2011/05/23(月) 15:19:49.08
ほ半島製ッモルッピグ!
69uy:2011/05/23(月) 15:44:10.36
>>66
俺もそれ気になる
何故ここでバグるっていう場所にバグが残ってる
でもそのバグがゲーム性の一部になったりもしてんだよなぁ
もし狙ってバグ( ゲーム進行には問題ないレベルの )入れてるならたいした発想と技術力
70デフォルトの名無しさん:2011/05/23(月) 16:42:04.42
俺のやってるMMOは1年以上直らなかったバグがある日突然仕様化されたw
直せなくて諦めたとしか思えないw
71デフォルトの名無しさん:2011/05/23(月) 20:54:06.25
偶然に頼らないと面白い要素作れない半島人www
72デフォルトの名無しさん:2011/05/23(月) 21:04:57.70
つーか版権無視でいろいろなキャラやロゴが出てくるよね
日本版だと削除されているけど
73デフォルトの名無しさん:2011/05/23(月) 23:14:33.90
コードも丸パクリしまくりで自分たちでメンテできなくなってるんだろうな。だからバグが潰せない
74デフォルトの名無しさん:2011/05/23(月) 23:16:31.92
すぐ逃げるっていうか、他にいっちゃってPGが残らないという話は聞いた
ソースは俺
75uy:2011/05/24(火) 00:27:02.85
>>73
 や め て そ れ

ほんとに恥ずかしい


>>74
だろうね
MMOなんて何年も続いたら初期のPGなんて残ってない
76デフォルトの名無しさん:2011/05/24(火) 00:28:24.54
何だかんだいってグローバル使った方がスマートだよね
77デフォルトの名無しさん:2011/05/24(火) 07:00:16.46
>69
格闘ゲームの『キャンセル』も初めはバグだったらしいね
78デフォルトの名無しさん:2011/05/24(火) 08:12:22.50
アニメーションデータの読み込みってみんな泥臭いコード書いているのだろうか
不安になってきたよ
79デフォルトの名無しさん:2011/05/24(火) 08:36:43.89
何だかんだいってgoto使った方がスマートだよね
80デフォルトの名無しさん:2011/05/24(火) 12:41:29.07
好きなところで好きなだけ使えばいい

ただし、くれぐれも職を失わないように
81デフォルトの名無しさん:2011/05/24(火) 17:38:49.68
グローバル(シングルトン)を使わないとなると、共有オブジェクトはすべて引数でリレーするか、あるいは生成時に親が子にアドレスを伝える必要がある
オブジェクトが一つならまだしも複数あるとこれはめんどくさい
しかもメモリ効率も実行効率も悪い
さらに言うと共有オブジェクトが必要ないオブジェクトも子ツリーのどこで使うようになるかわからないからリレーに参加しないといけないから無駄
シングルトンの方があらゆる面で優れている
82デフォルトの名無しさん:2011/05/24(火) 17:38:58.51
>>78
それは仕組みをよく理解してないからじゃないか?
83デフォルトの名無しさん:2011/05/24(火) 17:50:28.37
>>81
ちゃんと引数で渡したらいいんと違う?

//A
un.unko(&chinko);

//B
un.unko();

こうやってAみたいにちゃんと引数で渡してあることで
「unkoの中でchinkoの中身を書き換えていますよ!」
って読み手にアピールすることは君が考えてるよりはるかに大事なことだよ

コーディングルールを「グローバル変数やスタティック変数を使わない」ってあれば
unkoの中の値の書き換えを気にするのは引数のchinkoとメンバ変数、ローカル変数だけになる
こうやってアクセスを限定することで影響範囲を小さくできるよね?
それに対してグローバル変数使いまくりのBはすべての値に気を配らないといけない
この差はでかい

タスクシステム的組方をするとBみたいになっちゃうけどゲーム会社ごとに文化があるね
タスクシステム的組方をするところとちゃんと引数で値渡して組むところじゃ
同じ規模のもん作ってもバグの数が10倍は違うw(マジで)
84 [―{}@{}@{}-] デフォルトの名無しさん:2011/05/24(火) 18:30:20.81
un.unko(&chinko);
の先で何階層もchinkoが引数で渡されてたら
引数で渡した関数の中でchinkoが書き換えられてないか全部確認しないといけなくなるよね。
だったらunko関数の中のの何階層か先のchinkoを書き換えてる関数の中で
シングルトンでゲットすればその関数しか確認しなくていいよね
アセンブラでやってたころなんかアドレス指定でどこからでもデータ書き換えられたわけだけど面白いゲームできてるよね
85デフォルトの名無しさん:2011/05/24(火) 18:42:52.54
>>84
いまってそこ問題じゃないでしょ?
話の主旨ちゃんと理解してる?

問題はun.unkoが実行された前後でどの変数の値が変わっているかBではわからないってことだよね?
un.unkoの引数にchinkoが渡ってるんだからchinkoが変更されるかもしれないことはAの場合はもうわかるからいいよね?
問題にならないよね?
でもBではなにもわからないよね?
chinkoが変更されるのかも別の変数のmankoが変更されるのかもしれないよね?
ぶっちゃけグローバルにした変数すべての変更を監視しないとダメだよね?

問題の切り分けできてる?
86デフォルトの名無しさん:2011/05/24(火) 19:11:50.82
rand関数とかもいちいち引数で渡すの?
徹底すると結構面倒そうだけど
87デフォルトの名無しさん:2011/05/24(火) 19:12:43.96
え?なんで勝手に話の趣旨変えてんの?
88デフォルトの名無しさん:2011/05/24(火) 19:25:43.70
串ささってるのはスルーでいんじゃね
89デフォルトの名無しさん:2011/05/24(火) 20:07:51.50
サブシステムが増えていくたびに
un.unko(&chinko,&manko,&kan,&edano,&simizu,....)
って増えていって美しくないな
引数で書かずにシングルトンを使えば
仕様変更or追加で新しいサブシステムを追加したときにそれを使う側のコードのみ変更すればいいということに気がつく
引数で渡していくルールにするとそのシステムを使用していないクラスも含めてすべてのコードに修正を加えなければならない
これは大変な作業量になる
変数が書き換わるかどうかが分かって嬉しいねなんていうちっぽけな利点では覆すことはできない
最初っから常に変化しうると考えてコードを書けば事足りるしそれでなにも難しいことはない
90デフォルトの名無しさん:2011/05/24(火) 20:16:18.11
>>89
つ構造体
91デフォルトの名無しさん:2011/05/24(火) 20:16:34.33
確かにそれはめんどくさいね
92デフォルトの名無しさん:2011/05/24(火) 20:21:32.86
やっぱり引数で渡さない理由ってのが「面倒臭い」ってだけなんだよね
しかも、面倒臭そう・・・ってただの思い込みだけだし
実際やったことないでしょ?
技術者として死んでる

俺からしたら関数通過するごとにすべてのグローバル変数に気を配るほうがありえんわ
93デフォルトの名無しさん:2011/05/24(火) 20:22:58.40
>>90
struct share { share_a a; share_b b ; 〜〜〜 } ;
void aaa::bbb( hoge * p);
こうしろというのかい?
これじゃあbbbの中でどれが変更したのかが明瞭っていう引数派唯一の雀の涙ほどの利点すら消えてなくなるね
構造体で一括りにして渡していたら一体どのシステムが使われて変更されたのかまるでわからないまったくもって残念なアイデアだよ
94デフォルトの名無しさん:2011/05/24(火) 20:24:26.19
>>93
もはや、全然関係ないこと口走りはじめたな
デバッガ使ったことないみたいなセリフはいてるけど頭大丈夫か?
95デフォルトの名無しさん:2011/05/24(火) 20:28:49.61
>>92
お前が「思い込みだし」って思い込んでるよ
めんどくさそうなんて言ってるのどこからか迷い込んだアイちゃんの1レスだけだろ
96デフォルトの名無しさん:2011/05/24(火) 20:32:16.28
>>94
今はデバッガの話こそ関係ないだろう
コーディングルールの良し悪しを議論している段階だ
コンパイル前の話しをしてんだよ
97デフォルトの名無しさん:2011/05/24(火) 20:35:47.81
コンパイル前の話って、あんまり意味ないような
98デフォルトの名無しさん:2011/05/24(火) 20:40:24.72
コンパイル前の議論が意味ないとか笑わせてくれる
実行時のデバッグより百万倍大事だろうが
99デフォルトの名無しさん:2011/05/24(火) 20:42:19.17
>>95
やったことあるの?ないの?
早くいってみろよ
100デフォルトの名無しさん:2011/05/24(火) 20:42:49.61
デバッグできんのに書き方考えても
101デフォルトの名無しさん:2011/05/24(火) 20:58:14.52
でもデバッグレベルの話なら、
引数だろうがグローバルだろうが変更されたことは分かるよね
102デフォルトの名無しさん:2011/05/24(火) 21:03:42.54
デバッグしやすい書き方とかなら、わかるが
コーディングルールってのが素人っぽくって
103デフォルトの名無しさん:2011/05/24(火) 21:08:36.67
コーディングルールで徹底しても、API周りでリエントラントにならなくて
切なくなる気がする
104デフォルトの名無しさん:2011/05/24(火) 21:12:48.69
グローバルにしたいものってそんなに多いか?
105デフォルトの名無しさん:2011/05/24(火) 21:16:10.27
絶対ないとは言い切れるだけの根拠があるといいきれるだけの
自信がないのかもしれないきがする
106デフォルトの名無しさん:2011/05/24(火) 21:51:36.87
Haskell使っとけばこんな議論しなくて済むのに
107デフォルトの名無しさん:2011/05/24(火) 22:18:26.07
Haskellでゲームつくってから言え
108デフォルトの名無しさん:2011/05/24(火) 22:40:10.38
haskellはないわ
109デフォルトの名無しさん:2011/05/24(火) 22:53:17.26
ゲームプログラム組む連中のレベルが低くてやべぇwww
引数で渡すのが面倒だからグローバル変数w
110デフォルトの名無しさん:2011/05/24(火) 23:02:19.70
>>109
グローバルはダメっていってシングルトン乱れ咲きっていうのはよくある風景
111デフォルトの名無しさん:2011/05/24(火) 23:14:36.58
シングルトンだからダメってのは思考停止の老害に多い
何事も柔軟に考える姿勢は大切だよ
112デフォルトの名無しさん:2011/05/24(火) 23:21:51.19
>>111
むしろ、シングルトンだったらグローバル変数のがまだましだわ
それに>>83の問題をシングルトンで回避した上で言ってるの?
結局、引数嫌だからグローバル変数の思考は変わらないんでしょ?
113デフォルトの名無しさん:2011/05/24(火) 23:26:28.80
>>111
なにも知らずかんがえず使ってるってことはわかった
114デフォルトの名無しさん:2011/05/25(水) 00:35:23.37
では次は例外の議題に移りましょう
115デフォルトの名無しさん:2011/05/25(水) 01:21:13.64
ゲームプログラムなんてオブジェクト間の依存が多いから、まず >>89 の状態になっていく
これを避けるため、foo1, foo2, foo3 を構造体 fooset にまとめたとする

void hoge1() { /* fooset.foo1 を使う */ hoge2(); }
void hoge2() { /* fooset.foo2 を使う */ hoge3(); }
void hoge3() { /* fooset.foo3 を使う */ hoge4(); }

hoge1 から順に fooset を引数でリレーした場合、hoge1, hoge2, hoge3 は全て fooset を知ってないといけない
全てが全てを知っておかないといけなくなって、1つ変更するだけで全コンパイルだ

foo1, foo2, foo3 をそれぞれグローバルにしておくと、
hoge1, hoge2, hoge3 はそれぞれ foo1, foo2, foo3 を知っておくだけでいい。こんな感じで俺はグローバルに落ち着いた。
この依存関係やコンパイル速度の問題、引数で渡す人は解決できる?
引数で渡す人って、メモリマネージャやら Direct3D デバイスやらパレットテーブルやら全部引数で渡すの?
それとも1つ変更するだけで全コンパイル?
116デフォルトの名無しさん:2011/05/25(水) 01:34:15.67
p(*^-^*)q がんばっ♪
117デフォルトの名無しさん:2011/05/25(水) 02:02:11.32
>>115
前方宣言とかインターフェースとか使えよ。
118デフォルトの名無しさん:2011/05/25(水) 02:04:15.77
ゲームプログラムの大まかな構造だけでも知りたいわ。
何がなんだかさっぱりだ。
119デフォルトの名無しさん:2011/05/25(水) 02:15:38.87
適当に本でも買えば?
120デフォルトの名無しさん:2011/05/25(水) 02:32:40.86
シントッモグルトルンピグ!
121デフォルトの名無しさん:2011/05/25(水) 02:53:17.01
シングルトンはインスタンスが一つしか存在しない事を保証するもの。
だからゲームなら「画面管理クラス」とかに適用できる(というか沢山存在しても困る)。
グローバル:普通にユーザが別のインスタンスを生成できるからダメ。
引数で参照渡し:普通にユーザが別のインスタンスを生成したり参照渡ししたりできるからダメ。
俺々ゲームライブラリ作っててこういう結論に達した。
上の議論とはちと主旨が違う気もするが、シングルトンは変に拒否反応すべきもんじゃない。
122デフォルトの名無しさん:2011/05/25(水) 02:57:01.09
C++がよくわからん。
class Teki
{
private:
int HP;
public:
setHitPoint(int n){HP = n;}
int getHitPoint(){return HP;}
123デフォルトの名無しさん:2011/05/25(水) 02:57:52.88
これってint HP自体をpublicにしちゃ駄目なの?
124デフォルトの名無しさん:2011/05/25(水) 03:00:11.84
>>121
2つ存在して困るってのは大抵「今作ってる」アプリケーションの都合であって
クラスにねじ込むもんじゃない。

「画面管理クラス」が画面ひとつに対応するとして、同じクラスを使って
2画面3画面に画面分割されたアプリケーションや、実際に画面が2つある環境で
動くアプリケーションを構築することだって考えられるだろう。

グローバルアクセスを欲しいがための言い訳でしかないよ。
素直にグローバル変数使ってるほうがクラスに混ぜ込んでないぶんまだマシ。
125デフォルトの名無しさん:2011/05/25(水) 03:05:52.24
126デフォルトの名無しさん:2011/05/25(水) 03:17:59.71
シングルトン病の患者は高い確立でSomethingManager病の
患者でもあるという相関が見られるようである。
また、ゲームプログラマに発症例が多く見られるようでもある。
いったい出所はどこなのか?
127デフォルトの名無しさん:2011/05/25(水) 03:20:15.48
やべ俺罹患してるかもw
治すにはどうしたらいいですかw
128デフォルトの名無しさん:2011/05/25(水) 03:38:12.57
>>124
案の定多画面のこと突っ込まれてしまった。例えに突っ込まれるとどうしようもない。
でも自分のライブラリでは画面管理は一つの実体がするものと考えてるから
2つ以上必要であれば、シングルトンは使わない。
重要なのは、実体が一つしか存在してはいけない時、シングルトンを使うべきということ。
でないと上でいった通りの不都合が必ず生じる。

>>125
単なるグローバル変数と一緒なわけない。
それだと、ユーザが勝手にローカル領域で
{
Foo foo;
foo.bar(); //グローバルでなくローカルのfooが参照される
}
とかできてしまうからシングルトンを適用した。と言ったつもり。
129デフォルトの名無しさん:2011/05/25(水) 03:53:19.20
>>128
だからさ、「2つ以上必要」っていうのはアプリケーションレベルでしか判断できないだろ?
それを下位のライブラリやさらに下位のクラスなんかで決め付けちゃうのがおかしいんだよ。

あとな、インスタンス作られて困るようなクラスなら、なんのためにヘッダで宣言するの?
最初っからクラスなんて置かずにただの foo_bar() だけ提供しとけばいいんじゃないの?

過去ログにまったく同じ流れがあったんで貼っとく。
http://logsoku.com/thread/hibari.2ch.net/tech/1281851738/732-
130デフォルトの名無しさん:2011/05/25(水) 03:57:29.13
こんな真夜中とも朝ともつかない時間にいがみ合わずともよかろうw
みんな仕事中にチラチラみて書きこんでるんでしょう?
変にストレス上げるなよw
131デフォルトの名無しさん:2011/05/25(水) 04:06:34.94
132デフォルトの名無しさん:2011/05/25(水) 06:41:01.01
ヘッダファイルに書く場合、privateだからといって完全に外部から隔離されてるわけじゃないからなあ。
本当に隠したいなら別の手段を用意したいところ。

……と思ってるんだけど、あんまり周りが同意してくれない(´・ω・`)
133デフォルトの名無しさん:2011/05/25(水) 06:54:11.33
デザパタ(笑)
134デフォルトの名無しさん:2011/05/25(水) 07:29:04.94
>>133にもそういう時代あったろう?
135デフォルトの名無しさん:2011/05/25(水) 08:06:07.57
定石みたいなのは自然にやるもんだろうに
136デフォルトの名無しさん:2011/05/25(水) 08:21:34.10
あるていど意識して定形にしないと、微妙におかしな設計になることがよくある
137デフォルトの名無しさん:2011/05/25(水) 08:47:00.61
データの局所化できないけど
偉いひともシングルトン使ってるから問題ないだろ!
138デフォルトの名無しさん:2011/05/25(水) 09:13:36.74
引数派はアロケータも引数リレーすんの?
普通はグローバルアクセスだろ
139デフォルトの名無しさん:2011/05/25(水) 09:17:44.99
グローバルにしていいのは、
・シングルトン
・その変数の任意の状態遷移がプログラムにおいて許される
(変数の状態を把握する必要が無い)
の両方を満たすとき。
140デフォルトの名無しさん:2011/05/25(水) 09:26:47.70
シングルトンは利用されてることが調べにくいし
性質的にはスタティック変数だから副作用をもつ。
このあたりを意識したシングルトン利用のコードを見たことない。
141デフォルトの名無しさん:2011/05/25(水) 09:33:12.01
包丁は人を殺せるし人を殺す意思がなくても失敗して指をきるかもしれないから禁止するべき
シングルトン恐怖症の連中の主張は例えるならこれね
でも実際には包丁をどう使えば危ないかなんてのは料理少しすればわかるから事故の確率など現実的に皆無になる
要するにこの包丁の例えのようにシングルトンを拒否するということは正しく副作用を認識していないだけなんだよ
自分の解らないものは恐いからさわりたくない
無知から来る恐怖感でシングルトンを不当に否定する
正しい知識をもった人ならシングルトンを使いこなせる
そうでない無能なら事故を起こすから頑なに拒否の姿勢をとる
否定派はシングルトンを否定する前に自分が無能であることをよく認識して猛省せよ
142デフォルトの名無しさん:2011/05/25(水) 09:44:26.54
こいつ時代が時代ならgotoでも同じこと言ってるな
143デフォルトの名無しさん:2011/05/25(水) 09:48:04.02
危険の深刻さの問題
包丁なのか原発なのか通り魔なのか
144デフォルトの名無しさん:2011/05/25(水) 09:50:50.17
>>140
疑似乱数ルーチン
145デフォルトの名無しさん:2011/05/25(水) 09:51:43.49
チームの話し合いで決まった方を使う
宗教論争にこれ以外の正解なんてあるのか?
146デフォルトの名無しさん:2011/05/25(水) 09:52:45.09
チームの話し合い…… 収拾がつきません。
147デフォルトの名無しさん:2011/05/25(水) 09:54:01.41
んなもん多数決で即終了じゃん。議論をする事自体が間違いな議題ってどうしても存在しちゃうよ。そういう時は数の暴力で決める。これだね
148デフォルトの名無しさん:2011/05/25(水) 09:58:34.74
>>144で?
シードが管理されてないゲームは再現性なくてバグとり困難て初歩だが
149デフォルトの名無しさん:2011/05/25(水) 09:58:37.02
少人数の偶数人なのに無理やり多数決やると、1対1や2対2になって……
150デフォルトの名無しさん:2011/05/25(水) 10:18:56.19
デジドカの現場ならともかく、ゲーム製作って大概の場面で
プログラムの責任を負うのはメインの一人だけだろ

どうもこのくだらない議論を見てると画面()しか作ったことの無いような
真性デジドカが紛れ込んでるように見えて仕方ない
151デフォルトの名無しさん:2011/05/25(水) 10:26:48.53
>>148
は?シードは管理するだろ。あほじゃね?
152デフォルトの名無しさん:2011/05/25(水) 10:27:25.52
責任負うためにいろいろ考えてるんじゃないの?
153デフォルトの名無しさん:2011/05/25(水) 10:30:35.68
シードで痛い目あってもシングルトンは問題ないと
154デフォルトの名無しさん:2011/05/25(水) 10:31:57.59
シードで痛い目みるのはシングルトンだからじゃなくて
お前がアホだから。
155デフォルトの名無しさん:2011/05/25(水) 10:33:41.55
つーか、大抵はシングルトンなんて使わないほうがいいが
疑似乱数は数少ない例外だろ
156デフォルトの名無しさん:2011/05/25(水) 10:42:38.19
乱数はモノステートでおけ
157デフォルトの名無しさん:2011/05/25(水) 10:45:27.73
お前らまともにゲーム作ったことないくせにそういうことに関してはよく議論するよな
158デフォルトの名無しさん:2011/05/25(水) 10:46:23.18
>>149
最後はジャンケン
スマブラでも可
159デフォルトの名無しさん:2011/05/25(水) 10:48:12.19
シングルトンは駄目でモノステートはおkってよくわからんな
160デフォルトの名無しさん:2011/05/25(水) 10:49:21.37
>>157
ブロック崩し作ったわボケカス
161デフォルトの名無しさん:2011/05/25(水) 11:11:07.24
シングルトン積極派ってことはミューテックス使いまくりなの?
162デフォルトの名無しさん:2011/05/25(水) 11:19:52.19
使う必要がなければ使わないよ
163デフォルトの名無しさん:2011/05/25(水) 11:24:19.06
まさかスレッド使わないつもり?
164デフォルトの名無しさん:2011/05/25(水) 11:27:07.44
シングルトンのほうだろwww
165デフォルトの名無しさん:2011/05/25(水) 11:30:17.91
ミューテックス使わないって全スレッドにデータのコピー用意すんの?
166デフォルトの名無しさん:2011/05/25(水) 11:32:02.87
そうする場合もあるし、そうしないでmutex使う場合もある
167デフォルトの名無しさん:2011/05/25(水) 11:44:36.29
スレッド間で共有するなら同期処理するし
同一スレッド内でしか共有しないなら同期処理はしない
これぐらい当たり前の話だと思うんだけど…
シングルトンならただちに同期処理がーって考えてる人って
設計段階で何と何が同期するとか考えないで作るの?
168デフォルトの名無しさん:2011/05/25(水) 11:48:22.46
全ての処理をシングルトンで実装してると思われてるんじゃね?
169デフォルトの名無しさん:2011/05/25(水) 11:51:11.10
コード全部理解してもらうつもり?
170デフォルトの名無しさん:2011/05/25(水) 12:25:59.39
オーバーレイやDLLで挙動が違うのもあるな
171デフォルトの名無しさん:2011/05/25(水) 12:26:29.03
昨日から議論が加熱してる「シングルトン」って一体何?
172デフォルトの名無しさん:2011/05/25(水) 12:28:42.42
173デフォルトの名無しさん:2011/05/25(水) 14:08:15.19
あれだよ、コーンスープとかにはいってるやつ
174デフォルトの名無しさん:2011/05/25(水) 14:17:23.06
探検隊員求む 至難の旅
わずかな報酬 極寒
暗黒の長い月日
絶えざる危険
生還の保証無し
成功の暁には名誉と賞賛を得る
175デフォルトの名無しさん:2011/05/25(水) 15:00:40.31
>>126
ゲームPGは、
名前がどうあろうと1つのクラスに大量に詰め込む人が多い罠
176デフォルトの名無しさん:2011/05/25(水) 15:07:03.82
ゲームクラスが全てを有する。
別に間違った設計とは思えない。
177デフォルトの名無しさん:2011/05/25(水) 15:20:52.65
一つのクラスに全てを詰め込むくらいなら最初からクラス作らないほうが
178デフォルトの名無しさん:2011/05/25(水) 15:25:21.91
2、3行で伝わるわけないのにムキになるな
179デフォルトの名無しさん:2011/05/25(水) 15:49:14.76
C++でゲームを作っているのですが、
180デフォルトの名無しさん:2011/05/25(水) 16:17:04.79
結局Cで作っちゃいました
181デフォルトの名無しさん:2011/05/25(水) 16:19:08.43
と見せかけて
182デフォルトの名無しさん:2011/05/25(水) 16:20:44.94
すべて詰め込むていってもそれは最後の段階であって
個々の要素は小さく、独立したものを作るよ
183デフォルトの名無しさん:2011/05/25(水) 16:36:00.64
実はHSP
184デフォルトの名無しさん:2011/05/25(水) 20:15:22.97
Lua使ってる?
185デフォルトの名無しさん:2011/05/25(水) 20:17:02.62
たまに
186デフォルトの名無しさん:2011/05/25(水) 20:47:19.35
ゲーム業界は、シングルな豚は多いぞ。
結婚しろよお前ら。
187 [―{}@{}@{}-] デフォルトの名無しさん:2011/05/25(水) 20:49:13.04
セーブデータはグローバル的だから使用禁止
188デフォルトの名無しさん:2011/05/25(水) 21:00:57.15
>>187
え?
189デフォルトの名無しさん:2011/05/25(水) 21:33:18.50
カプセル化というものを聞いて何となく理屈は分かったんですが、
実際にどうやればいいのかわかりません
例えばキャラクターにx座標を設定し、そのx座標を使うときは
class chara{
  private:
    int x;
  public:
    int show(){
return this->x
    ;}
;};
こんな感じであらゆるパラメータを全てカプセル化したほうがいいんでしょうか?
190デフォルトの名無しさん:2011/05/25(水) 21:35:44.83
それなら getX()constが適切
191デフォルトの名無しさん:2011/05/25(水) 21:42:57.12
>>190
ありがとうございます
がんばります
192デフォルトの名無しさん:2011/05/25(水) 21:43:23.08
>>132
そこまで気にするならIF分離で継承。
193デフォルトの名無しさん:2011/05/25(水) 21:45:45.74
>>189
操作するキャラクタが一つであることが確定してるなら、大域変数として宣言する方がスマート。
カプセル化は不要。
194デフォルトの名無しさん:2011/05/25(水) 21:51:01.98
>>193
おま、、、
195デフォルトの名無しさん:2011/05/25(水) 21:51:05.24
嘘教えるなよw 後で困るぞ。
困ってから直せば良いってのもあるが
196デフォルトの名無しさん:2011/05/25(水) 21:56:39.62
もうちょっとかくと、例えばxがlifeだった場合、
addDamage(num)
getLife()const
setLife(num)
とか、間接的にアクセスすれば、
無敵にしたいときとか、Log吐きたいとか、Effect入れたいときとか、
色々捗るだろ?
197デフォルトの名無しさん:2011/05/25(水) 22:01:04.33
と、シングル豚とか、寒い投稿しちゃったからちょっと参加したけど
またROMに戻る
198デフォルトの名無しさん:2011/05/25(水) 22:11:43.48
シングルトン愛好者ってまだ生存してたんだなぁ
199デフォルトの名無しさん:2011/05/25(水) 22:12:11.99
リアルで会話したくないタイプの人間だな
200デフォルトの名無しさん:2011/05/25(水) 22:25:17.04
お前ら満足に扱えないの? 死ぬの?
そんなのと会話とかこっちから願い下げだよ?
201デフォルトの名無しさん:2011/05/25(水) 23:36:19.86
>>189
int xがpublicだと、後でxをyに変更したくなった時、
chara.xでコードを書いちゃった人たちにたくさん「ごめんなさい」しないといけない。
show()だけをpublicにしておけば、後でこっそりxをyに変えても「ごめんなさい」しないで済む。
202デフォルトの名無しさん:2011/05/25(水) 23:42:09.76
>>195
実際に困った状況に陥らないと、何が問題なのか本人には見えてこない
203デフォルトの名無しさん:2011/05/25(水) 23:49:28.13
いや素直に謝れよ
社会の常識
204デフォルトの名無しさん:2011/05/25(水) 23:58:59.24
>>189
例えばそれに1フレームキャラクターを移動させる処理を追加で
void chara::move(){
// この中でclass内のいろんな変数や関数・定数を呼び出すらしい
// なので、クラスだけで利用すればいい変数とかは全部privateにしておける
}

まぁ、外からアクセス出来る変数や関数を出来るだけ減らせば、
そのクラスを使う人も、クラスの中身を書き換える時も影響は少ないね
っていうのがカプセル化だし
205デフォルトの名無しさん:2011/05/26(木) 00:19:19.49
publicだと、例えば座標に100以下の制限を入れたいとき毎回条件文書く必要がある。

chara.x = 300; //とか = a;とか
if(chara.x > 100) chara.x = 100;

万が一if文を抜いてる所が合ったらそこで制限を越えてxに値が入るかも。
でもprivateにしてsetX(int)でしか更新できないようにすると、

chara.setX(300); //100にするとかsetXで勝手にやる

というように、呼出側はxをいじる度にif文の書き忘れに震える必要がない。
つまり、変数いじるのに一様な制限したいならprivateにした方がよくなくなくない?
206デフォルトの名無しさん:2011/05/26(木) 00:42:48.60
プロパティとかがない言語だと面倒臭過ぎてやってられない
207デフォルトの名無しさん:2011/05/26(木) 06:13:30.63
>>201
周りに通知せずにx座標を返すはずだったものをy座標を返すように変更したら
それこそ土下座が必要になるとおもうのだが。
そもそも例えがあり得なさすぎて不適切。

>>205
そんなことは数値入力の度に処理すべき事ではない。
上限なり下限なりが必要かどうかは局面が決定すること。
遭遇してからそのつど必要な分だけ処理すべきだ。


いいか、お前ら。データが手続きを所有してはならない。
局面がデータと手続きを所有すべきなんだ。
208デフォルトの名無しさん:2011/05/26(木) 07:36:27.24
209デフォルトの名無しさん:2011/05/26(木) 08:10:50.55
>>207
問題ないよ
xがyに変わったことはおろか、今までアクセスしていたのがそもそもxだったのかすら解らないからね
そしてそれがわからなくても全く問題がないのがカプセル化の素晴らしいところ
おじいちゃんには難しいかもしれないけどね
210デフォルトの名無しさん:2011/05/26(木) 08:50:01.58
>>209
名前を変える必要はどこにもないから、名前が変わったらなどという関係無い話を持ち出すのは無意味だし、
アクセス手段の名前を変えるという話であればshow()の名前を勝手に変更する話を持ってこなければおかしい。
211デフォルトの名無しさん:2011/05/26(木) 08:53:21.89
そもそも一度決めた変数名を変えるな。
きちんとExcelで変数一覧を作って管理しろ。
212デフォルトの名無しさん:2011/05/26(木) 09:43:04.12
この業界頭固い老害多すぎて泣けてくるな
213デフォルトの名無しさん:2011/05/26(木) 09:59:01.30
>>211
笑えない笑い話
214デフォルトの名無しさん:2011/05/26(木) 10:02:22.85
老害は若いとき陰で上の批判ばかりしてた
つまり・・・
215デフォルトの名無しさん:2011/05/26(木) 10:54:48.01
>>214
D言語使えばgetter/settterのメリットの大半が無意味だったりするから
C++erは老害ってこと?
216デフォルトの名無しさん:2011/05/26(木) 11:28:47.34
ゲタセタがあるクラスは失敗設計
217uy:2011/05/26(木) 13:41:16.57
おめーらゲームプログラムの話しろよ
218デフォルトの名無しさん:2011/05/26(木) 14:36:13.41
モンハンの何が面白いのかさっぱりわからない
219デフォルトの名無しさん:2011/05/26(木) 14:45:32.03
クラス構造とか全体設計の議論ばっかしてるから
いつまでたってもゲームができないんだよお前らは
220デフォルトの名無しさん:2011/05/26(木) 14:51:14.73
え、先行してるプログラマが後発を混乱させるためのスレじゃなかったの?
221デフォルトの名無しさん:2011/05/26(木) 16:41:48.35
教えても無駄っぽいし・・・
222デフォルトの名無しさん:2011/05/26(木) 16:54:38.82
>>221
教えるほどの技術もってないくせに
223デフォルトの名無しさん:2011/05/26(木) 17:01:38.19
低能に教える技術はもってないな
224デフォルトの名無しさん:2011/05/26(木) 19:56:00.15
>>223
うーん
225デフォルトの名無しさん:2011/05/26(木) 21:11:17.65
>>207
データをセットする時、例外送出「処理」は一緒にされないと困るだろーが。何言ってんだ。
上の例では勝手に100に変えていたが、次のように変更。
setX(int a) throws HogeException
{
 if(a>100) throw new HogeException();
 else x = a;
}
これでもピンと来ないわけ? 整数配列の配列サイズを越えて代入しようとしたときとかどうするわけ?
てか局面てなんだよ。日本語のお遊びしたいんじゃねーよ。
そんなら、偶数を表す数値クラスEvnumをつくり、-1や1を代入したら(しようとしたら)どうするか
>>207ならどういうプログラム書くわけ?
226デフォルトの名無しさん:2011/05/26(木) 21:39:03.58
簡単に煽られすぎ、、、
227デフォルトの名無しさん:2011/05/26(木) 21:39:52.20
何を例外とするかは自由なんだから、無意味な喧嘩はやめろよな
228デフォルトの名無しさん:2011/05/26(木) 22:04:14.40
試しにやってみたらスクリプト楽すぎて堕落しそうだわwww
もうコア部分以外全部スクリプトでいいじゃんこれwwwww
229デフォルトの名無しさん:2011/05/26(木) 22:08:26.89
デバッガが使えない恐怖
230デフォルトの名無しさん:2011/05/26(木) 22:08:40.11
XNAスレ過疎ってるからここで聞いて良い?

Windows Game Library って主にどんな用途で使用するの?
具体例を頼む
231デフォルトの名無しさん:2011/05/26(木) 22:09:30.57
>>229
たとえばどの言語だ?
232デフォルトの名無しさん:2011/05/26(木) 23:14:17.27
>>231
ゲーPG自作スクリプト
IDEにデバッガ機能のないスクリプト言語
233デフォルトの名無しさん:2011/05/27(金) 00:16:28.84
最近煽ろうにも難しい単語が多すぎて煽れない。
シングルトンとかカプセル化とか。
趣味のゲープロ10年やってるけどそんなものに一度も行き当たらなかった。
234デフォルトの名無しさん:2011/05/27(金) 01:20:51.08
意図的に避けようとしても、カプセル化って単語を見ずに10年間プログラマで居続けるのは至難の業だと思うんだが……
235デフォルトの名無しさん:2011/05/27(金) 05:02:20.00
カプセル化なんて構造体の延長にしか過ぎんよ、データをまとめておくという事が本質
OOP厨は微妙に勘違いしてるが
236デフォルトの名無しさん:2011/05/27(金) 05:02:54.13
oops
237デフォルトの名無しさん:2011/05/27(金) 06:23:27.19
そもそもタスクシステムでグローバル変数&シングルトンのヤツは
カプセルに穴空きまくりでまともなPG経験無いに等しいから業務PGになったときに辛いぞ
238デフォルトの名無しさん:2011/05/27(金) 06:30:14.01
>>235
構造体とは対極の概念じゃねーか
239デフォルトの名無しさん:2011/05/27(金) 07:28:59.67
は?
240デフォルトの名無しさん:2011/05/27(金) 07:34:48.93
は?じゃねーよ
241デフォルトの名無しさん:2011/05/27(金) 08:43:29.68
仕事でやるとシングルトン乱用されたコードの保守で泣かされる
242デフォルトの名無しさん:2011/05/27(金) 08:45:13.69
対極というのはOOPから入ったやつの感覚
延長というのはOOP以前からやってる奴の感覚
どちらも正しい
243デフォルトの名無しさん:2011/05/27(金) 09:19:51.41
>>235
本質はまとめることじゃなくて抽象化です。
あんたが完全に間違ってます。
244デフォルトの名無しさん:2011/05/27(金) 09:25:51.38
>>243
構造体をデータ抽象化として捉えられないなら
本質を理解してないとしか言えない
245デフォルトの名無しさん:2011/05/27(金) 09:29:09.66
相手は自分の中にいる仮想敵とは違います
246デフォルトの名無しさん:2011/05/27(金) 09:31:09.75
なんで初心者って教科書の内容は自分しか読んだことないと思ってるんだろうね
247デフォルトの名無しさん:2011/05/27(金) 09:33:20.97
どっちも正しいとしか言えね
C++のstruct構文やclass構文の話と、データ抽象とかの使い方の話をごっちゃにして話すから噛み合わないだけだろ
構造体ですらないが、たしかK&Rの最初static変数でstack作るやつはCにおけるカプセル化の例だったと思う
248デフォルトの名無しさん:2011/05/27(金) 10:06:00.41
カプセル化とは複数のデータを一つのカプセルに入れてまとめるという意味ではなく、
データ(複数でもいいけど)をカプセルに入れて「隠す」という意味で一般的には使われてますの。
まぁ猫も人間も似たようなもんだし、構造体もカプセル化も似たようなもんってことでいいよ。
249デフォルトの名無しさん:2011/05/27(金) 10:11:14.29
みんな分かってて言ってるのにw
250デフォルトの名無しさん:2011/05/27(金) 10:11:31.40
昔から不完全型使って構造体の内部を隠蔽するとか
当たり前だったからね
低能には分からないのかもしれないけど
251デフォルトの名無しさん:2011/05/27(金) 10:20:07.03
FILE構造体のメンバをアクセスするタイプ?
252デフォルトの名無しさん:2011/05/27(金) 10:22:35.63
そうそう。ただFILE構造体はヘッダに定義が書いてあるけど、
あれを.cにだけ書くようにすれば完全にカプセル化できる
253デフォルトの名無しさん:2011/05/27(金) 10:34:45.16
OOP厨のアホっぷりはものすごいな
254デフォルトの名無しさん:2011/05/27(金) 10:40:51.79
昔のUnixではよくあったなFILE構造体の中身にアクセスしてる奴

他のUnixにもってくとコンパイルできない
255デフォルトの名無しさん:2011/05/27(金) 12:04:13.82
相変わらずゲームの話がないな
256デフォルトの名無しさん:2011/05/27(金) 15:02:32.91
やっぱり処理を早くするためにポインタの配列つかうの?
257デフォルトの名無しさん:2011/05/27(金) 18:03:19.61
一流のプロになると速くしたいときはバイナリエディタで書くからポインタなんて使わないよ
258デフォルトの名無しさん:2011/05/27(金) 18:09:05.35
それ典型的な独りよがりPGじゃん
マネージャーには絶対向かないタイプ
259デフォルトの名無しさん:2011/05/27(金) 18:40:50.39
ロードランナーのソースコードを見ながら、、、

これ書いたのは、学生だしな、
趣味のコードだからな

でも、結果的に世界的ヒットしたし。知らない奴、いないし
260デフォルトの名無しさん:2011/05/27(金) 18:46:47.64
あの時代は16進数直読みできて当然だったとか
261デフォルトの名無しさん:2011/05/27(金) 18:48:29.57
いまも
262デフォルトの名無しさん:2011/05/27(金) 19:05:21.03
なんだったか忘れたが、ゼロクリアに XOR A を使ってなかっただとか、
そんな話を読んだな。けっこうヒットした作品だったと思う。
263デフォルトの名無しさん:2011/05/27(金) 19:29:43.79
おっさんなのか、知ったかなのか、それが問題だ
264uy:2011/05/27(金) 20:50:07.44
>>259
そのゴミはだれ?

lambdaでかいてない時点でゴミ


>>247
え、statcで、え、なんだって?w は?www


そのコードって当然、内部のstatic変数のポインタは、別変数からアクセスできるようになってるんだろうな?
ローカルスタティック変数は、小規模プログラムしか使っちゃいけないもんだぞ
K&Rってけっこう高学歴な書籍だと思ったんだけど
そんなゴミみたいなソースコードが載ってるのか
265uy:2011/05/27(金) 20:52:51.87
ちなみにカプセル化は悪くはないんだけど、
完全にどんな方法を使っても、カプセル化された変数にアクセス出来ない設計はゴミだからな
カプセル化された変数には、カプセル化された変数参照のための関数を用意しろよ
266デフォルトの名無しさん:2011/05/27(金) 21:31:21.77
あほか
267デフォルトの名無しさん:2011/05/27(金) 21:48:41.26
stackって言ってんだからpushとpopの二つの関数があるわけで
だったら関数ローカルなstatic変数のわけないだろ
それくらいの想像も出来ないほどアホなら煽るな
268デフォルトの名無しさん:2011/05/27(金) 21:54:12.30
ム板の共有コテ「uy」はアホな発言をするときに使います
知らなかった方はこの機会に是非覚えておいて下さい
269デフォルトの名無しさん:2011/05/27(金) 23:57:09.24
ステートパターンとか使ってる?
270デフォルトの名無しさん:2011/05/28(土) 00:07:25.84
つーかステート以外なにがある
271デフォルトの名無しさん:2011/05/28(土) 00:09:58.20
普通に使ってるとは言えないのかよ。この〜あまのじゃくさんめ!
272uy:2011/05/28(土) 00:49:05.68
>>267
はぁ?wwwwwwwwwwwwwww
カプセル化じゃねーじゃんwwwwwバカスwwwwwwww
もしかして1ファイルまるまる使ってスタックごときを実装ですかあ?w

>>266
はぁ?WWWWWWWW
>カプセル化された変数には、カプセル化された変数参照のための関数を用意
これは基本だぞ
273デフォルトの名無しさん:2011/05/28(土) 01:38:08.13
おまえらレベル高いんだか低いんだかわからんなw
274デフォルトの名無しさん:2011/05/28(土) 01:42:32.92
>>272
お前が書いたこーどみてみたい。
テトリスレベルの作ってどっかにUPしてよ
275デフォルトの名無しさん:2011/05/28(土) 02:00:56.70
ゲッターセッターも普通に使うな。 変数をpublicに晒すとかありえんわ。なんのためのprivateだよw
276デフォルトの名無しさん:2011/05/28(土) 02:02:24.66
興味深い提案ですな
テトリスだと適当にパクってくるかもだし
ゲ製の土日スレのお題でもさくっと作ってもらおうか
277デフォルトの名無しさん:2011/05/28(土) 02:03:34.92
ゲームはコード変更が自由なこと多いから
必要になってから関数化しても間に合う
278デフォルトの名無しさん:2011/05/28(土) 02:06:05.25
一時間テトリス完コピしそう
279uy:2011/05/28(土) 02:39:08.54
ぼくは今、OS と 言語を同時にやっていて気が立ってるから、休憩がてらにテトリスかいてもいいけど

lambdaでかくのか
OOでかくのか
手続きでかくのか選べよ
280デフォルトの名無しさん:2011/05/28(土) 03:15:54.28
尻から…
281uy:2011/05/28(土) 03:22:40.76
あぁ?
282デフォルトの名無しさん:2011/05/28(土) 03:42:15.46
全部だ
283デフォルトの名無しさん:2011/05/28(土) 04:29:11.32
GOFって別にプログラマーじゃないんだろ
284デフォルトの名無しさん:2011/05/28(土) 06:39:35.63
既知小手も相手されなくなったら終わりだな
285デフォルトの名無しさん:2011/05/28(土) 07:54:50.18
>>280
目が出た!
286デフォルトの名無しさん:2011/05/28(土) 08:18:07.80
クラスの再利用性を高めるための工夫について
287デフォルトの名無しさん:2011/05/28(土) 08:58:40.18
>>277
大して手間かわらねーんだから最初からやっとけよ。一人で作ってんのか?
288デフォルトの名無しさん:2011/05/28(土) 09:00:19.82
おまえみたいに自分の好きなとこだけ不便に作るってわけにいかないんでね
289デフォルトの名無しさん:2011/05/28(土) 09:05:01.37
ゲームプログラムのテストについて
290デフォルトの名無しさん:2011/05/28(土) 09:26:22.40
マジ本読む事をお薦めする
291デフォルトの名無しさん:2011/05/28(土) 09:27:19.78
デバッカー(業界用語、笑)捕まえてきてそいつにやらせる
292デフォルトの名無しさん:2011/05/28(土) 09:38:33.01
向上心なさ杉
293デフォルトの名無しさん:2011/05/28(土) 09:47:29.96
debukker
294デフォルトの名無しさん:2011/05/28(土) 10:12:43.30
ゲーム品質の責任者と技術品質の責任者にそれぞれ権限与えるべき
295デフォルトの名無しさん:2011/05/28(土) 10:21:50.62
>286
再利用を前提にして設計するんじゃなく、一本ソフトを完成させてから、
他に流用できそうな処理を抽出して汎用クラスとして設計しなおす。
296デフォルトの名無しさん:2011/05/28(土) 10:30:47.86
奴隷はそんなこと考えずに与えられたことやってろ
297デフォルトの名無しさん:2011/05/28(土) 10:42:21.42
>>295
このくらいの謙虚さが必要だよね
一回で廃棄になるなんたらシステム・マネージャー多すぎ
298デフォルトの名無しさん:2011/05/28(土) 11:28:00.86
後学のためにみんなどういうコード書いてるのか晒して欲しいわ
299デフォルトの名無しさん:2011/05/28(土) 12:21:53.98
300デフォルトの名無しさん:2011/05/28(土) 12:58:15.67
>>299
それ4つも売れてるんだなwワロタwww
301デフォルトの名無しさん:2011/05/28(土) 13:13:58.88
今電車の中で何だろうと思って>>208開いてしまった
302デフォルトの名無しさん:2011/05/28(土) 13:17:10.56
303uy:2011/05/28(土) 14:11:09.24
じゃあ朝飯食べ終わったらlambdaでかき始める
lambdaで書く為の根幹のソースが最初から700行あるからちゃんとそれも読めよ
理解できればな・・・
304デフォルトの名無しさん:2011/05/28(土) 14:15:45.98
今が朝飯とか一体どこに住んでるんだよw
305デフォルトの名無しさん:2011/05/28(土) 14:19:46.73
ヒント:無職
306デフォルトの名無しさん:2011/05/28(土) 15:04:18.19
先生lambdaってなんですか
307デフォルトの名無しさん:2011/05/28(土) 15:13:38.32
インドじゃないの?
インドって意外とIT盛んだし。
308デフォルトの名無しさん:2011/05/28(土) 15:27:06.59
時差的にもうちょっと西かな
309デフォルトの名無しさん:2011/05/28(土) 16:17:12.38
>>303
今は説明は要らない、書き終わってアップしたら報告だけしてくれ

無駄話しないでコードを書くことだけに集中しろ
310ゲームプログラマー祐司:2011/05/28(土) 16:53:44.16
祐司は25歳の現役ゲームプログラマー。
腕前はなかなかのもので、年収も10億円を超えていた。
ある日、祐司が道を歩いていると、突然尿意を催した。
ふと前を見るとそこには閉店直前のデパート。
祐司は迷わず駆け込み、トイレへと走った。
トイレのノブを回した瞬間祐司は妙な恐怖を感じたが、襲いかかる尿意に追い立てられ、飛び込んで用を足した。
ドアの閉まる音が無人のトイレに不気味に響く。
祐司が手を洗ってトイレを出ようとしたとき、最初に感じたえもいわれぬ恐怖が具体的な形となって目の前に現れた。
祐司はこのとき自分がトイレに永久に閉じ込められたことを悟った。
冷たい汗が頬を背中を伝い、あまりの恐怖と絶望に呆然と立ち尽くす。
祐司が見たもの・・・それはトイレのドアノブにべっとりと塗られた大量のウンコだったのだ。

TO BE CONTINUED→
危うしゲームプログラマー祐司! どうするゲームプログラマー祐司!
311デフォルトの名無しさん:2011/05/28(土) 16:55:26.98
イラクとかその辺りじゃない?
312デフォルトの名無しさん:2011/05/28(土) 17:05:36.03
引っ越してなければ埼玉のはず。
313デフォルトの名無しさん:2011/05/28(土) 17:06:30.43
そもそもチームで開発してるのか個人で開発してるのか、ゲームの規模が大きいか小さいかにもよるしな。効率とかもそれで全然変わってくるから、一概にどれがいいとか言えない。
これがベストだ!って大きい声で言える奴はより良いコードを探求しないからダメな奴が多い。そして老害になっていく。
314デフォルトの名無しさん:2011/05/28(土) 17:21:40.36
前提条件を決めて話をすればいいだけじゃん
315デフォルトの名無しさん:2011/05/28(土) 17:23:36.35
埼玉は日本との時差はそんなにないはず
316デフォルトの名無しさん:2011/05/28(土) 17:57:52.01
信じない
317uy:2011/05/28(土) 19:45:17.98
http://www.geocities.jp/c_zelos/soto/te3.zip

読めるといいですね

つうかテトリス程度だと何で書いても同じ、
もう少しシーン数の多いゲームじゃないとつまらなかった
大きく分けて、3つの概念がある
1 基底クラス( 全てのノードはこれで生成する )
 似たような関数いっぱいあるけどあれは状況に応じて使い分けるだけ

2 lambdaライブラリ( よく使うと思われる関数の雛形 )
 アルゴリズムの抽象化を考えたことのない子には一生、縁のないもの、今回は殆ど使ってない

3 テンプレート ( よく使うと思われる処理の雛形 )
 これも。アルゴリズムの抽象化を考えたことのない子には一生、縁のないもの扱えないもの
 Title画面でやってるように
 やろうと思えばおおよそのことはnode_task_templateへの引数指定で作れる



 こ れ す ら 読めない子には二度と話かけんなよ
318デフォルトの名無しさん:2011/05/28(土) 20:14:41.37
C#でアクティブではないウィンドウにキーを送るにはどうしたらいいんでしょうか
319デフォルトの名無しさん:2011/05/28(土) 20:57:53.79
>>317
煽り口調うざいけど、ちゃんと手を動かすなんてえらいな
上の方で俺のレスにK&Rがクソだとか煽ってたみたいだから煽り返そうと思ったけどやめとくわ

ただruby読めね。あとしねEXEは怖くて実行できね
このスレならC++で書いた方が分かる人多いだろ。rubyも読めないんですかーwって煽りたいだけかな
320デフォルトの名無しさん:2011/05/28(土) 21:10:16.79
ruby使った事ないんだけど、一つのファイルに全部突っ込むのがデフォなの?
321デフォルトの名無しさん:2011/05/28(土) 21:20:06.85
コードどこにあんの?
exeとrbとかいうゴミファイルしか無いんだけど
322デフォルトの名無しさん:2011/05/28(土) 21:23:40.37
コメントに知性を
323デフォルトの名無しさん:2011/05/28(土) 21:24:57.62
rbがコードだろjk
どっちにしろlinuxで動かないから俺にはゴミファイルだけど
324デフォルトの名無しさん:2011/05/28(土) 21:37:36.30
辛うじてテトリスっぽいのが動いてるけど
もうちょっと結果が評価できるもの作れよ
325デフォルトの名無しさん:2011/05/28(土) 21:42:06.25
まあコードを晒した人もexeを実行した人も、その勇気は素晴らしい
326デフォルトの名無しさん:2011/05/28(土) 22:07:45.60
うむ、見直した
327デフォルトの名無しさん:2011/05/28(土) 22:09:24.07
ruby...ゴミ扱い((((;゚Д゚)))))))
328uy:2011/05/28(土) 22:15:20.87
>>319
二度と話かけんなよ
昔はC++だった。けどrubyでいけそうだったからrubyに乗り換えた

>>320
デフォじゃねえよ
漏れは、ライブラリのほうをよくいじりながら作るから
ある程度の所までは1ファイルのほうが都合がいい

>>321-325
はぁ?

二度と話かけんなよ



つか、ゲームPGって、C++でメッセージループかいて、ゲーム内容にスクリプト言語じゃないの?
そこにRuby使ってないの? なんなの???
329デフォルトの名無しさん:2011/05/28(土) 22:21:56.53
いい余興乙
330デフォルトの名無しさん:2011/05/28(土) 22:22:44.95
ryさんはどうしてテトリスのソースをアップしてるのでしょうか
331デフォルトの名無しさん:2011/05/28(土) 22:25:59.66
rubyはほんと終末感が漂ってるな
332デフォルトの名無しさん:2011/05/28(土) 22:29:27.43
松江市が中学生Ruby教室開催、DXRubyでゲーム作成 - ニュース:ITpro
ttp://itpro.nikkeibp.co.jp/article/NEWS/20110111/355979/

精力的に布教に励んでいるようですが。
333デフォルトの名無しさん:2011/05/28(土) 22:31:19.14
javascriptですら重いっつーのにruby/pythonでスクリプトとかないない
俺はjsとpythonたまに触るけどせいぜいツール作るのに使うくらいだ
pythonは3Dツールのプラグインとか使える局面がちょと多いがrubyはrailsくらいしか思いつかないな
C++0xでlambda使えるようになるから素直にC++やっとけ
334デフォルトの名無しさん:2011/05/28(土) 23:00:23.18
Blenderのことか
335uy:2011/05/28(土) 23:05:03.72
C++のlambdaでこれがかけるとお思いか

rubyでゲームなんて実績が何もないから、好んで使うものじゃないけどね
336デフォルトの名無しさん:2011/05/28(土) 23:14:34.52
実践には使えなさそうだが面白いもの見せてもらった
ありがとう
337デフォルトの名無しさん:2011/05/28(土) 23:19:28.68
そんな事よりタスクシステムの話しようぜ
338デフォルトの名無しさん:2011/05/28(土) 23:21:13.36
>>337
このスレの永遠のテーマだな
339デフォルトの名無しさん:2011/05/28(土) 23:30:20.24
>>337
そういう漠然としたテーマこそコードを晒す必要があるだろ
340デフォルトの名無しさん:2011/05/28(土) 23:41:40.54
またここに戻るのか?もういいだろ・・・
class Task {
 public: virtual void update() = 0;
};
そんなことより誰か>>318をふらっとC#スレに誘導してやってくれ
341デフォルトの名無しさん:2011/05/29(日) 00:17:09.95
そろそろ最高のタスクシステムを完成させてもいいな
342デフォルトの名無しさん:2011/05/29(日) 00:38:34.03
>>341
まず解決すべき問題を定義しろ。
343デフォルトの名無しさん:2011/05/29(日) 00:55:37.69
ルビーよめねwww


じゃあ、オレもそのうちシングルトンでタスクシステムを作るよ!
boostも使うけどいいよな?
344デフォルトの名無しさん:2011/05/29(日) 00:58:25.24
それは何も作らないと言っているに等しい。
345デフォルトの名無しさん:2011/05/29(日) 01:32:49.23
C#で作ってやるか
346デフォルトの名無しさん:2011/05/29(日) 09:22:00.84
>>317
コード見たよ
モジュール名とかクラス名とかワロス
だけどLLはPythonしか読めない……
347デフォルトの名無しさん:2011/05/29(日) 10:52:23.57
何だかんだでC言語が一番良いと思う
言われるほど開発効率悪くないし、
マなら読めない人いないし、
動作は速いし。
348デフォルトの名無しさん:2011/05/29(日) 10:57:24.08
動作は速いという言い回しが素人っぽい
349 [―{}@{}@{}-] デフォルトの名無しさん:2011/05/29(日) 11:07:15.04
オブジェクト指向もできるし
ハード制御もできるしな
他人の書いたコードの可読性はあまり高くない気がするが。。
350デフォルトの名無しさん:2011/05/29(日) 11:25:50.26
動作は速いで何もおかしくなくね?まさか遅いと思ってるの?
コンパクトで高速なプログラムが書けるのがまさにCの特徴なんだけど
351デフォルトの名無しさん:2011/05/29(日) 11:45:59.15
君素人でしょ
間違ってない命題でもわかる
352デフォルトの名無しさん:2011/05/29(日) 12:20:43.74
Cは標準機能がスカスカなせいで、外部ライブラリにべったり依存しないと何もできない。
もしプログラミングのやりづらさを感じるなら、それはそのライブラリ固有の問題だ。
Cを責めるのはお門違いだ。Cは何も悪くない。

って感じ。
353デフォルトの名無しさん:2011/05/29(日) 12:28:23.12
古参が互換性重視でK&Rな書き方して新参がわけわかめになる、と。
354デフォルトの名無しさん:2011/05/29(日) 12:34:51.36
標準スタイルが通らなかったというのは15年前のHP-UXの純正CCが俺の最後の記憶だが、
今時K&R 1版スタイルはないわ。関数宣言で引数の型チェックが効かないとか致命的だし。
355デフォルトの名無しさん:2011/05/29(日) 12:50:09.55
>>348
なにかやらなきゃ遅くならないって意味では速いかな?
俺はそーゆー意味で使うときがある
最近の言語は何も気にしてないと普通に遅くなる罠がはってある
string str="";
for(int i=0;i<n;i++){
  str += buf[i];
}

例えばこんなの↑
356デフォルトの名無しさん:2011/05/29(日) 13:15:58.92
>>355
最近の言語ならそういう風に手軽に書けるけど、Cならもっと泥臭い書き方が必要だろうな。
バッファのサイズを考慮してメモリ破壊をしない工夫とか。
速さのためにソースのスマートさを金繰り捨てることを美徳とするなら何も言わないけど。
357デフォルトの名無しさん:2011/05/29(日) 13:18:08.36
必要もないのに遅くなる書き方見せられても
358デフォルトの名無しさん:2011/05/29(日) 13:22:35.21
LinusはGitに速さを求めてCで作ったんだよね
359デフォルトの名無しさん:2011/05/29(日) 13:23:21.17
C++でええやろ
360デフォルトの名無しさん:2011/05/29(日) 13:29:59.26
APR使った例(pはメモリプールのポインタ)

char *str = apr_pstrdup(p, "");
for (int i = 0; i < n; i++) {
str = apr_pstrcat(p, str, buf[i], NULL);
}

そこそこ手軽だろ
361デフォルトの名無しさん:2011/05/29(日) 14:13:15.63
いまどきの言語だと文字列変数何個でも+演算子でくっつけられるのに
C/C++では(string型を使わずに)文字列をつなげるだけで何回も関数よばなきゃ。
読みづらくってしょうがない。
日本語文字も入ってくると、C/C++はさらに面倒だよなあ。
362デフォルトの名無しさん:2011/05/29(日) 14:14:12.20
とりあえずUTF-8だけ扱うようにすれば幸せ。
363デフォルトの名無しさん:2011/05/29(日) 14:15:08.67
なんでstringを使わないなんて制約を付けたんだよ
364デフォルトの名無しさん:2011/05/29(日) 14:21:56.44
会社の方針だからシラネ
自分でゼロから作るんならstring使う
365デフォルトの名無しさん:2011/05/29(日) 14:23:03.97
>>364
どうせ今どきの言語でもめんどくさい制約つけそうな悪寒
366デフォルトの名無しさん:2011/05/29(日) 14:25:38.90
>>361
str = apr_pstrcat(p, "aaa", "bbb", "ccc", NULL);
367デフォルトの名無しさん:2011/05/29(日) 15:08:40.10
str = "aaa" "bbb" "cccc";

+つけるとエラーになるのぜ
368デフォルトの名無しさん:2011/05/29(日) 15:35:54.08
>>367 はきっと問題を理解していない
369デフォルトの名無しさん:2011/05/29(日) 18:44:38.49
もう自作クラス作れよ・・・
370デフォルトの名無しさん:2011/05/29(日) 19:10:34.98
flashゲームで簡単なスコアランキングを作りたいんですけど
サーバーサイドのプログラムを書かずに実装する方法ってなんかないですかね
371デフォルトの名無しさん:2011/05/29(日) 19:25:08.83
>>370
スコアライブラリを探してきてインストールすればおk
サーバー無しでってのは無理
372デフォルトの名無しさん:2011/05/29(日) 19:41:26.83
やっぱそうですねよ・・・ありがとうございます
373デフォルトの名無しさん:2011/05/29(日) 20:01:44.79
プログラム書きたくないならライブラリ拾えばいいし
サーバがなくて金かけたくないって話なら、cgiとかgoogle apps engineとか使えばいんじゃない
374デフォルトの名無しさん:2011/05/29(日) 20:37:56.74
C++で最初期のボンバーマンを最小何ステップで作れそう?
375デフォルトの名無しさん:2011/05/29(日) 20:44:54.59
>>373
google app engineってのを初めて知ったんですけど
もしかしてこれって無料でサーバー使えますってこと?
しかもPHPとかも使えたり?
376デフォルトの名無しさん:2011/05/29(日) 20:53:00.65
PHPは無理。PythonとJavaとGoだったかな
あと転送量とかcpu使用率の制限が厳しいのでまともに使うなら結局金払わなきゃだめ
お試しにはいいけど
377デフォルトの名無しさん:2011/05/29(日) 20:57:41.13
>>375
無料のレンタルサーバーなんて結構ないか?
まあ、GoogleAppEnginこないだやった感じだと
一度登録したメールアドレスはたとえログイン情報を破棄したとしても
二度と同じメールアドレスは登録できなくなるっぽいので気をつけろ
378デフォルトの名無しさん:2011/05/29(日) 21:00:44.62
>>376
なるほど。
もうちょっと調べてみます。

>>377
無料のところはPHPとかが使えないことが多いので…
探せばあるのかな
379デフォルトの名無しさん:2011/05/29(日) 21:05:53.62
>>378
とりあえず出てくんじゃん?
http://rentub.com/free/php.html
380デフォルトの名無しさん:2011/05/29(日) 21:13:49.02
>>379
個人運営だったりめんどくさい審査とかルールあったりで
あんまり好きじゃないんだ・・・
381デフォルトの名無しさん:2011/05/29(日) 21:32:40.82
有料サーバつっても月あたり515円以内のところがいっぱいあるだろ
あんまりケチるよりはるかに手っ取り早いぞ
382デフォルトの名無しさん:2011/05/29(日) 21:55:02.54
>>374
ステップ数て・・・なんちゃってSEでも言わねえだろ今時
4KB縛りで作れそう?とか1画面プログラム(80x24)で作れそう?って聞く方が
まだ食いつきいいと思うぞ
383デフォルトの名無しさん:2011/05/29(日) 21:56:15.33
1画面プログラムって何?
384デフォルトの名無しさん:2011/05/29(日) 22:20:59.25
>>383
昔プログラム投稿系雑誌でその手の縛りプレイが流行ってたんだよ

>>382 が言うように横80文字、縦24行の範囲に収まるように
プログラムを組んで、主にゲーム(たまにデモ)を作る

言語はたいてい BASIC だな
385デフォルトの名無しさん:2011/05/29(日) 22:24:38.79
正直なところ、3Dやら超大作(笑)RPGやらよりも昔のインベーダーの方が面白いと思う
386デフォルトの名無しさん:2011/05/29(日) 22:27:08.85
それはない
387デフォルトの名無しさん:2011/05/30(月) 00:07:42.39
それはないって言い切れるのはすごいな。
その時代でどのくらいの人間熱狂させたかという基準なら
圧倒的にインベーダーだけど
388デフォルトの名無しさん:2011/05/30(月) 00:11:41.83
ずいぶんと甘い基準なんだな
389デフォルトの名無しさん:2011/05/30(月) 00:14:33.97
え?
390デフォルトの名無しさん:2011/05/30(月) 00:18:06.98
> その時代で
今の時代で比較は?
391デフォルトの名無しさん:2011/05/30(月) 00:19:58.32
>>389
あほ
392デフォルトの名無しさん:2011/05/30(月) 00:20:13.28
え?
393デフォルトの名無しさん:2011/05/30(月) 00:29:13.32
老化スレ
394デフォルトの名無しさん:2011/05/30(月) 00:41:25.77
>>393
おっさんがこんなスレ見ているわけがない
395デフォルトの名無しさん:2011/05/30(月) 00:44:10.39
つまりおばさんか
396デフォルトの名無しさん:2011/05/30(月) 00:45:36.89
頭は老人、体は中年、心は子供なんだろ
397デフォルトの名無しさん:2011/05/30(月) 00:50:23.78
ゲームプログラムに一番必要なものはなんだと思う?
398デフォルトの名無しさん:2011/05/30(月) 00:55:13.48
とにかく続ける事
399デフォルトの名無しさん:2011/05/30(月) 00:55:53.62
パソコンが使えること
400デフォルトの名無しさん:2011/05/30(月) 00:57:12.16
本を読むこと
401デフォルトの名無しさん:2011/05/30(月) 00:58:31.70
レベル低っ
402デフォルトの名無しさん:2011/05/30(月) 01:10:56.89
レベルの低い事もコツコツこなすこと
403デフォルトの名無しさん:2011/05/30(月) 01:16:05.80
魔法少女の大切なこと。
404デフォルトの名無しさん:2011/05/30(月) 01:36:09.87
魔法使いには頑張らないでもだいたいなれるよ
405デフォルトの名無しさん:2011/05/30(月) 01:50:58.26
>>398
辞めないで続けるってのはマジ大事。
406デフォルトの名無しさん:2011/05/30(月) 02:13:57.22
実行速度は速いに越したことないよ
それだけ制限が緩くなるから、自由なアイデアをそのままゲームに落とし込みやすくなる

例えばシューティングの弾の数
実行速度が早ければ1フレームあたりに可能な当たり判定の数も多くなる
極端な話、1フレあたり10個程度しか当たり判定できなかったら、
「弾がブアーッていっぱい出てきたら面白くね?」ってアイデアを思い付いても
弾幕シューティングは作れない
だけど1フレあたり200個とか判定できたら作れる

低速な言語しか使えない奴は言語による縛りでアイデアを実現できないかわいそうな人種
407デフォルトの名無しさん:2011/05/30(月) 02:43:40.82
極端過ぎて笑った。
408デフォルトの名無しさん:2011/05/30(月) 04:09:14.93
何年前のコピペだよw
409デフォルトの名無しさん:2011/05/30(月) 04:33:10.40
バランス大事に

開発サイクルは速いに越したことはないよ
それだけ試行錯誤が気楽になるから、思いついたアイデアをそのままプロトタイピングに落し込みやすくなる
低級な言語しか使えないやつは言語による縛りでアイデアを実現できないかわいそうな人種
410デフォルトの名無しさん:2011/05/30(月) 06:56:12.14
機械語しか使えない奴は言語による縛りでアイデアを実現できないかわいそうな人種

どうとでも言えるわなw
411デフォルトの名無しさん:2011/05/30(月) 08:51:15.40
低級言語っていったら、アセンブラの方じゃない?
412デフォルトの名無しさん:2011/05/30(月) 09:37:40.57
縛りプログラミングってすげえな
一体1画面で何ができるんだ…
ウィンドウ開くだけで数十行いくのにゲームコード書くスペースなんかないじゃん
413デフォルトの名無しさん:2011/05/30(月) 10:03:39.83
元々、LINE命令で線が書けるベーマガあたりでやってた奴だからな。
当然80字x25行とか40字25行。
414デフォルトの名無しさん:2011/05/30(月) 12:05:15.66
昔のBASICプログラムはいまだに読めなくて困る
GOTOで制御するとか正気の沙汰じゃねえ
415デフォルトの名無しさん:2011/05/30(月) 12:20:17.40
シーン制御に関して言えばgotoは優秀じゃね
416デフォルトの名無しさん:2011/05/30(月) 16:21:23.32
メインループに戻らないことがあったりな・・・
417デフォルトの名無しさん:2011/05/30(月) 16:40:41.94
>>415
本気にするやついるからやめとけ



いや、もっとやれwww
418デフォルトの名無しさん:2011/05/30(月) 16:45:09.26
低能乙
419uy ◆yyC0rYWEq2 :2011/05/30(月) 17:07:14.69
>>406
はぁ!?

低速な言語で行う場合は、速度を何とかするアイディアを出すんだろうが・・・・・

ちなみにRuby1.9ですら150個までは当たり判定いける
dxrubyフレームワークとかは、ゲームでよくある処理をCでかいたライブラリを提供していくらしいので
ヴァージョンあがってくればSTG程度なら余裕で作れるようになると思われ
420デフォルトの名無しさん:2011/05/30(月) 17:08:55.07
むしろSTGすら余裕で作れないのに驚きだわ
421uy:2011/05/30(月) 17:57:24.42
・・・・ゴミか
422uy:2011/05/30(月) 18:16:07.39
http://www.youtube.com/watch?v=Xo2GHVjpRaE

これの50秒〜55秒辺りの
魔方陣展開みたいなのを作りたいんだけれど
どうなってるの?
まず親魔法陣タスクがあって、そこから相対座標的に子魔方陣タスクを出して、
親魔法陣タスクの回転してる中で、子魔法陣タスクは別の回転変数で回転させて
それを、イメージに書き込んで加速的な拡大をさせつつカメラ移動してる感じなの?
プログラミングで絵描きにかてんの?
423デフォルトの名無しさん:2011/05/30(月) 18:43:26.45
これは頭の悪いuy
424デフォルトの名無しさん:2011/05/30(月) 19:42:16.41
00000
01010
00000
01010
00000

0の部分だけ通れる2Dのマップを作りたいんだが、

xだけ判定
   if vx > 0 速度調整
else if vx < 0 速度調整

yだけ判定
if vy > 0 速度調整
else if vy < 0 速度調整

座標更新しちゃうぞ☆


もっと賢いアルゴリズムというか方法はないかい?
425デフォルトの名無しさん:2011/05/30(月) 19:53:33.35
>>422
どんなのだろうと思って見てみたら、あまりに一瞬すぎたw
426デフォルトの名無しさん:2011/05/30(月) 20:03:27.04
>>424
あなたの要求するものが不明だけれども

通常の当たり判定で、簡単な方法は

ゲームループにおいて、
現在のXY座標を保存する
もし、衝突ならば、前回に保存されたXY座標に移動する。
(つまり、衝突してない位置へ戻す)

こんなこと
427デフォルトの名無しさん:2011/05/30(月) 20:08:15.80
お前ら低学歴だらけで頭悪そうだから補足してやると

>>424は当たりそうなら速度の調整
>>426は当たりそうなら動いた後に座標の調整
428デフォルトの名無しさん:2011/05/30(月) 20:19:05.19
高学歴の人に聞きたい、なぜ うつ病になってしまうの?
429デフォルトの名無しさん:2011/05/30(月) 20:25:00.29
一生愛する人とめぐり合えないんじゃないかって考えてるとうつになる

・・・ような気がする
430デフォルトの名無しさん:2011/05/30(月) 20:29:33.17
案ずるより産むが易しな場合でも、自分は案ずる事が得意で、
上手く案じる事で今まで成功して来たから、どうしても案じてしまう
でも案じた所で決して答えは出ない

みたいなののスパイラル
431デフォルトの名無しさん:2011/05/30(月) 20:59:08.68
南国にいくといいよ
432デフォルトの名無しさん:2011/05/30(月) 21:09:12.72
南極とか?
433デフォルトの名無しさん:2011/05/30(月) 21:13:13.10
南極を国扱いするとまたいろいろと問題が
434デフォルトの名無しさん:2011/05/31(火) 00:56:29.96
お前らのお気に入りのプログラミング本を教えろ
435デフォルトの名無しさん:2011/05/31(火) 00:57:43.83
どうして?
436デフォルトの名無しさん:2011/05/31(火) 01:00:33.86
437デフォルトの名無しさん:2011/05/31(火) 01:15:48.52
ゲームプログラマになる前に覚えておきたい技術

この著者と議論できるレベルのプログラマーってそうそういない。
438デフォルトの名無しさん:2011/05/31(火) 01:28:16.25
Game Programming Gems
439デフォルトの名無しさん:2011/05/31(火) 02:34:16.11
>>437
まずコネがないもんな
440デフォルトの名無しさん:2011/05/31(火) 02:46:41.48
>>437 性格的には小学生とでも本気で議論してそうな気がするけどなぁ
441デフォルトの名無しさん:2011/05/31(火) 02:54:18.69
ゲームのプログラムスキルってある一定以上になると、
泥臭くても効率悪くても思い通りの動作をするものがそれなりに作れるようになる。
そして大抵は素材の調達で挫折する。
442デフォルトの名無しさん:2011/05/31(火) 02:55:54.87
nVIDIAの3DVISION?だったかの対応のゲームってどうやって作るのですか?
443デフォルトの名無しさん:2011/05/31(火) 03:15:15.28
よく知らんけどnVidiaのドライバが勝手に立体視にするんじゃなかったっけ
SDKはないんじゃないかな
444デフォルトの名無しさん:2011/05/31(火) 05:23:05.84
>>434
Z80マシン語秘伝の書
燃える闘魂マシン語伝説
PC-8801シリーズ マシン語マスターバイブル

新日本プログラミング万歳
445デフォルトの名無しさん:2011/05/31(火) 07:23:27.52
MSX2テクニカルハンドブック
446デフォルトの名無しさん:2011/05/31(火) 09:16:09.84
>>437
そのひと会社はいってから仕事でプログラミング始めたんだよな
447デフォルトの名無しさん:2011/05/31(火) 09:19:17.39
仕事してる環境が違うから同意できないネタもあるけど
ちゃんと考えて解決してきたというのは良くわかる
448デフォルトの名無しさん:2011/05/31(火) 11:09:36.84
ゲームよりDirectXのわかりやすい入門書がほしい
kitty on your lapの人に書いてほしいわ
449デフォルトの名無しさん:2011/05/31(火) 11:18:39.66
リテラルにnaruとかshinobuとか使ってる超痛い人か
450デフォルトの名無しさん:2011/05/31(火) 11:36:06.72
それくらいで超痛いとか言う奴は一生事務処理系プログラムでも書いてれば?
451デフォルトの名無しさん:2011/05/31(火) 15:13:21.50
unko
452デフォルトの名無しさん:2011/05/31(火) 15:32:50.03
痛いというより頭悪そう

日本語をローマ字にして変数名にする

その単語を英語に訳せない

英語力の欠如

何か調べるときも日本語の資料しか調べられない

英語の資料も調べるのが普通のプログラムの世界では情報収集能力がない

頭悪い
453デフォルトの名無しさん:2011/05/31(火) 15:36:23.37
証明終わり
454デフォルトの名無しさん:2011/05/31(火) 15:37:19.60
最近は句読点をつける奴が少ないんだな。
455デフォルトの名無しさん:2011/05/31(火) 15:45:38.87
句読点つけると、ゴミつけるなとか言われる板もあるんだぜw
456デフォルトの名無しさん:2011/05/31(火) 15:53:48.16
逆に無理して英単語でつけてるけど「あちゃー、これだと意味違っちゃって紛らわしいのに」とかいう事が。

ネイティブスピーカーでもないのに無理するなと。
457デフォルトの名無しさん:2011/05/31(火) 16:00:29.49
烏にbrack_bardってつけてるのを見たことがある
458デフォルトの名無しさん:2011/05/31(火) 16:06:03.29
ダラダラと書かれた長文は下らない内容ばかりなので読まずに飛ばす
459デフォルトの名無しさん:2011/05/31(火) 16:14:03.60
black_bird ならまだしも
460デフォルトの名無しさん:2011/05/31(火) 16:33:53.72
このbrackbrain共め
461デフォルトの名無しさん:2011/05/31(火) 16:38:08.58
Offenceって書いといたら「正しくはOffenseですよ」と馬鹿が得意げに
462デフォルトの名無しさん:2011/05/31(火) 16:46:28.76
そして
463デフォルトの名無しさん:2011/05/31(火) 16:49:55.20
もういい、争うな。ローマ字を使え。
464デフォルトの名無しさん:2011/05/31(火) 16:56:41.62
tsudaかtudaかで論争が勃発すると。
465デフォルトの名無しさん:2011/05/31(火) 17:01:02.27
じゃあ俺madokaクラス作るわ、お前maniクラスね
466デフォルトの名無しさん:2011/05/31(火) 17:08:38.25
摩尼かよw
467デフォルトの名無しさん:2011/05/31(火) 17:14:06.22
ローマ字にするからダサくみえる
日本語変数にすればいい話
468デフォルトの名無しさん:2011/05/31(火) 17:24:52.40
漢字間違えたら恥ずかしいじゃないか。
469デフォルトの名無しさん:2011/05/31(火) 17:39:57.85
漢学なんか聞違えるわけねぇだろwwwwwwwwwwww
470デフォルトの名無しさん:2011/05/31(火) 17:43:44.80
×間違えれる
○間違えられる

漢字ではないが、間違ってるな。
471デフォルトの名無しさん:2011/05/31(火) 17:47:17.70
間違ってないじゃん。
472デフォルトの名無しさん:2011/05/31(火) 17:53:35.78
鳥* あ = new 烏( 島 );
こんな感じになるのか
473デフォルトの名無しさん:2011/05/31(火) 18:22:30.98
烏の引数に島とな
474uy:2011/05/31(火) 20:17:22.05
木 本 = 林.new(森)

なにこれたのしい
475デフォルトの名無しさん:2011/05/31(火) 20:38:49.33
C#でお勧めの本ありますか?
476デフォルトの名無しさん:2011/05/31(火) 20:58:00.40
C#のどんな本が読みたいのか言えよ
477デフォルトの名無しさん:2011/05/31(火) 21:28:58.74
>>476
だからお前はだめなんだよ、
誰も読むなんて言ってないだろ。
恐らく普段本棚のインテリアとして色合いがよくて、
強盗が入ってきたときとか有事には叩いたりできる強度があるとか、
そんな意味でオススメの本を聞いてるんだと思うぞ。
478デフォルトの名無しさん:2011/05/31(火) 21:33:54.27
>>477
その可能性は小さいな。なぜなら、C#と限定しているからだ。
強盗撃退用なら、C#の本と限定する必要はない。
お前こそ、読みが浅すぎるわ!
479デフォルトの名無しさん:2011/05/31(火) 21:38:49.62
音楽の話じゃないのか
480デフォルトの名無しさん:2011/05/31(火) 21:53:10.45
>>479
その可能性も低いな。なぜなら、このスレはゲームプログラミングに関するスレだからだ。
そのようなスレで、特に断りもなく、C#と書いた場合、これは当然、プログラミング言語の
C#のことを意味する可能性が高いといわざるを得まい。
どうだ俺のこの完ぺきな推理。反論があれば聞こうじゃないか。
481デフォルトの名無しさん:2011/05/31(火) 21:56:49.65
C#

横向きに見るとイソギンチャクに見える
482デフォルトの名無しさん:2011/05/31(火) 22:00:25.86
ゲームプログラムでお勧めの本ありますか?
483デフォルトの名無しさん:2011/05/31(火) 22:05:33.25
推理も客観的で言ってる通りその可能性が高いが
だからといってそれで断定してしまうのも危険ではないか。
童貞が初体験しようとして詳しく調べもせずに風俗に行くようなものではないか。
484デフォルトの名無しさん:2011/05/31(火) 22:06:00.82
っていうタイトルの本
485デフォルトの名無しさん:2011/05/31(火) 22:07:21.93
長ぇな...
486デフォルトの名無しさん:2011/05/31(火) 22:12:08.58
>ゲームプログラムでお勧めの本

「遊びのレシピ」
487デフォルトの名無しさん:2011/05/31(火) 22:15:11.23
ばかばっか・・・
488デフォルトの名無しさん:2011/05/31(火) 22:22:50.44
>>481
弟のアレが今ちょうどそんな形

あとで C==# してやる
489デフォルトの名無しさん:2011/05/31(火) 22:26:16.99
JAVASCRIPTでお勧めの本ありますか?
490デフォルトの名無しさん:2011/05/31(火) 22:28:01.12
JAVASCRIPTのどんな本が読みたいのか言えよ
491デフォルトの名無しさん:2011/05/31(火) 22:29:13.24
っていうタイトルの本
492デフォルトの名無しさん:2011/05/31(火) 22:33:06.16
っていうタイトルの本
493デフォルトの名無しさん:2011/05/31(火) 22:37:07.48
ばかばっか・・・
494デフォルトの名無しさん:2011/05/31(火) 22:42:51.99
つ 「OpeGLの真髄」
495デフォルトの名無しさん:2011/05/31(火) 22:45:42.54
「 ENCYCLOPEDIA ASCII 」
496デフォルトの名無しさん:2011/05/31(火) 22:47:45.82
>>494
その本、真髄ってのは大げさだよな

せいぜい赤本のサブセットって感じだった
497デフォルトの名無しさん:2011/05/31(火) 22:50:48.06
ばかばっか・・・///
498デフォルトの名無しさん:2011/05/31(火) 23:03:52.06

  ~~`ー--、_
      ..   `ー--、.._
     .:        `ヽ、..
    :     ;:;:;:;_;:_;:_;:;:;:_;:;:;:ヽ
   ::     ,;/ ,      "ヽ、
 ::     ,/ ::'         __ゝ、
;;   ,/ ::'      ,,.-‐''" 、 ヽ、
;   i!; '"    ,.-''"     ヾ、 ヽ
 ...::::i :  .:.:.::::/         ヾ _ヽ
  ::;;;;l/ ;  :::::::::r         y'''''ヾ ::;;ヽ
  :::;;;r::;;  :::::::/        ,/ ;;::~~~~~;;ヽ_/^)
:: :::;;;;|;;;i  :::::::/ :;:;;;;/    /    :::::;;;;;;;;;;;;ヾ|
:: ::;;;;;;;:i  .:.::/ ::;;;;;;i ::::::::r .::(⌒ヽ.::::;;;;;;;;|;;;;;;ヽ.
  ::;;;;;;;;;;:  .:.:;|  ;:;;;;| ::::ノ ノ   ̄.:.:.:.:;;;;;;;;i!;;;;;;;;;ヽ_
  ;;;;;;; ヾ .:.::| ::::;;;/ / ノ   ;i   :::;;;;;;;yヾ;;;;;;;;;:)
;  ;;;;;ヾ;;;ヾ、:.:.:!  ::/   ::......,.-'"      ;;;;;;;;;;;;;ノ
ー<"彡;;;;;;;;;;;;ヽヽ  |   /  . : . : . : ( ━ ;;);;;;;;:.:..|    < 誰がばかやねん
 ヽ:::::;;;;;;;;;;;;| `ゝ、.|  .:    . : . : : : : : : :::::;;;;;;;;;;;;;ヽ
  |:::::;;;;;;;;;;;/    ヽ、::     . : : : :ヽ、ヽ ::::;;;;;;;;;;;;;;ヽ
  〉;;;;三三|      ヽ、_    ..::::/ ;  i ::;;;;;;;;;;;;;;;:::ヽ
  /::::;;;;;;;;;;;;ヽ、       ヽ___.., ;;   ;  i ::;;::::::;;;;;;::::ヽヽ
 { i! .:::i!ヾ、ゝ           { /   ;;;  .....;;;;;::::::::::;;;(ノ)
 `゙ヽ---'--'            ヽ|  ;;;}  :::;;( (ヽ;;;;;;ノ
                     ヽ、''''i ...::::;;;;;;;;ゝ;;;;;;/
499デフォルトの名無しさん:2011/06/01(水) 00:34:38.13
>>115
依存度順に構造体をネストさせれば済む話。

void hoge2(B fooset) { /* fooset.foo3 を使う */ hoge1(fooset.a_set); }
void hoge3(C fooset) { /* fooset.foo2 を使う */ hoge2(fooset.b_set); }
void hoge4(D fooset) { /* fooset.foo1 を使う */ hoge3(fooset.c_set); }

あと、関数の並べ方で依存性を理解してないのが解るんだが、
他への依存性が低い関数をコードの上流に書き、
他への依存性が高い関数はコードの下流に書くようにしたほうがいいよ。
構造体だって、後で書いた構造体を、素直に構造体メンバーにできないだろ。
変数だって、宣言する前には呼べないし。
500デフォルトの名無しさん:2011/06/01(水) 00:59:07.64
windowsXPSP3 VSEE2010 C++ DXライブラリというライブラリ で開発しています
角度・座標の管理で悩んでいます
windowsプログラミングは基本的に、左上頂点のx.y座標が0,0になっているようです
角度を元に三角関数などで移動距離を出したりする場合(ホーミング弾などです)、角度0度はどこを基準にするのが良いでしょうか?
501デフォルトの名無しさん:2011/06/01(水) 01:08:00.07
>>499
依存度順なんて一意に決まるものじゃないだろう
>>115 で例に出てるメモリマネージャやら Direct3D デバイスやらパレットテーブルを、依存度順にまとめれるのか?
使う順なんて分からないし、どこで使われるかも分からない

関数の並べ方は人それぞれだろう
言ってることは分かるが、処理は上から下に実行されるわけだから、呼び出される順に並べるというのも自然な発想
502デフォルトの名無しさん:2011/06/01(水) 01:09:44.10
>>500
混乱するなら、内部では全て左下基準で計算して、
描画時に上下逆転させて描画すればいいんじゃない?
503デフォルトの名無しさん:2011/06/01(水) 01:18:13.18
>>500
y座標の距離を+-逆にすればいいだけ
504デフォルトの名無しさん:2011/06/01(水) 01:21:11.08
>>502
ありがとうございます。そういう方法もあるんですね
>>503
その方法だとコードが見やすくなりますよね

やっぱりどうしてもどっちかが犠牲になりますよね
ありがとうございました
505デフォルトの名無しさん:2011/06/01(水) 01:28:37.03
世の中そんなに綺麗なコードばかりじゃないですか?
趣味でやってるのでわからん、、、
506デフォルトの名無しさん:2011/06/01(水) 01:32:10.35
>>501
プログラムがグラフ構造で表せる以上依存度は確実に決められる。
並列に存在するものは別に順序はどうでもいいけどね。
プログラムを書く前に論理木(ロジックツリー)に書き出してみればいいさ。
(そもそも並列な処理グループができる場合は、ファイルを分割する事を進めるけどね)

>処理は上から下に実行されるわけだから、呼び出される順に並べるというのも自然な発想
確かに人間的に自然に見えるけどそのルールで並べると3000行程度ですぐ破綻すんじゃん。
関数は下に飛ぶだけじゃなく戻ってくる訳だから。
507デフォルトの名無しさん:2011/06/01(水) 01:35:35.79
ゆーても天下のApacheですらソースコードはそんなきれいちゃうで
508デフォルトの名無しさん:2011/06/01(水) 01:37:14.69
ッ・・・ッ・・・ッモル・・・
509デフォルトの名無しさん:2011/06/01(水) 01:39:04.88
>>504
解決した事に口をはさむのも野暮だけど
>角度を元に三角関数などで移動距離を出したりする
って具体的にどういう計算やんの?
内容によってはベクトル使った方がプログラム全体の統一がとれていいと思うけど。
510デフォルトの名無しさん:2011/06/01(水) 01:45:33.69
関数群は下から上に向けて書いていくほうがプロタイプ宣言しなくて楽だよ
511デフォルトの名無しさん:2011/06/01(水) 01:46:36.96
あ、Cの場合ね
512デフォルトの名無しさん:2011/06/01(水) 01:49:46.90
staticな関数の場合でしょ。
513デフォルトの名無しさん:2011/06/01(水) 01:54:02.50
>>509
ホーミング弾(以下、敵)と味方の追いかけっこのゲームがあるとします
まず、敵のxy座標と味方のxy座標を元に敵の角度(メンバとして、敵.kakudo)を決めます。
(味方.x-敵.x)と(味方.y-敵.y)をatan2関数の引数として、敵.kakudoを求め
敵.kakudoを元に、毎フレーム

敵.x += sin(敵.kakudo)
敵.y += cos(敵.kakudo)

の処理をし、敵の次フレームのxy座標を求めます
といった感じです。
ラジアンと度数法の変換、また範囲外などの条件分岐は割愛してます。
514デフォルトの名無しさん:2011/06/01(水) 02:02:06.04
C++の場合、ソースリンケージの構造体とかconst値は、
必要する関数が定義される直前に宣言しとくと便利だ。
構造体やconst値を使ってる関数の数が最小限になるからね。

const int limit=100;
int a(){・・・}//limitを使って無いのにメンテの度に使ってるかどうか確認がいる
int b(){if(limit>n)・・・};

int a(){・・・}//limitを使ってないことは明らかなので特にみる必要はない
const int limit=100;
int b(){if(limit>n)・・・};
515デフォルトの名無しさん:2011/06/01(水) 02:10:28.61
>>513
DXにあるか知らんけど一般的にベクトルオブジェクトを使うと

Point2D 味方(x,y),敵(x,y),//x,yは本来値
Vector2D 追尾方向 = 味方 - 敵;

敵 += 追尾方向.正規化() * 加速度;

こんな感じか。思ったんだが、その要件に三角関数いらなくね?
516デフォルトの名無しさん:2011/06/01(水) 02:24:47.33
>>515
・一度方向をメンバとして置いておくと、描画などの際に便利
・あとあまりに多いと描画の度に毎回計算するのは重くなる・・
と考えていたんですけど、よく考えたら丸で負担は変わらないですね
逆に二度手間になってしまってたのでしょうか・・・うーん
設計は難しいですね
517デフォルトの名無しさん:2011/06/01(水) 02:35:42.84
一応いうが三角関数は、ハードのサポートがあったりするとはいえマクローリン展開してるから
ベクトルの足し引き掛け算に比べ凄まじく遅いぞ。
518デフォルトの名無しさん:2011/06/01(水) 02:45:33.37
>>517
その点では大丈夫です
double sinx[361]={
0 ,
0.01745 ,
0.0349 ,
・・
-0.0349 ,
-0.01745 ,
0}
と角度に対応した配列を見ることに作ってます(cosも同様です)
角度はintに限られますが、そこは多分大丈夫と見込んでいます。
519デフォルトの名無しさん:2011/06/01(水) 02:59:21.17
角度求めるためにatan2使ってんじゃねーの?
520デフォルトの名無しさん:2011/06/01(水) 04:05:26.25
>>517
え?テーブル+補間じゃないの?そりゃ遅いわ
521デフォルトの名無しさん:2011/06/01(水) 07:16:46.29
ていうか、本当に測ってみた結果速い数値の出たものなんだろうか?(笑)
522デフォルトの名無しさん:2011/06/01(水) 08:27:16.82
アクタークラスって実装によって違うんだろうけど
どんな要件を満たすクラスですか?
523デフォルトの名無しさん:2011/06/01(水) 13:09:09.64
【政治】 刑法改正案が衆院通過 ウイルスを作成するだけで罪になる 
http://raicho.2ch.net/test/read.cgi/newsplus/1306846379/
524デフォルトの名無しさん:2011/06/01(水) 13:35:32.03
お前らの親が逮捕されるってことか
525デフォルトの名無しさん:2011/06/01(水) 14:37:45.61
ウイルス作成でお勧めの本ありますか?
526デフォルトの名無しさん:2011/06/01(水) 15:41:23.03
探せばあるんじゃない?
527デフォルトの名無しさん:2011/06/01(水) 16:42:37.75
じゃあ探してください。
528デフォルトの名無しさん:2011/06/01(水) 17:08:31.42
糞みたいな書き込みが多いな
じっくり見ないと糞と見分けがつかない
529デフォルトの名無しさん:2011/06/01(水) 17:22:09.82
>>528
同意
>>528とか典型的な例だよな
530デフォルトの名無しさん:2011/06/01(水) 18:38:40.09
それよりゲームプログラムの話をだな
531デフォルトの名無しさん:2011/06/01(水) 19:40:40.34
とか自分のことだけまともに見せる奴に限ってまったく話題を振らない罠
職場でもそういう傾向あるよねw
532uy:2011/06/01(水) 20:10:53.97
ほんとにお前らはつかえねえクズばかりだ
ここからは真面目な書き込み以外は一切禁止するからな

違反した奴はIPぶっこ抜くから覚悟しとけ
533デフォルトの名無しさん:2011/06/01(水) 20:13:17.62
ここって質問スレだと思ってたけど雑談でもいいのか
534デフォルトの名無しさん:2011/06/01(水) 20:17:11.92
確か、スレタイに

ゲームプログラムなら俺の話を聞いていけ

って書いてあったでしょ
535デフォルトの名無しさん:2011/06/01(水) 20:19:57.93
あー、ずっと質問スレと思ってた
536デフォルトの名無しさん:2011/06/01(水) 20:30:25.67
いや、その前にサルの関係者以外は書きこまないで下さいとの事だったはず
537デフォルトの名無しさん:2011/06/01(水) 20:36:10.12
もうその流れ秋田
538デフォルトの名無しさん:2011/06/01(水) 22:16:50.71
>>523
ウィルスじゃなくてただの不正プログラムならおkですか?
539デフォルトの名無しさん:2011/06/01(水) 22:25:30.24
>>538
ダメです
確かその法律は「使用者の予期しない動作をするプログラム」
なので、「ファイルhogeに"R"と名付けるプログラム.EXE」でhogeに指定したファイルを「"C"」と名付けただけで
ウィルスという扱いになります
法律を厳格に解釈すれば正規表現のミスでもそうなるでしょう
そういえば、極端に言えば文字コードの違いでも意図しない動作になり得ますね

テキストファイル"あああ"がshift-jisになってる!EUC-JPのつもりだったのに!みたいな

意図はいくらでも後付でできますので、開発側は大変ですね
と思いましたがそれこそメモ帳がそれですね
マイクロソフトには津波のような訳の分からない裁判がいくのでしょうか
540デフォルトの名無しさん:2011/06/01(水) 22:28:44.11
塩化ナトリウムが1ッモルッ...
541デフォルトの名無しさん:2011/06/01(水) 22:33:30.15
>>539
インストーラーに新しい文言の追加だな

このプログラムのいかなる動作も予測の範囲内であることを同意して使用する

○同意する
○同意しない

戻る 次へ キャンセル
542デフォルトの名無しさん:2011/06/01(水) 22:41:03.29
>>541
>予測の範囲内
予測の範囲外になるとだめなんだから・・・
>このプログラムは一般的に言われるコンピュータウィルスを含め、あらゆる動作を行う可能性がありますが承諾します
になるな
ハハハ・・・

dllだとdll呼び出しの度にメッセージボックスになるな
もうやだこの国
543デフォルトの名無しさん:2011/06/01(水) 22:41:59.48
unko
544デフォルトの名無しさん:2011/06/01(水) 22:43:14.63
>>539
いちおう大臣から
「電子計算機を使用する者一般の信頼を規範的に判断をしていく」
という国会答弁を引き出してる。
545デフォルトの名無しさん:2011/06/01(水) 22:45:48.22
相変わらず感覚が基準なんだな。
もう法律は関数で記述しろよ。
0以外なら合法 0なら違法。
546デフォルトの名無しさん:2011/06/01(水) 22:46:03.73
ゲームエンジンの話もここでおk?
547デフォルトの名無しさん:2011/06/01(水) 22:47:12.52
>>542
>このプログラムは一般的に言われるコンピュータウィルスを含め、あらゆる動作を行う可能性がありますが承諾します
※大事に育てると空も飛べます
548デフォルトの名無しさん:2011/06/01(水) 22:49:30.05
>>545
そういう厳密さよりも
そういう法律が決まった背景や意図もちゃんと記述してほしい
決まったことだけ書かないでそれを決めた理由っていうの?
時代背景とか無視してまでこういうのが未来永劫残っちゃうのが嫌
また、字面だけとって悪用する奴とか増えたりするからちゃんと意図は残してほしい
549デフォルトの名無しさん:2011/06/01(水) 22:50:46.27
>>548
議事録という形で意図は残るのよね。都合よく無視されたりするだけで。
550デフォルトの名無しさん:2011/06/01(水) 22:51:48.10
>>546
それがゲーム開発に関してプログラムの観点からアプローチする内容ならOK
551デフォルトの名無しさん:2011/06/01(水) 22:52:52.59
俺、最近unityでエロゲー作ってる
近いうちにdlsでうる予定
552デフォルトの名無しさん:2011/06/01(水) 22:56:29.74
それがどうした
553デフォルトの名無しさん:2011/06/01(水) 23:01:20.70
>>551
ゲームの話はスレ違い
554542:2011/06/01(水) 23:01:57.58
>>548
確かスパイ防止法、なんだっけ?酔っ払ってるから分からないw
スパイ防止法を民主党が全面的に支持しなかったので与党か野党が出し直し
結局ウィルス防止法という意味不明な一分だけが残ったということ

まぁとにかくこの板に取っては最大限に厄介な一部分が残ったということだよ
555デフォルトの名無しさん:2011/06/01(水) 23:10:31.24
酔ってる自覚あるのに、
そこまでしてレスを書きたかったのか
556デフォルトの名無しさん:2011/06/01(水) 23:10:37.01
>>554
共謀罪か?
自民党はコンピュータ監視法案にくっつけようと未だに頑張ってるらしいけどな。
557デフォルトの名無しさん:2011/06/02(木) 00:06:59.38
>>556
ああ、そうそう

なんでもいいけど"コンピュータ"っていうのはものすごい恥ずかしい単語だな
50代の役員がよく使うんだけど、こう、赤面してしまう
メカトロニクス!みたいな
ただの演算、特に加算なのに
558デフォルトの名無しさん:2011/06/02(木) 00:12:40.44
>539
ゲームの場合はどうなるんだ
たとえば初代ファイナルファンタジーには15パズルが仕込まれてたが、これも違法か
559デフォルトの名無しさん:2011/06/02(木) 00:16:57.11
"ゲーム"
なら全て合法じゃね
15パズルも、あくまで主人公が遊んでるという設定なら問題ない
560デフォルトの名無しさん:2011/06/02(木) 01:16:36.31
3Dって難しいですか?3Dが簡単に扱える言語とゲームプログラミングを紹介してるサイトやスレあったら教えてください
561デフォルトの名無しさん:2011/06/02(木) 01:18:21.33
DXライブラリでぐぐれ
これが無理なら多分やめたほうがいい
562デフォルトの名無しさん:2011/06/02(木) 01:21:42.39
>>561
ありがとうございます
563デフォルトの名無しさん:2011/06/02(木) 05:41:51.85
糞と見分けがつかない書き込みが多いと思ったが、
一目見ただけで見分けのつくレスがあった
>>529とか糞以下だからすぐ見分けがついた
564デフォルトの名無しさん:2011/06/02(木) 08:24:12.43
糞と見分けがつかない書き込みが多いと思ったが、
一目見ただけで見分けのつくレスがあった
>>563とか糞以下だからすぐ見分けがついた
565デフォルトの名無しさん:2011/06/02(木) 09:10:32.18
ヌルポ許可しない関数の引数にわざわざ参照でなくポインタつかう老害って何なの?
わざわざ中身が変化したかどうか意識しないと安全なコードが書けない時点でカプセル化に失敗してると理解できないのかな?
566デフォルトの名無しさん:2011/06/02(木) 09:15:22.81
お前がカプセル化を理解してない事実
567デフォルトの名無しさん:2011/06/02(木) 09:52:17.22
状態変更の把握の重要性がわからないんだな
constもメリット実感なさそうし関数型も知らなそう
568デフォルトの名無しさん:2011/06/02(木) 10:44:26.86
だから内部状態しらべなきゃならん時点でカプセル化こわれてんだろ
アプリやなんかの仕様でそうゆう作りになることはあるよ
でもそれはカプセル化されたクラスではない妥協クラスなの

つーか関数の前後で状態が変わったかどうかなんて普通どうでもいいでしょ
状態次第で処理を切り替えないとだめなセクションの前だけで、その前に関数を呼んだ呼んでないに関わらずチェックする
それが必要最小限の方法だからバグの混入も最小限になるんだよ
569デフォルトの名無しさん:2011/06/02(木) 11:10:03.78
自分定義の言葉を使うときは紛らわしいから名前空間使えよ
俺::カプセル化
俺::安全なコード
570デフォルトの名無しさん:2011/06/02(木) 11:10:33.82
> つーか関数の前後で状態が変わったかどうかなんて普通どうでもいいでしょ

アウトー!!
571デフォルトの名無しさん:2011/06/02(木) 12:05:22.03
カプセル化って魔法の合言葉?
572デフォルトの名無しさん:2011/06/02(木) 12:06:19.14
釣りだろ・・・w
この関数はNULLチェックしないからポインタ渡しから参照渡しに直しておきましたよ!カプセル化のために!
とか言われたらぶっとぶだろw
573デフォルトの名無しさん:2011/06/02(木) 12:06:42.68
参照透過性とか副作用とかでぐぐって
574デフォルトの名無しさん:2011/06/02(木) 12:09:02.49
>>568>>572もヤバイ
575デフォルトの名無しさん:2011/06/02(木) 12:35:08.95
色々考えると最終的には&は使わない方向で落ち着くかな
http://codepad.org/qqWCfmAh
こういう風に書くのがC++的で良い
そして本当にわかってる人はこういう記号や&に頼らず、
関数やメソッドの名前から引数の変化の可能性がわかるような命名法でカバーする
それが人にもコンパイラにも最も優しい方法だからね
たとえばswapという関数名からこれは参照引数をとり値が変化するだろうということは誰の目にも明らかでしょ
576デフォルトの名無しさん:2011/06/02(木) 12:44:37.39
Googleのコーディング規約は&付ける派だな
577デフォルトの名無しさん:2011/06/02(木) 12:47:44.27
Googleはコードは古風だよね
例外使わないとか
578デフォルトの名無しさん:2011/06/02(木) 12:48:38.84
その式を見ただけで副作用の可能性が分かる方法より、
ポインタ怖い!NULLが怖い!(んなもんチェックすればいいだけ)みたいな感情を優先するのも
そのプログラマの自由だからね
579デフォルトの名無しさん:2011/06/02(木) 12:52:10.34
自由w
580デフォルトの名無しさん:2011/06/02(木) 12:53:15.02
体感的に参照のほうがTMPと相性いい
581 [―{}@{}@{}-] デフォルトの名無しさん:2011/06/02(木) 14:07:03.65
DXライブラリでSTG作りたいんですが
どの部分から書き始めたらいいか分かりません
582デフォルトの名無しさん:2011/06/02(木) 14:16:37.55
まずはmainループからだな
DXライブラリはゲームを作るライブラリじゃなくで、ゲームの描画のライブラリなんだから
どこから作っていいか分からないなら、
ライブラリのことを忘れて、
ウィンドウを表示させて、その中に画像を描画するプログラムを作るとこからやるべき
583uy:2011/06/02(木) 15:09:49.14
特定ライブラリの話ならゲ製のスレに行け
このスレに集うゲームプログラマはDXライブラリみたいな
素人向けlibは使わないから
584デフォルトの名無しさん:2011/06/02(木) 15:29:36.03
糞以下の書き込みしてる香具師が暴れ始めたw
>>564とかもうただのコピペ荒らしw
こういう糞以下の香具師はソースコードもコピペで成長しないんだろうなあww
585デフォルトの名無しさん:2011/06/02(木) 15:33:12.59
>>581
描画して、コントローラーで上下左右に動かす
あとは当たり判定を作って敵を作って・・・
DXライブラリのHP見たほうが早いんじゃない
586デフォルトの名無しさん:2011/06/02(木) 16:44:58.80
俺たちはどんなゲームでもフルスクラッチなんだ
素人は帰ってくれないか
587581:2011/06/02(木) 18:27:38.49
レス有難うございます

何か言いたいことズレてましたorz
ライブラリ関係なしに
ウィンドウだとか、自機とか当たり判定とかの
手順的な事聞きたかったんです。。。

>>582>>585辺りを参考にさせて頂きます
588デフォルトの名無しさん:2011/06/02(木) 18:58:08.34
>>583
普通に使ってるわけだが
589デフォルトの名無しさん:2011/06/02(木) 18:58:34.88
DXライブラリ 総合スレッド その8
http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
590デフォルトの名無しさん:2011/06/02(木) 19:07:40.05
>>586
時間は限られているんだから使えるもんは使う
591 [―{}@{}@{}-] デフォルトの名無しさん:2011/06/02(木) 19:22:33.34
俺は天才だからカプセル化とか使わなくても完璧なコードが書けるし
main関数一本の数万行のプログラムでも破綻させずに全てを把握できる。
ぶっちゃけオブジェクト指向やらカプセル化やら脳みそが足りてない馬鹿のために考え出されたものだと思っている
592デフォルトの名無しさん:2011/06/02(木) 19:27:54.35
複数の人間による協力プログラミングの環境で活用される。
593デフォルトの名無しさん:2011/06/02(木) 19:32:58.07
素人のゲーム制作ならファイル一個でも何の問題もないよな
594デフォルトの名無しさん:2011/06/02(木) 20:16:04.41
頭悪いんだから無理すんなよ・・・
595デフォルトの名無しさん:2011/06/02(木) 20:54:27.85
>>593
言語にもよる
596デフォルトの名無しさん:2011/06/02(木) 21:55:28.23
そうだね
597デフォルトの名無しさん:2011/06/03(金) 02:52:47.82
そうか?
598デフォルトの名無しさん:2011/06/03(金) 08:33:01.94
そうだろが!
599福盛俊明:2011/06/03(金) 09:07:37.06
23 名前:福盛俊明 :2011/06/02(木) 23:51:15.53
俺はDarkBASICの天才♪”
俺に答えられない質問はない

質問はこちらへ
http://www.geocities.jp/courant_de_console/main_street/index.html

アハアハ〜♪”
600デフォルトの名無しさん:2011/06/03(金) 09:45:31.82
非常に読みやすい美しいコードがかけるなら、関数一つが500行あっても読みたい
601デフォルトの名無しさん:2011/06/03(金) 10:59:23.28
void main()の中から500個の関数を呼び出していても読みたい
602デフォルトの名無しさん:2011/06/03(金) 11:03:51.07
"main() must return int. Not void, not bool, not float. int. Just int, nothing but int, only int."
603デフォルトの名無しさん:2011/06/03(金) 13:37:07.52
void Main()ではダメですか?
604デフォルトの名無しさん:2011/06/03(金) 14:20:31.65
Cはもともとmain()でreturnでint 0を返す物と決まっていた
今なら別に何でもいい
超絶古いコンパイラ、実行環境だとエラーが出るかもしれない
ただ奇跡的な確率でもエラーが起こることを考えると、わざわざvoidにする理由もないので俺はintで0返してる
605デフォルトの名無しさん:2011/06/03(金) 21:54:00.00
今なら別に何でもいいって、どこのWindowsだよw
606デフォルトの名無しさん:2011/06/03(金) 22:12:04.54
無知って怖いなぁ
607 忍法帖【Lv=1,xxxP】 :2011/06/03(金) 22:26:56.99
>>604
何で0固定?

全てmainひとつのプログラムか。重複したコードどうやって直すんだろうな。
まさか、gotoは使わんとおもうけど。
608デフォルトの名無しさん:2011/06/03(金) 22:37:59.16
double main()でも動くし何でもいいよ
609デフォルトの名無しさん:2011/06/03(金) 22:52:48.90
Warningは無視か
610デフォルトの名無しさん:2011/06/04(土) 00:52:44.36
専門学校に行けばこのレベルのゲームを作れるようになるんですか?
http://www.vector.co.jp/vpack/browse/person/an039347.html
611デフォルトの名無しさん:2011/06/04(土) 01:00:33.49
スタック作ってスイッチを関数のように見立ててコーディング
612デフォルトの名無しさん:2011/06/04(土) 01:03:29.74
>>610
ゲー専作品なら技術を評価するべきだと思うがなー
これ、なんの工夫が入ってるのか知らないけど
技術的にみたらSDKのチュートリアル+α以上のものが俺には見えな(ry
613デフォルトの名無しさん:2011/06/04(土) 01:13:16.83
たった10分で何を見たんだ
614デフォルトの名無しさん:2011/06/04(土) 01:19:00.93
昨今のゲーム制作技術について語る部分なんてまずないだろ
素材さえ用意できればサンプルなぞった位の技術でそれなりのゲームが作れてしまう

大切なのは技術より安っぽく見せないセンスだと思う
615デフォルトの名無しさん:2011/06/04(土) 01:29:12.03
お前が技術ないのはわかった
616デフォルトの名無しさん:2011/06/04(土) 01:32:28.07
おまえらって人一倍見栄っ張りだよなw
617デフォルトの名無しさん:2011/06/04(土) 01:34:33.89
>>610
ABDUCTION
Break Factory
War Of Tank
サバゲやろうぜ!
はやったの記憶がある
618デフォルトの名無しさん:2011/06/04(土) 01:36:51.88
一度ご自慢の技術を見てみたいねぇ・・・
619デフォルトの名無しさん:2011/06/04(土) 01:44:12.19
お前らがプログラミング技術がすごいと思うゲームって何よ?
俺は少なくとも商業ゲー以外では技術がすごいと感じるゲームはない
620デフォルトの名無しさん:2011/06/04(土) 01:46:25.24
ゲームだと、技術よりセンスの方じゃ、受けるのは
621デフォルトの名無しさん:2011/06/04(土) 01:47:51.96
またアホな議題が出ましたね
622デフォルトの名無しさん:2011/06/04(土) 01:48:46.37
センスを表現できる基礎体力ってレベルですらないからな
センスもない基礎体力もない
623デフォルトの名無しさん:2011/06/04(土) 01:56:50.45
センスは企画とかデザイナが持ってればいいんだよ
624デフォルトの名無しさん:2011/06/04(土) 02:01:35.58
センスなら近くの100均で売ってた。
625デフォルトの名無しさん:2011/06/04(土) 02:04:56.32
>>623
もっさり感を感じさせない挙動とかもデザイナがデザインするのか?
視点変更ボタンを押したら何フレームで視点を切り替えるかとかを不自然じゃないレベルに自然に調整したり、
垢抜けた印象を与える挙動を書けること、そういう部分をセンスって言ってるつもり
まぁ、スレチだな
626デフォルトの名無しさん:2011/06/04(土) 02:30:55.28
デザイナーの仕事だよ
627デフォルトの名無しさん:2011/06/04(土) 02:33:26.41
ああ、デザイナーだな
628デフォルトの名無しさん:2011/06/04(土) 02:35:07.93
UIはプログラマーのセンスが重要なんだけどな・・・
629デフォルトの名無しさん:2011/06/04(土) 02:35:11.38
同人ゲーやフリゲは?
630デフォルトの名無しさん:2011/06/04(土) 02:41:26.79
小規模開発でデザイナーが存在しないとかじゃね
631デフォルトの名無しさん:2011/06/04(土) 02:42:18.09
こんなだから日本のゲームはしょぼいんだよ
632デフォルトの名無しさん:2011/06/04(土) 02:47:19.82
商業でデザイナーがいないとかあんの?頭大丈夫?
633デフォルトの名無しさん:2011/06/04(土) 02:52:19.94
つかお前なにできんの?
634デフォルトの名無しさん:2011/06/04(土) 02:59:28.05
俺には歌しかないかな
635デフォルトの名無しさん:2011/06/04(土) 03:05:55.88
俺にはミクちゃんがいる
636デフォルトの名無しさん:2011/06/04(土) 03:07:29.31
日本のゲーム会社ってバブル時代っていうのかな、そういう何でも売れた時代の
アホな肩書きの多い構造を引きずってるね
プランナー(笑)とか
637デフォルトの名無しさん:2011/06/04(土) 03:11:02.88
えっと・・・君の肩書きは何?
638デフォルトの名無しさん:2011/06/04(土) 09:28:31.36
ゲームのバブル時代とは金余りの頃ではなくインベーダーとかファミコン初期の時代だろう
少ない投資で莫大なリターンが得られたまさに夢のような時代
今では莫大な投資が必要で極めてリスクの高い硬直化した産業になってしまった
639デフォルトの名無しさん:2011/06/04(土) 11:08:54.99
だから皆携帯に走る
640デフォルトの名無しさん:2011/06/04(土) 11:24:48.68
>>637
テストプレイヤー
641デフォルトの名無しさん:2011/06/04(土) 11:52:51.76
>>636
じゃあアメリカはどうなるんだ?
642デフォルトの名無しさん:2011/06/04(土) 13:08:33.91
>>639
そして失敗するんだよね・・
643デフォルトの名無しさん:2011/06/04(土) 16:42:15.14
俺は趣味のゲームプログラムやってて
車輪の再発明が大好き
そして完成したツールに「〇〇フレームワーク」とか名前付けて大満足
こんなに気持ちの良いオナニーは他にない
644デフォルトの名無しさん:2011/06/04(土) 16:55:07.23
あれ、俺のコピーロボットが勝手に動いてるな
645デフォルトの名無しさん:2011/06/04(土) 17:03:24.78
ハイパーメディアクリエイターもどきが多そうw >日本
646デフォルトの名無しさん:2011/06/04(土) 23:03:18.04
中国はスタッフロールにソースコードをパクってコピーした奴の名前も出すべき。
MAIN PROGRAMMERの次辺りにCOPY PROGRAMMERとして出すべき。
647デフォルトの名無しさん:2011/06/04(土) 23:08:37.04
>>646
エンディングの長さが2倍になるだろ
648デフォルトの名無しさん:2011/06/05(日) 02:05:32.75
クォータービューの時に並べる菱形は、縦 1dot に対して横 2dot が普通ですか?

http://www.tonbi.jp/Game/Essay/036/index.html
649デフォルトの名無しさん:2011/06/05(日) 02:11:34.36
それが一番素材作り易いし計算しやすいからね
見栄えもいいし
650デフォルトの名無しさん:2011/06/05(日) 02:20:06.28
見栄えに関してはどうかな
黄金比になってない
651デフォルトの名無しさん:2011/06/05(日) 02:22:51.97
黄金比にしようと思ったらジャギジャギになるじゃないか
652デフォルトの名無しさん:2011/06/05(日) 02:24:45.02
>>649
どうもありがとうございます
1:2 だと 120' にならないよなーとか詰まらない事で悩んでました
653デフォルトの名無しさん:2011/06/05(日) 03:15:11.85
陰影制御や、曲面制御やら技術を見せる所は
いくらでもあるだろうに。
日本はモデリング&テクスチャベースばっかで
多角形制御なんてライブラリ任せだから自慢できる技術(?)者なんて
いないんだろうけどね。
654デフォルトの名無しさん:2011/06/05(日) 03:18:16.23
馬鹿発見
655デフォルトの名無しさん:2011/06/05(日) 08:15:36.26
意味不明なグチはマ板かゲハでやってくれ
656デフォルトの名無しさん:2011/06/05(日) 09:04:22.33
今の時代、ヘタに2Dクォータービューやるより、1枚ポリゴンにテクスチャ貼った3Dで計算したほうが負荷軽くね?
657デフォルトの名無しさん:2011/06/05(日) 10:54:40.98
だな。
そもそもクォータービューって3Dがなかなか使えない時代に
何とか立体的に見せようと思って考案された代替手段だし。
658デフォルトの名無しさん:2011/06/05(日) 11:50:26.86
まあ3Dがバリバリ使える時代も余裕で使われてたけどな
659デフォルトの名無しさん:2011/06/05(日) 11:59:07.26
ケータイとか
660デフォルトの名無しさん:2011/06/05(日) 12:25:11.66
>>653
ワラタ
661デフォルトの名無しさん:2011/06/05(日) 12:35:42.84
>>653はセンスうんぬんの話を技術力の話にすり替えようとして失敗したって認識でおk?
662デフォルトの名無しさん:2011/06/05(日) 13:47:48.79
ちょっと違う
663デフォルトの名無しさん:2011/06/05(日) 14:58:57.20
>>656
ポリゴンにテクスチャを貼ってるっぽい FFT でも 1:2 になってる感じでした
3D で計算しているのかは不明ですが・・
664デフォルトの名無しさん:2011/06/05(日) 15:07:04.01
なんでも3Dでやるのって頭悪そうw
665デフォルトの名無しさん:2011/06/05(日) 15:15:40.17
>なんでも2Dでやるのって頭悪い
666デフォルトの名無しさん:2011/06/05(日) 15:15:53.30
>>664
何いってんだ?
667デフォルトの名無しさん:2011/06/05(日) 15:26:21.77
どんな表現がしたいのかわからないのに2Dだ3Dだ言い出す方が頭悪い
668デフォルトの名無しさん:2011/06/05(日) 16:20:32.20
(ここは俺の4Dを出すときがきたかな?)
669デフォルトの名無しさん:2011/06/05(日) 17:22:58.42
っまぁ、いやらしい
670 忍法帖【Lv=5,xxxP】 :2011/06/05(日) 17:33:17.62
671デフォルトの名無しさん:2011/06/05(日) 17:52:57.65
何だかんだで3Dのほうがコスト的に楽だしな。
最近はアニメなんかでも3Dで作ってシェーダ(かどうかは知らんがそれに準ずるもの)で2Dに処理してやってるしな。
老害か何か知らんけど>>664みたいに根拠も出さずに頭悪いとか言い出すいけぬまさんはスルーしたほうが良いよ。
672デフォルトの名無しさん:2011/06/05(日) 18:42:22.26
新作アニメならまだしも、3Dモデルつくって単純にトゥーンシエーダかけても、
漫画家が描く絵のようにはならないのが悩ましいところだけどな。
特に斜めからの構図とか、極端なデフォルメとか。
673デフォルトの名無しさん:2011/06/05(日) 20:20:45.92
できるぞよ
674デフォルトの名無しさん:2011/06/05(日) 20:47:48.99
いけぬまさんは逝け沼さんて認識でおk?
675デフォルトの名無しさん:2011/06/05(日) 20:53:47.34
なんでも3Dとか頭悪過ぎ
676デフォルトの名無しさん:2011/06/05(日) 20:57:38.87
Direct3Dに喧嘩売るな
677デフォルトの名無しさん:2011/06/05(日) 21:08:23.96
>>675
中卒
678デフォルトの名無しさん:2011/06/05(日) 21:35:09.36
中卒なら仕方ないな
679デフォルトの名無しさん:2011/06/05(日) 21:42:04.34
なんでも3Dって頭悪そう
680デフォルトの名無しさん:2011/06/05(日) 21:44:39.11
>>679
小学生
681デフォルトの名無しさん:2011/06/05(日) 22:13:36.66
◆QZaw55cn4cはゴミ
682デフォルトの名無しさん:2011/06/05(日) 22:39:46.80
3D厨
683デフォルトの名無しさん:2011/06/05(日) 23:04:45.53
>>682
厨厨
684デフォルトの名無しさん:2011/06/05(日) 23:18:06.49
厨厨 train
685デフォルトの名無しさん:2011/06/05(日) 23:36:31.56
2Dも3Dも同じベクトルなんだから仲良くすれ!
686デフォルトの名無しさん:2011/06/05(日) 23:38:51.77
ドット以外はカス
687デフォルトの名無しさん:2011/06/05(日) 23:41:23.53
ビルボードですね
688デフォルトの名無しさん:2011/06/06(月) 00:15:49.21
いまどきの画素数でドット絵発注したら金がいくらかかるかしれたもんじゃないだろう。
アニメとして発注するのか?
689デフォルトの名無しさん:2011/06/06(月) 00:20:04.10
アホですねw
690デフォルトの名無しさん:2011/06/06(月) 00:22:37.89
691デフォルトの名無しさん:2011/06/06(月) 00:28:16.35
やねさん見てると大学1、2年次の教養がイカに大切か考えさせられるね
692デフォルトの名無しさん:2011/06/06(月) 03:06:39.11
さっきのクォータービューのやつでも3Dにしとけば
もうちょっと角度的に上から見た感じにしたい
とかもすぐ変更できるしな

DOT絵だったら諦めるか書き直すかだろ?
効率悪すぎ、低脳過ぎてやばい
693デフォルトの名無しさん:2011/06/06(月) 03:15:42.59
FFTは見下ろし角度が変更出来て、なおかつキャラがドット絵だったし、
そうでなくとも2D Vectorなら角度が変わっても、そう問題は無いと思われ

マクパペットは2D Vectorなのかな
694デフォルトの名無しさん:2011/06/06(月) 13:42:48.29
3Dの方が魅力的なキャラが作れるとかならともかく(この前提自体あり得ないが)、
角度変更できるから3Dにするとか単なる手抜きじゃん
お前はそんな低い志でゲーム作ってんの?迷惑だからさっさと引退してくれる?w
695デフォルトの名無しさん:2011/06/06(月) 16:08:05.99
>>693
>>694
あほ
696デフォルトの名無しさん:2011/06/06(月) 16:12:04.47
697デフォルトの名無しさん:2011/06/06(月) 16:15:05.85
>>694は手抜きと、調整を考慮に入れた開発の区別がつかないかわいそうな子です。
恐らくそれで職場を追われ引退を余儀なくされたため、他の有能な開発者も引退に追いやろうとしているのです。

俺だったらプライドがあるから恥ずかしさに耐えられずに自殺すると思う。
698デフォルトの名無しさん:2011/06/06(月) 16:21:24.73
ゲームに汎用性なんか求められていない
生涯をかけて満足のいくゲームがひとつ完成できればそれでいいのさ
むしろ完成しなくたっていいんだ。作っていくことが既にひとつのゲーム・・・

俺が・・・俺たちがゲームだ!
699デフォルトの名無しさん:2011/06/06(月) 16:27:16.10
【問題】
「尻から〇が出た!」
〇に当てはまる漢字一文字を答えなさい
700デフォルトの名無しさん:2011/06/06(月) 16:30:53.40
>>699
701デフォルトの名無しさん:2011/06/06(月) 16:43:31.57
馬鹿だなぁw
702デフォルトの名無しさん:2011/06/06(月) 16:48:52.94
>>701
もっとやる気出して煽れやカス
703デフォルトの名無しさん:2011/06/06(月) 16:52:36.95
カスだなぁw
704デフォルトの名無しさん:2011/06/06(月) 16:55:27.62
>>700
正解!
705デフォルトの名無しさん:2011/06/06(月) 17:25:15.11
2Dゲームでも3D使うと表現が楽になったりするよね
例えばシューティングで画面をある程度自由に動きまわるホーミングミサイルを作るときとか
ミサイルの各方向の画像を用意するより、板ポリゴンにテクスチャとして張り付けて回転させたほうが効率いいよね。
読み込むテクスチャも少なくてすむし、ミサイルの画像差し替えもかなり楽になる。
706デフォルトの名無しさん:2011/06/06(月) 17:31:48.00
>>705
なるほど。
もう、ついていけない世界になってしまったなあ。
さみしい。
707デフォルトの名無しさん:2011/06/06(月) 17:46:22.55
>>705
不思議な意見ですね
708デフォルトの名無しさん:2011/06/06(月) 18:06:31.56
2Dでも回転できるだろ。
709デフォルトの名無しさん:2011/06/06(月) 18:33:31.13
2Dの方が、圧倒的に省電力
710デフォルトの名無しさん:2011/06/06(月) 18:49:17.72
2Dの方がッモルッピグ!
711デフォルトの名無しさん:2011/06/06(月) 19:59:40.29
>>705
それ、ライティングどうするの?
712デフォルトの名無しさん:2011/06/06(月) 21:03:01.21
2Dに固執した労害が多いスレだな
713デフォルトの名無しさん:2011/06/06(月) 21:04:55.42
必要に応じて使い分けてるだけだよ
714デフォルトの名無しさん:2011/06/06(月) 21:13:35.42
必要に応じて使い分けるべきで、両方しっかり勉強しておくのは当たり前として、
どちらか好きな方を選べと言われたら、個人的には2Dの方が技術的に燃える

3Dのシェーダーで環境光がどうとか、表層下散乱がどうとかよりも、
2Dの多重スクロールとかラスタースクロールとかデカキャラとかの方がカッコイイ

少数派なのは十分承知
715デフォルトの名無しさん:2011/06/06(月) 21:23:12.09
>>705
確かにそうだな。
今Direct2Dでシューティング作ろうとしてるけど、
スタート時に機体が回転して出てくるような動作あったほうがいいしな。
716デフォルトの名無しさん:2011/06/06(月) 22:21:41.06
意味がわからん
717デフォルトの名無しさん:2011/06/06(月) 22:41:27.60
ファミコン時代の話
718デフォルトの名無しさん:2011/06/06(月) 23:24:48.52
鉛筆転がす感じ
719デフォルトの名無しさん:2011/06/07(火) 00:50:17.05
2D厨ってアレだな、
コンソールゲームから画像を使ったゲームへの移行期に生まれてたら
コンソールにしがみついてそうwwwwww
720デフォルトの名無しさん:2011/06/07(火) 01:01:25.63
老害?
2d厨?
ッモルピグ!
721デフォルトの名無しさん:2011/06/07(火) 01:32:37.97
日本語がわからん
722デフォルトの名無しさん:2011/06/07(火) 04:24:17.09
>>719
コンソールにも当てはまるかどうかは分からないけど、
実際そんなもんかもしれんね。

ドット絵が好きだったり、3D空間よりも2Dの方が慣れてるから把握しやすかったりさ。
本職ならクビになるだけだろうけど、趣味や同人ならそれで良いじゃない。

3Dはクソゲーだの、見た目だけだの、ドット絵の方が想像の余地があるとか、
ケチを付け出したら単なる老害だと思うけどね。
723デフォルトの名無しさん:2011/06/07(火) 04:33:49.19
いや本職ならどっちも出来て当然なんだがw
どっちが優れてるなんて話自体ナンセンスw
724デフォルトの名無しさん:2011/06/07(火) 07:20:42.31
そんなことよりッモルッピグ作ろうぜ
725デフォルトの名無しさん:2011/06/07(火) 08:23:57.85
ドット絵を変に傾けたりしたら絵師がキレそう
726デフォルトの名無しさん:2011/06/07(火) 08:27:06.02
8方向に動くなら、8方向のドット絵を書かなければならない。常識
727デフォルトの名無しさん:2011/06/07(火) 08:46:57.18
何それ
728デフォルトの名無しさん:2011/06/07(火) 10:05:06.71
ゼビウスみたいに陰の向きを前提にしたドット絵だったらちゃんと全方向分描かないと破綻するとかそういう話?
729デフォルトの名無しさん:2011/06/07(火) 11:00:49.27
回転変換の単純計算の誤差は話にならないという話
730デフォルトの名無しさん:2011/06/07(火) 11:16:20.58
真上からの絵どうかってのもあるんじゃない?
731デフォルトの名無しさん:2011/06/07(火) 11:17:01.46
3次元ならともかく2次元なら回転角を96方向とか256方向とかに量子化して、
変換後の座標をさらに変換しないとか常識以前だろ。
732デフォルトの名無しさん:2011/06/07(火) 11:25:55.80
>>731
常識以前の話を出して何が言いたいの?
733デフォルトの名無しさん:2011/06/07(火) 12:09:58.47
病的なバカですね
734デフォルトの名無しさん:2011/06/07(火) 14:56:57.72
2Dか3Dの違いというより我流プログラミングの欠点を晒してるようなものだなw
735デフォルトの名無しさん:2011/06/07(火) 15:50:39.13
好き嫌いはあるから好きで2Dやってるぶんには社会的にも許されりけど
場合によっては2Dが良いなどとさも一般論のよえに言うのはいかがなものか
736デフォルトの名無しさん:2011/06/07(火) 16:13:15.06
日本語が不自由ということは分かった
737デフォルトの名無しさん:2011/06/07(火) 18:29:32.26
コンシューマー機のメモリ管理ってどうしてる?
断片化や最大使用量の管理のセオリーってどんなのがある?
738デフォルトの名無しさん:2011/06/07(火) 18:37:47.76
メモリ管理って、一番悩ましいとこなのでは?
739デフォルトの名無しさん:2011/06/07(火) 18:47:27.46
動的なメモリ確保を使わない(スタックなど除く)
740デフォルトの名無しさん:2011/06/07(火) 18:53:12.51
それやれてるプロジェクトがあるのだろうか
スレッド化必須でさらにカオス
741デフォルトの名無しさん:2011/06/07(火) 18:54:56.39
COBOL式でどうかw
742デフォルトの名無しさん:2011/06/07(火) 19:20:30.00
メモリ管理なんてしなくていいよ
余りまくりなんだから
743デフォルトの名無しさん:2011/06/07(火) 19:23:28.95
PCならそうだが箱もPS3も余るなんてことはありえない
744デフォルトの名無しさん:2011/06/07(火) 19:37:46.03
PCでも油断してると使い切るわ
早く64bitのみにならないかな
745デフォルトの名無しさん:2011/06/07(火) 19:38:51.05
まあDVDですら全部RAMに置くことは不可能なPCの方が多いからな
746デフォルトの名無しさん:2011/06/08(水) 01:56:06.78
>>737
まず総空き容量(あるいは総使用量)を取得して常時表示できるように
しておくことは必要だと思う。

これに加えて、断片化対策としては確保可能最大サイズも欲しい。
プログラムが必要とする最大確保サイズに注意して、常にそれだけは
確保できる状態を保てていればまず問題ないと言える。

大きく落ち込むケースが無いか、最大確保サイズを縮小することが
できないか(ファイルを分割するとか)を常に気をつけておく。

ここまで用意できていれば、それ以上の動的確保の禁止とか
断片化対策のプール構築とかは割に合わないことが多い気がする。
最近見た↓こんな話に同感。
http://radiumsoftware.tumblr.com/post/6187877625
747デフォルトの名無しさん:2011/06/08(水) 04:23:53.07
なるほど、そういう観点で監視するのか。
ちなみにVRAMでも同じようなことするの?
748デフォルトの名無しさん:2011/06/08(水) 04:45:53.45
いや実際断片化は問題になるし簡単に排除できないよ。
現役から遠ざかった意見だね。
749デフォルトの名無しさん:2011/06/08(水) 05:14:35.82
>>748
とかいう決め付けを鵜呑みにして実測もせずに無駄な生兵法を加えるやつ多すぎ。

時代遅れの生兵法をリッチな環境で使いまわして余計に問題が起こりやすくしてるのも
よく見る。たとえば「最初にまとめて単一の領域を確保して、その中で切り分ける」とかな。
要求サイズがでかくなって逆にあぶねーんだよ。クソが。
750デフォルトの名無しさん:2011/06/08(水) 05:17:05.85
しかし解決策は持ってないという
751デフォルトの名無しさん:2011/06/08(水) 05:18:40.33
やっぱゲームプログラマーって頭使ってないんだな
752デフォルトの名無しさん:2011/06/08(水) 05:29:27.16
radiumさんもすっかりLLのひとだな
753デフォルトの名無しさん:2011/06/08(水) 05:36:05.63
>>750
dlmalloc レベルの賢いアロケータを根っこに置いて、
あとは問題が起こったところで分割するとかサイズを削るとかの
個別対応でだいたい十分。
754デフォルトの名無しさん:2011/06/08(水) 05:38:23.75
だいたいw
責任ないやつは気楽でいいな
755デフォルトの名無しさん:2011/06/08(水) 05:54:18.29
無能な責任者が保身のために動的確保禁止令を出すわけですねわかります。
756デフォルトの名無しさん:2011/06/08(水) 06:02:58.54
俺がかわりにやるとは決して言いません
757デフォルトの名無しさん:2011/06/08(水) 06:11:26.03
責任の無い立場から言ってると思い込むのは勝手だし、
どう言っても信用してもらえないだろうからいいんだけどさ・・・。

マジで動的確保禁止とかやってんの?いまどき?
標準コンテナも new も禁止するの?もしかして C なのか?
758デフォルトの名無しさん:2011/06/08(水) 06:13:30.96
思考停止。
動的確保完全禁止なんてするわけない。
何が問題なのか理解してないのに大体大丈夫とかお笑いなだけ。
759デフォルトの名無しさん:2011/06/08(水) 06:18:36.09
やっぱちがうんだ。安心したよ。
で、その「問題」と >>753 とは違う解決策あたりについては語ってもらえないのかい?
760デフォルトの名無しさん:2011/06/08(水) 06:19:40.61
ヒントは断片化はなぜ起こるのか。
これ以上は飯の種なので言わない。
761デフォルトの名無しさん:2011/06/08(水) 06:22:00.98
ちなみにこれが理解できてればリークもなくせる
762デフォルトの名無しさん:2011/06/08(水) 06:28:10.21
ヒントありがと。
断片化を起こさないようにがんばる話なのかな?
ちょっと残念だけど、ここ最近の開発ではもうそんなに困ってないからいいや。
763デフォルトの名無しさん:2011/06/08(水) 06:33:33.13
つまり最後に確保された領域から順番に解放すりゃいいだけの話でしょ
764デフォルトの名無しさん:2011/06/08(水) 07:47:22.27
言ってることはすがすがしいまでに正しいが>>753みてれば現実にできてないのはわかるだろ
765デフォルトの名無しさん:2011/06/08(水) 07:51:44.40
>>760
>>761
馬鹿発見
766デフォルトの名無しさん:2011/06/08(水) 07:53:02.98
>>763
これもか
767デフォルトの名無しさん:2011/06/08(水) 07:57:28.00
>>765
煽っても何も出さないよw
768デフォルトの名無しさん:2011/06/08(水) 07:59:01.71
>>763
それは単なるスタック
769デフォルトの名無しさん:2011/06/08(水) 08:00:03.84
何か言ってる気になってる奴がいるな
770デフォルトの名無しさん:2011/06/08(水) 08:04:49.16
メモリコンパクションすりゃいいじゃん
771デフォルトの名無しさん:2011/06/08(水) 08:05:59.41
昔MacOSというものがあってだな・・・
772デフォルトの名無しさん:2011/06/08(水) 08:10:22.23
>>770
かっこつけてねーでデフラグって言え
773デフォルトの名無しさん:2011/06/08(水) 08:11:06.21
馬鹿ばっか
774デフォルトの名無しさん:2011/06/08(水) 08:13:17.31
>>761
あ?
775デフォルトの名無しさん:2011/06/08(水) 08:15:23.33
>>761
無理だろカス
776デフォルトの名無しさん:2011/06/08(水) 08:16:51.34
煽っても何も出さないよw
777デフォルトの名無しさん:2011/06/08(水) 09:40:28.59
ゲームだったら寿命短くて数が多いオブジェクト用のアロケーターだけ作ればだいたいなんとかならね?
778デフォルトの名無しさん:2011/06/08(水) 09:44:48.19
だいたいw
779デフォルトの名無しさん:2011/06/08(水) 09:50:02.55
コンシューマー機の話だろ
780デフォルトの名無しさん:2011/06/08(水) 09:59:21.21
せめてジャンル別とかに分けてもらわないと議論のしようがない
タイトルごとに統計とって切り替え、作り替えしてもいいぐらいだし
781デフォルトの名無しさん:2011/06/08(水) 10:05:16.44
そんなことない
782デフォルトの名無しさん:2011/06/08(水) 10:12:24.60
言語と仮想メモリの有無くらいだろ
コンシューマーならC/C++,なし固定な気が
783デフォルトの名無しさん:2011/06/08(水) 10:32:46.31
http://www.page.sannet.ne.jp/hirasho/diary/diary0812.html#3p10

> 「変なことしないで普通にnew。断片化への対処はメモリをなんぼか余らせることで確率的に保証」というお手軽アプローチ

> やらなくて済むことはやらない方がいいだろう。

ですよねー
784デフォルトの名無しさん:2011/06/08(水) 11:07:34.37
コンシューマー機向けゲームのプログラミングの話が出てるけど、
趣味でコンシューマー機向けのゲーム作ってんの?
ってか開発環境構築できんの?
環境構築もできないのに議論しても無駄だろ。
環境があるとしたら職業プログラマ確定だし、職業プログラマがここで技術探してんの?
785デフォルトの名無しさん:2011/06/08(水) 11:12:50.39
趣味のPCゲーだったら、今の時代メモリ管理なんて気にしなくてもいいレベル。
確保した領域の解放忘れるとかは問題外だけど、どのジャンルのゲーム作ろうとグラフィック以外のデータでメモリ食い尽くすなんてまずありえない。
食い尽くすとすればゲーム中で使う高ビットレートの長いBGMを全部読み込んでおくとか珍妙なことをやった場合だろ。
それはプログラムレベルの話じゃないよ。
786デフォルトの名無しさん:2011/06/08(水) 11:18:53.10
そしてPCゲーならどっちみちどこかでライン引いて、それ以下のスペックは切り捨てることになるしな。
これは商用でもいっしょ。
今の時代ならクアッドコア3GHz以上、メモリ8GB以上、グラボはGTX480以上に限定しても何ら問題はない。要は自分の環境で動くもの作って、それ以下切り捨てでいいってこと。
一見乱暴なようだけど、どうせどこかでラインひくならそれが一番合理的。
787デフォルトの名無しさん:2011/06/08(水) 11:38:22.54
ヒント:自称職業プログラマ
788デフォルトの名無しさん:2011/06/08(水) 11:50:26.32
メモリの最大使用量ってどうやって計算するんだ
実行時に実際に使っている量はいろいろと計測する方法はるけど
実行前の段階でわかる理論的な上界ってわからないよね
789デフォルトの名無しさん:2011/06/08(水) 12:10:31.85
たとえば組み込みのプログラミングなんかだと、スタックの必要量なんかは
コールグラフの静的解析で求めたりしますが、再帰とかしてれば簡単に無限大
という答えが出てきますので、そういう場合までどうしても保証したいんだったら
たとえば入力をチェックして再帰の深さを保証するとかするわけ。
790デフォルトの名無しさん:2011/06/08(水) 12:14:02.54
実行して計測すればいい
791デフォルトの名無しさん:2011/06/08(水) 12:20:57.50
>>790で完璧な結論が出ました。
792デフォルトの名無しさん:2011/06/08(水) 13:32:21.25
>>789
バカのなかでそんなまじめなレス不要
793デフォルトの名無しさん:2011/06/08(水) 13:38:30.40
>>786
まだ32bitを切り捨てるのは難しいから2GBが上限じゃね
794デフォルトの名無しさん:2011/06/08(水) 15:48:18.38
GTX470は切り捨てですか?
795デフォルトの名無しさん:2011/06/08(水) 15:49:38.52
趣味ならどうでもいいよ
796デフォルトの名無しさん:2011/06/08(水) 18:50:10.61
>>784
趣味でもできるぞ
時代についていけよ
797デフォルトの名無しさん:2011/06/08(水) 19:18:06.98
趣味でも他人にプレイさせたいっていう欲求もあるよな??
商売じゃないから他人の環境で動かせないといけないという強制じゃないけど
798デフォルトの名無しさん:2011/06/09(木) 12:10:17.66
ベクトル画像って使わないの?
799デフォルトの名無しさん:2011/06/09(木) 12:15:17.23
>>798
たいていは使うだろ
800uy:2011/06/10(金) 16:22:23.08
このたび、マ板、ム板を去ろうと思いまして
お礼参りをしています
今までありがとうございました
最後の煽りを1スレ1スレにて行っております


>>784
ゴミじゃねーか・・・そんなことも知らないとか しねよ
801デフォルトの名無しさん:2011/06/10(金) 18:28:02.51
>>800
こういう真面目に議論してるスレにまで来るなよ
802デフォルトの名無しさん:2011/06/10(金) 19:15:30.22
>>800
いえ、こちらこそ
その節は大変お世話になり、ありがとうございます
機会がありましたから、その時はまたどうぞよろしくお願いします
803デフォルトの名無しさん:2011/06/11(土) 13:38:08.14
>>757
EAは標準コンテナ使ってないです><
804デフォルトの名無しさん:2011/06/11(土) 17:55:36.45
ゲームオブジェクト1体につき1スレッドってどう思う?
805デフォルトの名無しさん:2011/06/11(土) 17:57:52.44
思考ルーチンはまだしも描画が無理だろ
806デフォルトの名無しさん:2011/06/11(土) 18:57:15.02
>>804
っていうかスレッドにするものを間違ってる
これだけ頻繁に他のオブジェクトと関連が生まれるものなのになんでスレッド・・・
地面に立ってるだけで地面とキャラとで関連が生まれてしまうのに・・・
807デフォルトの名無しさん:2011/06/11(土) 20:23:48.49
スレッドの生成廃止、状態切替えたり同期取ったり、色々とコスト高いから現実的じゃないだろうな。
あと誰かSPARC T3搭載のゲーム機を作ってください。
808デフォルトの名無しさん:2011/06/11(土) 20:37:17.28
ゲーム要素書きだして関連図書いたら絡まりまくりで困った
こんなんどうやってまとめんねん・・・
809デフォルトの名無しさん:2011/06/11(土) 20:37:18.27
CPUコア分のワーカースレッドとそれを制御するスレッドを作る。
後はタスクを制御スレッドにひたすら投げる、とかでいいんじゃない??
810デフォルトの名無しさん:2011/06/11(土) 22:18:53.83
スレッドでゲームオブジェクトを制御なんていってる奴は
自分で入門書みてスレッドを1度も作ったことがないレベル
やればわかるけどあの遅さはやばい

それとスレッドスレッドいってる奴は弾幕STGの弾みたいに
各オブジェクトが完全独立で動く単純なゲームしか想定できてないよね

やっぱゲームプログラムの肝心なとこってオブジェクトとオブジェクトの接触時のリアクションにあると思うんだよね
そこまでちゃんと綺麗に制御すること考えなきゃうまくいかないよ
811デフォルトの名無しさん:2011/06/11(土) 22:24:42.58
>>804
使うならグリーンスレッドだね。
812デフォルトの名無しさん:2011/06/11(土) 22:38:21.72
スタックも理解せずスレッドとか
813デフォルトの名無しさん:2011/06/11(土) 23:52:18.68
>>811
いきなり「グリーンスレッド」なんてVM限定の単語を出すのは自分の世界の狭さを語ってるように受け取られるよ
多分LL言語メインの人だろうけど、もう少し自己主張を抑えて、古典的な流儀も尊重するかせめて触れてみてほしい
古典が正しいと言いたいわけじゃなくて、相対的にものを見れるようにって意味で

と優しく書こうと思ったけどまあぶっちゃけ自己顕示欲丸出しの小便くさいレスいらねーんだよって言いたいんだ
814デフォルトの名無しさん:2011/06/11(土) 23:57:55.84
同族嫌悪の典型ですね。
815デフォルトの名無しさん:2011/06/12(日) 00:00:32.35
>>813
ああ、古い人向けにはユーザレベルスレッドって書けば良かったかな?

知性と思い遣りに溢れる素敵な突っ込みサンクス
816デフォルトの名無しさん:2011/06/12(日) 00:03:52.08
無責任な奴ほどスレッド使いたがる
817デフォルトの名無しさん:2011/06/12(日) 00:05:00.33
違う
次の人のために仕事を用意してやってんだ
818デフォルトの名無しさん:2011/06/12(日) 00:05:44.92
マスター前の再現性不確定なバグとか殺したくなる
819デフォルトの名無しさん:2011/06/12(日) 03:20:02.49
俺も基本的にスレッド使わないけど、
ッモルピグの通信部分だけは別スレッドにしてるよ。
あとまだこれはやってないけど、シームレスなゲームも作りたいなと思ってて、

そのときのデータの先読みとかにも使おうと思ってる。
820デフォルトの名無しさん:2011/06/12(日) 06:48:19.06
グリーンスレッドはユーザーレベルスレッドのことで、
VM用語じゃあないと思うが。
821デフォルトの名無しさん:2011/06/12(日) 07:57:53.49
>>820
えっ
822デフォルトの名無しさん:2011/06/12(日) 08:05:39.56
ああなんだ、ウィキペディアにそういう風に書いてあるのか。

Ruby 1.8 以前とか、インタプリタを VM とは言ってないけど、グリーンスレッドである、とは
普通に言ってたから、ウィキペディアの説明がおかしい。英語版を書いた奴が Java 脳
だったんだろう。
823デフォルトの名無しさん:2011/06/12(日) 09:19:29.96
ruby...
824デフォルトの名無しさん:2011/06/12(日) 10:41:41.65
rubyってなんかのゲームですか?聞いたことないです
825デフォルトの名無しさん:2011/06/12(日) 10:42:28.09
>>824
宝石だよ
826デフォルトの名無しさん:2011/06/12(日) 12:12:02.86
バウンティはんたぁ、だっけ?
827デフォルトの名無しさん:2011/06/12(日) 20:01:36.17
>>827
それはルディだろ
828デフォルトの名無しさん:2011/06/12(日) 20:29:19.52
>>822
低級言語でも軽量スレッドとは言うけど
グリーンスレッド・ネイティブスレッドはJava/Ruby方面でしか聞いたことない
自力の時分割とCPUスレッドとごっちゃにする抽象化なんてVMじゃなければ意味なくね
829デフォルトの名無しさん:2011/06/12(日) 20:37:13.67
あ、いやすまん意味はあるわ。まあいいか
830デフォルトの名無しさん:2011/06/12(日) 20:41:37.97
sqlite便利だな
オブジェクトの検索とからくちんちんだわ
831デフォルトの名無しさん:2011/06/12(日) 21:16:40.35
SQLはレコード数が増えるとあきらかに重くなるぞ
用途を誤るなよ
832デフォルトの名無しさん:2011/06/12(日) 21:21:22.99
自前で検索システムつくるとめんどくさいし多分人が作るより遅いんだろうなって思うとSQLiteでいいかって気持ちになるよ
833デフォルトの名無しさん:2011/06/12(日) 21:29:32.05
それで自分が求めているゲームが作れているのなら、全く問題ないと思うよ
834デフォルトの名無しさん:2011/06/12(日) 21:40:23.02
この漠然とした条件でよく言い合いできるなw
835デフォルトの名無しさん:2011/06/12(日) 22:07:08.28
ネトゲの鯖側にSQLite使うのはアウトだけど、
インストールするゲームなら、かなり複雑な正規表現でも使わなかゃ大丈夫でしょ
836デフォルトの名無しさん:2011/06/12(日) 22:19:10.71
SQLと正規表現になんの関係が?
837デフォルトの名無しさん:2011/06/12(日) 22:25:16.37
関係はあるだろselect like
838デフォルトの名無しさん:2011/06/12(日) 22:29:43.89
LIKE 演算子は正規表現じゃないだろ。
839デフォルトの名無しさん:2011/06/12(日) 22:32:55.41
複雑なパターンってことだろ多分
840デフォルトの名無しさん:2011/06/12(日) 22:40:51.20
複雑なパターンを正規表現とは言わんだろ
841デフォルトの名無しさん:2011/06/12(日) 23:30:30.89
だいたいSQLなんて、ちゃんと正規化(正規表現じゃないぞw)して、インデックスも
ちゃんと張っときゃ、データ数が数万だろうが、数百万だろが、たいして変わらん
つうの。
842デフォルトの名無しさん:2011/06/13(月) 00:00:08.26
で、実際うまく使えるんですか?データベースって
843デフォルトの名無しさん:2011/06/13(月) 00:04:30.22
データベースのメリット・デメリットくらい考えられないの?
844デフォルトの名無しさん:2011/06/13(月) 00:54:12.19
TCBをデータも手続きもまるごとDB上に構築すれば
シリアライズ不要の永続タスクシステムが完成するね胸圧
845デフォルトの名無しさん:2011/06/13(月) 01:01:00.85
TCBなら仕方ない
846uy:2011/06/13(月) 03:24:30.92
>>801
これがww真面目なww議論www
ちょwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwご冗談をwwwwwwwwwwwwwwwww


はぁ・・・疲れる
847uy:2011/06/13(月) 03:28:29.48
なんか話がかみ合ってない気がするよこのスレ
話し合いというより独り言の域に達してるぞこのスレ
曖昧な概念を、自分の主観で話して相手が理解せずに違うことと理解して話し始めているのに
当人がそれの軌道修正を行わずに口を閉じて、よくわかっていない奴が別の話し始めるせいか 怖い
848デフォルトの名無しさん:2011/06/13(月) 04:52:54.30
>841
サーバにインストールする各種データベースはそれもできるけど、
SQLiteじゃ無理じゃないか?
849デフォルトの名無しさん:2011/06/13(月) 07:31:49.87
>>848
>>841じゃないけど...

正規化はRDBMSの種類と関係ないし、SQLiteだってインデックスくらい張れるよ

※別にSQLiteの使用を薦めている訳ではないが
850デフォルトの名無しさん:2011/06/13(月) 08:26:39.14
不毛
851デフォルトの名無しさん:2011/06/13(月) 10:17:41.51
ハゲ
852デフォルトの名無しさん:2011/06/13(月) 10:31:31.82
剃ってるだけ
853デフォルトの名無しさん:2011/06/13(月) 10:42:35.52
SQLiteは、下等なゲームっの、記録方法た、ハゲっが。
俺みたいな、一流プログラマは、PostgreSQL一択っだ。ハゲっが。
854デフォルトの名無しさん:2011/06/13(月) 11:18:39.19
ゲームの規模にもよるけど、SQLiteか、MySQLだろ。
PostgreSQL は、ゲーム用途にしては、ゴテゴテしすぎる。
855デフォルトの名無しさん:2011/06/13(月) 11:43:42.85
俺の見たMMOはポスグレだったな
SQLiteは一度使ってみたいが使いどころがわからん
856デフォルトの名無しさん:2011/06/13(月) 12:08:11.92
使いどころは、そりゃ大量のデータの格納用途だろう。ログの保存とかにも使えるし。
マルチユーザのゲームには必須だな。スタンドアロンの簡単なゲームには使う必要はない。
857デフォルトの名無しさん:2011/06/13(月) 12:22:29.55
マルチユーザってモンハンみたいなヤツか?
やったことないけどあれそんなに大量のデータを扱うのか
858デフォルトの名無しさん:2011/06/13(月) 12:46:26.57
俺もやったことないけど、使うんじゃないかな。
859デフォルトの名無しさん:2011/06/13(月) 12:49:12.63
マルチユーザのゲームはユーザアカウントに使うだろうが!
860デフォルトの名無しさん:2011/06/13(月) 13:02:51.17
ユーザアカウントにSQLite?
どんなゲームなんだろう
861デフォルトの名無しさん:2011/06/13(月) 13:12:57.95
マルチユーザゲームのアカウントにDB使わないで何使うんだよ。
862デフォルトの名無しさん:2011/06/13(月) 13:26:45.61
普通MySQLとかPostgreSQLとかじゃね?
863デフォルトの名無しさん:2011/06/13(月) 13:31:44.29
普通、OracleとかSQLServerだろ
864デフォルトの名無しさん:2011/06/13(月) 13:35:57.94
小規模だったら、SQLiteでも十分だろ。
865デフォルトの名無しさん:2011/06/13(月) 13:54:26.46
SQLiteとか、阿呆の極み、っだ。ハゲっが。
規模っが、小さい、うちは、いいっが、大きく、なったら、どうすっる?
規模っが、大きく、なったら、DBっは、外部っに、鯖として、構築するっが、
そもそも、鯖ではない、SQLiteからっの、移行は、プログラムっの、書き替えっが、必要っだろうが。ハゲっが。
これっは、だるい。
だから、規模の、小さいうちっは、一つのマシン内で、ゲーム本体っと、DB鯖っを、動かしても、いいっが、
DBっは、鯖化して、おくべきだろうが。ハゲっが。
866デフォルトの名無しさん:2011/06/13(月) 13:56:58.40
DBの使いどころじゃなくてSQLiteならではってのを知りたい
ログの保存はたしかに便利そうだな
867デフォルトの名無しさん:2011/06/13(月) 14:02:25.92
SQLiteの仕様でも見れば?
868デフォルトの名無しさん:2011/06/13(月) 14:02:38.04
>>865
そんときゃ他のDBエンジンにデータを移行すりゃいいだろうが。ハゲっが。
ま、特有の方言を極力使わないか、ミドルウェアをかましのとくのが前提だが。
869デフォルトの名無しさん:2011/06/13(月) 14:07:03.02
内容的に>>865は相手にする価値ないだろw
870デフォルトの名無しさん:2011/06/13(月) 14:24:35.26
使いどころというか、SQLは慣れたら、普通のファイルより、格段に使いやすいから、
使おうと思ったら何にでも使えるな。設定内容の保存とか、途中で終了したゲームの
ステータスとか、ハイスコア残したり、マップ情報とか、モンスターの情報とか、
とにかく、開発者の考え方次第で、何にでも使える。
検索も早いし、検索条件もいろいろ指定できるし、削除も簡単、まとめて削除もできるし、
まぁ、インデックスは張りまくればいいってもんじゃなくて、あまり多いと、容量でかくなる
し、更新速度が遅くなる。適切に設計することが大事。
でも少量のデータだったら、あまり神経質にならずに気軽に使ってもいいと思う。
ただ、サーバー側に置くDBは、セキュリティとバックアップに配慮する必要がある。
871デフォルトの名無しさん:2011/06/13(月) 14:40:33.51
むしろ少量のデータならインデックスの効果はなくなる
とりあえず素人はインデックスのことは忘れていいと思うよ
872デフォルトの名無しさん:2011/06/13(月) 14:42:55.87
そういうこと言ってどんどんDBに詰めるからFireFoxが重くなったんじゃね
873デフォルトの名無しさん:2011/06/13(月) 14:49:02.82
DB使ってなかったら、さらに遅くなっただろうな。
ちなみに、WindowsのレジストリもDBの一種だから。SQLは使えないけど。
874デフォルトの名無しさん:2011/06/13(月) 15:52:30.64
データベースぇ
875デフォルトの名無しさん:2011/06/13(月) 16:01:27.02
セーブ用途だと普通にファイルの方が楽そうだけどなぁ

スクランブルとか破損や改竄のチェックとか
SQLiteが面倒見てくれるわけじゃないでしょ?
876デフォルトの名無しさん:2011/06/13(月) 16:07:49.05
ファイルだと面倒見てくれるのか?
877デフォルトの名無しさん:2011/06/13(月) 16:11:21.36
ファイル単位でやるなら結局ファイルでいいじゃんって話に
878デフォルトの名無しさん:2011/06/13(月) 16:15:33.12
以前FF11が頓珍漢な理由でDB避けて話題になったな
879デフォルトの名無しさん:2011/06/13(月) 16:16:03.89
だから、少量のデータで中身のパースも自前でやるんだったらファイルでいいよ。
個人ベースの小規模ゲームならそれでいいよ、もう一生、ファイルだけ使ってればいいと思うよ。
880デフォルトの名無しさん:2011/06/13(月) 16:17:32.93
逆に言うと複数から同時に読み書きがあったりとかで、ナイーブにファイルでやったら
中身消えたり不整合が起きたりしそうならデータベース使えと。
881デフォルトの名無しさん:2011/06/13(月) 16:21:20.42
>逆に言うと複数から同時に読み書きがあったりとかで、
SQLiteに向いてなくね?
882デフォルトの名無しさん:2011/06/13(月) 16:29:19.30
SQLiteだってトランザクションはサポートしてるだろ。
883デフォルトの名無しさん:2011/06/13(月) 16:31:16.01
規模や仕様によって変わるものを条件設定せずによく議論できるなら。
実際に計測して速いほうですればいいんじゃない。
例えばキャラのHPしか記憶しとかないようなゲームだけだったらファイルでいいでしょ。
ッモルピグのプレイヤーが出してる店の中から特定のアイテムを価格順にソートして表示するとかならDBっしょ。
ただDBは検索やソートの高速化に使うのが普通だから、
キャッシュのきかないSQLiteは問題外。
スタンドアロンなら大したデータ量はないからファイルで十分。
ハゲっが。
884デフォルトの名無しさん:2011/06/13(月) 16:34:06.46
つ SQLite Shared-Cache Mode
ハゲっが。
885デフォルトの名無しさん:2011/06/13(月) 16:35:09.83
DBくらい使いこなそうぜ・・・
886デフォルトの名無しさん:2011/06/13(月) 16:40:56.31
SQLiteを自分のソフトで使おうと思ったらSQLiteを実行するためのライブラリーか何かをセットにして配布せにゃならんのだろ? キメェ
SQLiteにバグあったらどうすんだ? セキュホとか。 マジキメェ

ハゲっが。
887デフォルトの名無しさん:2011/06/13(月) 16:41:14.19
基本情報で問題といたときにしかデータベース使ったことありません
888デフォルトの名無しさん:2011/06/13(月) 16:43:03.42
バカばっか
889デフォルトの名無しさん:2011/06/13(月) 16:43:07.30
SQLiteってなんてよむのか
スクライトで良いのかな
890デフォルトの名無しさん:2011/06/13(月) 16:45:41.16
ファイルを自力パースとか無駄だから辞めてくれw
891デフォルトの名無しさん:2011/06/13(月) 16:45:57.99
>>886
SQLiteのバグより、テメェの糞ゲーのパグの確率の方がタケェよ。
SQLiteが今やどんだけ他のソフトにバンドルされてると思ってんだよ。
つか、アップデート処理も自前で組み込めねぇようなアプリ配布するなよ、キメェ

ハゲっが。
892デフォルトの名無しさん:2011/06/13(月) 16:50:12.78
>>891みたいのが議論を引っ掻き回して喜んでるんだろうな。
テメェ糞ゲーのパグ率のほうが高いとか根拠の話を出してくるし頭悪そう。
893デフォルトの名無しさん:2011/06/13(月) 16:51:11.17
日本語でおk
894デフォルトの名無しさん:2011/06/13(月) 16:51:16.21
ハゲっが。って発音しにくくない?
895デフォルトの名無しさん:2011/06/13(月) 16:51:54.16
>>882
ごめん、なんか勘違いしてた
よほど頻繁に読み書きが衝突しない限り問題ないか
896デフォルトの名無しさん:2011/06/13(月) 16:53:38.42
それよりパグって用語が何なのか気になる。ハゲっが。
897デフォルトの名無しさん:2011/06/13(月) 16:56:21.29
898デフォルトの名無しさん:2011/06/13(月) 17:02:12.95
自分の作るゲームが糞だから他人の作るゲームも糞だと思うんだろ

何年経っても成長しない人間によく見られる思考回路
899デフォルトの名無しさん:2011/06/13(月) 17:03:01.62
で? そのパグがゲープロにどう関係があるんだ?
900デフォルトの名無しさん:2011/06/13(月) 17:03:19.54
自己紹介乙
901デフォルトの名無しさん:2011/06/13(月) 17:06:02.90
パグは、中国語で「いびきをかいて眠る王様」を意味するから、
つまり、あくびが出るような糞ゲーってことだろ。
902デフォルトの名無しさん:2011/06/13(月) 17:08:40.77
低能乙
903デフォルトの名無しさん:2011/06/13(月) 17:09:48.17
ソフトウェアっに、バグがあるの、っは、普通。ハゲっが。
というか、むしろ、バグっの、ない、ソフトウェアっは、存在しない。ハゲっが。
ゲームっは、何に、分類される?か?
ソフトウェアっに、分類される、っ当然。ハゲっが。
つまり、SQLiteっに、明らかな、バグっが、あっても、使うべき。ハゲっが。
904デフォルトの名無しさん:2011/06/13(月) 17:18:43.54
不毛
905デフォルトの名無しさん:2011/06/13(月) 17:18:49.49
う・ざ・い
906デフォルトの名無しさん:2011/06/13(月) 17:23:13.34
SQLiteは組み込みで使えるから、たのRDBMSとは
違う用途でも使える。
DB使うとやめられなくなるくらい便利なんだけど、
使ったこと無いとその良さがわからないから、いつまでも使わない。
907デフォルトの名無しさん:2011/06/13(月) 17:30:38.45
底辺には難し過ぎるだろう
908デフォルトの名無しさん:2011/06/13(月) 17:37:46.82
業務系アプリの土方ですら会得しているスキルなのに?
909デフォルトの名無しさん:2011/06/13(月) 17:39:03.32
禁止

尻から目が出た
ッモルッピグ
ハゲっが
910デフォルトの名無しさん:2011/06/13(月) 17:55:41.17
3大データ保存方法
1.RDBMS(表)
2.Key-valueストア(開発環境付属のPropertyクラスとかdbm系とかその他)(key-valueが対になる)
3.CSV(表)とかXML(入れ子)とかそんなの。
4.ハゲっが
911デフォルトの名無しさん:2011/06/13(月) 17:56:25.93
シリアライゼーションなにそれ?みたいな。
912デフォルトの名無しさん:2011/06/13(月) 18:08:02.73
尻から目が出たッモルッピグにおけるハゲっが。
913デフォルトの名無しさん:2011/06/13(月) 18:21:44.30
ゲームのデータはシグネチャが一定じゃないから使いにくい
このアイテムには他のアイテムにはないパラメーターが・・・とかいくらでも出てくるじゃん
914デフォルトの名無しさん:2011/06/13(月) 18:29:23.30
そういうのは MongoDB みたいな不定形データ向けの DB で
915デフォルトの名無しさん:2011/06/13(月) 18:31:37.33
衝突判定もDBでらくらくですよね!
916デフォルトの名無しさん:2011/06/13(月) 18:34:10.12
DB は使いどころを見極めて使わないとダメだよ
917デフォルトの名無しさん:2011/06/13(月) 18:35:47.54
>>913 シグネチャの使い方、間違ってないか?
918デフォルトの名無しさん:2011/06/13(月) 18:48:05.31
型シグネチャのことかなぁ?
919デフォルトの名無しさん:2011/06/13(月) 18:53:06.33
そりゃそうだろうが、関数やメソッドのシグネチャと言うならわかるが、
データのシグネチャとは言わないな。
920デフォルトの名無しさん:2011/06/13(月) 18:54:22.78
テーブルのシグネチャならさほど違和感無いね
921デフォルトの名無しさん:2011/06/13(月) 18:55:33.76
俺もSQL勉強始めたばかりでよくわからないんだけど
例えばアイテム分類が武器、防具、草、壺、食料とあって、それぞれに特有のデータがあるとしたら
アイテム全部を扱う表ってどういうふうに書くの?
とりあえずすべての列をつなげて、必要ない部分はNULL値に設定するのかな
922デフォルトの名無しさん:2011/06/13(月) 18:57:45.37
>>920
違和感ありまくりだろw
923デフォルトの名無しさん:2011/06/13(月) 18:59:04.05
たぶんスキーマのことを言いたいんだろうな
924デフォルトの名無しさん:2011/06/13(月) 18:59:41.94
データのシグネチャというとそのデータ全体のハッシュ値とかだよな。
>>921 「マンガでわかるデータベース」おすすめ。
925デフォルトの名無しさん:2011/06/13(月) 19:05:14.48
>>921
そりゃ、内容しだいだろ。
アイテムテーブル一つで済ますか、武器テーブル、防具テーブルと
それぞれ作るか。
アイテムテープル一つの場合も、属性をフィールドで分類する場合も
あるし、別テーブルにする場合もある。
別テーブルにする場合も、1対1、1対多、多対多と構造的にはいろいろ
ある。全ては要件しだい。

でもま、たいがいは、1テーブルで、属性をいくつか持たしきゃこと足りる
だろ。
926デフォルトの名無しさん:2011/06/13(月) 19:08:35.79
>>922
別に争うつもりは無いけど

メソッドシグネチャ
- (retType) methodName: (argTypeA) arg1additionalName: (argTypeB) arg2;

(テーブルシグネチャ)
tableName(colName1colTypeA, colName2 colTypeB);
927デフォルトの名無しさん:2011/06/13(月) 19:10:54.55
なんだよ、テーブルシグネチャって。何かの造語か?
928デフォルトの名無しさん:2011/06/13(月) 19:12:06.83
だから括弧に入れてる
929デフォルトの名無しさん:2011/06/13(月) 19:14:38.58
>>921
ふつうに正規化すればおk
930デフォルトの名無しさん:2011/06/13(月) 19:20:26.34
>>921
Item (id number primary key, name varchar, type number, price number);
weapon (id number primary key, strength number, ...);
amor (id number primary key, weight number, ...);
herb (id number primary key, attr1 type, ...);
jar (id number primary key, ...
food (id number primary key, ...

ちゃんと書こうと思ったけど、途中でめんどくさくなった...
931デフォルトの名無しさん:2011/06/13(月) 19:23:48.93
>>930
その飽きっぽさがお前の欠点だ。
932デフォルトの名無しさん:2011/06/13(月) 19:27:06.56
メタプログラミングの世界にようこそ
933921:2011/06/13(月) 19:30:18.40
あ、よく考えたら普通にこれでいいのか
なんか変に深く考えすぎてたわ
どうもお騒がせしてすいませんでした

〜 ( SELECT * FROM 手持ちアイテム, 武器情報, 例外的な武器情報 WHERE 種類 = 武器 ) AS 手持ち武器 〜

しかしこれだと例外的な武器情報の為だけにNULL要素だらけになってしまってパフォーマンス悪くならないか心配だわ
934デフォルトの名無しさん:2011/06/13(月) 19:32:07.21
武器に限定するなら、INNER JOIN しろよ、ハゲっが。
935デフォルトの名無しさん:2011/06/13(月) 19:36:57.81
省略してもinner joinだったような気が
936デフォルトの名無しさん:2011/06/13(月) 20:25:36.86
例えばパックマンやボンバーマンの敵みたいなのが方向転換するときのアルゴリズムってどうなってんの?
937デフォルトの名無しさん:2011/06/13(月) 20:26:23.72
dx = -dx;
938デフォルトの名無しさん:2011/06/13(月) 20:34:48.36
面白いと思って書き込んでるの?
939デフォルトの名無しさん:2011/06/13(月) 20:48:02.56
940デフォルトの名無しさん:2011/06/13(月) 21:46:00.62
>>939
ちゃんと読んだ?
該当付近の一行くらい貼ってよ
941デフォルトの名無しさん:2011/06/13(月) 22:15:02.38
>>940
初出の時に読んだよ
まあのんびり読んでおくんなまし
942デフォルトの名無しさん:2011/06/13(月) 22:25:19.92
>>941
でも貼れないしコメントもできないんだ
つまんね
943デフォルトの名無しさん:2011/06/13(月) 22:25:53.44

読んだ ≠ 理解できた
944デフォルトの名無しさん:2011/06/13(月) 22:33:15.45
日本語に於ける一般的な会話の流れ:

読んだ? → 読んだよ
理解できた? → 理解できたよ
945デフォルトの名無しさん:2011/06/13(月) 22:36:10.89
あれよんでネタを提供できないって読めてないじゃん
946デフォルトの名無しさん:2011/06/13(月) 22:37:07.62
証拠見せて? → ...
947デフォルトの名無しさん:2011/06/13(月) 22:38:30.55
つまり俺以外誰も読んでないんだな
948デフォルトの名無しさん:2011/06/13(月) 22:41:03.61
ソースは見たよ。速攻閉じたけどw
949デフォルトの名無しさん:2011/06/13(月) 22:41:03.80
そうかもね、で、どうだったの?
950デフォルトの名無しさん:2011/06/13(月) 22:44:38.40
あんな圧縮されたソース、良く読む気になったな。

ところで、あの中で読み込まれてる外部ソースの
http://www.google.com/logos/js/pacman10-hp.4.js
って、何に使われてるんだろ?

理解した人、教えてちょ。
951デフォルトの名無しさん:2011/06/13(月) 22:45:13.64
いじけのアルゴリズムとグズタのアルゴリズムは・・・
952デフォルトの名無しさん:2011/06/13(月) 22:50:32.90
逃げたか,,,
953デフォルトの名無しさん:2011/06/13(月) 22:51:51.75
読んだとわかるコメントあるのに
954デフォルトの名無しさん:2011/06/13(月) 22:52:29.40
>>950
俺は整形済みのを読んだけど、ツールは色々あるよ

http://google-code-prettify.googlecode.com/svn/trunk/README.html
955デフォルトの名無しさん:2011/06/13(月) 22:57:48.07
なるほど、肝心な質問には答えず、ツールでごまかしたか。
巧妙だな。
956デフォルトの名無しさん:2011/06/13(月) 22:58:41.67
いやネタ増えるじゃん
957デフォルトの名無しさん:2011/06/13(月) 23:01:25.40
いやネタ増えるじゃん とかかわいこぶってる間にこたえりゃ済むことじゃん。

つか、このツールは、構文に色付けるだけじゃないのか? インデントとか整形して読みやすくとかしてくれんのかよ。
958デフォルトの名無しさん:2011/06/13(月) 23:03:29.80
只今、一生懸命解読中です。
期待せずに、暫くお待ちください。
959デフォルトの名無しさん:2011/06/13(月) 23:04:11.18
じゃあ、これでどうよ

http://jsbeautifier.org/
960デフォルトの名無しさん:2011/06/13(月) 23:07:23.23
いやね、もう、いくら整形してくれようが、変数名とか関数名が短縮されてる時点で
読む気が半分ぐらい失せちゃってんのよ。
圧縮前の元ソースとかどっかねーのかよ。
961デフォルトの名無しさん:2011/06/13(月) 23:09:24.69
まぁ、 >>954 の懇切丁寧な解説をあまり期待せずに待つとするか。
今のうちに風呂はいってこよ。
962デフォルトの名無しさん:2011/06/13(月) 23:14:21.49
まあ俺は寝るけどな
もう風呂上がったし
963デフォルトの名無しさん:2011/06/13(月) 23:14:47.77
オリジナルのプログラムは16KB
オリジナルとグーグルのコード見た奴は再現度とか語ることがたくさんある
964デフォルトの名無しさん:2011/06/13(月) 23:15:58.21
ソースなんて全く読んでないけど、
パックマンの敵なんて普通にノードを辿ってるだけじゃないの
特段、方向を転換するアルゴリズムなんて無いだろ
強いて言うなら向かうノードを決めるアルゴリズムくらいか
965デフォルトの名無しさん:2011/06/13(月) 23:17:01.09
知ったかがわかる
966デフォルトの名無しさん:2011/06/13(月) 23:21:57.10
コード読んでればもう答えが出てるってわかってるだろ
967デフォルトの名無しさん:2011/06/13(月) 23:22:17.33
>>963
嘘書くなよ
968デフォルトの名無しさん:2011/06/13(月) 23:22:56.60
>>967
読んでないんだね
969デフォルトの名無しさん:2011/06/13(月) 23:24:19.96
読んだよ。
970デフォルトの名無しさん:2011/06/13(月) 23:25:07.79
じゃネタ出して
判別するから
971デフォルトの名無しさん:2011/06/13(月) 23:26:56.72
お前がまず上であがってた質問に答えたらな。
972デフォルトの名無しさん:2011/06/13(月) 23:27:25.84
この程度人に頼らず自分で調べられないヤツがゲームなんて作れんの?
973デフォルトの名無しさん:2011/06/13(月) 23:27:35.82
>>971
答えあがってるから
わかんないの?
974デフォルトの名無しさん:2011/06/13(月) 23:28:37.81
この程度読めなくて煽ってる奴がマジかっこ悪い
975デフォルトの名無しさん:2011/06/13(月) 23:30:27.65
>>973
いや、それはお前のピントはずれの妄想だから。わかんないの?
976デフォルトの名無しさん:2011/06/13(月) 23:32:53.64
ここまで、ソース読んだと言う奴は多数。ソースの解説は無し。
977デフォルトの名無しさん:2011/06/13(月) 23:33:37.86
>>975
読んでればわかるのに
978デフォルトの名無しさん:2011/06/13(月) 23:36:41.90
不毛
979デフォルトの名無しさん:2011/06/13(月) 23:37:47.69
コードがどうとか、もうどうでもいいよ
オリジナルのコードがどうであれ、パックマンの敵の動き程度なら
ステートマシーンとパス追従で出来上がるだろ
980デフォルトの名無しさん:2011/06/13(月) 23:37:55.06
いやおれは読んだ奴と煽ってる奴がわかって楽しいw
981デフォルトの名無しさん:2011/06/13(月) 23:39:30.32
>>976
解説してもらわなきゃ分かんないの?w
982デフォルトの名無しさん:2011/06/13(月) 23:39:39.23
風呂からあがってみれば、この有様だよ。
ちょっとでも期待した俺が馬鹿だった。

もういいよ、JavaとC++のソース見つけたから、
そっち読むことにするわ。
983デフォルトの名無しさん:2011/06/13(月) 23:40:44.80
>>982
いやgooglepacmanは他のバージョンとは意味が違うぞ
984デフォルトの名無しさん:2011/06/13(月) 23:42:11.77
>>939 の馬鹿が読んでもいないgoogleのソースを
ドヤ顔で貼ったのが事の発端だな。

ということで、誰も理解してないということで、

〓〓〓 終了 〓〓〓
985デフォルトの名無しさん:2011/06/13(月) 23:42:36.59
>>984
そうしたかったんだねw
986デフォルトの名無しさん:2011/06/13(月) 23:43:25.61
>>983
意味が違うって?
987デフォルトの名無しさん:2011/06/13(月) 23:45:10.64
>>986
高級言語で書かれた本物のパックマンってことだよ
988デフォルトの名無しさん:2011/06/13(月) 23:45:57.34
ゲーム作るときはどこから手をつけるべきなのか
989デフォルトの名無しさん:2011/06/13(月) 23:48:21.44
( ´,_ゝ`)プッ
990デフォルトの名無しさん:2011/06/13(月) 23:48:53.80
>>989
あーあ恥ずかしい
991デフォルトの名無しさん:2011/06/13(月) 23:52:14.60
なんか知らんが、顔真っ赤な奴がいるな。
992デフォルトの名無しさん:2011/06/14(火) 00:11:35.22
993 忍法帖【Lv=7,xxxP】 :2011/06/14(火) 00:12:42.96
d
994デフォルトの名無しさん:2011/06/14(火) 00:27:24.77
g.switchMainGhostMode
this.dir = g.oppositeDirections[this.dir];
このあたりかな?
995デフォルトの名無しさん:2011/06/14(火) 00:57:25.57
プリプロセス後なのかmodeの値の意味を文脈から理解しなきゃいけないのがつらい
996デフォルトの名無しさん:2011/06/14(火) 01:12:55.23
煽り合いだと伸びるのにコードが出始めるとぴたっと止まるこのスレ
997デフォルトの名無しさん:2011/06/14(火) 01:23:52.30
まぁ、夜も遅いしな。
998デフォルトの名無しさん:2011/06/14(火) 01:26:36.34
そんなスレももう終わりです
タスクシステム・フォーエヴァー!
999デフォルトの名無しさん:2011/06/14(火) 04:09:28.71
ネバーエンディング・タスクシステム (いろんな意味でw
1000デフォルトの名無しさん:2011/06/14(火) 04:16:17.91
>>936
自機に(距離によって減衰する)匂いをつけて、敵はその匂いを辿っていく…
みたいな説明をどこかで読んだ気が。

適当にググったらこんなの出てきた。
http://stackoverflow.com/questions/623095/path-finding-in-a-java-2d-game
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。