ゲームプログラムなら俺に聞け17
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/05/22(日) 01:07:22.56ゲームプログラムなら俺に聞け16
http://hibari.2ch.net/test/read.cgi/tech/1298619221/
ゲーム開発に関してプログラムの観点からアプローチするスレッドです。
一応質問も受け付けます。
ソースをうpするとアドバイスがもらえるかもしれません。
次スレは>>950辺りでお願いします。
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
0002デフォルトの名無しさん
2011/05/22(日) 01:46:37.230003デフォルトの名無しさん
2011/05/22(日) 08:56:27.530004uy
2011/05/22(日) 09:07:32.820005デフォルトの名無しさん
2011/05/22(日) 09:12:52.170006デフォルトの名無しさん
2011/05/22(日) 09:21:47.480007デフォルトの名無しさん
2011/05/22(日) 09:26:53.990008デフォルトの名無しさん
2011/05/22(日) 11:18:53.92ひょっとしてプロの方はこのテクニックもうやってるんじゃないでしょうか
0009デフォルトの名無しさん
2011/05/22(日) 11:34:05.12配列で管理した方が楽なんじゃないだろうか
0010デフォルトの名無しさん
2011/05/22(日) 11:54:09.170011デフォルトの名無しさん
2011/05/22(日) 12:29:33.750012デフォルトの名無しさん
2011/05/22(日) 13:20:41.37データベースつってもSQLite以外の選択肢はないだろうけど。
それでも大した数じゃないんだから可変長配列とかで持ったほうがいいか。
0013デフォルトの名無しさん
2011/05/22(日) 13:24:59.890014デフォルトの名無しさん
2011/05/22(日) 13:29:30.710015デフォルトの名無しさん
2011/05/22(日) 13:36:40.05将棋の駒って最大40だろ?それくらい固定配列でいいと思うんだが
0016デフォルトの名無しさん
2011/05/22(日) 14:09:32.290017デフォルトの名無しさん
2011/05/22(日) 14:56:51.090018デフォルトの名無しさん
2011/05/22(日) 15:01:48.130019uy
2011/05/22(日) 16:33:50.940020デフォルトの名無しさん
2011/05/22(日) 16:34:22.12相互参照切るとこんどはグローバル地獄だし
どないせぇちゅうねん
0021デフォルトの名無しさん
2011/05/22(日) 16:36:22.540022デフォルトの名無しさん
2011/05/22(日) 16:51:34.25ゲームクラスはキャラとかのリストをもつし
キャラはゲームクラスからほかのゲーム要素と連絡を取る
どうやっても相互参照の形になる
0023デフォルトの名無しさん
2011/05/22(日) 16:54:44.58相互参照がまったくないってどういう状況だよ。
0024デフォルトの名無しさん
2011/05/22(日) 17:04:18.830025デフォルトの名無しさん
2011/05/22(日) 17:58:43.830026デフォルトの名無しさん
2011/05/22(日) 17:59:59.19> キャラはゲームクラスからほかのゲーム要素と連絡を取る
そのキャラのクラスは、ゲームクラスが抱える
他の全てのゲーム要素にアクセスする手段があるわけ?
つまり、ゲームクラスを介せばキャラクラスは他クラスにアクセスし放題?
そうであれば、キャラクラスにとって
他のクラスはグローバルであることとほとんど変わらず、
相互参照が複雑に絡む要因の一つになってると思う
そうではなく、アクセス制限を掛けられる何らかの手段があるのなら、
その制限を可能な限りきつくすることで、
相互参照の見通しを少しでもスッキリさせられる
0027デフォルトの名無しさん
2011/05/22(日) 20:36:29.05が、正しい設計を考えるより結んじゃったほうが早い、
という状況は結構ある
仕事でやるならTPOの問題
趣味でやるなら好きにしるww
0028デフォルトの名無しさん
2011/05/22(日) 20:58:12.380029デフォルトの名無しさん
2011/05/22(日) 21:08:53.38みたいなメッセージ情報構造体を作っておいて
void ReceiveMessage(MESSAGE Message);
みたいなメッセージ受信用のメソッド作っておくとかでいいんじゃない?
0030デフォルトの名無しさん
2011/05/22(日) 21:12:28.44int sender;
int receiver;
int info;
void* extra;
};
void send(msg m)
{
getEntity(m.receiver)->handle(m);
}
てきなやつじゃね
0031デフォルトの名無しさん
2011/05/22(日) 21:25:11.460032デフォルトの名無しさん
2011/05/22(日) 21:42:01.130033デフォルトの名無しさん
2011/05/22(日) 21:48:06.240034デフォルトの名無しさん
2011/05/22(日) 21:50:27.06お前がもう一度いろいろよく調べる必要がある
0035デフォルトの名無しさん
2011/05/22(日) 21:51:14.200036デフォルトの名無しさん
2011/05/22(日) 21:55:55.53たとえばひとつのメッセージを複数のオブジェクトがフックする場合なんかは
ないほうがいいかもね
receiver入れるってことは投げる側が受け取り側が誰かを知ってないといけないから
ある意味疎の相互参照とも言えるw
それでも面白いゲームできてるわけで
オブジェクト指向とかただのウンコじゃないの
0038デフォルトの名無しさん
2011/05/22(日) 22:04:43.060039デフォルトの名無しさん
2011/05/22(日) 22:09:37.41串刺し
0040デフォルトの名無しさん
2011/05/22(日) 22:21:34.930041デフォルトの名無しさん
2011/05/22(日) 22:32:26.47まずごめんなさいしろよクズ
0042デフォルトの名無しさん
2011/05/22(日) 22:34:27.29つってもラッパー作るのしんどいが
0043デフォルトの名無しさん
2011/05/22(日) 22:37:41.22どんな感じに謝ればいいですか?
0044デフォルトの名無しさん
2011/05/22(日) 22:42:07.28C++だとメンバ関数ポインタあるけどオブジェクトのポインタが必要になるじゃん。
オブジェクトのポインタ渡すってことはコールバック登録してる間は破棄できないじゃん。
ってことがわからないのかな。
そもそもオブジェクトをイベントマネージャーに渡してるかどうかもあやしい。
0045デフォルトの名無しさん
2011/05/22(日) 22:46:29.44必須ってわけでもない
0046デフォルトの名無しさん
2011/05/22(日) 22:50:47.760047デフォルトの名無しさん
2011/05/22(日) 22:54:56.500048デフォルトの名無しさん
2011/05/22(日) 22:59:16.880049デフォルトの名無しさん
2011/05/22(日) 23:03:11.10大丈夫。6社ほど見てきてるけどこんなレベル。
0050デフォルトの名無しさん
2011/05/22(日) 23:12:18.230051デフォルトの名無しさん
2011/05/22(日) 23:13:07.09ソースコードの良し悪しはわからないけど、成果物はできてるよ。
0052デフォルトの名無しさん
2011/05/22(日) 23:51:43.33なんでゲームプログラマーのコミュニティって盛り上がらないんだろうね
0053デフォルトの名無しさん
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());
わざわざこう書く理由がわからない
0054デフォルトの名無しさん
2011/05/23(月) 00:11:21.070055デフォルトの名無しさん
2011/05/23(月) 00:23:29.610056デフォルトの名無しさん
2011/05/23(月) 00:33:42.810057デフォルトの名無しさん
2011/05/23(月) 00:34:52.380058デフォルトの名無しさん
2011/05/23(月) 00:41:14.080059デフォルトの名無しさん
2011/05/23(月) 00:42:25.500060デフォルトの名無しさん
2011/05/23(月) 01:02:15.710061デフォルトの名無しさん
2011/05/23(月) 05:11:01.22やつらの実力は実際どの程度のものなんだろ
0062デフォルトの名無しさん
2011/05/23(月) 07:15:59.25囲碁ゲーム
0063デフォルトの名無しさん
2011/05/23(月) 09:24:43.830064デフォルトの名無しさん
2011/05/23(月) 10:00:53.44しかもプログラム関係無いし
0065デフォルトの名無しさん
2011/05/23(月) 11:01:57.160066デフォルトの名無しさん
2011/05/23(月) 11:02:35.79どんなプログラム組んでるんだろうな
0067デフォルトの名無しさん
2011/05/23(月) 11:23:13.180068デフォルトの名無しさん
2011/05/23(月) 15:19:49.080069uy
2011/05/23(月) 15:44:10.36俺もそれ気になる
何故ここでバグるっていう場所にバグが残ってる
でもそのバグがゲーム性の一部になったりもしてんだよなぁ
もし狙ってバグ( ゲーム進行には問題ないレベルの )入れてるならたいした発想と技術力
0070デフォルトの名無しさん
2011/05/23(月) 16:42:04.42直せなくて諦めたとしか思えないw
0071デフォルトの名無しさん
2011/05/23(月) 20:54:06.250072デフォルトの名無しさん
2011/05/23(月) 21:04:57.70日本版だと削除されているけど
0073デフォルトの名無しさん
2011/05/23(月) 23:14:33.900074デフォルトの名無しさん
2011/05/23(月) 23:16:31.92ソースは俺
0076デフォルトの名無しさん
2011/05/24(火) 00:28:24.540077デフォルトの名無しさん
2011/05/24(火) 07:00:16.46格闘ゲームの『キャンセル』も初めはバグだったらしいね
0078デフォルトの名無しさん
2011/05/24(火) 08:12:22.50不安になってきたよ
0079デフォルトの名無しさん
2011/05/24(火) 08:36:43.890080デフォルトの名無しさん
2011/05/24(火) 12:41:29.07ただし、くれぐれも職を失わないように
0081デフォルトの名無しさん
2011/05/24(火) 17:38:49.68オブジェクトが一つならまだしも複数あるとこれはめんどくさい
しかもメモリ効率も実行効率も悪い
さらに言うと共有オブジェクトが必要ないオブジェクトも子ツリーのどこで使うようになるかわからないからリレーに参加しないといけないから無駄
シングルトンの方があらゆる面で優れている
0082デフォルトの名無しさん
2011/05/24(火) 17:38:58.51それは仕組みをよく理解してないからじゃないか?
0083デフォルトの名無しさん
2011/05/24(火) 17:50:28.37ちゃんと引数で渡したらいいんと違う?
//A
un.unko(&chinko);
//B
un.unko();
こうやってAみたいにちゃんと引数で渡してあることで
「unkoの中でchinkoの中身を書き換えていますよ!」
って読み手にアピールすることは君が考えてるよりはるかに大事なことだよ
コーディングルールを「グローバル変数やスタティック変数を使わない」ってあれば
unkoの中の値の書き換えを気にするのは引数のchinkoとメンバ変数、ローカル変数だけになる
こうやってアクセスを限定することで影響範囲を小さくできるよね?
それに対してグローバル変数使いまくりのBはすべての値に気を配らないといけない
この差はでかい
タスクシステム的組方をするとBみたいになっちゃうけどゲーム会社ごとに文化があるね
タスクシステム的組方をするところとちゃんと引数で値渡して組むところじゃ
同じ規模のもん作ってもバグの数が10倍は違うw(マジで)
の先で何階層もchinkoが引数で渡されてたら
引数で渡した関数の中でchinkoが書き換えられてないか全部確認しないといけなくなるよね。
だったらunko関数の中のの何階層か先のchinkoを書き換えてる関数の中で
シングルトンでゲットすればその関数しか確認しなくていいよね
アセンブラでやってたころなんかアドレス指定でどこからでもデータ書き換えられたわけだけど面白いゲームできてるよね
0085デフォルトの名無しさん
2011/05/24(火) 18:42:52.54いまってそこ問題じゃないでしょ?
話の主旨ちゃんと理解してる?
問題はun.unkoが実行された前後でどの変数の値が変わっているかBではわからないってことだよね?
un.unkoの引数にchinkoが渡ってるんだからchinkoが変更されるかもしれないことはAの場合はもうわかるからいいよね?
問題にならないよね?
でもBではなにもわからないよね?
chinkoが変更されるのかも別の変数のmankoが変更されるのかもしれないよね?
ぶっちゃけグローバルにした変数すべての変更を監視しないとダメだよね?
問題の切り分けできてる?
0086デフォルトの名無しさん
2011/05/24(火) 19:11:50.82徹底すると結構面倒そうだけど
0087デフォルトの名無しさん
2011/05/24(火) 19:12:43.960088デフォルトの名無しさん
2011/05/24(火) 19:25:43.700089デフォルトの名無しさん
2011/05/24(火) 20:07:51.50un.unko(&chinko,&manko,&kan,&edano,&simizu,....)
って増えていって美しくないな
引数で書かずにシングルトンを使えば
仕様変更or追加で新しいサブシステムを追加したときにそれを使う側のコードのみ変更すればいいということに気がつく
引数で渡していくルールにするとそのシステムを使用していないクラスも含めてすべてのコードに修正を加えなければならない
これは大変な作業量になる
変数が書き換わるかどうかが分かって嬉しいねなんていうちっぽけな利点では覆すことはできない
最初っから常に変化しうると考えてコードを書けば事足りるしそれでなにも難しいことはない
0090デフォルトの名無しさん
2011/05/24(火) 20:16:18.11つ構造体
0091デフォルトの名無しさん
2011/05/24(火) 20:16:34.330092デフォルトの名無しさん
2011/05/24(火) 20:21:32.86しかも、面倒臭そう・・・ってただの思い込みだけだし
実際やったことないでしょ?
技術者として死んでる
俺からしたら関数通過するごとにすべてのグローバル変数に気を配るほうがありえんわ
0093デフォルトの名無しさん
2011/05/24(火) 20:22:58.40struct share { share_a a; share_b b ; 〜〜〜 } ;
void aaa::bbb( hoge * p);
こうしろというのかい?
これじゃあbbbの中でどれが変更したのかが明瞭っていう引数派唯一の雀の涙ほどの利点すら消えてなくなるね
構造体で一括りにして渡していたら一体どのシステムが使われて変更されたのかまるでわからないまったくもって残念なアイデアだよ
0094デフォルトの名無しさん
2011/05/24(火) 20:24:26.19もはや、全然関係ないこと口走りはじめたな
デバッガ使ったことないみたいなセリフはいてるけど頭大丈夫か?
0095デフォルトの名無しさん
2011/05/24(火) 20:28:49.61お前が「思い込みだし」って思い込んでるよ
めんどくさそうなんて言ってるのどこからか迷い込んだアイちゃんの1レスだけだろ
0096デフォルトの名無しさん
2011/05/24(火) 20:32:16.28今はデバッガの話こそ関係ないだろう
コーディングルールの良し悪しを議論している段階だ
コンパイル前の話しをしてんだよ
0097デフォルトの名無しさん
2011/05/24(火) 20:35:47.810098デフォルトの名無しさん
2011/05/24(火) 20:40:24.72実行時のデバッグより百万倍大事だろうが
0099デフォルトの名無しさん
2011/05/24(火) 20:42:19.17やったことあるの?ないの?
早くいってみろよ
0100デフォルトの名無しさん
2011/05/24(火) 20:42:49.610101デフォルトの名無しさん
2011/05/24(火) 20:58:14.52引数だろうがグローバルだろうが変更されたことは分かるよね
0102デフォルトの名無しさん
2011/05/24(火) 21:03:42.54コーディングルールってのが素人っぽくって
0103デフォルトの名無しさん
2011/05/24(火) 21:08:36.67切なくなる気がする
0104デフォルトの名無しさん
2011/05/24(火) 21:12:48.690105デフォルトの名無しさん
2011/05/24(火) 21:16:10.27自信がないのかもしれないきがする
0106デフォルトの名無しさん
2011/05/24(火) 21:51:36.870107デフォルトの名無しさん
2011/05/24(火) 22:18:26.070108デフォルトの名無しさん
2011/05/24(火) 22:40:10.380109デフォルトの名無しさん
2011/05/24(火) 22:53:17.26引数で渡すのが面倒だからグローバル変数w
0110デフォルトの名無しさん
2011/05/24(火) 23:02:19.70グローバルはダメっていってシングルトン乱れ咲きっていうのはよくある風景
0111デフォルトの名無しさん
2011/05/24(火) 23:14:36.58何事も柔軟に考える姿勢は大切だよ
0112デフォルトの名無しさん
2011/05/24(火) 23:21:51.19むしろ、シングルトンだったらグローバル変数のがまだましだわ
それに>>83の問題をシングルトンで回避した上で言ってるの?
結局、引数嫌だからグローバル変数の思考は変わらないんでしょ?
0113デフォルトの名無しさん
2011/05/24(火) 23:26:28.80なにも知らずかんがえず使ってるってことはわかった
0114デフォルトの名無しさん
2011/05/25(水) 00:35:23.370115デフォルトの名無しさん
2011/05/25(水) 01:21:13.64これを避けるため、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つ変更するだけで全コンパイル?
0116デフォルトの名無しさん
2011/05/25(水) 01:34:15.670117デフォルトの名無しさん
2011/05/25(水) 02:02:11.32前方宣言とかインターフェースとか使えよ。
0118デフォルトの名無しさん
2011/05/25(水) 02:04:15.77何がなんだかさっぱりだ。
0119デフォルトの名無しさん
2011/05/25(水) 02:15:38.870120デフォルトの名無しさん
2011/05/25(水) 02:32:40.860121デフォルトの名無しさん
2011/05/25(水) 02:53:17.01だからゲームなら「画面管理クラス」とかに適用できる(というか沢山存在しても困る)。
グローバル:普通にユーザが別のインスタンスを生成できるからダメ。
引数で参照渡し:普通にユーザが別のインスタンスを生成したり参照渡ししたりできるからダメ。
俺々ゲームライブラリ作っててこういう結論に達した。
上の議論とはちと主旨が違う気もするが、シングルトンは変に拒否反応すべきもんじゃない。
0122デフォルトの名無しさん
2011/05/25(水) 02:57:01.09class Teki
{
private:
int HP;
public:
setHitPoint(int n){HP = n;}
int getHitPoint(){return HP;}
0123デフォルトの名無しさん
2011/05/25(水) 02:57:52.880124デフォルトの名無しさん
2011/05/25(水) 03:00:11.842つ存在して困るってのは大抵「今作ってる」アプリケーションの都合であって
クラスにねじ込むもんじゃない。
「画面管理クラス」が画面ひとつに対応するとして、同じクラスを使って
2画面3画面に画面分割されたアプリケーションや、実際に画面が2つある環境で
動くアプリケーションを構築することだって考えられるだろう。
グローバルアクセスを欲しいがための言い訳でしかないよ。
素直にグローバル変数使ってるほうがクラスに混ぜ込んでないぶんまだマシ。
0125デフォルトの名無しさん
2011/05/25(水) 03:05:52.240126デフォルトの名無しさん
2011/05/25(水) 03:17:59.71患者でもあるという相関が見られるようである。
また、ゲームプログラマに発症例が多く見られるようでもある。
いったい出所はどこなのか?
0127デフォルトの名無しさん
2011/05/25(水) 03:20:15.48治すにはどうしたらいいですかw
0128デフォルトの名無しさん
2011/05/25(水) 03:38:12.57案の定多画面のこと突っ込まれてしまった。例えに突っ込まれるとどうしようもない。
でも自分のライブラリでは画面管理は一つの実体がするものと考えてるから
2つ以上必要であれば、シングルトンは使わない。
重要なのは、実体が一つしか存在してはいけない時、シングルトンを使うべきということ。
でないと上でいった通りの不都合が必ず生じる。
>>125
単なるグローバル変数と一緒なわけない。
それだと、ユーザが勝手にローカル領域で
{
Foo foo;
foo.bar(); //グローバルでなくローカルのfooが参照される
}
とかできてしまうからシングルトンを適用した。と言ったつもり。
0129デフォルトの名無しさん
2011/05/25(水) 03:53:19.20だからさ、「2つ以上必要」っていうのはアプリケーションレベルでしか判断できないだろ?
それを下位のライブラリやさらに下位のクラスなんかで決め付けちゃうのがおかしいんだよ。
あとな、インスタンス作られて困るようなクラスなら、なんのためにヘッダで宣言するの?
最初っからクラスなんて置かずにただの foo_bar() だけ提供しとけばいいんじゃないの?
過去ログにまったく同じ流れがあったんで貼っとく。
http://logsoku.com/thread/hibari.2ch.net/tech/1281851738/732-
0130デフォルトの名無しさん
2011/05/25(水) 03:57:29.13みんな仕事中にチラチラみて書きこんでるんでしょう?
変にストレス上げるなよw
0131デフォルトの名無しさん
2011/05/25(水) 04:06:34.940132デフォルトの名無しさん
2011/05/25(水) 06:41:01.01本当に隠したいなら別の手段を用意したいところ。
……と思ってるんだけど、あんまり周りが同意してくれない(´・ω・`)
0133デフォルトの名無しさん
2011/05/25(水) 06:54:11.330134デフォルトの名無しさん
2011/05/25(水) 07:29:04.940135デフォルトの名無しさん
2011/05/25(水) 08:06:07.570136デフォルトの名無しさん
2011/05/25(水) 08:21:34.100137デフォルトの名無しさん
2011/05/25(水) 08:47:00.61偉いひともシングルトン使ってるから問題ないだろ!
0138デフォルトの名無しさん
2011/05/25(水) 09:13:36.74普通はグローバルアクセスだろ
0139デフォルトの名無しさん
2011/05/25(水) 09:17:44.99・シングルトン
・その変数の任意の状態遷移がプログラムにおいて許される
(変数の状態を把握する必要が無い)
の両方を満たすとき。
0140デフォルトの名無しさん
2011/05/25(水) 09:26:47.70性質的にはスタティック変数だから副作用をもつ。
このあたりを意識したシングルトン利用のコードを見たことない。
0141デフォルトの名無しさん
2011/05/25(水) 09:33:12.01シングルトン恐怖症の連中の主張は例えるならこれね
でも実際には包丁をどう使えば危ないかなんてのは料理少しすればわかるから事故の確率など現実的に皆無になる
要するにこの包丁の例えのようにシングルトンを拒否するということは正しく副作用を認識していないだけなんだよ
自分の解らないものは恐いからさわりたくない
無知から来る恐怖感でシングルトンを不当に否定する
正しい知識をもった人ならシングルトンを使いこなせる
そうでない無能なら事故を起こすから頑なに拒否の姿勢をとる
否定派はシングルトンを否定する前に自分が無能であることをよく認識して猛省せよ
0142デフォルトの名無しさん
2011/05/25(水) 09:44:26.540143デフォルトの名無しさん
2011/05/25(水) 09:48:04.02包丁なのか原発なのか通り魔なのか
0144デフォルトの名無しさん
2011/05/25(水) 09:50:50.17疑似乱数ルーチン
0145デフォルトの名無しさん
2011/05/25(水) 09:51:43.49宗教論争にこれ以外の正解なんてあるのか?
0146デフォルトの名無しさん
2011/05/25(水) 09:52:45.090147デフォルトの名無しさん
2011/05/25(水) 09:54:01.410148デフォルトの名無しさん
2011/05/25(水) 09:58:34.74シードが管理されてないゲームは再現性なくてバグとり困難て初歩だが
0149デフォルトの名無しさん
2011/05/25(水) 09:58:37.020150デフォルトの名無しさん
2011/05/25(水) 10:18:56.19プログラムの責任を負うのはメインの一人だけだろ
どうもこのくだらない議論を見てると画面()しか作ったことの無いような
真性デジドカが紛れ込んでるように見えて仕方ない
0151デフォルトの名無しさん
2011/05/25(水) 10:26:48.53は?シードは管理するだろ。あほじゃね?
0152デフォルトの名無しさん
2011/05/25(水) 10:27:25.520153デフォルトの名無しさん
2011/05/25(水) 10:30:35.680154デフォルトの名無しさん
2011/05/25(水) 10:31:57.59お前がアホだから。
0155デフォルトの名無しさん
2011/05/25(水) 10:33:41.55疑似乱数は数少ない例外だろ
0156デフォルトの名無しさん
2011/05/25(水) 10:42:38.190157デフォルトの名無しさん
2011/05/25(水) 10:45:27.730158デフォルトの名無しさん
2011/05/25(水) 10:46:23.18最後はジャンケン
スマブラでも可
0159デフォルトの名無しさん
2011/05/25(水) 10:48:12.190160デフォルトの名無しさん
2011/05/25(水) 10:49:21.37ブロック崩し作ったわボケカス
0161デフォルトの名無しさん
2011/05/25(水) 11:11:07.240162デフォルトの名無しさん
2011/05/25(水) 11:19:52.190163デフォルトの名無しさん
2011/05/25(水) 11:24:19.060164デフォルトの名無しさん
2011/05/25(水) 11:27:07.440165デフォルトの名無しさん
2011/05/25(水) 11:30:17.910166デフォルトの名無しさん
2011/05/25(水) 11:32:02.870167デフォルトの名無しさん
2011/05/25(水) 11:44:36.29同一スレッド内でしか共有しないなら同期処理はしない
これぐらい当たり前の話だと思うんだけど…
シングルトンならただちに同期処理がーって考えてる人って
設計段階で何と何が同期するとか考えないで作るの?
0168デフォルトの名無しさん
2011/05/25(水) 11:48:22.460169デフォルトの名無しさん
2011/05/25(水) 11:51:11.100170デフォルトの名無しさん
2011/05/25(水) 12:25:59.390171デフォルトの名無しさん
2011/05/25(水) 12:26:29.030172デフォルトの名無しさん
2011/05/25(水) 12:28:42.420173デフォルトの名無しさん
2011/05/25(水) 14:08:15.190174デフォルトの名無しさん
2011/05/25(水) 14:17:23.06わずかな報酬 極寒
暗黒の長い月日
絶えざる危険
生還の保証無し
成功の暁には名誉と賞賛を得る
0175デフォルトの名無しさん
2011/05/25(水) 15:00:40.31ゲームPGは、
名前がどうあろうと1つのクラスに大量に詰め込む人が多い罠
0176デフォルトの名無しさん
2011/05/25(水) 15:07:03.82別に間違った設計とは思えない。
0177デフォルトの名無しさん
2011/05/25(水) 15:20:52.650178デフォルトの名無しさん
2011/05/25(水) 15:25:21.910179デフォルトの名無しさん
2011/05/25(水) 15:49:14.760180デフォルトの名無しさん
2011/05/25(水) 16:17:04.790181デフォルトの名無しさん
2011/05/25(水) 16:19:08.430182デフォルトの名無しさん
2011/05/25(水) 16:20:44.94個々の要素は小さく、独立したものを作るよ
0183デフォルトの名無しさん
2011/05/25(水) 16:36:00.640184デフォルトの名無しさん
2011/05/25(水) 20:15:22.970185デフォルトの名無しさん
2011/05/25(水) 20:17:02.620186デフォルトの名無しさん
2011/05/25(水) 20:47:19.35結婚しろよお前ら。
0188デフォルトの名無しさん
2011/05/25(水) 21:00:57.15え?
0189デフォルトの名無しさん
2011/05/25(水) 21:33:18.50実際にどうやればいいのかわかりません
例えばキャラクターにx座標を設定し、そのx座標を使うときは
class chara{
private:
int x;
public:
int show(){
return this->x
;}
;};
こんな感じであらゆるパラメータを全てカプセル化したほうがいいんでしょうか?
0190デフォルトの名無しさん
2011/05/25(水) 21:35:44.830191デフォルトの名無しさん
2011/05/25(水) 21:42:57.12ありがとうございます
がんばります
0192デフォルトの名無しさん
2011/05/25(水) 21:43:23.08そこまで気にするならIF分離で継承。
0193デフォルトの名無しさん
2011/05/25(水) 21:45:45.74操作するキャラクタが一つであることが確定してるなら、大域変数として宣言する方がスマート。
カプセル化は不要。
0194デフォルトの名無しさん
2011/05/25(水) 21:51:01.98おま、、、
0195デフォルトの名無しさん
2011/05/25(水) 21:51:05.24困ってから直せば良いってのもあるが
0196デフォルトの名無しさん
2011/05/25(水) 21:56:39.62addDamage(num)
getLife()const
setLife(num)
とか、間接的にアクセスすれば、
無敵にしたいときとか、Log吐きたいとか、Effect入れたいときとか、
色々捗るだろ?
0197デフォルトの名無しさん
2011/05/25(水) 22:01:04.33またROMに戻る
0198デフォルトの名無しさん
2011/05/25(水) 22:11:43.480199デフォルトの名無しさん
2011/05/25(水) 22:12:11.990200デフォルトの名無しさん
2011/05/25(水) 22:25:17.04そんなのと会話とかこっちから願い下げだよ?
0201デフォルトの名無しさん
2011/05/25(水) 23:36:19.86int xがpublicだと、後でxをyに変更したくなった時、
chara.xでコードを書いちゃった人たちにたくさん「ごめんなさい」しないといけない。
show()だけをpublicにしておけば、後でこっそりxをyに変えても「ごめんなさい」しないで済む。
0202デフォルトの名無しさん
2011/05/25(水) 23:42:09.76実際に困った状況に陥らないと、何が問題なのか本人には見えてこない
0203デフォルトの名無しさん
2011/05/25(水) 23:49:28.13社会の常識
0204デフォルトの名無しさん
2011/05/25(水) 23:58:59.24例えばそれに1フレームキャラクターを移動させる処理を追加で
void chara::move(){
// この中でclass内のいろんな変数や関数・定数を呼び出すらしい
// なので、クラスだけで利用すればいい変数とかは全部privateにしておける
}
まぁ、外からアクセス出来る変数や関数を出来るだけ減らせば、
そのクラスを使う人も、クラスの中身を書き換える時も影響は少ないね
っていうのがカプセル化だし
0205デフォルトの名無しさん
2011/05/26(木) 00:19:19.49chara.x = 300; //とか = a;とか
if(chara.x > 100) chara.x = 100;
万が一if文を抜いてる所が合ったらそこで制限を越えてxに値が入るかも。
でもprivateにしてsetX(int)でしか更新できないようにすると、
chara.setX(300); //100にするとかsetXで勝手にやる
というように、呼出側はxをいじる度にif文の書き忘れに震える必要がない。
つまり、変数いじるのに一様な制限したいならprivateにした方がよくなくなくない?
0206デフォルトの名無しさん
2011/05/26(木) 00:42:48.600207デフォルトの名無しさん
2011/05/26(木) 06:13:30.63周りに通知せずにx座標を返すはずだったものをy座標を返すように変更したら
それこそ土下座が必要になるとおもうのだが。
そもそも例えがあり得なさすぎて不適切。
>>205
そんなことは数値入力の度に処理すべき事ではない。
上限なり下限なりが必要かどうかは局面が決定すること。
遭遇してからそのつど必要な分だけ処理すべきだ。
いいか、お前ら。データが手続きを所有してはならない。
局面がデータと手続きを所有すべきなんだ。
0208デフォルトの名無しさん
2011/05/26(木) 07:36:27.24買って!買って!
http://www.dlsite.com/home/work/=/product_site/1/product_id/RJ074526.html
0209デフォルトの名無しさん
2011/05/26(木) 08:10:50.55問題ないよ
xがyに変わったことはおろか、今までアクセスしていたのがそもそもxだったのかすら解らないからね
そしてそれがわからなくても全く問題がないのがカプセル化の素晴らしいところ
おじいちゃんには難しいかもしれないけどね
0210デフォルトの名無しさん
2011/05/26(木) 08:50:01.58名前を変える必要はどこにもないから、名前が変わったらなどという関係無い話を持ち出すのは無意味だし、
アクセス手段の名前を変えるという話であればshow()の名前を勝手に変更する話を持ってこなければおかしい。
0211デフォルトの名無しさん
2011/05/26(木) 08:53:21.89きちんとExcelで変数一覧を作って管理しろ。
0212デフォルトの名無しさん
2011/05/26(木) 09:43:04.120213デフォルトの名無しさん
2011/05/26(木) 09:59:01.30笑えない笑い話
0214デフォルトの名無しさん
2011/05/26(木) 10:02:22.85つまり・・・
0215デフォルトの名無しさん
2011/05/26(木) 10:54:48.01D言語使えばgetter/settterのメリットの大半が無意味だったりするから
C++erは老害ってこと?
0216デフォルトの名無しさん
2011/05/26(木) 11:28:47.340217uy
2011/05/26(木) 13:41:16.570218デフォルトの名無しさん
2011/05/26(木) 14:36:13.410219デフォルトの名無しさん
2011/05/26(木) 14:45:32.03いつまでたってもゲームができないんだよお前らは
0220デフォルトの名無しさん
2011/05/26(木) 14:51:14.730221デフォルトの名無しさん
2011/05/26(木) 16:41:48.350222デフォルトの名無しさん
2011/05/26(木) 16:54:38.82教えるほどの技術もってないくせに
0223デフォルトの名無しさん
2011/05/26(木) 17:01:38.190224デフォルトの名無しさん
2011/05/26(木) 19:56:00.15うーん
0225デフォルトの名無しさん
2011/05/26(木) 21:11:17.65データをセットする時、例外送出「処理」は一緒にされないと困るだろーが。何言ってんだ。
上の例では勝手に100に変えていたが、次のように変更。
setX(int a) throws HogeException
{
if(a>100) throw new HogeException();
else x = a;
}
これでもピンと来ないわけ? 整数配列の配列サイズを越えて代入しようとしたときとかどうするわけ?
てか局面てなんだよ。日本語のお遊びしたいんじゃねーよ。
そんなら、偶数を表す数値クラスEvnumをつくり、-1や1を代入したら(しようとしたら)どうするか
>>207ならどういうプログラム書くわけ?
0226デフォルトの名無しさん
2011/05/26(木) 21:39:03.580227デフォルトの名無しさん
2011/05/26(木) 21:39:52.200228デフォルトの名無しさん
2011/05/26(木) 22:04:14.40もうコア部分以外全部スクリプトでいいじゃんこれwwwww
0229デフォルトの名無しさん
2011/05/26(木) 22:08:26.890230デフォルトの名無しさん
2011/05/26(木) 22:08:40.11Windows Game Library って主にどんな用途で使用するの?
具体例を頼む
0231デフォルトの名無しさん
2011/05/26(木) 22:09:30.57たとえばどの言語だ?
0232デフォルトの名無しさん
2011/05/26(木) 23:14:17.27ゲーPG自作スクリプト
IDEにデバッガ機能のないスクリプト言語
0233デフォルトの名無しさん
2011/05/27(金) 00:16:28.84シングルトンとかカプセル化とか。
趣味のゲープロ10年やってるけどそんなものに一度も行き当たらなかった。
0234デフォルトの名無しさん
2011/05/27(金) 01:20:51.080235デフォルトの名無しさん
2011/05/27(金) 05:02:20.00OOP厨は微妙に勘違いしてるが
0236デフォルトの名無しさん
2011/05/27(金) 05:02:54.130237デフォルトの名無しさん
2011/05/27(金) 06:23:27.19カプセルに穴空きまくりでまともなPG経験無いに等しいから業務PGになったときに辛いぞ
0238デフォルトの名無しさん
2011/05/27(金) 06:30:14.01構造体とは対極の概念じゃねーか
0239デフォルトの名無しさん
2011/05/27(金) 07:28:59.670240デフォルトの名無しさん
2011/05/27(金) 07:34:48.930241デフォルトの名無しさん
2011/05/27(金) 08:43:29.680242デフォルトの名無しさん
2011/05/27(金) 08:45:13.69延長というのはOOP以前からやってる奴の感覚
どちらも正しい
0243デフォルトの名無しさん
2011/05/27(金) 09:19:51.41本質はまとめることじゃなくて抽象化です。
あんたが完全に間違ってます。
0244デフォルトの名無しさん
2011/05/27(金) 09:25:51.38構造体をデータ抽象化として捉えられないなら
本質を理解してないとしか言えない
0245デフォルトの名無しさん
2011/05/27(金) 09:29:09.660246デフォルトの名無しさん
2011/05/27(金) 09:31:09.750247デフォルトの名無しさん
2011/05/27(金) 09:33:20.97C++のstruct構文やclass構文の話と、データ抽象とかの使い方の話をごっちゃにして話すから噛み合わないだけだろ
構造体ですらないが、たしかK&Rの最初static変数でstack作るやつはCにおけるカプセル化の例だったと思う
0248デフォルトの名無しさん
2011/05/27(金) 10:06:00.41データ(複数でもいいけど)をカプセルに入れて「隠す」という意味で一般的には使われてますの。
まぁ猫も人間も似たようなもんだし、構造体もカプセル化も似たようなもんってことでいいよ。
0249デフォルトの名無しさん
2011/05/27(金) 10:11:14.290250デフォルトの名無しさん
2011/05/27(金) 10:11:31.40当たり前だったからね
低能には分からないのかもしれないけど
0251デフォルトの名無しさん
2011/05/27(金) 10:20:07.030252デフォルトの名無しさん
2011/05/27(金) 10:22:35.63あれを.cにだけ書くようにすれば完全にカプセル化できる
0253デフォルトの名無しさん
2011/05/27(金) 10:34:45.160254デフォルトの名無しさん
2011/05/27(金) 10:40:51.79他のUnixにもってくとコンパイルできない
0255デフォルトの名無しさん
2011/05/27(金) 12:04:13.820256デフォルトの名無しさん
2011/05/27(金) 15:02:32.910257デフォルトの名無しさん
2011/05/27(金) 18:03:19.610258デフォルトの名無しさん
2011/05/27(金) 18:09:05.35マネージャーには絶対向かないタイプ
0259デフォルトの名無しさん
2011/05/27(金) 18:40:50.39これ書いたのは、学生だしな、
趣味のコードだからな
でも、結果的に世界的ヒットしたし。知らない奴、いないし
0260デフォルトの名無しさん
2011/05/27(金) 18:46:47.640261デフォルトの名無しさん
2011/05/27(金) 18:48:29.570262デフォルトの名無しさん
2011/05/27(金) 19:05:21.03そんな話を読んだな。けっこうヒットした作品だったと思う。
0263デフォルトの名無しさん
2011/05/27(金) 19:29:43.790264uy
2011/05/27(金) 20:50:07.44そのゴミはだれ?
lambdaでかいてない時点でゴミ
>>247
え、statcで、え、なんだって?w は?www
そのコードって当然、内部のstatic変数のポインタは、別変数からアクセスできるようになってるんだろうな?
ローカルスタティック変数は、小規模プログラムしか使っちゃいけないもんだぞ
K&Rってけっこう高学歴な書籍だと思ったんだけど
そんなゴミみたいなソースコードが載ってるのか
0265uy
2011/05/27(金) 20:52:51.87完全にどんな方法を使っても、カプセル化された変数にアクセス出来ない設計はゴミだからな
カプセル化された変数には、カプセル化された変数参照のための関数を用意しろよ
0266デフォルトの名無しさん
2011/05/27(金) 21:31:21.770267デフォルトの名無しさん
2011/05/27(金) 21:48:41.26だったら関数ローカルなstatic変数のわけないだろ
それくらいの想像も出来ないほどアホなら煽るな
0268デフォルトの名無しさん
2011/05/27(金) 21:54:12.30知らなかった方はこの機会に是非覚えておいて下さい
0269デフォルトの名無しさん
2011/05/27(金) 23:57:09.240270デフォルトの名無しさん
2011/05/28(土) 00:07:25.840271デフォルトの名無しさん
2011/05/28(土) 00:09:58.200272uy
2011/05/28(土) 00:49:05.68はぁ?wwwwwwwwwwwwwww
カプセル化じゃねーじゃんwwwwwバカスwwwwwwww
もしかして1ファイルまるまる使ってスタックごときを実装ですかあ?w
>>266
はぁ?WWWWWWWW
>カプセル化された変数には、カプセル化された変数参照のための関数を用意
これは基本だぞ
0273デフォルトの名無しさん
2011/05/28(土) 01:38:08.130274デフォルトの名無しさん
2011/05/28(土) 01:42:32.92お前が書いたこーどみてみたい。
テトリスレベルの作ってどっかにUPしてよ
0275デフォルトの名無しさん
2011/05/28(土) 02:00:56.700276デフォルトの名無しさん
2011/05/28(土) 02:02:24.66テトリスだと適当にパクってくるかもだし
ゲ製の土日スレのお題でもさくっと作ってもらおうか
0277デフォルトの名無しさん
2011/05/28(土) 02:03:34.92必要になってから関数化しても間に合う
0278デフォルトの名無しさん
2011/05/28(土) 02:06:05.250279uy
2011/05/28(土) 02:39:08.54lambdaでかくのか
OOでかくのか
手続きでかくのか選べよ
0280デフォルトの名無しさん
2011/05/28(土) 03:15:54.280281uy
2011/05/28(土) 03:22:40.760282デフォルトの名無しさん
2011/05/28(土) 03:42:15.460283デフォルトの名無しさん
2011/05/28(土) 04:29:11.320284デフォルトの名無しさん
2011/05/28(土) 06:39:35.630285デフォルトの名無しさん
2011/05/28(土) 07:54:50.18目が出た!
0286デフォルトの名無しさん
2011/05/28(土) 08:18:07.800287デフォルトの名無しさん
2011/05/28(土) 08:58:40.18大して手間かわらねーんだから最初からやっとけよ。一人で作ってんのか?
0288デフォルトの名無しさん
2011/05/28(土) 09:00:19.820289デフォルトの名無しさん
2011/05/28(土) 09:05:01.370290デフォルトの名無しさん
2011/05/28(土) 09:26:22.400291デフォルトの名無しさん
2011/05/28(土) 09:27:19.780292デフォルトの名無しさん
2011/05/28(土) 09:38:33.010293デフォルトの名無しさん
2011/05/28(土) 09:47:29.960294デフォルトの名無しさん
2011/05/28(土) 10:12:43.300295デフォルトの名無しさん
2011/05/28(土) 10:21:50.62再利用を前提にして設計するんじゃなく、一本ソフトを完成させてから、
他に流用できそうな処理を抽出して汎用クラスとして設計しなおす。
0296デフォルトの名無しさん
2011/05/28(土) 10:30:47.860297デフォルトの名無しさん
2011/05/28(土) 10:42:21.42このくらいの謙虚さが必要だよね
一回で廃棄になるなんたらシステム・マネージャー多すぎ
0298デフォルトの名無しさん
2011/05/28(土) 11:28:00.860299デフォルトの名無しさん
2011/05/28(土) 12:21:53.98>>208
0300デフォルトの名無しさん
2011/05/28(土) 12:58:15.67それ4つも売れてるんだなwワロタwww
0301デフォルトの名無しさん
2011/05/28(土) 13:13:58.880302デフォルトの名無しさん
2011/05/28(土) 13:17:10.560303uy
2011/05/28(土) 14:11:09.24lambdaで書く為の根幹のソースが最初から700行あるからちゃんとそれも読めよ
理解できればな・・・
0304デフォルトの名無しさん
2011/05/28(土) 14:15:45.980305デフォルトの名無しさん
2011/05/28(土) 14:19:46.730306デフォルトの名無しさん
2011/05/28(土) 15:04:18.190307デフォルトの名無しさん
2011/05/28(土) 15:13:38.32インドって意外とIT盛んだし。
0308デフォルトの名無しさん
2011/05/28(土) 15:27:06.590309デフォルトの名無しさん
2011/05/28(土) 16:17:12.38今は説明は要らない、書き終わってアップしたら報告だけしてくれ
無駄話しないでコードを書くことだけに集中しろ
0310ゲームプログラマー祐司
2011/05/28(土) 16:53:44.16腕前はなかなかのもので、年収も10億円を超えていた。
ある日、祐司が道を歩いていると、突然尿意を催した。
ふと前を見るとそこには閉店直前のデパート。
祐司は迷わず駆け込み、トイレへと走った。
トイレのノブを回した瞬間祐司は妙な恐怖を感じたが、襲いかかる尿意に追い立てられ、飛び込んで用を足した。
ドアの閉まる音が無人のトイレに不気味に響く。
祐司が手を洗ってトイレを出ようとしたとき、最初に感じたえもいわれぬ恐怖が具体的な形となって目の前に現れた。
祐司はこのとき自分がトイレに永久に閉じ込められたことを悟った。
冷たい汗が頬を背中を伝い、あまりの恐怖と絶望に呆然と立ち尽くす。
祐司が見たもの・・・それはトイレのドアノブにべっとりと塗られた大量のウンコだったのだ。
TO BE CONTINUED→
危うしゲームプログラマー祐司! どうするゲームプログラマー祐司!
0311デフォルトの名無しさん
2011/05/28(土) 16:55:26.980312デフォルトの名無しさん
2011/05/28(土) 17:05:36.030313デフォルトの名無しさん
2011/05/28(土) 17:06:30.43これがベストだ!って大きい声で言える奴はより良いコードを探求しないからダメな奴が多い。そして老害になっていく。
0314デフォルトの名無しさん
2011/05/28(土) 17:21:40.360315デフォルトの名無しさん
2011/05/28(土) 17:23:36.350316デフォルトの名無しさん
2011/05/28(土) 17:57:52.010317uy
2011/05/28(土) 19:45:17.98読めるといいですね
つうかテトリス程度だと何で書いても同じ、
もう少しシーン数の多いゲームじゃないとつまらなかった
大きく分けて、3つの概念がある
1 基底クラス( 全てのノードはこれで生成する )
似たような関数いっぱいあるけどあれは状況に応じて使い分けるだけ
2 lambdaライブラリ( よく使うと思われる関数の雛形 )
アルゴリズムの抽象化を考えたことのない子には一生、縁のないもの、今回は殆ど使ってない
3 テンプレート ( よく使うと思われる処理の雛形 )
これも。アルゴリズムの抽象化を考えたことのない子には一生、縁のないもの扱えないもの
Title画面でやってるように
やろうと思えばおおよそのことはnode_task_templateへの引数指定で作れる
こ れ す ら 読めない子には二度と話かけんなよ
0318デフォルトの名無しさん
2011/05/28(土) 20:14:41.370319デフォルトの名無しさん
2011/05/28(土) 20:57:53.79煽り口調うざいけど、ちゃんと手を動かすなんてえらいな
上の方で俺のレスにK&Rがクソだとか煽ってたみたいだから煽り返そうと思ったけどやめとくわ
ただruby読めね。あとしねEXEは怖くて実行できね
このスレならC++で書いた方が分かる人多いだろ。rubyも読めないんですかーwって煽りたいだけかな
0320デフォルトの名無しさん
2011/05/28(土) 21:10:16.790321デフォルトの名無しさん
2011/05/28(土) 21:20:06.85exeとrbとかいうゴミファイルしか無いんだけど
0322デフォルトの名無しさん
2011/05/28(土) 21:23:40.370323デフォルトの名無しさん
2011/05/28(土) 21:24:57.62どっちにしろlinuxで動かないから俺にはゴミファイルだけど
0324デフォルトの名無しさん
2011/05/28(土) 21:37:36.30もうちょっと結果が評価できるもの作れよ
0325デフォルトの名無しさん
2011/05/28(土) 21:42:06.250326デフォルトの名無しさん
2011/05/28(土) 22:07:45.600327デフォルトの名無しさん
2011/05/28(土) 22:09:24.070328uy
2011/05/28(土) 22:15:20.87二度と話かけんなよ
昔はC++だった。けどrubyでいけそうだったからrubyに乗り換えた
>>320
デフォじゃねえよ
漏れは、ライブラリのほうをよくいじりながら作るから
ある程度の所までは1ファイルのほうが都合がいい
>>321-325
はぁ?
二度と話かけんなよ
つか、ゲームPGって、C++でメッセージループかいて、ゲーム内容にスクリプト言語じゃないの?
そこにRuby使ってないの? なんなの???
0329デフォルトの名無しさん
2011/05/28(土) 22:21:56.530330デフォルトの名無しさん
2011/05/28(土) 22:22:44.950331デフォルトの名無しさん
2011/05/28(土) 22:25:59.660332デフォルトの名無しさん
2011/05/28(土) 22:29:27.43ttp://itpro.nikkeibp.co.jp/article/NEWS/20110111/355979/
精力的に布教に励んでいるようですが。
0333デフォルトの名無しさん
2011/05/28(土) 22:31:19.14俺はjsとpythonたまに触るけどせいぜいツール作るのに使うくらいだ
pythonは3Dツールのプラグインとか使える局面がちょと多いがrubyはrailsくらいしか思いつかないな
C++0xでlambda使えるようになるから素直にC++やっとけ
0334デフォルトの名無しさん
2011/05/28(土) 23:00:23.180335uy
2011/05/28(土) 23:05:03.72rubyでゲームなんて実績が何もないから、好んで使うものじゃないけどね
0336デフォルトの名無しさん
2011/05/28(土) 23:14:34.52ありがとう
0337デフォルトの名無しさん
2011/05/28(土) 23:19:28.680338デフォルトの名無しさん
2011/05/28(土) 23:21:13.36このスレの永遠のテーマだな
0339デフォルトの名無しさん
2011/05/28(土) 23:30:20.24そういう漠然としたテーマこそコードを晒す必要があるだろ
0340デフォルトの名無しさん
2011/05/28(土) 23:41:40.54class Task {
public: virtual void update() = 0;
};
そんなことより誰か>>318をふらっとC#スレに誘導してやってくれ
0341デフォルトの名無しさん
2011/05/29(日) 00:17:09.950342デフォルトの名無しさん
2011/05/29(日) 00:38:34.03まず解決すべき問題を定義しろ。
0343デフォルトの名無しさん
2011/05/29(日) 00:55:37.69じゃあ、オレもそのうちシングルトンでタスクシステムを作るよ!
boostも使うけどいいよな?
0344デフォルトの名無しさん
2011/05/29(日) 00:58:25.240345デフォルトの名無しさん
2011/05/29(日) 01:32:49.230346デフォルトの名無しさん
2011/05/29(日) 09:22:00.84コード見たよ
モジュール名とかクラス名とかワロス
だけどLLはPythonしか読めない……
0347デフォルトの名無しさん
2011/05/29(日) 10:52:23.57言われるほど開発効率悪くないし、
マなら読めない人いないし、
動作は速いし。
0348デフォルトの名無しさん
2011/05/29(日) 10:57:24.08ハード制御もできるしな
他人の書いたコードの可読性はあまり高くない気がするが。。
0350デフォルトの名無しさん
2011/05/29(日) 11:25:50.26コンパクトで高速なプログラムが書けるのがまさにCの特徴なんだけど
0351デフォルトの名無しさん
2011/05/29(日) 11:45:59.15間違ってない命題でもわかる
0352デフォルトの名無しさん
2011/05/29(日) 12:20:43.74もしプログラミングのやりづらさを感じるなら、それはそのライブラリ固有の問題だ。
Cを責めるのはお門違いだ。Cは何も悪くない。
って感じ。
0353デフォルトの名無しさん
2011/05/29(日) 12:28:23.120354デフォルトの名無しさん
2011/05/29(日) 12:34:51.36今時K&R 1版スタイルはないわ。関数宣言で引数の型チェックが効かないとか致命的だし。
0355デフォルトの名無しさん
2011/05/29(日) 12:50:09.55なにかやらなきゃ遅くならないって意味では速いかな?
俺はそーゆー意味で使うときがある
最近の言語は何も気にしてないと普通に遅くなる罠がはってある
string str="";
for(int i=0;i<n;i++){
str += buf[i];
}
例えばこんなの↑
0356デフォルトの名無しさん
2011/05/29(日) 13:15:58.92最近の言語ならそういう風に手軽に書けるけど、Cならもっと泥臭い書き方が必要だろうな。
バッファのサイズを考慮してメモリ破壊をしない工夫とか。
速さのためにソースのスマートさを金繰り捨てることを美徳とするなら何も言わないけど。
0357デフォルトの名無しさん
2011/05/29(日) 13:18:08.360358デフォルトの名無しさん
2011/05/29(日) 13:22:35.210359デフォルトの名無しさん
2011/05/29(日) 13:23:21.170360デフォルトの名無しさん
2011/05/29(日) 13:29:59.26char *str = apr_pstrdup(p, "");
for (int i = 0; i < n; i++) {
str = apr_pstrcat(p, str, buf[i], NULL);
}
そこそこ手軽だろ
0361デフォルトの名無しさん
2011/05/29(日) 14:13:15.63C/C++では(string型を使わずに)文字列をつなげるだけで何回も関数よばなきゃ。
読みづらくってしょうがない。
日本語文字も入ってくると、C/C++はさらに面倒だよなあ。
0362デフォルトの名無しさん
2011/05/29(日) 14:14:12.200363デフォルトの名無しさん
2011/05/29(日) 14:15:08.670364デフォルトの名無しさん
2011/05/29(日) 14:21:56.44自分でゼロから作るんならstring使う
0365デフォルトの名無しさん
2011/05/29(日) 14:23:03.97どうせ今どきの言語でもめんどくさい制約つけそうな悪寒
0366デフォルトの名無しさん
2011/05/29(日) 14:25:38.90str = apr_pstrcat(p, "aaa", "bbb", "ccc", NULL);
0367デフォルトの名無しさん
2011/05/29(日) 15:08:40.10+つけるとエラーになるのぜ
0368デフォルトの名無しさん
2011/05/29(日) 15:35:54.080369デフォルトの名無しさん
2011/05/29(日) 18:44:38.490370デフォルトの名無しさん
2011/05/29(日) 19:10:34.98サーバーサイドのプログラムを書かずに実装する方法ってなんかないですかね
0371デフォルトの名無しさん
2011/05/29(日) 19:25:08.83スコアライブラリを探してきてインストールすればおk
サーバー無しでってのは無理
0372デフォルトの名無しさん
2011/05/29(日) 19:41:26.830373デフォルトの名無しさん
2011/05/29(日) 20:01:44.79サーバがなくて金かけたくないって話なら、cgiとかgoogle apps engineとか使えばいんじゃない
0374デフォルトの名無しさん
2011/05/29(日) 20:37:56.740375デフォルトの名無しさん
2011/05/29(日) 20:44:54.59google app engineってのを初めて知ったんですけど
もしかしてこれって無料でサーバー使えますってこと?
しかもPHPとかも使えたり?
0376デフォルトの名無しさん
2011/05/29(日) 20:53:00.65あと転送量とかcpu使用率の制限が厳しいのでまともに使うなら結局金払わなきゃだめ
お試しにはいいけど
0377デフォルトの名無しさん
2011/05/29(日) 20:57:41.13無料のレンタルサーバーなんて結構ないか?
まあ、GoogleAppEnginこないだやった感じだと
一度登録したメールアドレスはたとえログイン情報を破棄したとしても
二度と同じメールアドレスは登録できなくなるっぽいので気をつけろ
0378デフォルトの名無しさん
2011/05/29(日) 21:00:44.62なるほど。
もうちょっと調べてみます。
>>377
無料のところはPHPとかが使えないことが多いので…
探せばあるのかな
0379デフォルトの名無しさん
2011/05/29(日) 21:05:53.62とりあえず出てくんじゃん?
http://rentub.com/free/php.html
0380デフォルトの名無しさん
2011/05/29(日) 21:13:49.02個人運営だったりめんどくさい審査とかルールあったりで
あんまり好きじゃないんだ・・・
0381デフォルトの名無しさん
2011/05/29(日) 21:32:40.82あんまりケチるよりはるかに手っ取り早いぞ
0382デフォルトの名無しさん
2011/05/29(日) 21:55:02.54ステップ数て・・・なんちゃってSEでも言わねえだろ今時
4KB縛りで作れそう?とか1画面プログラム(80x24)で作れそう?って聞く方が
まだ食いつきいいと思うぞ
0383デフォルトの名無しさん
2011/05/29(日) 21:56:15.330384デフォルトの名無しさん
2011/05/29(日) 22:20:59.25昔プログラム投稿系雑誌でその手の縛りプレイが流行ってたんだよ
>>382 が言うように横80文字、縦24行の範囲に収まるように
プログラムを組んで、主にゲーム(たまにデモ)を作る
言語はたいてい BASIC だな
0385デフォルトの名無しさん
2011/05/29(日) 22:24:38.790386デフォルトの名無しさん
2011/05/29(日) 22:27:08.850387デフォルトの名無しさん
2011/05/30(月) 00:07:42.39その時代でどのくらいの人間熱狂させたかという基準なら
圧倒的にインベーダーだけど
0388デフォルトの名無しさん
2011/05/30(月) 00:11:41.830389デフォルトの名無しさん
2011/05/30(月) 00:14:33.970390デフォルトの名無しさん
2011/05/30(月) 00:18:06.98今の時代で比較は?
0391デフォルトの名無しさん
2011/05/30(月) 00:19:58.32あほ
0392デフォルトの名無しさん
2011/05/30(月) 00:20:13.280393デフォルトの名無しさん
2011/05/30(月) 00:29:13.320394デフォルトの名無しさん
2011/05/30(月) 00:41:25.77おっさんがこんなスレ見ているわけがない
0395デフォルトの名無しさん
2011/05/30(月) 00:44:10.390396デフォルトの名無しさん
2011/05/30(月) 00:45:36.890397デフォルトの名無しさん
2011/05/30(月) 00:50:23.780398デフォルトの名無しさん
2011/05/30(月) 00:55:13.480399デフォルトの名無しさん
2011/05/30(月) 00:55:53.620400デフォルトの名無しさん
2011/05/30(月) 00:57:12.160401デフォルトの名無しさん
2011/05/30(月) 00:58:31.700402デフォルトの名無しさん
2011/05/30(月) 01:10:56.890403デフォルトの名無しさん
2011/05/30(月) 01:16:05.800404デフォルトの名無しさん
2011/05/30(月) 01:36:09.870405デフォルトの名無しさん
2011/05/30(月) 01:50:58.26辞めないで続けるってのはマジ大事。
0406デフォルトの名無しさん
2011/05/30(月) 02:13:57.22それだけ制限が緩くなるから、自由なアイデアをそのままゲームに落とし込みやすくなる
例えばシューティングの弾の数
実行速度が早ければ1フレームあたりに可能な当たり判定の数も多くなる
極端な話、1フレあたり10個程度しか当たり判定できなかったら、
「弾がブアーッていっぱい出てきたら面白くね?」ってアイデアを思い付いても
弾幕シューティングは作れない
だけど1フレあたり200個とか判定できたら作れる
低速な言語しか使えない奴は言語による縛りでアイデアを実現できないかわいそうな人種
0407デフォルトの名無しさん
2011/05/30(月) 02:43:40.820408デフォルトの名無しさん
2011/05/30(月) 04:09:14.930409デフォルトの名無しさん
2011/05/30(月) 04:33:10.40開発サイクルは速いに越したことはないよ
それだけ試行錯誤が気楽になるから、思いついたアイデアをそのままプロトタイピングに落し込みやすくなる
低級な言語しか使えないやつは言語による縛りでアイデアを実現できないかわいそうな人種
0410デフォルトの名無しさん
2011/05/30(月) 06:56:12.14どうとでも言えるわなw
0411デフォルトの名無しさん
2011/05/30(月) 08:51:15.400412デフォルトの名無しさん
2011/05/30(月) 09:37:40.57一体1画面で何ができるんだ…
ウィンドウ開くだけで数十行いくのにゲームコード書くスペースなんかないじゃん
0413デフォルトの名無しさん
2011/05/30(月) 10:03:39.83当然80字x25行とか40字25行。
0414デフォルトの名無しさん
2011/05/30(月) 12:05:15.66GOTOで制御するとか正気の沙汰じゃねえ
0415デフォルトの名無しさん
2011/05/30(月) 12:20:17.400416デフォルトの名無しさん
2011/05/30(月) 16:21:23.320417デフォルトの名無しさん
2011/05/30(月) 16:40:41.94本気にするやついるからやめとけ
いや、もっとやれwww
0418デフォルトの名無しさん
2011/05/30(月) 16:45:09.260419uy ◆yyC0rYWEq2
2011/05/30(月) 17:07:14.69はぁ!?
低速な言語で行う場合は、速度を何とかするアイディアを出すんだろうが・・・・・
ちなみにRuby1.9ですら150個までは当たり判定いける
dxrubyフレームワークとかは、ゲームでよくある処理をCでかいたライブラリを提供していくらしいので
ヴァージョンあがってくればSTG程度なら余裕で作れるようになると思われ
0420デフォルトの名無しさん
2011/05/30(月) 17:08:55.070421uy
2011/05/30(月) 17:57:24.420422uy
2011/05/30(月) 18:16:07.39これの50秒〜55秒辺りの
魔方陣展開みたいなのを作りたいんだけれど
どうなってるの?
まず親魔法陣タスクがあって、そこから相対座標的に子魔方陣タスクを出して、
親魔法陣タスクの回転してる中で、子魔法陣タスクは別の回転変数で回転させて
それを、イメージに書き込んで加速的な拡大をさせつつカメラ移動してる感じなの?
プログラミングで絵描きにかてんの?
0423デフォルトの名無しさん
2011/05/30(月) 18:43:26.450424デフォルトの名無しさん
2011/05/30(月) 19:42:16.4101010
00000
01010
00000
0の部分だけ通れる2Dのマップを作りたいんだが、
xだけ判定
if vx > 0 速度調整
else if vx < 0 速度調整
yだけ判定
if vy > 0 速度調整
else if vy < 0 速度調整
座標更新しちゃうぞ☆
もっと賢いアルゴリズムというか方法はないかい?
0425デフォルトの名無しさん
2011/05/30(月) 19:53:33.35どんなのだろうと思って見てみたら、あまりに一瞬すぎたw
0426デフォルトの名無しさん
2011/05/30(月) 20:03:27.04あなたの要求するものが不明だけれども
通常の当たり判定で、簡単な方法は
ゲームループにおいて、
現在のXY座標を保存する
もし、衝突ならば、前回に保存されたXY座標に移動する。
(つまり、衝突してない位置へ戻す)
こんなこと
0427デフォルトの名無しさん
2011/05/30(月) 20:08:15.80>>424は当たりそうなら速度の調整
>>426は当たりそうなら動いた後に座標の調整
0428デフォルトの名無しさん
2011/05/30(月) 20:19:05.190429デフォルトの名無しさん
2011/05/30(月) 20:25:00.29・・・ような気がする
0430デフォルトの名無しさん
2011/05/30(月) 20:29:33.17上手く案じる事で今まで成功して来たから、どうしても案じてしまう
でも案じた所で決して答えは出ない
みたいなののスパイラル
0431デフォルトの名無しさん
2011/05/30(月) 20:59:08.680432デフォルトの名無しさん
2011/05/30(月) 21:09:12.720433デフォルトの名無しさん
2011/05/30(月) 21:13:13.100434デフォルトの名無しさん
2011/05/31(火) 00:56:29.960435デフォルトの名無しさん
2011/05/31(火) 00:57:43.830436デフォルトの名無しさん
2011/05/31(火) 01:00:33.86http://mitpress.mit.edu/sicp/
http://inst.eecs.berkeley.edu/~cs61a/su10/
0437デフォルトの名無しさん
2011/05/31(火) 01:15:48.52この著者と議論できるレベルのプログラマーってそうそういない。
0438デフォルトの名無しさん
2011/05/31(火) 01:28:16.250439デフォルトの名無しさん
2011/05/31(火) 02:34:16.11まずコネがないもんな
0440デフォルトの名無しさん
2011/05/31(火) 02:46:41.480441デフォルトの名無しさん
2011/05/31(火) 02:54:18.69泥臭くても効率悪くても思い通りの動作をするものがそれなりに作れるようになる。
そして大抵は素材の調達で挫折する。
0442デフォルトの名無しさん
2011/05/31(火) 02:55:54.870443デフォルトの名無しさん
2011/05/31(火) 03:15:15.28SDKはないんじゃないかな
0444デフォルトの名無しさん
2011/05/31(火) 05:23:05.84Z80マシン語秘伝の書
燃える闘魂マシン語伝説
PC-8801シリーズ マシン語マスターバイブル
新日本プログラミング万歳
0445デフォルトの名無しさん
2011/05/31(火) 07:23:27.520446デフォルトの名無しさん
2011/05/31(火) 09:16:09.84そのひと会社はいってから仕事でプログラミング始めたんだよな
0447デフォルトの名無しさん
2011/05/31(火) 09:19:17.39ちゃんと考えて解決してきたというのは良くわかる
0448デフォルトの名無しさん
2011/05/31(火) 11:09:36.84kitty on your lapの人に書いてほしいわ
0449デフォルトの名無しさん
2011/05/31(火) 11:18:39.660450デフォルトの名無しさん
2011/05/31(火) 11:36:06.720451デフォルトの名無しさん
2011/05/31(火) 15:13:21.500452デフォルトの名無しさん
2011/05/31(火) 15:32:50.03日本語をローマ字にして変数名にする
↓
その単語を英語に訳せない
↓
英語力の欠如
↓
何か調べるときも日本語の資料しか調べられない
↓
英語の資料も調べるのが普通のプログラムの世界では情報収集能力がない
↓
頭悪い
0453デフォルトの名無しさん
2011/05/31(火) 15:36:23.370454デフォルトの名無しさん
2011/05/31(火) 15:37:19.600455デフォルトの名無しさん
2011/05/31(火) 15:45:38.870456デフォルトの名無しさん
2011/05/31(火) 15:53:48.16ネイティブスピーカーでもないのに無理するなと。
0457デフォルトの名無しさん
2011/05/31(火) 16:00:29.490458デフォルトの名無しさん
2011/05/31(火) 16:06:03.290459デフォルトの名無しさん
2011/05/31(火) 16:14:03.600460デフォルトの名無しさん
2011/05/31(火) 16:33:53.720461デフォルトの名無しさん
2011/05/31(火) 16:38:08.580462デフォルトの名無しさん
2011/05/31(火) 16:46:28.760463デフォルトの名無しさん
2011/05/31(火) 16:49:55.200464デフォルトの名無しさん
2011/05/31(火) 16:56:41.620465デフォルトの名無しさん
2011/05/31(火) 17:01:02.270466デフォルトの名無しさん
2011/05/31(火) 17:08:38.250467デフォルトの名無しさん
2011/05/31(火) 17:14:06.22日本語変数にすればいい話
0468デフォルトの名無しさん
2011/05/31(火) 17:24:52.400469デフォルトの名無しさん
2011/05/31(火) 17:39:57.850470デフォルトの名無しさん
2011/05/31(火) 17:43:44.80○間違えられる
漢字ではないが、間違ってるな。
0471デフォルトの名無しさん
2011/05/31(火) 17:47:17.700472デフォルトの名無しさん
2011/05/31(火) 17:53:35.78こんな感じになるのか
0473デフォルトの名無しさん
2011/05/31(火) 18:22:30.980474uy
2011/05/31(火) 20:17:22.05なにこれたのしい
0475デフォルトの名無しさん
2011/05/31(火) 20:38:49.330476デフォルトの名無しさん
2011/05/31(火) 20:58:00.400477デフォルトの名無しさん
2011/05/31(火) 21:28:58.74だからお前はだめなんだよ、
誰も読むなんて言ってないだろ。
恐らく普段本棚のインテリアとして色合いがよくて、
強盗が入ってきたときとか有事には叩いたりできる強度があるとか、
そんな意味でオススメの本を聞いてるんだと思うぞ。
0478デフォルトの名無しさん
2011/05/31(火) 21:33:54.27その可能性は小さいな。なぜなら、C#と限定しているからだ。
強盗撃退用なら、C#の本と限定する必要はない。
お前こそ、読みが浅すぎるわ!
0479デフォルトの名無しさん
2011/05/31(火) 21:38:49.620480デフォルトの名無しさん
2011/05/31(火) 21:53:10.45その可能性も低いな。なぜなら、このスレはゲームプログラミングに関するスレだからだ。
そのようなスレで、特に断りもなく、C#と書いた場合、これは当然、プログラミング言語の
C#のことを意味する可能性が高いといわざるを得まい。
どうだ俺のこの完ぺきな推理。反論があれば聞こうじゃないか。
0481デフォルトの名無しさん
2011/05/31(火) 21:56:49.65横向きに見るとイソギンチャクに見える
0482デフォルトの名無しさん
2011/05/31(火) 22:00:25.860483デフォルトの名無しさん
2011/05/31(火) 22:05:33.25だからといってそれで断定してしまうのも危険ではないか。
童貞が初体験しようとして詳しく調べもせずに風俗に行くようなものではないか。
0484デフォルトの名無しさん
2011/05/31(火) 22:06:00.820485デフォルトの名無しさん
2011/05/31(火) 22:07:21.930486デフォルトの名無しさん
2011/05/31(火) 22:12:08.58「遊びのレシピ」
0487デフォルトの名無しさん
2011/05/31(火) 22:15:11.230488デフォルトの名無しさん
2011/05/31(火) 22:22:50.44弟のアレが今ちょうどそんな形
あとで C==# してやる
0489デフォルトの名無しさん
2011/05/31(火) 22:26:16.990490デフォルトの名無しさん
2011/05/31(火) 22:28:01.120491デフォルトの名無しさん
2011/05/31(火) 22:29:13.240492デフォルトの名無しさん
2011/05/31(火) 22:33:06.160493デフォルトの名無しさん
2011/05/31(火) 22:37:07.480494デフォルトの名無しさん
2011/05/31(火) 22:42:51.990495デフォルトの名無しさん
2011/05/31(火) 22:45:42.540496デフォルトの名無しさん
2011/05/31(火) 22:47:45.82その本、真髄ってのは大げさだよな
せいぜい赤本のサブセットって感じだった
0497デフォルトの名無しさん
2011/05/31(火) 22:50:48.060498デフォルトの名無しさん
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 ...::::;;;;;;;;ゝ;;;;;;/
0499デフォルトの名無しさん
2011/06/01(水) 00:34:38.13依存度順に構造体をネストさせれば済む話。
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); }
あと、関数の並べ方で依存性を理解してないのが解るんだが、
他への依存性が低い関数をコードの上流に書き、
他への依存性が高い関数はコードの下流に書くようにしたほうがいいよ。
構造体だって、後で書いた構造体を、素直に構造体メンバーにできないだろ。
変数だって、宣言する前には呼べないし。
0500デフォルトの名無しさん
2011/06/01(水) 00:59:07.64角度・座標の管理で悩んでいます
windowsプログラミングは基本的に、左上頂点のx.y座標が0,0になっているようです
角度を元に三角関数などで移動距離を出したりする場合(ホーミング弾などです)、角度0度はどこを基準にするのが良いでしょうか?
0501デフォルトの名無しさん
2011/06/01(水) 01:08:00.07依存度順なんて一意に決まるものじゃないだろう
>>115 で例に出てるメモリマネージャやら Direct3D デバイスやらパレットテーブルを、依存度順にまとめれるのか?
使う順なんて分からないし、どこで使われるかも分からない
関数の並べ方は人それぞれだろう
言ってることは分かるが、処理は上から下に実行されるわけだから、呼び出される順に並べるというのも自然な発想
0502デフォルトの名無しさん
2011/06/01(水) 01:09:44.10混乱するなら、内部では全て左下基準で計算して、
描画時に上下逆転させて描画すればいいんじゃない?
0503デフォルトの名無しさん
2011/06/01(水) 01:18:13.18y座標の距離を+-逆にすればいいだけ
0504デフォルトの名無しさん
2011/06/01(水) 01:21:11.08ありがとうございます。そういう方法もあるんですね
>>503
その方法だとコードが見やすくなりますよね
やっぱりどうしてもどっちかが犠牲になりますよね
ありがとうございました
0505デフォルトの名無しさん
2011/06/01(水) 01:28:37.03趣味でやってるのでわからん、、、
0506デフォルトの名無しさん
2011/06/01(水) 01:32:10.35プログラムがグラフ構造で表せる以上依存度は確実に決められる。
並列に存在するものは別に順序はどうでもいいけどね。
プログラムを書く前に論理木(ロジックツリー)に書き出してみればいいさ。
(そもそも並列な処理グループができる場合は、ファイルを分割する事を進めるけどね)
>処理は上から下に実行されるわけだから、呼び出される順に並べるというのも自然な発想
確かに人間的に自然に見えるけどそのルールで並べると3000行程度ですぐ破綻すんじゃん。
関数は下に飛ぶだけじゃなく戻ってくる訳だから。
0507デフォルトの名無しさん
2011/06/01(水) 01:35:35.790508デフォルトの名無しさん
2011/06/01(水) 01:37:14.690509デフォルトの名無しさん
2011/06/01(水) 01:39:04.88解決した事に口をはさむのも野暮だけど
>角度を元に三角関数などで移動距離を出したりする
って具体的にどういう計算やんの?
内容によってはベクトル使った方がプログラム全体の統一がとれていいと思うけど。
0510デフォルトの名無しさん
2011/06/01(水) 01:45:33.690511デフォルトの名無しさん
2011/06/01(水) 01:46:36.960512デフォルトの名無しさん
2011/06/01(水) 01:49:46.900513デフォルトの名無しさん
2011/06/01(水) 01:54:02.50ホーミング弾(以下、敵)と味方の追いかけっこのゲームがあるとします
まず、敵のxy座標と味方のxy座標を元に敵の角度(メンバとして、敵.kakudo)を決めます。
(味方.x-敵.x)と(味方.y-敵.y)をatan2関数の引数として、敵.kakudoを求め
敵.kakudoを元に、毎フレーム
敵.x += sin(敵.kakudo)
敵.y += cos(敵.kakudo)
の処理をし、敵の次フレームのxy座標を求めます
といった感じです。
ラジアンと度数法の変換、また範囲外などの条件分岐は割愛してます。
0514デフォルトの名無しさん
2011/06/01(水) 02:02:06.04必要する関数が定義される直前に宣言しとくと便利だ。
構造体や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)・・・};
0515デフォルトの名無しさん
2011/06/01(水) 02:10:28.61DXにあるか知らんけど一般的にベクトルオブジェクトを使うと
Point2D 味方(x,y),敵(x,y),//x,yは本来値
Vector2D 追尾方向 = 味方 - 敵;
敵 += 追尾方向.正規化() * 加速度;
こんな感じか。思ったんだが、その要件に三角関数いらなくね?
0516デフォルトの名無しさん
2011/06/01(水) 02:24:47.33・一度方向をメンバとして置いておくと、描画などの際に便利
・あとあまりに多いと描画の度に毎回計算するのは重くなる・・
と考えていたんですけど、よく考えたら丸で負担は変わらないですね
逆に二度手間になってしまってたのでしょうか・・・うーん
設計は難しいですね
0517デフォルトの名無しさん
2011/06/01(水) 02:35:42.84ベクトルの足し引き掛け算に比べ凄まじく遅いぞ。
0518デフォルトの名無しさん
2011/06/01(水) 02:45:33.37その点では大丈夫です
double sinx[361]={
0 ,
0.01745 ,
0.0349 ,
・・
-0.0349 ,
-0.01745 ,
0}
と角度に対応した配列を見ることに作ってます(cosも同様です)
角度はintに限られますが、そこは多分大丈夫と見込んでいます。
0519デフォルトの名無しさん
2011/06/01(水) 02:59:21.170520デフォルトの名無しさん
2011/06/01(水) 04:05:26.25え?テーブル+補間じゃないの?そりゃ遅いわ
0521デフォルトの名無しさん
2011/06/01(水) 07:16:46.290522デフォルトの名無しさん
2011/06/01(水) 08:27:16.82どんな要件を満たすクラスですか?
0523デフォルトの名無しさん
2011/06/01(水) 13:09:09.64http://raicho.2ch.net/test/read.cgi/newsplus/1306846379/
0524デフォルトの名無しさん
2011/06/01(水) 13:35:32.030525デフォルトの名無しさん
2011/06/01(水) 14:37:45.610526デフォルトの名無しさん
2011/06/01(水) 15:41:23.030527デフォルトの名無しさん
2011/06/01(水) 16:42:37.750528デフォルトの名無しさん
2011/06/01(水) 17:08:31.42じっくり見ないと糞と見分けがつかない
0529デフォルトの名無しさん
2011/06/01(水) 17:22:09.82同意
>>528とか典型的な例だよな
0530デフォルトの名無しさん
2011/06/01(水) 18:38:40.090531デフォルトの名無しさん
2011/06/01(水) 19:40:40.34職場でもそういう傾向あるよねw
0532uy
2011/06/01(水) 20:10:53.97ここからは真面目な書き込み以外は一切禁止するからな
違反した奴はIPぶっこ抜くから覚悟しとけ
0533デフォルトの名無しさん
2011/06/01(水) 20:13:17.620534デフォルトの名無しさん
2011/06/01(水) 20:17:11.92ゲームプログラムなら俺の話を聞いていけ
って書いてあったでしょ
0535デフォルトの名無しさん
2011/06/01(水) 20:19:57.930536デフォルトの名無しさん
2011/06/01(水) 20:30:25.670537デフォルトの名無しさん
2011/06/01(水) 20:36:10.120538デフォルトの名無しさん
2011/06/01(水) 22:16:50.71ウィルスじゃなくてただの不正プログラムならおkですか?
0539デフォルトの名無しさん
2011/06/01(水) 22:25:30.24ダメです
確かその法律は「使用者の予期しない動作をするプログラム」
なので、「ファイルhogeに"R"と名付けるプログラム.EXE」でhogeに指定したファイルを「"C"」と名付けただけで
ウィルスという扱いになります
法律を厳格に解釈すれば正規表現のミスでもそうなるでしょう
そういえば、極端に言えば文字コードの違いでも意図しない動作になり得ますね
テキストファイル"あああ"がshift-jisになってる!EUC-JPのつもりだったのに!みたいな
意図はいくらでも後付でできますので、開発側は大変ですね
と思いましたがそれこそメモ帳がそれですね
マイクロソフトには津波のような訳の分からない裁判がいくのでしょうか
0540デフォルトの名無しさん
2011/06/01(水) 22:28:44.110541デフォルトの名無しさん
2011/06/01(水) 22:33:30.15インストーラーに新しい文言の追加だな
このプログラムのいかなる動作も予測の範囲内であることを同意して使用する
○同意する
○同意しない
戻る 次へ キャンセル
0542デフォルトの名無しさん
2011/06/01(水) 22:41:03.29>予測の範囲内
予測の範囲外になるとだめなんだから・・・
>このプログラムは一般的に言われるコンピュータウィルスを含め、あらゆる動作を行う可能性がありますが承諾します
になるな
ハハハ・・・
dllだとdll呼び出しの度にメッセージボックスになるな
もうやだこの国
0543デフォルトの名無しさん
2011/06/01(水) 22:41:59.480544デフォルトの名無しさん
2011/06/01(水) 22:43:14.63いちおう大臣から
「電子計算機を使用する者一般の信頼を規範的に判断をしていく」
という国会答弁を引き出してる。
0545デフォルトの名無しさん
2011/06/01(水) 22:45:48.22もう法律は関数で記述しろよ。
0以外なら合法 0なら違法。
0546デフォルトの名無しさん
2011/06/01(水) 22:46:03.730547デフォルトの名無しさん
2011/06/01(水) 22:47:12.52>このプログラムは一般的に言われるコンピュータウィルスを含め、あらゆる動作を行う可能性がありますが承諾します
※大事に育てると空も飛べます
0548デフォルトの名無しさん
2011/06/01(水) 22:49:30.05そういう厳密さよりも
そういう法律が決まった背景や意図もちゃんと記述してほしい
決まったことだけ書かないでそれを決めた理由っていうの?
時代背景とか無視してまでこういうのが未来永劫残っちゃうのが嫌
また、字面だけとって悪用する奴とか増えたりするからちゃんと意図は残してほしい
0549デフォルトの名無しさん
2011/06/01(水) 22:50:46.27議事録という形で意図は残るのよね。都合よく無視されたりするだけで。
0550デフォルトの名無しさん
2011/06/01(水) 22:51:48.10それがゲーム開発に関してプログラムの観点からアプローチする内容ならOK
0551デフォルトの名無しさん
2011/06/01(水) 22:52:52.59近いうちにdlsでうる予定
0552デフォルトの名無しさん
2011/06/01(水) 22:56:29.740553デフォルトの名無しさん
2011/06/01(水) 23:01:20.70ゲームの話はスレ違い
0554542
2011/06/01(水) 23:01:57.58確かスパイ防止法、なんだっけ?酔っ払ってるから分からないw
スパイ防止法を民主党が全面的に支持しなかったので与党か野党が出し直し
結局ウィルス防止法という意味不明な一分だけが残ったということ
まぁとにかくこの板に取っては最大限に厄介な一部分が残ったということだよ
0555デフォルトの名無しさん
2011/06/01(水) 23:10:31.24そこまでしてレスを書きたかったのか
0556デフォルトの名無しさん
2011/06/01(水) 23:10:37.01共謀罪か?
自民党はコンピュータ監視法案にくっつけようと未だに頑張ってるらしいけどな。
0557デフォルトの名無しさん
2011/06/02(木) 00:06:59.38ああ、そうそう
なんでもいいけど"コンピュータ"っていうのはものすごい恥ずかしい単語だな
50代の役員がよく使うんだけど、こう、赤面してしまう
メカトロニクス!みたいな
ただの演算、特に加算なのに
0558デフォルトの名無しさん
2011/06/02(木) 00:12:40.44ゲームの場合はどうなるんだ
たとえば初代ファイナルファンタジーには15パズルが仕込まれてたが、これも違法か
0559デフォルトの名無しさん
2011/06/02(木) 00:16:57.11なら全て合法じゃね
15パズルも、あくまで主人公が遊んでるという設定なら問題ない
0560デフォルトの名無しさん
2011/06/02(木) 01:16:36.310561デフォルトの名無しさん
2011/06/02(木) 01:18:21.33これが無理なら多分やめたほうがいい
0562デフォルトの名無しさん
2011/06/02(木) 01:21:42.39ありがとうございます
0563デフォルトの名無しさん
2011/06/02(木) 05:41:51.85一目見ただけで見分けのつくレスがあった
>>529とか糞以下だからすぐ見分けがついた
0564デフォルトの名無しさん
2011/06/02(木) 08:24:12.43一目見ただけで見分けのつくレスがあった
>>563とか糞以下だからすぐ見分けがついた
0565デフォルトの名無しさん
2011/06/02(木) 09:10:32.18わざわざ中身が変化したかどうか意識しないと安全なコードが書けない時点でカプセル化に失敗してると理解できないのかな?
0566デフォルトの名無しさん
2011/06/02(木) 09:15:22.810567デフォルトの名無しさん
2011/06/02(木) 09:52:17.22constもメリット実感なさそうし関数型も知らなそう
0568デフォルトの名無しさん
2011/06/02(木) 10:44:26.86アプリやなんかの仕様でそうゆう作りになることはあるよ
でもそれはカプセル化されたクラスではない妥協クラスなの
つーか関数の前後で状態が変わったかどうかなんて普通どうでもいいでしょ
状態次第で処理を切り替えないとだめなセクションの前だけで、その前に関数を呼んだ呼んでないに関わらずチェックする
それが必要最小限の方法だからバグの混入も最小限になるんだよ
0569デフォルトの名無しさん
2011/06/02(木) 11:10:03.78俺::カプセル化
俺::安全なコード
0570デフォルトの名無しさん
2011/06/02(木) 11:10:33.82アウトー!!
0571デフォルトの名無しさん
2011/06/02(木) 12:05:22.030572デフォルトの名無しさん
2011/06/02(木) 12:06:19.14この関数はNULLチェックしないからポインタ渡しから参照渡しに直しておきましたよ!カプセル化のために!
とか言われたらぶっとぶだろw
0573デフォルトの名無しさん
2011/06/02(木) 12:06:42.680574デフォルトの名無しさん
2011/06/02(木) 12:09:02.490575デフォルトの名無しさん
2011/06/02(木) 12:35:08.95http://codepad.org/qqWCfmAh
こういう風に書くのがC++的で良い
そして本当にわかってる人はこういう記号や&に頼らず、
関数やメソッドの名前から引数の変化の可能性がわかるような命名法でカバーする
それが人にもコンパイラにも最も優しい方法だからね
たとえばswapという関数名からこれは参照引数をとり値が変化するだろうということは誰の目にも明らかでしょ
0576デフォルトの名無しさん
2011/06/02(木) 12:44:37.390577デフォルトの名無しさん
2011/06/02(木) 12:47:44.27例外使わないとか
0578デフォルトの名無しさん
2011/06/02(木) 12:48:38.84ポインタ怖い!NULLが怖い!(んなもんチェックすればいいだけ)みたいな感情を優先するのも
そのプログラマの自由だからね
0579デフォルトの名無しさん
2011/06/02(木) 12:52:10.340580デフォルトの名無しさん
2011/06/02(木) 12:53:15.020582デフォルトの名無しさん
2011/06/02(木) 14:16:37.55DXライブラリはゲームを作るライブラリじゃなくで、ゲームの描画のライブラリなんだから
どこから作っていいか分からないなら、
ライブラリのことを忘れて、
ウィンドウを表示させて、その中に画像を描画するプログラムを作るとこからやるべき
0583uy
2011/06/02(木) 15:09:49.14このスレに集うゲームプログラマはDXライブラリみたいな
素人向けlibは使わないから
0584デフォルトの名無しさん
2011/06/02(木) 15:29:36.03>>564とかもうただのコピペ荒らしw
こういう糞以下の香具師はソースコードもコピペで成長しないんだろうなあww
0585デフォルトの名無しさん
2011/06/02(木) 15:33:12.59描画して、コントローラーで上下左右に動かす
あとは当たり判定を作って敵を作って・・・
DXライブラリのHP見たほうが早いんじゃない
0586デフォルトの名無しさん
2011/06/02(木) 16:44:58.80素人は帰ってくれないか
0587581
2011/06/02(木) 18:27:38.49何か言いたいことズレてましたorz
ライブラリ関係なしに
ウィンドウだとか、自機とか当たり判定とかの
手順的な事聞きたかったんです。。。
>>582>>585辺りを参考にさせて頂きます
0588デフォルトの名無しさん
2011/06/02(木) 18:58:08.34普通に使ってるわけだが
0589デフォルトの名無しさん
2011/06/02(木) 18:58:34.88http://hibari.2ch.net/test/read.cgi/gamedev/1301818631/
0590デフォルトの名無しさん
2011/06/02(木) 19:07:40.05時間は限られているんだから使えるもんは使う
main関数一本の数万行のプログラムでも破綻させずに全てを把握できる。
ぶっちゃけオブジェクト指向やらカプセル化やら脳みそが足りてない馬鹿のために考え出されたものだと思っている
0592デフォルトの名無しさん
2011/06/02(木) 19:27:54.350593デフォルトの名無しさん
2011/06/02(木) 19:32:58.070594デフォルトの名無しさん
2011/06/02(木) 20:16:04.410595デフォルトの名無しさん
2011/06/02(木) 20:54:27.85言語にもよる
0596デフォルトの名無しさん
2011/06/02(木) 21:55:28.230597デフォルトの名無しさん
2011/06/03(金) 02:52:47.820598デフォルトの名無しさん
2011/06/03(金) 08:33:01.940599福盛俊明
2011/06/03(金) 09:07:37.06俺はDarkBASICの天才♪”
俺に答えられない質問はない
質問はこちらへ
http://www.geocities.jp/courant_de_console/main_street/index.html
アハアハ〜♪”
0600デフォルトの名無しさん
2011/06/03(金) 09:45:31.820601デフォルトの名無しさん
2011/06/03(金) 10:59:23.280602デフォルトの名無しさん
2011/06/03(金) 11:03:51.070603デフォルトの名無しさん
2011/06/03(金) 13:37:07.520604デフォルトの名無しさん
2011/06/03(金) 14:20:31.65今なら別に何でもいい
超絶古いコンパイラ、実行環境だとエラーが出るかもしれない
ただ奇跡的な確率でもエラーが起こることを考えると、わざわざvoidにする理由もないので俺はintで0返してる
0605デフォルトの名無しさん
2011/06/03(金) 21:54:00.000606デフォルトの名無しさん
2011/06/03(金) 22:12:04.54何で0固定?
全てmainひとつのプログラムか。重複したコードどうやって直すんだろうな。
まさか、gotoは使わんとおもうけど。
0608デフォルトの名無しさん
2011/06/03(金) 22:37:59.160609デフォルトの名無しさん
2011/06/03(金) 22:52:48.900610デフォルトの名無しさん
2011/06/04(土) 00:52:44.36http://www.vector.co.jp/vpack/browse/person/an039347.html
0611デフォルトの名無しさん
2011/06/04(土) 01:00:33.490612デフォルトの名無しさん
2011/06/04(土) 01:03:29.74ゲー専作品なら技術を評価するべきだと思うがなー
これ、なんの工夫が入ってるのか知らないけど
技術的にみたらSDKのチュートリアル+α以上のものが俺には見えな(ry
0613デフォルトの名無しさん
2011/06/04(土) 01:13:16.830614デフォルトの名無しさん
2011/06/04(土) 01:19:00.93素材さえ用意できればサンプルなぞった位の技術でそれなりのゲームが作れてしまう
大切なのは技術より安っぽく見せないセンスだと思う
0615デフォルトの名無しさん
2011/06/04(土) 01:29:12.030616デフォルトの名無しさん
2011/06/04(土) 01:32:28.070617デフォルトの名無しさん
2011/06/04(土) 01:34:33.89ABDUCTION
Break Factory
War Of Tank
サバゲやろうぜ!
はやったの記憶がある
0618デフォルトの名無しさん
2011/06/04(土) 01:36:51.880619デフォルトの名無しさん
2011/06/04(土) 01:44:12.19俺は少なくとも商業ゲー以外では技術がすごいと感じるゲームはない
0620デフォルトの名無しさん
2011/06/04(土) 01:46:25.240621デフォルトの名無しさん
2011/06/04(土) 01:47:51.960622デフォルトの名無しさん
2011/06/04(土) 01:48:46.37センスもない基礎体力もない
0623デフォルトの名無しさん
2011/06/04(土) 01:56:50.450624デフォルトの名無しさん
2011/06/04(土) 02:01:35.580625デフォルトの名無しさん
2011/06/04(土) 02:04:56.32もっさり感を感じさせない挙動とかもデザイナがデザインするのか?
視点変更ボタンを押したら何フレームで視点を切り替えるかとかを不自然じゃないレベルに自然に調整したり、
垢抜けた印象を与える挙動を書けること、そういう部分をセンスって言ってるつもり
まぁ、スレチだな
0626デフォルトの名無しさん
2011/06/04(土) 02:30:55.280627デフォルトの名無しさん
2011/06/04(土) 02:33:26.410628デフォルトの名無しさん
2011/06/04(土) 02:35:07.930629デフォルトの名無しさん
2011/06/04(土) 02:35:11.380630デフォルトの名無しさん
2011/06/04(土) 02:41:26.790631デフォルトの名無しさん
2011/06/04(土) 02:42:18.090632デフォルトの名無しさん
2011/06/04(土) 02:47:19.820633デフォルトの名無しさん
2011/06/04(土) 02:52:19.940634デフォルトの名無しさん
2011/06/04(土) 02:59:28.050635デフォルトの名無しさん
2011/06/04(土) 03:05:55.880636デフォルトの名無しさん
2011/06/04(土) 03:07:29.31アホな肩書きの多い構造を引きずってるね
プランナー(笑)とか
0637デフォルトの名無しさん
2011/06/04(土) 03:11:02.880638デフォルトの名無しさん
2011/06/04(土) 09:28:31.36少ない投資で莫大なリターンが得られたまさに夢のような時代
今では莫大な投資が必要で極めてリスクの高い硬直化した産業になってしまった
0639デフォルトの名無しさん
2011/06/04(土) 11:08:54.990640デフォルトの名無しさん
2011/06/04(土) 11:24:48.68テストプレイヤー
0641デフォルトの名無しさん
2011/06/04(土) 11:52:51.76じゃあアメリカはどうなるんだ?
0642デフォルトの名無しさん
2011/06/04(土) 13:08:33.91そして失敗するんだよね・・
0643デフォルトの名無しさん
2011/06/04(土) 16:42:15.14車輪の再発明が大好き
そして完成したツールに「〇〇フレームワーク」とか名前付けて大満足
こんなに気持ちの良いオナニーは他にない
0644デフォルトの名無しさん
2011/06/04(土) 16:55:07.230645デフォルトの名無しさん
2011/06/04(土) 17:03:24.780646デフォルトの名無しさん
2011/06/04(土) 23:03:18.04MAIN PROGRAMMERの次辺りにCOPY PROGRAMMERとして出すべき。
0647デフォルトの名無しさん
2011/06/04(土) 23:08:37.04エンディングの長さが2倍になるだろ
0648デフォルトの名無しさん
2011/06/05(日) 02:05:32.75http://www.tonbi.jp/Game/Essay/036/index.html
0649デフォルトの名無しさん
2011/06/05(日) 02:11:34.36見栄えもいいし
0650デフォルトの名無しさん
2011/06/05(日) 02:20:06.28黄金比になってない
0651デフォルトの名無しさん
2011/06/05(日) 02:22:51.970652デフォルトの名無しさん
2011/06/05(日) 02:24:45.02どうもありがとうございます
1:2 だと 120' にならないよなーとか詰まらない事で悩んでました
0653デフォルトの名無しさん
2011/06/05(日) 03:15:11.85いくらでもあるだろうに。
日本はモデリング&テクスチャベースばっかで
多角形制御なんてライブラリ任せだから自慢できる技術(?)者なんて
いないんだろうけどね。
0654デフォルトの名無しさん
2011/06/05(日) 03:18:16.230655デフォルトの名無しさん
2011/06/05(日) 08:15:36.260656デフォルトの名無しさん
2011/06/05(日) 09:04:22.330657デフォルトの名無しさん
2011/06/05(日) 10:54:40.98そもそもクォータービューって3Dがなかなか使えない時代に
何とか立体的に見せようと思って考案された代替手段だし。
0658デフォルトの名無しさん
2011/06/05(日) 11:50:26.860659デフォルトの名無しさん
2011/06/05(日) 11:59:07.260660デフォルトの名無しさん
2011/06/05(日) 12:25:11.66ワラタ
0661デフォルトの名無しさん
2011/06/05(日) 12:35:42.840662デフォルトの名無しさん
2011/06/05(日) 13:47:48.790663デフォルトの名無しさん
2011/06/05(日) 14:58:57.20ポリゴンにテクスチャを貼ってるっぽい FFT でも 1:2 になってる感じでした
3D で計算しているのかは不明ですが・・
0664デフォルトの名無しさん
2011/06/05(日) 15:07:04.010665デフォルトの名無しさん
2011/06/05(日) 15:15:40.170666デフォルトの名無しさん
2011/06/05(日) 15:15:53.30何いってんだ?
0667デフォルトの名無しさん
2011/06/05(日) 15:26:21.770668デフォルトの名無しさん
2011/06/05(日) 16:20:32.200669デフォルトの名無しさん
2011/06/05(日) 17:22:58.420671デフォルトの名無しさん
2011/06/05(日) 17:52:57.65最近はアニメなんかでも3Dで作ってシェーダ(かどうかは知らんがそれに準ずるもの)で2Dに処理してやってるしな。
老害か何か知らんけど>>664みたいに根拠も出さずに頭悪いとか言い出すいけぬまさんはスルーしたほうが良いよ。
0672デフォルトの名無しさん
2011/06/05(日) 18:42:22.26漫画家が描く絵のようにはならないのが悩ましいところだけどな。
特に斜めからの構図とか、極端なデフォルメとか。
0673デフォルトの名無しさん
2011/06/05(日) 20:20:45.920674デフォルトの名無しさん
2011/06/05(日) 20:47:48.990675デフォルトの名無しさん
2011/06/05(日) 20:53:47.340676デフォルトの名無しさん
2011/06/05(日) 20:57:38.870677デフォルトの名無しさん
2011/06/05(日) 21:08:23.96中卒
0678デフォルトの名無しさん
2011/06/05(日) 21:35:09.360679デフォルトの名無しさん
2011/06/05(日) 21:42:04.340680デフォルトの名無しさん
2011/06/05(日) 21:44:39.11小学生
0681デフォルトの名無しさん
2011/06/05(日) 22:13:36.660682デフォルトの名無しさん
2011/06/05(日) 22:39:46.800683デフォルトの名無しさん
2011/06/05(日) 23:04:45.53厨厨
0684デフォルトの名無しさん
2011/06/05(日) 23:18:06.490685デフォルトの名無しさん
2011/06/05(日) 23:36:31.560686デフォルトの名無しさん
2011/06/05(日) 23:38:51.770687デフォルトの名無しさん
2011/06/05(日) 23:41:23.530688デフォルトの名無しさん
2011/06/06(月) 00:15:49.21アニメとして発注するのか?
0689デフォルトの名無しさん
2011/06/06(月) 00:20:04.100690デフォルトの名無しさん
2011/06/06(月) 00:22:37.890691デフォルトの名無しさん
2011/06/06(月) 00:28:16.350692デフォルトの名無しさん
2011/06/06(月) 03:06:39.11もうちょっと角度的に上から見た感じにしたい
とかもすぐ変更できるしな
DOT絵だったら諦めるか書き直すかだろ?
効率悪すぎ、低脳過ぎてやばい
0693デフォルトの名無しさん
2011/06/06(月) 03:15:42.59そうでなくとも2D Vectorなら角度が変わっても、そう問題は無いと思われ
マクパペットは2D Vectorなのかな
0694デフォルトの名無しさん
2011/06/06(月) 13:42:48.29角度変更できるから3Dにするとか単なる手抜きじゃん
お前はそんな低い志でゲーム作ってんの?迷惑だからさっさと引退してくれる?w
0695デフォルトの名無しさん
2011/06/06(月) 16:08:05.99>>694
あほ
0696デフォルトの名無しさん
2011/06/06(月) 16:12:04.470697デフォルトの名無しさん
2011/06/06(月) 16:15:05.85恐らくそれで職場を追われ引退を余儀なくされたため、他の有能な開発者も引退に追いやろうとしているのです。
俺だったらプライドがあるから恥ずかしさに耐えられずに自殺すると思う。
0698デフォルトの名無しさん
2011/06/06(月) 16:21:24.73生涯をかけて満足のいくゲームがひとつ完成できればそれでいいのさ
むしろ完成しなくたっていいんだ。作っていくことが既にひとつのゲーム・・・
俺が・・・俺たちがゲームだ!
0699デフォルトの名無しさん
2011/06/06(月) 16:27:16.10「尻から〇が出た!」
〇に当てはまる漢字一文字を答えなさい
0700デフォルトの名無しさん
2011/06/06(月) 16:30:53.40目
0701デフォルトの名無しさん
2011/06/06(月) 16:43:31.570702デフォルトの名無しさん
2011/06/06(月) 16:48:52.94もっとやる気出して煽れやカス
0703デフォルトの名無しさん
2011/06/06(月) 16:52:36.950704デフォルトの名無しさん
2011/06/06(月) 16:55:27.62正解!
0705デフォルトの名無しさん
2011/06/06(月) 17:25:15.11例えばシューティングで画面をある程度自由に動きまわるホーミングミサイルを作るときとか
ミサイルの各方向の画像を用意するより、板ポリゴンにテクスチャとして張り付けて回転させたほうが効率いいよね。
読み込むテクスチャも少なくてすむし、ミサイルの画像差し替えもかなり楽になる。
0706デフォルトの名無しさん
2011/06/06(月) 17:31:48.00なるほど。
もう、ついていけない世界になってしまったなあ。
さみしい。
0707デフォルトの名無しさん
2011/06/06(月) 17:46:22.55不思議な意見ですね
0708デフォルトの名無しさん
2011/06/06(月) 18:06:31.560709デフォルトの名無しさん
2011/06/06(月) 18:33:31.130710デフォルトの名無しさん
2011/06/06(月) 18:49:17.720711デフォルトの名無しさん
2011/06/06(月) 19:59:40.29それ、ライティングどうするの?
0712デフォルトの名無しさん
2011/06/06(月) 21:03:01.210713デフォルトの名無しさん
2011/06/06(月) 21:04:55.420714デフォルトの名無しさん
2011/06/06(月) 21:13:35.42どちらか好きな方を選べと言われたら、個人的には2Dの方が技術的に燃える
3Dのシェーダーで環境光がどうとか、表層下散乱がどうとかよりも、
2Dの多重スクロールとかラスタースクロールとかデカキャラとかの方がカッコイイ
少数派なのは十分承知
0715デフォルトの名無しさん
2011/06/06(月) 21:23:12.09確かにそうだな。
今Direct2Dでシューティング作ろうとしてるけど、
スタート時に機体が回転して出てくるような動作あったほうがいいしな。
0716デフォルトの名無しさん
2011/06/06(月) 22:21:41.060717デフォルトの名無しさん
2011/06/06(月) 22:41:27.600718デフォルトの名無しさん
2011/06/06(月) 23:24:48.520719デフォルトの名無しさん
2011/06/07(火) 00:50:17.05コンソールゲームから画像を使ったゲームへの移行期に生まれてたら
コンソールにしがみついてそうwwwwww
0720デフォルトの名無しさん
2011/06/07(火) 01:01:25.632d厨?
ッモルピグ!
0721デフォルトの名無しさん
2011/06/07(火) 01:32:37.970722デフォルトの名無しさん
2011/06/07(火) 04:24:17.09コンソールにも当てはまるかどうかは分からないけど、
実際そんなもんかもしれんね。
ドット絵が好きだったり、3D空間よりも2Dの方が慣れてるから把握しやすかったりさ。
本職ならクビになるだけだろうけど、趣味や同人ならそれで良いじゃない。
3Dはクソゲーだの、見た目だけだの、ドット絵の方が想像の余地があるとか、
ケチを付け出したら単なる老害だと思うけどね。
0723デフォルトの名無しさん
2011/06/07(火) 04:33:49.19どっちが優れてるなんて話自体ナンセンスw
0724デフォルトの名無しさん
2011/06/07(火) 07:20:42.310725デフォルトの名無しさん
2011/06/07(火) 08:23:57.850726デフォルトの名無しさん
2011/06/07(火) 08:27:06.020727デフォルトの名無しさん
2011/06/07(火) 08:46:57.180728デフォルトの名無しさん
2011/06/07(火) 10:05:06.710729デフォルトの名無しさん
2011/06/07(火) 11:00:49.270730デフォルトの名無しさん
2011/06/07(火) 11:16:20.580731デフォルトの名無しさん
2011/06/07(火) 11:17:01.46変換後の座標をさらに変換しないとか常識以前だろ。
0732デフォルトの名無しさん
2011/06/07(火) 11:25:55.80常識以前の話を出して何が言いたいの?
0733デフォルトの名無しさん
2011/06/07(火) 12:09:58.470734デフォルトの名無しさん
2011/06/07(火) 14:56:57.720735デフォルトの名無しさん
2011/06/07(火) 15:50:39.13場合によっては2Dが良いなどとさも一般論のよえに言うのはいかがなものか
0736デフォルトの名無しさん
2011/06/07(火) 16:13:15.060737デフォルトの名無しさん
2011/06/07(火) 18:29:32.26断片化や最大使用量の管理のセオリーってどんなのがある?
0738デフォルトの名無しさん
2011/06/07(火) 18:37:47.760739デフォルトの名無しさん
2011/06/07(火) 18:47:27.460740デフォルトの名無しさん
2011/06/07(火) 18:53:12.51スレッド化必須でさらにカオス
0741デフォルトの名無しさん
2011/06/07(火) 18:54:56.390742デフォルトの名無しさん
2011/06/07(火) 19:20:30.00余りまくりなんだから
0743デフォルトの名無しさん
2011/06/07(火) 19:23:28.950744デフォルトの名無しさん
2011/06/07(火) 19:37:46.03早く64bitのみにならないかな
0745デフォルトの名無しさん
2011/06/07(火) 19:38:51.050746デフォルトの名無しさん
2011/06/08(水) 01:56:06.78まず総空き容量(あるいは総使用量)を取得して常時表示できるように
しておくことは必要だと思う。
これに加えて、断片化対策としては確保可能最大サイズも欲しい。
プログラムが必要とする最大確保サイズに注意して、常にそれだけは
確保できる状態を保てていればまず問題ないと言える。
大きく落ち込むケースが無いか、最大確保サイズを縮小することが
できないか(ファイルを分割するとか)を常に気をつけておく。
ここまで用意できていれば、それ以上の動的確保の禁止とか
断片化対策のプール構築とかは割に合わないことが多い気がする。
最近見た↓こんな話に同感。
http://radiumsoftware.tumblr.com/post/6187877625
0747デフォルトの名無しさん
2011/06/08(水) 04:23:53.07ちなみにVRAMでも同じようなことするの?
0748デフォルトの名無しさん
2011/06/08(水) 04:45:53.45現役から遠ざかった意見だね。
0749デフォルトの名無しさん
2011/06/08(水) 05:14:35.82とかいう決め付けを鵜呑みにして実測もせずに無駄な生兵法を加えるやつ多すぎ。
時代遅れの生兵法をリッチな環境で使いまわして余計に問題が起こりやすくしてるのも
よく見る。たとえば「最初にまとめて単一の領域を確保して、その中で切り分ける」とかな。
要求サイズがでかくなって逆にあぶねーんだよ。クソが。
0750デフォルトの名無しさん
2011/06/08(水) 05:17:05.850751デフォルトの名無しさん
2011/06/08(水) 05:18:40.330752デフォルトの名無しさん
2011/06/08(水) 05:29:27.160753デフォルトの名無しさん
2011/06/08(水) 05:36:05.63dlmalloc レベルの賢いアロケータを根っこに置いて、
あとは問題が起こったところで分割するとかサイズを削るとかの
個別対応でだいたい十分。
0754デフォルトの名無しさん
2011/06/08(水) 05:38:23.75責任ないやつは気楽でいいな
0755デフォルトの名無しさん
2011/06/08(水) 05:54:18.290756デフォルトの名無しさん
2011/06/08(水) 06:02:58.540757デフォルトの名無しさん
2011/06/08(水) 06:11:26.03どう言っても信用してもらえないだろうからいいんだけどさ・・・。
マジで動的確保禁止とかやってんの?いまどき?
標準コンテナも new も禁止するの?もしかして C なのか?
0758デフォルトの名無しさん
2011/06/08(水) 06:13:30.96動的確保完全禁止なんてするわけない。
何が問題なのか理解してないのに大体大丈夫とかお笑いなだけ。
0759デフォルトの名無しさん
2011/06/08(水) 06:18:36.09で、その「問題」と >>753 とは違う解決策あたりについては語ってもらえないのかい?
0760デフォルトの名無しさん
2011/06/08(水) 06:19:40.61これ以上は飯の種なので言わない。
0761デフォルトの名無しさん
2011/06/08(水) 06:22:00.980762デフォルトの名無しさん
2011/06/08(水) 06:28:10.21断片化を起こさないようにがんばる話なのかな?
ちょっと残念だけど、ここ最近の開発ではもうそんなに困ってないからいいや。
0763デフォルトの名無しさん
2011/06/08(水) 06:33:33.130764デフォルトの名無しさん
2011/06/08(水) 07:47:22.270765デフォルトの名無しさん
2011/06/08(水) 07:51:44.40>>761
馬鹿発見
0766デフォルトの名無しさん
2011/06/08(水) 07:53:02.98これもか
0767デフォルトの名無しさん
2011/06/08(水) 07:57:28.00煽っても何も出さないよw
0768デフォルトの名無しさん
2011/06/08(水) 07:59:01.71それは単なるスタック
0769デフォルトの名無しさん
2011/06/08(水) 08:00:03.840770デフォルトの名無しさん
2011/06/08(水) 08:04:49.160771デフォルトの名無しさん
2011/06/08(水) 08:05:59.410772デフォルトの名無しさん
2011/06/08(水) 08:10:22.23かっこつけてねーでデフラグって言え
0773デフォルトの名無しさん
2011/06/08(水) 08:11:06.210774デフォルトの名無しさん
2011/06/08(水) 08:13:17.31あ?
0775デフォルトの名無しさん
2011/06/08(水) 08:15:23.33無理だろカス
0776デフォルトの名無しさん
2011/06/08(水) 08:16:51.340777デフォルトの名無しさん
2011/06/08(水) 09:40:28.590778デフォルトの名無しさん
2011/06/08(水) 09:44:48.190779デフォルトの名無しさん
2011/06/08(水) 09:50:02.550780デフォルトの名無しさん
2011/06/08(水) 09:59:21.21タイトルごとに統計とって切り替え、作り替えしてもいいぐらいだし
0781デフォルトの名無しさん
2011/06/08(水) 10:05:16.440782デフォルトの名無しさん
2011/06/08(水) 10:12:24.60コンシューマーならC/C++,なし固定な気が
0783デフォルトの名無しさん
2011/06/08(水) 10:32:46.31> 「変なことしないで普通にnew。断片化への対処はメモリをなんぼか余らせることで確率的に保証」というお手軽アプローチ
> やらなくて済むことはやらない方がいいだろう。
ですよねー
0784デフォルトの名無しさん
2011/06/08(水) 11:07:34.37趣味でコンシューマー機向けのゲーム作ってんの?
ってか開発環境構築できんの?
環境構築もできないのに議論しても無駄だろ。
環境があるとしたら職業プログラマ確定だし、職業プログラマがここで技術探してんの?
0785デフォルトの名無しさん
2011/06/08(水) 11:12:50.39確保した領域の解放忘れるとかは問題外だけど、どのジャンルのゲーム作ろうとグラフィック以外のデータでメモリ食い尽くすなんてまずありえない。
食い尽くすとすればゲーム中で使う高ビットレートの長いBGMを全部読み込んでおくとか珍妙なことをやった場合だろ。
それはプログラムレベルの話じゃないよ。
0786デフォルトの名無しさん
2011/06/08(水) 11:18:53.10これは商用でもいっしょ。
今の時代ならクアッドコア3GHz以上、メモリ8GB以上、グラボはGTX480以上に限定しても何ら問題はない。要は自分の環境で動くもの作って、それ以下切り捨てでいいってこと。
一見乱暴なようだけど、どうせどこかでラインひくならそれが一番合理的。
0787デフォルトの名無しさん
2011/06/08(水) 11:38:22.540788デフォルトの名無しさん
2011/06/08(水) 11:50:26.32実行時に実際に使っている量はいろいろと計測する方法はるけど
実行前の段階でわかる理論的な上界ってわからないよね
0789デフォルトの名無しさん
2011/06/08(水) 12:10:31.85コールグラフの静的解析で求めたりしますが、再帰とかしてれば簡単に無限大
という答えが出てきますので、そういう場合までどうしても保証したいんだったら
たとえば入力をチェックして再帰の深さを保証するとかするわけ。
0790デフォルトの名無しさん
2011/06/08(水) 12:14:02.540791デフォルトの名無しさん
2011/06/08(水) 12:20:57.500792デフォルトの名無しさん
2011/06/08(水) 13:32:21.25バカのなかでそんなまじめなレス不要
0793デフォルトの名無しさん
2011/06/08(水) 13:38:30.40まだ32bitを切り捨てるのは難しいから2GBが上限じゃね
0794デフォルトの名無しさん
2011/06/08(水) 15:48:18.380795デフォルトの名無しさん
2011/06/08(水) 15:49:38.520796デフォルトの名無しさん
2011/06/08(水) 18:50:10.61趣味でもできるぞ
時代についていけよ
0797デフォルトの名無しさん
2011/06/08(水) 19:18:06.98商売じゃないから他人の環境で動かせないといけないという強制じゃないけど
0798デフォルトの名無しさん
2011/06/09(木) 12:10:17.660799デフォルトの名無しさん
2011/06/09(木) 12:15:17.23たいていは使うだろ
0800uy
2011/06/10(金) 16:22:23.08お礼参りをしています
今までありがとうございました
最後の煽りを1スレ1スレにて行っております
>>784
ゴミじゃねーか・・・そんなことも知らないとか しねよ
0801デフォルトの名無しさん
2011/06/10(金) 18:28:02.51こういう真面目に議論してるスレにまで来るなよ
0802デフォルトの名無しさん
2011/06/10(金) 19:15:30.22いえ、こちらこそ
その節は大変お世話になり、ありがとうございます
機会がありましたから、その時はまたどうぞよろしくお願いします
0803デフォルトの名無しさん
2011/06/11(土) 13:38:08.14EAは標準コンテナ使ってないです><
0804デフォルトの名無しさん
2011/06/11(土) 17:55:36.450805デフォルトの名無しさん
2011/06/11(土) 17:57:52.440806デフォルトの名無しさん
2011/06/11(土) 18:57:15.02っていうかスレッドにするものを間違ってる
これだけ頻繁に他のオブジェクトと関連が生まれるものなのになんでスレッド・・・
地面に立ってるだけで地面とキャラとで関連が生まれてしまうのに・・・
0807デフォルトの名無しさん
2011/06/11(土) 20:23:48.49あと誰かSPARC T3搭載のゲーム機を作ってください。
0808デフォルトの名無しさん
2011/06/11(土) 20:37:17.28こんなんどうやってまとめんねん・・・
0809デフォルトの名無しさん
2011/06/11(土) 20:37:18.27後はタスクを制御スレッドにひたすら投げる、とかでいいんじゃない??
0810デフォルトの名無しさん
2011/06/11(土) 22:18:53.83自分で入門書みてスレッドを1度も作ったことがないレベル
やればわかるけどあの遅さはやばい
それとスレッドスレッドいってる奴は弾幕STGの弾みたいに
各オブジェクトが完全独立で動く単純なゲームしか想定できてないよね
やっぱゲームプログラムの肝心なとこってオブジェクトとオブジェクトの接触時のリアクションにあると思うんだよね
そこまでちゃんと綺麗に制御すること考えなきゃうまくいかないよ
0811デフォルトの名無しさん
2011/06/11(土) 22:24:42.58使うならグリーンスレッドだね。
0812デフォルトの名無しさん
2011/06/11(土) 22:38:21.720813デフォルトの名無しさん
2011/06/11(土) 23:52:18.68いきなり「グリーンスレッド」なんてVM限定の単語を出すのは自分の世界の狭さを語ってるように受け取られるよ
多分LL言語メインの人だろうけど、もう少し自己主張を抑えて、古典的な流儀も尊重するかせめて触れてみてほしい
古典が正しいと言いたいわけじゃなくて、相対的にものを見れるようにって意味で
と優しく書こうと思ったけどまあぶっちゃけ自己顕示欲丸出しの小便くさいレスいらねーんだよって言いたいんだ
0814デフォルトの名無しさん
2011/06/11(土) 23:57:55.840815デフォルトの名無しさん
2011/06/12(日) 00:00:32.35ああ、古い人向けにはユーザレベルスレッドって書けば良かったかな?
知性と思い遣りに溢れる素敵な突っ込みサンクス
0816デフォルトの名無しさん
2011/06/12(日) 00:03:52.080817デフォルトの名無しさん
2011/06/12(日) 00:05:00.33次の人のために仕事を用意してやってんだ
0818デフォルトの名無しさん
2011/06/12(日) 00:05:44.920819デフォルトの名無しさん
2011/06/12(日) 03:20:02.49ッモルピグの通信部分だけは別スレッドにしてるよ。
あとまだこれはやってないけど、シームレスなゲームも作りたいなと思ってて、
そのときのデータの先読みとかにも使おうと思ってる。
0820デフォルトの名無しさん
2011/06/12(日) 06:48:19.06VM用語じゃあないと思うが。
0821デフォルトの名無しさん
2011/06/12(日) 07:57:53.49えっ
0822デフォルトの名無しさん
2011/06/12(日) 08:05:39.56Ruby 1.8 以前とか、インタプリタを VM とは言ってないけど、グリーンスレッドである、とは
普通に言ってたから、ウィキペディアの説明がおかしい。英語版を書いた奴が Java 脳
だったんだろう。
0823デフォルトの名無しさん
2011/06/12(日) 09:19:29.960824デフォルトの名無しさん
2011/06/12(日) 10:41:41.650825デフォルトの名無しさん
2011/06/12(日) 10:42:28.09宝石だよ
0826デフォルトの名無しさん
2011/06/12(日) 12:12:02.860827デフォルトの名無しさん
2011/06/12(日) 20:01:36.17それはルディだろ
0828デフォルトの名無しさん
2011/06/12(日) 20:29:19.52低級言語でも軽量スレッドとは言うけど
グリーンスレッド・ネイティブスレッドはJava/Ruby方面でしか聞いたことない
自力の時分割とCPUスレッドとごっちゃにする抽象化なんてVMじゃなければ意味なくね
0829デフォルトの名無しさん
2011/06/12(日) 20:37:13.670830デフォルトの名無しさん
2011/06/12(日) 20:41:37.97オブジェクトの検索とからくちんちんだわ
0831デフォルトの名無しさん
2011/06/12(日) 21:16:40.35用途を誤るなよ
0832デフォルトの名無しさん
2011/06/12(日) 21:21:22.990833デフォルトの名無しさん
2011/06/12(日) 21:29:32.050834デフォルトの名無しさん
2011/06/12(日) 21:40:23.020835デフォルトの名無しさん
2011/06/12(日) 22:07:08.28インストールするゲームなら、かなり複雑な正規表現でも使わなかゃ大丈夫でしょ
0836デフォルトの名無しさん
2011/06/12(日) 22:19:10.710837デフォルトの名無しさん
2011/06/12(日) 22:25:16.370838デフォルトの名無しさん
2011/06/12(日) 22:29:43.890839デフォルトの名無しさん
2011/06/12(日) 22:32:55.410840デフォルトの名無しさん
2011/06/12(日) 22:40:51.200841デフォルトの名無しさん
2011/06/12(日) 23:30:30.89ちゃんと張っときゃ、データ数が数万だろうが、数百万だろが、たいして変わらん
つうの。
0842デフォルトの名無しさん
2011/06/13(月) 00:00:08.260843デフォルトの名無しさん
2011/06/13(月) 00:04:30.220844デフォルトの名無しさん
2011/06/13(月) 00:54:12.19シリアライズ不要の永続タスクシステムが完成するね胸圧
0845デフォルトの名無しさん
2011/06/13(月) 01:01:00.850846uy
2011/06/13(月) 03:24:30.92これがww真面目なww議論www
ちょwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwご冗談をwwwwwwwwwwwwwwwww
はぁ・・・疲れる
0847uy
2011/06/13(月) 03:28:29.48話し合いというより独り言の域に達してるぞこのスレ
曖昧な概念を、自分の主観で話して相手が理解せずに違うことと理解して話し始めているのに
当人がそれの軌道修正を行わずに口を閉じて、よくわかっていない奴が別の話し始めるせいか 怖い
0848デフォルトの名無しさん
2011/06/13(月) 04:52:54.30サーバにインストールする各種データベースはそれもできるけど、
SQLiteじゃ無理じゃないか?
0849デフォルトの名無しさん
2011/06/13(月) 07:31:49.87>>841じゃないけど...
正規化はRDBMSの種類と関係ないし、SQLiteだってインデックスくらい張れるよ
※別にSQLiteの使用を薦めている訳ではないが
0850デフォルトの名無しさん
2011/06/13(月) 08:26:39.140851デフォルトの名無しさん
2011/06/13(月) 10:17:41.510852デフォルトの名無しさん
2011/06/13(月) 10:31:31.820853デフォルトの名無しさん
2011/06/13(月) 10:42:35.52俺みたいな、一流プログラマは、PostgreSQL一択っだ。ハゲっが。
0854デフォルトの名無しさん
2011/06/13(月) 11:18:39.19PostgreSQL は、ゲーム用途にしては、ゴテゴテしすぎる。
0855デフォルトの名無しさん
2011/06/13(月) 11:43:42.85SQLiteは一度使ってみたいが使いどころがわからん
0856デフォルトの名無しさん
2011/06/13(月) 12:08:11.92マルチユーザのゲームには必須だな。スタンドアロンの簡単なゲームには使う必要はない。
0857デフォルトの名無しさん
2011/06/13(月) 12:22:29.55やったことないけどあれそんなに大量のデータを扱うのか
0858デフォルトの名無しさん
2011/06/13(月) 12:46:26.570859デフォルトの名無しさん
2011/06/13(月) 12:49:12.630860デフォルトの名無しさん
2011/06/13(月) 13:02:51.17どんなゲームなんだろう
0861デフォルトの名無しさん
2011/06/13(月) 13:12:57.950862デフォルトの名無しさん
2011/06/13(月) 13:26:45.610863デフォルトの名無しさん
2011/06/13(月) 13:31:44.290864デフォルトの名無しさん
2011/06/13(月) 13:35:57.940865デフォルトの名無しさん
2011/06/13(月) 13:54:26.46規模っが、小さい、うちは、いいっが、大きく、なったら、どうすっる?
規模っが、大きく、なったら、DBっは、外部っに、鯖として、構築するっが、
そもそも、鯖ではない、SQLiteからっの、移行は、プログラムっの、書き替えっが、必要っだろうが。ハゲっが。
これっは、だるい。
だから、規模の、小さいうちっは、一つのマシン内で、ゲーム本体っと、DB鯖っを、動かしても、いいっが、
DBっは、鯖化して、おくべきだろうが。ハゲっが。
0866デフォルトの名無しさん
2011/06/13(月) 13:56:58.40ログの保存はたしかに便利そうだな
0867デフォルトの名無しさん
2011/06/13(月) 14:02:25.920868デフォルトの名無しさん
2011/06/13(月) 14:02:38.04そんときゃ他のDBエンジンにデータを移行すりゃいいだろうが。ハゲっが。
ま、特有の方言を極力使わないか、ミドルウェアをかましのとくのが前提だが。
0869デフォルトの名無しさん
2011/06/13(月) 14:07:03.020870デフォルトの名無しさん
2011/06/13(月) 14:24:35.26使おうと思ったら何にでも使えるな。設定内容の保存とか、途中で終了したゲームの
ステータスとか、ハイスコア残したり、マップ情報とか、モンスターの情報とか、
とにかく、開発者の考え方次第で、何にでも使える。
検索も早いし、検索条件もいろいろ指定できるし、削除も簡単、まとめて削除もできるし、
まぁ、インデックスは張りまくればいいってもんじゃなくて、あまり多いと、容量でかくなる
し、更新速度が遅くなる。適切に設計することが大事。
でも少量のデータだったら、あまり神経質にならずに気軽に使ってもいいと思う。
ただ、サーバー側に置くDBは、セキュリティとバックアップに配慮する必要がある。
0871デフォルトの名無しさん
2011/06/13(月) 14:40:33.51とりあえず素人はインデックスのことは忘れていいと思うよ
0872デフォルトの名無しさん
2011/06/13(月) 14:42:55.870873デフォルトの名無しさん
2011/06/13(月) 14:49:02.82ちなみに、WindowsのレジストリもDBの一種だから。SQLは使えないけど。
0874デフォルトの名無しさん
2011/06/13(月) 15:52:30.640875デフォルトの名無しさん
2011/06/13(月) 16:01:27.02スクランブルとか破損や改竄のチェックとか
SQLiteが面倒見てくれるわけじゃないでしょ?
0876デフォルトの名無しさん
2011/06/13(月) 16:07:49.050877デフォルトの名無しさん
2011/06/13(月) 16:11:21.360878デフォルトの名無しさん
2011/06/13(月) 16:15:33.120879デフォルトの名無しさん
2011/06/13(月) 16:16:03.89個人ベースの小規模ゲームならそれでいいよ、もう一生、ファイルだけ使ってればいいと思うよ。
0880デフォルトの名無しさん
2011/06/13(月) 16:17:32.93中身消えたり不整合が起きたりしそうならデータベース使えと。
0881デフォルトの名無しさん
2011/06/13(月) 16:21:20.42SQLiteに向いてなくね?
0882デフォルトの名無しさん
2011/06/13(月) 16:29:19.300883デフォルトの名無しさん
2011/06/13(月) 16:31:16.01実際に計測して速いほうですればいいんじゃない。
例えばキャラのHPしか記憶しとかないようなゲームだけだったらファイルでいいでしょ。
ッモルピグのプレイヤーが出してる店の中から特定のアイテムを価格順にソートして表示するとかならDBっしょ。
ただDBは検索やソートの高速化に使うのが普通だから、
キャッシュのきかないSQLiteは問題外。
スタンドアロンなら大したデータ量はないからファイルで十分。
ハゲっが。
0884デフォルトの名無しさん
2011/06/13(月) 16:34:06.46ハゲっが。
0885デフォルトの名無しさん
2011/06/13(月) 16:35:09.830886デフォルトの名無しさん
2011/06/13(月) 16:40:56.31SQLiteにバグあったらどうすんだ? セキュホとか。 マジキメェ
ハゲっが。
0887デフォルトの名無しさん
2011/06/13(月) 16:41:14.190888デフォルトの名無しさん
2011/06/13(月) 16:43:03.420889デフォルトの名無しさん
2011/06/13(月) 16:43:07.30スクライトで良いのかな
0890デフォルトの名無しさん
2011/06/13(月) 16:45:41.160891デフォルトの名無しさん
2011/06/13(月) 16:45:57.99SQLiteのバグより、テメェの糞ゲーのパグの確率の方がタケェよ。
SQLiteが今やどんだけ他のソフトにバンドルされてると思ってんだよ。
つか、アップデート処理も自前で組み込めねぇようなアプリ配布するなよ、キメェ
ハゲっが。
0892デフォルトの名無しさん
2011/06/13(月) 16:50:12.78テメェ糞ゲーのパグ率のほうが高いとか根拠の話を出してくるし頭悪そう。
0893デフォルトの名無しさん
2011/06/13(月) 16:51:11.170894デフォルトの名無しさん
2011/06/13(月) 16:51:16.210895デフォルトの名無しさん
2011/06/13(月) 16:51:54.16ごめん、なんか勘違いしてた
よほど頻繁に読み書きが衝突しない限り問題ないか
0896デフォルトの名無しさん
2011/06/13(月) 16:53:38.420897デフォルトの名無しさん
2011/06/13(月) 16:56:21.29ttp://upload.wikimedia.org/wikipedia/commons/d/d6/Mops-Pug_Felix_vom_M%C3%A4gdebrunnen.jpg
0898デフォルトの名無しさん
2011/06/13(月) 17:02:12.95何年経っても成長しない人間によく見られる思考回路
0899デフォルトの名無しさん
2011/06/13(月) 17:03:01.620900デフォルトの名無しさん
2011/06/13(月) 17:03:19.540901デフォルトの名無しさん
2011/06/13(月) 17:06:02.90つまり、あくびが出るような糞ゲーってことだろ。
0902デフォルトの名無しさん
2011/06/13(月) 17:08:40.770903デフォルトの名無しさん
2011/06/13(月) 17:09:48.17というか、むしろ、バグっの、ない、ソフトウェアっは、存在しない。ハゲっが。
ゲームっは、何に、分類される?か?
ソフトウェアっに、分類される、っ当然。ハゲっが。
つまり、SQLiteっに、明らかな、バグっが、あっても、使うべき。ハゲっが。
0904デフォルトの名無しさん
2011/06/13(月) 17:18:43.540905デフォルトの名無しさん
2011/06/13(月) 17:18:49.490906デフォルトの名無しさん
2011/06/13(月) 17:23:13.34違う用途でも使える。
DB使うとやめられなくなるくらい便利なんだけど、
使ったこと無いとその良さがわからないから、いつまでも使わない。
0907デフォルトの名無しさん
2011/06/13(月) 17:30:38.450908デフォルトの名無しさん
2011/06/13(月) 17:37:46.820909デフォルトの名無しさん
2011/06/13(月) 17:39:03.32尻から目が出た
ッモルッピグ
ハゲっが
0910デフォルトの名無しさん
2011/06/13(月) 17:55:41.171.RDBMS(表)
2.Key-valueストア(開発環境付属のPropertyクラスとかdbm系とかその他)(key-valueが対になる)
3.CSV(表)とかXML(入れ子)とかそんなの。
4.ハゲっが
0911デフォルトの名無しさん
2011/06/13(月) 17:56:25.930912デフォルトの名無しさん
2011/06/13(月) 18:08:02.730913デフォルトの名無しさん
2011/06/13(月) 18:21:44.30このアイテムには他のアイテムにはないパラメーターが・・・とかいくらでも出てくるじゃん
0914デフォルトの名無しさん
2011/06/13(月) 18:29:23.300915デフォルトの名無しさん
2011/06/13(月) 18:31:37.330916デフォルトの名無しさん
2011/06/13(月) 18:34:10.120917デフォルトの名無しさん
2011/06/13(月) 18:35:47.540918デフォルトの名無しさん
2011/06/13(月) 18:48:05.310919デフォルトの名無しさん
2011/06/13(月) 18:53:06.33データのシグネチャとは言わないな。
0920デフォルトの名無しさん
2011/06/13(月) 18:54:22.780921デフォルトの名無しさん
2011/06/13(月) 18:55:33.76例えばアイテム分類が武器、防具、草、壺、食料とあって、それぞれに特有のデータがあるとしたら
アイテム全部を扱う表ってどういうふうに書くの?
とりあえずすべての列をつなげて、必要ない部分はNULL値に設定するのかな
0922デフォルトの名無しさん
2011/06/13(月) 18:57:45.37違和感ありまくりだろw
0923デフォルトの名無しさん
2011/06/13(月) 18:59:04.050924デフォルトの名無しさん
2011/06/13(月) 18:59:41.94>>921 「マンガでわかるデータベース」おすすめ。
0925デフォルトの名無しさん
2011/06/13(月) 19:05:14.48そりゃ、内容しだいだろ。
アイテムテーブル一つで済ますか、武器テーブル、防具テーブルと
それぞれ作るか。
アイテムテープル一つの場合も、属性をフィールドで分類する場合も
あるし、別テーブルにする場合もある。
別テーブルにする場合も、1対1、1対多、多対多と構造的にはいろいろ
ある。全ては要件しだい。
でもま、たいがいは、1テーブルで、属性をいくつか持たしきゃこと足りる
だろ。
0926デフォルトの名無しさん
2011/06/13(月) 19:08:35.79別に争うつもりは無いけど
メソッドシグネチャ
- (retType) methodName: (argTypeA) arg1additionalName: (argTypeB) arg2;
(テーブルシグネチャ)
tableName(colName1colTypeA, colName2 colTypeB);
0927デフォルトの名無しさん
2011/06/13(月) 19:10:54.550928デフォルトの名無しさん
2011/06/13(月) 19:12:06.830929デフォルトの名無しさん
2011/06/13(月) 19:14:38.58ふつうに正規化すればおk
0930デフォルトの名無しさん
2011/06/13(月) 19:20:26.34Item (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, ...
ちゃんと書こうと思ったけど、途中でめんどくさくなった...
0931デフォルトの名無しさん
2011/06/13(月) 19:23:48.93その飽きっぽさがお前の欠点だ。
0932デフォルトの名無しさん
2011/06/13(月) 19:27:06.560933921
2011/06/13(月) 19:30:18.40なんか変に深く考えすぎてたわ
どうもお騒がせしてすいませんでした
〜 ( SELECT * FROM 手持ちアイテム, 武器情報, 例外的な武器情報 WHERE 種類 = 武器 ) AS 手持ち武器 〜
しかしこれだと例外的な武器情報の為だけにNULL要素だらけになってしまってパフォーマンス悪くならないか心配だわ
0934デフォルトの名無しさん
2011/06/13(月) 19:32:07.210935デフォルトの名無しさん
2011/06/13(月) 19:36:57.810936デフォルトの名無しさん
2011/06/13(月) 20:25:36.860937デフォルトの名無しさん
2011/06/13(月) 20:26:23.720938デフォルトの名無しさん
2011/06/13(月) 20:34:48.360939デフォルトの名無しさん
2011/06/13(月) 20:48:02.56http://www.google.com/pacman/
0940デフォルトの名無しさん
2011/06/13(月) 21:46:00.62ちゃんと読んだ?
該当付近の一行くらい貼ってよ
0941デフォルトの名無しさん
2011/06/13(月) 22:15:02.38初出の時に読んだよ
まあのんびり読んでおくんなまし
0942デフォルトの名無しさん
2011/06/13(月) 22:25:19.92でも貼れないしコメントもできないんだ
つまんね
0943デフォルトの名無しさん
2011/06/13(月) 22:25:53.44読んだ ≠ 理解できた
0944デフォルトの名無しさん
2011/06/13(月) 22:33:15.45読んだ? → 読んだよ
理解できた? → 理解できたよ
0945デフォルトの名無しさん
2011/06/13(月) 22:36:10.890946デフォルトの名無しさん
2011/06/13(月) 22:37:07.620947デフォルトの名無しさん
2011/06/13(月) 22:38:30.550948デフォルトの名無しさん
2011/06/13(月) 22:41:03.610949デフォルトの名無しさん
2011/06/13(月) 22:41:03.800950デフォルトの名無しさん
2011/06/13(月) 22:44:38.40ところで、あの中で読み込まれてる外部ソースの
http://www.google.com/logos/js/pacman10-hp.4.js
って、何に使われてるんだろ?
理解した人、教えてちょ。
0951デフォルトの名無しさん
2011/06/13(月) 22:45:13.640952デフォルトの名無しさん
2011/06/13(月) 22:50:32.900953デフォルトの名無しさん
2011/06/13(月) 22:51:51.750954デフォルトの名無しさん
2011/06/13(月) 22:52:29.40俺は整形済みのを読んだけど、ツールは色々あるよ
http://google-code-prettify.googlecode.com/svn/trunk/README.html
0955デフォルトの名無しさん
2011/06/13(月) 22:57:48.07巧妙だな。
0956デフォルトの名無しさん
2011/06/13(月) 22:58:41.670957デフォルトの名無しさん
2011/06/13(月) 23:01:25.40つか、このツールは、構文に色付けるだけじゃないのか? インデントとか整形して読みやすくとかしてくれんのかよ。
0958デフォルトの名無しさん
2011/06/13(月) 23:03:29.80期待せずに、暫くお待ちください。
0959デフォルトの名無しさん
2011/06/13(月) 23:04:11.18http://jsbeautifier.org/
0960デフォルトの名無しさん
2011/06/13(月) 23:07:23.23読む気が半分ぐらい失せちゃってんのよ。
圧縮前の元ソースとかどっかねーのかよ。
0961デフォルトの名無しさん
2011/06/13(月) 23:09:24.69今のうちに風呂はいってこよ。
0962デフォルトの名無しさん
2011/06/13(月) 23:14:21.49もう風呂上がったし
0963デフォルトの名無しさん
2011/06/13(月) 23:14:47.77オリジナルとグーグルのコード見た奴は再現度とか語ることがたくさんある
0964デフォルトの名無しさん
2011/06/13(月) 23:15:58.21パックマンの敵なんて普通にノードを辿ってるだけじゃないの
特段、方向を転換するアルゴリズムなんて無いだろ
強いて言うなら向かうノードを決めるアルゴリズムくらいか
0965デフォルトの名無しさん
2011/06/13(月) 23:17:01.090966デフォルトの名無しさん
2011/06/13(月) 23:21:57.100967デフォルトの名無しさん
2011/06/13(月) 23:22:17.33嘘書くなよ
0968デフォルトの名無しさん
2011/06/13(月) 23:22:56.60読んでないんだね
0969デフォルトの名無しさん
2011/06/13(月) 23:24:19.960970デフォルトの名無しさん
2011/06/13(月) 23:25:07.79判別するから
0971デフォルトの名無しさん
2011/06/13(月) 23:26:56.720972デフォルトの名無しさん
2011/06/13(月) 23:27:25.840973デフォルトの名無しさん
2011/06/13(月) 23:27:35.82答えあがってるから
わかんないの?
0974デフォルトの名無しさん
2011/06/13(月) 23:28:37.810975デフォルトの名無しさん
2011/06/13(月) 23:30:27.65いや、それはお前のピントはずれの妄想だから。わかんないの?
0976デフォルトの名無しさん
2011/06/13(月) 23:32:53.640977デフォルトの名無しさん
2011/06/13(月) 23:33:37.86読んでればわかるのに
0978デフォルトの名無しさん
2011/06/13(月) 23:36:41.900979デフォルトの名無しさん
2011/06/13(月) 23:37:47.69オリジナルのコードがどうであれ、パックマンの敵の動き程度なら
ステートマシーンとパス追従で出来上がるだろ
0980デフォルトの名無しさん
2011/06/13(月) 23:37:55.060981デフォルトの名無しさん
2011/06/13(月) 23:39:30.32解説してもらわなきゃ分かんないの?w
0982デフォルトの名無しさん
2011/06/13(月) 23:39:39.23ちょっとでも期待した俺が馬鹿だった。
もういいよ、JavaとC++のソース見つけたから、
そっち読むことにするわ。
0983デフォルトの名無しさん
2011/06/13(月) 23:40:44.80いやgooglepacmanは他のバージョンとは意味が違うぞ
0984デフォルトの名無しさん
2011/06/13(月) 23:42:11.77ドヤ顔で貼ったのが事の発端だな。
ということで、誰も理解してないということで、
〓〓〓 終了 〓〓〓
0985デフォルトの名無しさん
2011/06/13(月) 23:42:36.59そうしたかったんだねw
0986デフォルトの名無しさん
2011/06/13(月) 23:43:25.61意味が違うって?
0987デフォルトの名無しさん
2011/06/13(月) 23:45:10.64高級言語で書かれた本物のパックマンってことだよ
0988デフォルトの名無しさん
2011/06/13(月) 23:45:57.340989デフォルトの名無しさん
2011/06/13(月) 23:48:21.440990デフォルトの名無しさん
2011/06/13(月) 23:48:53.80あーあ恥ずかしい
0991デフォルトの名無しさん
2011/06/13(月) 23:52:14.600992デフォルトの名無しさん
2011/06/14(火) 00:11:35.22http://japan.cnet.com/news/commentary/20413964/
0994デフォルトの名無しさん
2011/06/14(火) 00:27:24.77this.dir = g.oppositeDirections[this.dir];
このあたりかな?
0995デフォルトの名無しさん
2011/06/14(火) 00:57:25.570996デフォルトの名無しさん
2011/06/14(火) 01:12:55.230997デフォルトの名無しさん
2011/06/14(火) 01:23:52.300998デフォルトの名無しさん
2011/06/14(火) 01:26:36.34タスクシステム・フォーエヴァー!
0999デフォルトの名無しさん
2011/06/14(火) 04:09:28.711000デフォルトの名無しさん
2011/06/14(火) 04:16:17.91自機に(距離によって減衰する)匂いをつけて、敵はその匂いを辿っていく…
みたいな説明をどこかで読んだ気が。
適当にググったらこんなの出てきた。
http://stackoverflow.com/questions/623095/path-finding-in-a-java-2d-game
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。