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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
ゲーム開発に関してプログラムの観点からアプローチするスレッドです。
一応質問も受け付けます。
ソースをうpするとアドバイスがもらえるかもしれません。
なお、このスレの内容は鵜呑みにしないこと。

【前スレ】
ゲームプログラムなら俺に聞け8
http://hibari.2ch.net/test/read.cgi/tech/1278304182/

【過去スレ】
ゲームプログラムなら俺に聞け
http://pc12.2ch.net/test/read.cgi/tech/1230890476/
ゲームプログラムなら俺に聞け2
http://pc12.2ch.net/test/read.cgi/tech/1247292664/
ゲームプログラムなら俺に聞け3
http://pc12.2ch.net/test/read.cgi/tech/1251324391/
ゲームプログラムなら俺に聞け4
http://pc12.2ch.net/test/read.cgi/tech/1255833802/
ゲームプログラムなら俺に聞け5
http://pc12.2ch.net/test/read.cgi/tech/1267290018/
ゲームプログラムなら俺に聞け6
http://pc12.2ch.net/test/read.cgi/tech/1269578438/
ゲームプログラムなら俺に聞け7
http://pc12.2ch.net/test/read.cgi/tech/1274521960/
2デフォルトの名無しさん:2010/08/15(日) 15:01:04
※注意
ここはム板です
3デフォルトの名無しさん:2010/08/15(日) 18:24:50
適切な煽り入れようとするとマ板の方はネタが高度なぶんお子様にはツライいんだよね
4デフォルトの名無しさん:2010/08/15(日) 23:23:56
市販のPCゲームソフトでJavaで書かれているものはどれくらいありますか?
5デフォルトの名無しさん:2010/08/15(日) 23:40:18
皆さんに質問ですが、
最初プロジェクト名にMyGameと書いてプログラミングを始めて、
完成してから名前をHogeHogeに変えたいなと思ったら、
プロジェクト名からクラス名から何から何まで書き直しますか?
6デフォルトの名無しさん:2010/08/15(日) 23:54:50
>>4
Windows用ゲームのパッケージソフトか?日本には無い。

>>5
プロジェクト名はいわゆる一つのコードネームだから変えない。
だからもともとそのゲームを表すような固有の名前は付けない。(Act, Rpg1などでいい)
他人に渡すものでも実行形式のファイル名だけ変えればいい。
7デフォルトの名無しさん:2010/08/15(日) 23:55:50
>>6
オープンソースにしようと思うんですが、その場合は?
8デフォルトの名無しさん:2010/08/16(月) 00:04:28
完成してから名前を書き換える事に何かメリットがあるんだろうか
コードネームの意味が分かってないんじゃないか
94:2010/08/16(月) 00:18:54
>>6
ありがとうございます。
やっぱりC/C++とかが多いんでしょうか。

Javaを覚えれば携帯電話のアプリも作れると聞いたので
C/C++よりJavaをやってみようと思ったんですが…。
10デフォルトの名無しさん:2010/08/16(月) 00:20:01
>>7
そんな細かいことは自分で決めろ。
後から変更するのは迷惑だろうから、それを考えてどうするか決めたらいい。

>>8
1行目
利用者のこと考えたら人として分かりやすくしてあげるのが普通だわな
2行目
お前には何が見えてるんだ?
11デフォルトの名無しさん:2010/08/16(月) 00:40:10
>9
携帯電話のアプリ作るんだったら専用の勉強しなきゃだよ
言語さえあってれば即作れるわけじゃない
12デフォルトの名無しさん:2010/08/16(月) 00:40:53
>>10
コードネームの意味がわかってないんだな
13デフォルトの名無しさん:2010/08/16(月) 00:44:59
Javaでもゲーム作れるんだから市販とか関係なくやればいいじゃない
ついでに言えば市販のPCゲームソフト市場なんてエロゲ以外ほぼ死滅してる
14デフォルトの名無しさん:2010/08/16(月) 00:51:17
正式タイトルとは関係なくユニークなコードネームを付けて
適切な名前空間や命名規則を決めておくのが普通だろう。
もっと言うと、タイプしやすい3文字ぐらいに省略できるようなコードネームが良い。
15デフォルトの名無しさん:2010/08/16(月) 00:57:20
Javaで作ったソフトを市販すると客からランタイム関係で質問たくさん来そうだな
直接関係のないことまで聞いてくる客もいるだろうな
16デフォルトの名無しさん:2010/08/16(月) 01:23:11
コードネームなのは分かってるけど、ついこだわっちゃうw
17デフォルトの名無しさん:2010/08/16(月) 01:32:58
とりあえず携帯アプリが作りたいならJavaでいいんじゃない?
時期が来たらそれまでにJavaで作ったものを携帯用にアレンジして……ということもやりやすいだろうし。
18デフォルトの名無しさん:2010/08/16(月) 02:42:37
>>13
あまり使われないということは何か使ったらまずい事があるんじゃないか、と思わない?
アリも寄り付かないアイスクリームは毒入りかもしれないじゃない。
19デフォルトの名無しさん:2010/08/16(月) 04:01:32
あえて未踏の地を進むのはそれ相応のメリットがあるからで
Javaでのゲーム開発にそれがあるかと言われると…
20デフォルトの名無しさん:2010/08/16(月) 04:02:28
市販ゲームの一般的な開発環境って何?
21デフォルトの名無しさん:2010/08/16(月) 04:04:09
C++
22デフォルトの名無しさん:2010/08/16(月) 07:07:42
未踏?アプレットでもアプリでもJavaゲー自体は世の中に腐るほどあるわけだが
PC用のJavaアプリゲーはレアだが
23デフォルトの名無しさん:2010/08/16(月) 07:40:00
市販ゲームってなんのことなんだ?
WiiとかPS3のゲームを指してるのか?
24デフォルトの名無しさん:2010/08/16(月) 11:36:00
C++でOpenGLで、日本語入力のライブラリとかってありますか・・・?

一応DirectX SDKのCustomUIを参考に自分で作ろうと四苦八苦してるとこですが、
普通にネトゲーとかでは実装してそうなので、公開されているライブラリがあったら
便利だな〜と思ったのですが・・・。

無ければショボいものでもオープンにしてみようかな。
25デフォルトの名無しさん:2010/08/16(月) 21:40:09
>>23
>>4に「市販のPCゲームソフト」って書いてあるじゃん?
26デフォルトの名無しさん:2010/08/17(火) 00:42:51
ムービーシーンってどうやって作りゃいいの
27デフォルトの名無しさん:2010/08/17(火) 00:44:10
何がわからないのかまったくわからない
28デフォルトの名無しさん:2010/08/17(火) 01:03:18
ムービーを再生すればムービーシーンの出来上がりだ
294:2010/08/17(火) 01:06:13
>>11 >>13 >>15 >>17-19 >>22
ありがとうございます。
やっぱりC++を中心に勉強して、Javaもやろうと思います。

DirectXよりOpenGLを使うのが良いのでしょうか。
言語とあわせて勉強してみます。
3024:2010/08/17(火) 01:24:52
>>29

そうだね、携帯とかJavaも考えてるなら、OpenGLの方が合ってるだろうと思う。
Winのみで考えてるならDirectXの方が良いだろうけど、
OpenGLならクロスプラットフォームのゲームも作りやすいしね。
31デフォルトの名無しさん:2010/08/17(火) 01:27:09
いまどきWindowsでゲームって
32デフォルトの名無しさん:2010/08/17(火) 01:33:56
DirectXを覚えてwinだけじゃなく後々は360かその後継機で出すというのも無くはない
ttp://www.xbox.com/ja-JP/indiegames/
33デフォルトの名無しさん:2010/08/17(火) 03:42:07
>>24
WindowsならIMEなんたらのウインドウメッセージを処理すれば文字と位置は得られる。日本語の解説もあちこちにあるよ。
OSXは10.5以上でいいならNSTextInputを基礎として某所のFunTextFieldを参考にするといい、10.4系はよくわからない。
Linuxは知らない。
3424:2010/08/17(火) 08:58:06
>>33
ありがとうございます。^^

TSFを使ってある程度カスタマイズも可能な形で作ろうと考えています。
C++は勉強中なので、ドキュメントが豊富なのは助かりますね。
OSXにも対応させたいので、NSTextInput調べてみます。
354:2010/08/18(水) 01:02:23
>>30
そうなんですか。
今度の週末あたりからいろいろ調べてみます!

>>32
360とかで売り出そうと思ってるわけじゃないですけど
余裕があったらDirectXも勉強するようにします。
364:2010/08/18(水) 01:36:13
あっ、OpenGLって3Dに強いやつなんですね。
2Dも扱えるとのことですけど、2Dしか使わないなら別のものを使ったほうがいいんですかね・・・?
37デフォルトの名無しさん:2010/08/18(水) 07:25:31
3Dで2Dやればいいじゃん
38デフォルトの名無しさん:2010/08/18(水) 07:49:23
色々と落ち目っぽいJavaだけど運が良ければBD-PGで化けるかもしれんから頑張ってくれ
39デフォルトの名無しさん:2010/08/18(水) 08:01:39
DVD-PGですら化けなかったのに?
40デフォルトの名無しさん:2010/08/18(水) 12:41:25
SDLがいいんじゃない?
41デフォルトの名無しさん:2010/08/18(水) 12:46:28
SDLはハードウェア支援使ってないからwin32apiで書くのと変わらんぞ
42デフォルトの名無しさん:2010/08/18(水) 13:06:08
インテルマック以来SDL等のマルチプラットフォームライブラリの影が
薄くなっちゃって寂しい限りだよ
43デフォルトの名無しさん:2010/08/18(水) 13:16:50
>>41
SDL1.3はハードウェア支援に対応してるんじゃなかったっけ?
44デフォルトの名無しさん:2010/08/18(水) 14:01:35
マルチっつってもどうでもいいプラットフォームに対応してても反応しにくいわ
45デフォルトの名無しさん:2010/08/18(水) 20:27:52
WindowsとXbox360のマルチプラットフォームなXNAの圧勝だろ。
LinuxやMacやドリームキャストに対応している事と比べて情熱が熱い。
46デフォルトの名無しさん:2010/08/18(水) 20:30:36
いやいや、WindowsでXNAは無いわ
普通にDirectXで360で動かせばいいやん
47デフォルトの名無しさん:2010/08/18(水) 20:32:44
業界関係者は名前にプって入れておいてくれ
知ったかのアマチュアは名前にペって入れておいてくれ

適当なことを書かれると読み手が混乱するだろうから
48デフォルトの名無しさん:2010/08/18(水) 20:32:58
え?
49デフォルトの名無しさん:2010/08/18(水) 20:33:25
>普通にDirectXで360で動かせばいいやん
50デフォルトの名無しさん:2010/08/18(水) 20:38:18
え?まさか○箱はXNAで作らないといけないとか思ってる人いるの?
51デフォルトの名無しさん:2010/08/18(水) 22:32:27
それはないやん?
52デフォルトの名無しさん:2010/08/18(水) 23:41:58
>50
アマでもXNA使わなくても作れるの?
53デフォルトの名無しさん:2010/08/19(木) 00:16:16
開発は制限されてないから作れるだろうよ
発売まで漕ぎ着けられるかはお前さんの営業力しだいじゃないか?
54デフォルトの名無しさん:2010/08/19(木) 01:26:55
アマだとあの黒い奴が手に入らないだろ
あれなしで開発するのは至難の業じゃね?
55デフォルトの名無しさん:2010/08/19(木) 07:12:06
いやしくもこのスレに書き込んでるような人間なら糞箱なんて
選択肢にも入らないというのは常識だと思うのだが
PS3も普及の兆しが見えてきたし、糞箱の日本市場撤退は秒読み段階だろ
56デフォルトの名無しさん:2010/08/19(木) 07:14:53
ゲハにお帰りください
57デフォルトの名無しさん:2010/08/19(木) 14:14:52
PS3はもう開発できないんじゃね?
58デフォルトの名無しさん:2010/08/19(木) 14:16:05
黒ステが欲しい
59デフォルトの名無しさん:2010/08/19(木) 14:18:16
ネットやろうぜ
60デフォルトの名無しさん:2010/08/19(木) 14:38:00
>>55
マジレスすっとこのスレに書き込んでるほとんどの人が
上が決めたプラットフォームで作るだけで
選択肢なんて無いよ
61デフォルトの名無しさん:2010/08/19(木) 15:39:48
アマチュア開発の話してるんじゃなかったのかよ!
62デフォルトの名無しさん:2010/08/19(木) 15:42:53
アマチュア開発ならなおさらPS3はないだろw
63デフォルトの名無しさん:2010/08/19(木) 17:54:15
おまえら面白いな
64デフォルトの名無しさん:2010/08/19(木) 17:55:55
PS3Linuxはどうなったの?
65デフォルトの名無しさん:2010/08/19(木) 18:02:07
RSX叩けないからうんこ
66デフォルトの名無しさん:2010/08/19(木) 18:15:42
新しいファームだと動かないしな
67デフォルトの名無しさん:2010/08/19(木) 18:25:59
モンスターファームのホリィは可愛い
68デフォルトの名無しさん:2010/08/19(木) 18:27:58
○○ファームの○○に入る文字で何か目新しいものない?
69デフォルトの名無しさん:2010/08/19(木) 18:29:25
ストロベリーファーム
70デフォルトの名無しさん:2010/08/19(木) 19:05:08
モンスターファームはすでにあるから
ゆうしゃファームとか
71デフォルトの名無しさん:2010/08/19(木) 19:24:25
人間ファーム
72デフォルトの名無しさん:2010/08/19(木) 19:26:07
海底ファーム?
73デフォルトの名無しさん:2010/08/19(木) 19:28:09
パファーム
74デフォルトの名無しさん:2010/08/19(木) 19:29:03
リコンファーム
75デフォルトの名無しさん:2010/08/19(木) 23:47:27
C#ってゲーム作りに向いてますか?
RPGを作ってみたいです。
76デフォルトの名無しさん:2010/08/19(木) 23:55:55
ゲームアイデアを出すスレ?
ゲームアイデアを実現するためのアルゴリズム等のアイデアを出すスレだと思ってた
77デフォルトの名無しさん:2010/08/20(金) 00:03:18
ゲームが作れない言語は無いから、まず得意な言語で作ってみればいい
78デフォルトの名無しさん:2010/08/20(金) 00:18:42
PS2レベル以下のコンシューマ機ではJavaやC#のような言語じゃ絶対開発したくなかったが
(そんな選択肢が現実にあったかは別として)
PS3/360レベルじゃ商品レベルのものも問題なく開発できてる事例あるのかな
79デフォルトの名無しさん:2010/08/20(金) 00:21:53
>77
COBOLで作ってみてくれ
80デフォルトの名無しさん:2010/08/20(金) 00:32:17
そもそもC++差し置いてJavaとかC#選ぶ理由がない
個人の趣味プロジェクトならいざしらず
81デフォルトの名無しさん:2010/08/20(金) 00:33:59
言語がC++よりシンプルなのはいいと思う。
しかしGC必須なのは致命的。
82デフォルトの名無しさん:2010/08/20(金) 00:34:33
C++こそ速度以外に選ぶ理由がないと思うが
83デフォルトの名無しさん:2010/08/20(金) 00:35:50
速度はネイティブコンパイラあれば問題ないと思うが
84デフォルトの名無しさん:2010/08/20(金) 00:40:09
C++以外だとどこかで躓いた時の情報量の少なさがヤバイ
85デフォルトの名無しさん:2010/08/20(金) 00:51:15
>>79
制作依頼か?
1タイトル3000万から受け付けてやるぞ
86デフォルトの名無しさん:2010/08/20(金) 00:52:28
お前口先だけで一人じゃゲームつくれないじゃん
87デフォルトの名無しさん:2010/08/20(金) 01:01:47
3000万(笑)
88デフォルトの名無しさん:2010/08/20(金) 02:19:55
>>79
ゲームによるけど別に作りづらい言語じゃないぞ
数値型の精度も高いしオブジェクト指向言語に生まれ変わってるしな
知識ゼロから始めるならCOBOLのほうがモノになるのは早いと思う
今までの積み重ねや開発環境の差で実際にはCしか選択肢はないだろうけど
89デフォルトの名無しさん:2010/08/20(金) 02:24:51
3000 万とか超大作なんだろうな。
俺ならコンソール向けジャンケンゲームでも作って2,3円貰えればいい。
それで COBOL でもゲームが作れることくらいは十分に証明できる。
90デフォルトの名無しさん:2010/08/20(金) 03:56:33
開発委託って例えばその金額だけ支払えばいいの?
ゲームを実際に売ってどれだけ売れてもそれ以上
開発委託したとこには金はいかないってこと?
開発費用分売れなかったら損だけど
めちゃくちゃ売れた場合、開発委託受けた側は何も恩恵無し?
91デフォルトの名無しさん:2010/08/20(金) 07:15:12
(あそこに委託すれば売れる……ゴクリ)
92デフォルトの名無しさん:2010/08/20(金) 09:23:30
数値型の精度て
93デフォルトの名無しさん:2010/08/20(金) 10:51:27
>>90
契約次第。いっぱい売れたらボーナス出るような契約が多いんじゃないかな
まぁ3000万だとしょぼいゲームになりそうだけど
94デフォルトの名無しさん:2010/08/20(金) 11:29:36
1位 グランド・セフト・オート4 1億ドル(92億円)
2位 グランツーリスモ5 8000万ドル(73億円)
3位 シェンムー 7000万ドル(64億円)
4位 TOO HUMAN 6300万ドル(57億円)
5位 メタルギアソリッド4 6000万ドル(55億円)
6位 Halo3 5500万ドル(50億円)
7位 LA Noire 5000万ドル(46億円)
7位 APB: All Points Bulletin 5000万ドル(46億円)
9位 ファイナルファンタジー12 4800万ドル(44億円)
10位 Killzone 2 4500万ドル(41億円)
圏外 ファイナルファンタジー13 4000万ドル(36億円)

気になってちょっと調べてみたら、開発費ってめちゃくちゃかかってるんだな・・・
95デフォルトの名無しさん:2010/08/20(金) 11:45:28
下請けなんて制作費貰ってその範囲内で作って利益だすだけだよ
いっぱい売れたらボーナスなんて無い無い
最大の報酬は「次の仕事をくれる事」じゃないか?
仕事を切らさないことが生命線の中小にとっては一番大事なことだが・・・

その会社の独自技術を使ってたり
付き合いも長くある程度の販売数が見込めてるときは
例えば50001本目から1本当たり幾ら幾ら とかのロイヤリティが発生する契約が結ばれる時もあるけど
大ヒットでもしない限り大きな利益にはならないよ
96デフォルトの名無しさん:2010/08/20(金) 12:18:54
>>95
>例えば50001本目から1本当たり幾ら幾ら とかのロイヤリティが発生する契約が結ばれる時もあるけど
ごめん、これのことをボーナスって書いてた
多いと思ってたけどそうでもないんだ
97デフォルトの名無しさん:2010/08/20(金) 13:49:21
>94
今時の据置機ならグラフィックだけで費用かかりまくって当然だからな
DSやPSPに絞ってのランキングも見たい
98デフォルトの名無しさん:2010/08/20(金) 14:20:53
開発者の上に立ってる奴が無駄に高給取りだから開発費膨らむんだよな
99デフォルトの名無しさん:2010/08/20(金) 15:57:31
しかし金がかかってるランキングを見て「金かかってる!」って言うのはどうなんだ
100デフォルトの名無しさん:2010/08/20(金) 16:20:41
DSだったら1本1500万くらい
上ばっかみてもしょうがない
101デフォルトの名無しさん:2010/08/20(金) 17:06:45
>>100
それ、DSの中でもかなり安いほうだろ。
普通は3,000万円ぐらいはかける。
102デフォルトの名無しさん:2010/08/20(金) 17:22:25
ゲームプログラミングに有用なメールマガジンとかってある?
103デフォルトの名無しさん:2010/08/20(金) 18:06:51
P/ECEというハードで作れ
104デフォルトの名無しさん:2010/08/20(金) 23:17:11
正直、宝くじ当たったぐらいじゃ今時のゲームは全然作れないよ
105デフォルトの名無しさん:2010/08/20(金) 23:25:05
test
106デフォルトの名無しさん:2010/08/21(土) 16:38:56
ワンダースワンで作れ
107デフォルトの名無しさん:2010/08/21(土) 17:19:45
ワンダースワン用ゲームってどうやって作るの?
108デフォルトの名無しさん:2010/08/21(土) 17:31:34
それはアスカに聞いてください
109デフォルトの名無しさん:2010/08/21(土) 17:40:00
    l ヽ. |   |  |   |
.   | __| | __ | |^)_ |    ,-、
   _ |  | |   | .|ノ  |.    i  ヽ
  i'i. ヽ. -‐、 !   !-! ‐- ヽ.  〉、 l
 / _ ノ.ヽ. `' (ノo(ヽο/ ヽノ (ノ |
 ヽ. ,`ヽ,ソ    )ノ   ノ/o   |
   \ '  / / l     ()ヽ l
    ヽ.   '    |  (⌒ヽ  |
     ヽ.     |   しノ  /
110デフォルトの名無しさん:2010/08/21(土) 17:45:35
児ポ法違反じゃないの?
111デフォルトの名無しさん:2010/08/21(土) 18:48:09
エバ厨死ね
112デフォルトの名無しさん:2010/08/21(土) 19:37:42
アフラック
113デフォルトの名無しさん:2010/08/21(土) 20:25:11
ワンダースワンやネオジオポケットにも改造ツール入れるやつってあったの?
114デフォルトの名無しさん:2010/08/21(土) 21:03:16
もっと勉強してこい
115デフォルトの名無しさん:2010/08/21(土) 23:52:52
今年で24才の高卒のアホなんだが今、基金訓練でJavaのSJC-P資格を目指し
個人でC言語の1級と国家資格の応用情報取ろうと考えてる

これだけで次世代のゲーム製作会社に入れるけ?
116デフォルトの名無しさん:2010/08/21(土) 23:53:33
いけるいける
117デフォルトの名無しさん:2010/08/22(日) 00:03:51
あげてたね、ごめんよ

頑張ってみる!!
廃人になろうが昔の夢実現させるよ、ありがとう
118デフォルトの名無しさん:2010/08/22(日) 00:11:15
えっ、誰も突っ込まないのか・・・
119デフォルトの名無しさん:2010/08/22(日) 00:12:53
ゲーム会社では資格なんか糞の役にも立たない
そんなものを取る暇があるなら提出用にゲームの一本でも作るか
もしくは業務系に行け
120デフォルトの名無しさん:2010/08/22(日) 00:17:29
お前ら異名つけるならドリームクラッシャーだな
121デフォルトの名無しさん:2010/08/22(日) 00:18:56
ゲームクリエイターじゃなくてプログラマーになりたいのか・・・可哀想な子
122デフォルトの名無しさん:2010/08/22(日) 00:21:30
ゲームクリエーターっていい印象ないわ。
おれはプログラマーのほうがいい。
開発の現場がわからない人間のゲームはいやだな。
123デフォルトの名無しさん:2010/08/22(日) 00:21:42
現実問題、スキル無し24才無職がゲーム業界は絶望的だから
そのまま資格をとってIT奴隷を目指したほうが自分の為になると付け加えとく
124デフォルトの名無しさん:2010/08/22(日) 00:23:37
ひとりでゲームつくれるレベルなら
会社選ばなきゃ24ならぎりぎりありだと思う。
125デフォルトの名無しさん:2010/08/22(日) 00:26:02
あぁ…つまり来世に夢をたくした方が良いって事だね
意見ありがと
126デフォルトの名無しさん:2010/08/22(日) 00:32:06
もはや夢を見る価値がある程の業界でもないから安心して諦めていい
127デフォルトの名無しさん:2010/08/22(日) 01:05:54
同人ゲーでいっぱつ当てろや
適当に女キャラたくさん出してニコニコで宣伝しまくればクソゲーでも売れるぞ
128デフォルトの名無しさん:2010/08/22(日) 01:09:20
資格なんて置いといて今から作品作ってどっか中小に潜り込んで
3年実務経験積んでから本当に行きたい会社への転職を目指せばギリ行ける気もする
今現在自分で何かしらのゲームを作れるレベルじゃないならアウトだと思われ
129デフォルトの名無しさん:2010/08/22(日) 01:11:23
モバイルゲーム系で旧世代のゲームの移植が進んでるからヤバイな
多少のゲーム作れる程度で本当に雇われるんか?
130デフォルトの名無しさん:2010/08/22(日) 01:12:11
ゲームまともにつくれない奴が多いのも事実
131デフォルトの名無しさん:2010/08/22(日) 01:13:29
他者との共同開発経験とか無くても大丈夫なんかい?
132デフォルトの名無しさん:2010/08/22(日) 01:14:13
人間性がまともなら問題ないんだがこれがまたいないんだな
133デフォルトの名無しさん:2010/08/22(日) 01:24:28
でも実際ひとりでまともにゲーム作れる即戦力レベルの新人なんて今時いないと思うんだけど
134デフォルトの名無しさん:2010/08/22(日) 01:26:42
新卒なら作れなくても問題ないが24-25ともなるとそうは行かない
26以上だと中途以外は有り得ない
135デフォルトの名無しさん:2010/08/22(日) 01:26:41
いやいや、シナリオとグラフィックとサウンドまで全部自前で作れとかならともかく
今の時代に1人でゲームが作れませんなんてプログラマが業界に入れるわけ無いだろ
未経験者でもgoogle駆使すりゃ1日で作れる
136デフォルトの名無しさん:2010/08/22(日) 01:26:57
GUIのゲームとCUIのゲーム両方つくれたほうがいい
137デフォルトの名無しさん:2010/08/22(日) 01:27:59
>>127
ないない
138135:2010/08/22(日) 01:28:12
オープンソースのゲームパクって来るって意味じゃなくて
ライブラリの使い方とゲームシステムプログラミングのTIPSをググればって話だからな?一応
139デフォルトの名無しさん:2010/08/22(日) 01:34:53
1日ねぇ
140デフォルトの名無しさん:2010/08/22(日) 01:35:01
1日で作れるようなもんはゲームとは言わねぇ。ゲームの出来損ないだ
141デフォルトの名無しさん:2010/08/22(日) 01:35:51
ジャンケンをするだけのゲームなら1日かければ作れるかもしれん
142デフォルトの名無しさん:2010/08/22(日) 01:37:09
コンソールのジャンケンゲーを作ってそれでゲーム作れますよって言われてもね
143デフォルトの名無しさん:2010/08/22(日) 01:40:13
東方弾幕程度のものは自力で作ってほしいね
144デフォルトの名無しさん:2010/08/22(日) 01:42:00
>>139-142
お前らどんだけレベル低いんだよ…
マ板の業界人スレじゃないからワナビーの学生ばかりなんだろうけど
145デフォルトの名無しさん:2010/08/22(日) 01:44:52
素人はVSやライブラリのインストールと設定だけで1日くらい余裕でかかるのを知らないワナビがいる
146デフォルトの名無しさん:2010/08/22(日) 01:48:13
この業界で未経験っていうと業務経験無しって意味だから実力はそれなりにないとだめなんだよね
だからさすがに環境整えるだけで1日は問題外
147デフォルトの名無しさん:2010/08/22(日) 01:56:15
意思疎通能力に難があると業界人ぽく見えるな
148デフォルトの名無しさん:2010/08/22(日) 02:00:18
プログラムの話してんのに環境構築に一日とかよくそんな詰まらん考えが出来るな
149デフォルトの名無しさん:2010/08/22(日) 02:04:08
環境構築抜きにしても言語を最低限使えるとかちゃんとビルド出来るようになるとかで
とてもじゃないけど1日じゃ済まないんだけどね
150デフォルトの名無しさん:2010/08/22(日) 02:05:59
ム板なんだからプログラム未経験は文字通り論外だろ
あと今時VSやら言語の知識やらが無きゃゲームを作れないという発想の時点で遅れてる
151デフォルトの名無しさん:2010/08/22(日) 02:07:15
そろそろ1日で作るゲームの具体例を出してもいいんじゃない
152デフォルトの名無しさん:2010/08/22(日) 02:08:33
コンソールのジャンケンゲー
153デフォルトの名無しさん:2010/08/22(日) 02:10:48
>>150
言語の知識抜きでゲームを作るというとツクールの類ですかね
プログラムの話をするム板にふさわしい発想でとてもいいと思います
154デフォルトの名無しさん:2010/08/22(日) 02:11:30
>>150
それで作れるワケが無い。ただのコピペじゃ限界が直ぐに見える。
ちょっとコピペ元と違うことするだけで使い物にならない。

そんなもん作るくらいならちょっとしたコンソールゲーム作れる方がまだマシ。

>>152
最強のジャンケンゲーでも作るなら 1 日かもしれないが。。。
155デフォルトの名無しさん:2010/08/22(日) 02:12:35
おまえら容赦無いなw
156デフォルトの名無しさん:2010/08/22(日) 09:44:13
一日がどうかって別にどうでもいいが
>今の時代に1人でゲームが作れませんなんてプログラマが業界に入れるわけ無いだろ
これは確実。新卒ならまだしも
157デフォルトの名無しさん:2010/08/22(日) 10:57:17
また確実とか適当なことを
158デフォルトの名無しさん:2010/08/22(日) 11:05:25
ひとりでゲーム作るってどの程度のゲーム指してるのか全然わからんよね
159デフォルトの名無しさん:2010/08/22(日) 11:12:16
新卒だったら言語の知識がある程度ありゃこっちで仕込んでやるって会社はごく普通だろ。ただしブラックを除く
160デフォルトの名無しさん:2010/08/22(日) 11:14:24
>>156
ゲームじゃなくてツール専門で作りたいって言って入ってる人もたまにいるんだぜ
161デフォルトの名無しさん:2010/08/22(日) 12:58:00
今の時代に1人でゲーム作れるような優秀な学生はゲーム業界なんてこねーよ。
そもそもプログラマにならない。情報系の学部どこもボロボロじゃないか。
ベーマガやらMSX-FANやらOh!Xやら出てた頃とは違うんだ。

優秀な若者が自分の業界に来なくなったのを「最近の若者は」という人がたまに居ますがね。
他にもTwitterでゲーム業界行くか迷ってる学生に絡んでたどこぞの企画とか。ちょっと勘違いしている。
俺ら斜陽産業なんだから。
162デフォルトの名無しさん:2010/08/22(日) 13:07:10
この業界なんでこんな暗いイメージしかでてこないん?
163デフォルトの名無しさん:2010/08/22(日) 13:13:59
他業種でプログラマは活躍できるよ。
164デフォルトの名無しさん:2010/08/22(日) 13:14:59
いまどきコンピュータを使わない分野なんかどこにも無いしね。
プログラマはあらゆる分野でエキスパートになれる。
165デフォルトの名無しさん:2010/08/22(日) 13:17:27
ゲーム以外のプログラマは技術職じゃない。
166デフォルトの名無しさん:2010/08/22(日) 13:24:22
チラシの裏にでも書いてろ
167デフォルトの名無しさん:2010/08/22(日) 13:28:31
ITのプログラマは1年に5000行もプログラムを書かない
168デフォルトの名無しさん:2010/08/22(日) 13:29:15
1行100円
169デフォルトの名無しさん:2010/08/22(日) 13:30:27
仕様を考えたりする人って神なの?
170デフォルトの名無しさん:2010/08/22(日) 13:36:06
うん
171デフォルトの名無しさん:2010/08/22(日) 13:43:11
そして同時に悪魔でもある
172デフォルトの名無しさん:2010/08/22(日) 13:43:38
業務系は
クライアントから聞き取りをして(←実はココが一番時間がかかる)
仕様書を書いてそれにOKを貰った時点で仕事の9割が終わってる
あとはその仕様書にしたがってコードを打ち込むだけ
後で仕様書外のことをクライアントが言い出したら別期間別料金を発生させればいい
173デフォルトの名無しさん:2010/08/22(日) 14:01:41
業務系じゃなくてゲームだけど・・・
174デフォルトの名無しさん:2010/08/22(日) 14:02:37
さっきから誰も聞いてないのに業務語りしてる子はなんなんだ
175デフォルトの名無しさん:2010/08/22(日) 14:15:24
最近基本情報を取得した高校3年生です
176デフォルトの名無しさん:2010/08/22(日) 14:16:53
なんか情報処理試験って内容が業務系に傾いてるよな・・・
やっぱ中の人がNTTデータとか出身の人なんだろうか?
177デフォルトの名無しさん:2010/08/22(日) 14:20:55
経産省だと富士通からの天上がり多そうだw
178デフォルトの名無しさん:2010/08/22(日) 15:02:36
どっちかっていうとゲームプログラムのほうが特殊
179デフォルトの名無しさん:2010/08/22(日) 15:05:08
業務系ってプログラミングというよりただの作業って感じじゃん。
だから業務系はプログラミングに含めるべきじゃないと思う。
180デフォルトの名無しさん:2010/08/22(日) 15:07:17
必要なプログラマの数は業務系の方が圧倒的に上
本職のマかどうかは別として
181デフォルトの名無しさん:2010/08/22(日) 15:07:39
だが世の大半のプログラミングは業務系なので
書籍とかも業務を意識してる物がほとんどだ
182デフォルトの名無しさん:2010/08/22(日) 15:20:34
業務系は学ぶことが少ないので多くの書籍を必要としない。
183デフォルトの名無しさん:2010/08/22(日) 15:46:27
ここって具体的なゲームプログラムの話になるとあんま盛り上がらないyおな
184デフォルトの名無しさん:2010/08/22(日) 15:58:07
オンラインゲームのプロトコルにMessagePackってどう思う?
185デフォルトの名無しさん:2010/08/22(日) 16:08:14
ゲームプログラミングってクラス間の結合強すぎ
186デフォルトの名無しさん:2010/08/22(日) 16:10:16
「これをやったらゲームプログラム」なんて定義があるわけじゃないからなぁ
ゲームプログラムなんて
手元にあるリソースと求められてる結果を
どんなインチキを使ってでも結びつければいいだけの物だ
ある程度のノウハウは有るにはあるが
187デフォルトの名無しさん:2010/08/22(日) 16:11:10
一回作ったクラスを別のゲームのプログラムに流用することがないんだからそれはべつにいいんじゃね
クラスの独立性を高めるのってライブラリ的に使えるようにするためでしょ
188デフォルトの名無しさん:2010/08/22(日) 16:16:32
>>185
それは設計がヘボだからだよ
とは言ってもゲームプログラムってどういう仕様が入るか分からんから適切な設計をするのって難しいけどな

>>187
ゲームプログラムに関して言えば、結合を弱く作るのは変更に強くするためだなあ
189デフォルトの名無しさん:2010/08/22(日) 16:17:44
>156
どんなゲームを作れればいいんだ
パックマンやスペースインベーダーじゃダメだろ
かといって最新のマリオやゼルダを個人で作れるようになってから就職しようなんて思ってたら10年単位でかかるぞ
190デフォルトの名無しさん:2010/08/22(日) 16:19:36
オプーナ
191デフォルトの名無しさん:2010/08/22(日) 16:33:36
>>189
その中間でいいじゃん 初代マリオやスーファミマリオレベル
まあ後は会社が選ぶけど
192デフォルトの名無しさん:2010/08/22(日) 16:37:24
>パックマンやスペースインベーダーじゃダメだろ

このセリフはパックマンやスペースインベーダーを作ってからなら言える
193デフォルトの名無しさん:2010/08/22(日) 16:44:21
既存のゲームのパクリだったら
どうしても比べられちゃうしよっぽど出来がよくないと評価されない

単純なものでいいからちゃんとゲームとして成立してるものの方が良い
よくFlashゲームでルールは簡単でグラフィックもしょぼいのにやけに中毒性のあるゲームあるだろ?
そいうのを自分で考えられて形にできる人なら大手は無理だけどそこそこの所ならいける
194デフォルトの名無しさん:2010/08/22(日) 16:49:47
オリジナルゲームが作れるかはプログラマじゃなくてクリエイターの分野じゃね?
プログラマなら既存のゲームの模倣品を作れるかどうかだけじゃね?
まさかゲーム会社入社後も1人で全工程作るわけじゃあるまいし
プログラマが勝手にゲームにオリジナル要素加えるなんてありえないだろ
195デフォルトの名無しさん:2010/08/22(日) 16:52:00
模倣品作れる程度なら新卒と派遣で十分ですから
196デフォルトの名無しさん:2010/08/22(日) 16:54:30
言われた事だけしかできないゲームプログラマなんて要らない
それって誰でも良いってことじゃん
197デフォルトの名無しさん:2010/08/22(日) 16:55:54
お前らみたいな手を動かさないゲームプログラマはいらない
198デフォルトの名無しさん:2010/08/22(日) 17:06:33
模倣品もちゃんと作れない人は多いよ。
むしろ仕様も無いのに同じものが作れるのはある意味で天才。

言われたものを100%作れるのも実は天才の部類だと思っている。

オレも含めてだいけど、言われたミッションを
100%守れる人はどのくらいいるのであろうか。
199デフォルトの名無しさん:2010/08/22(日) 17:09:56
仕様と素材は与えられてひとりで作れれば十分優秀だよねぶっちゃけ
200デフォルトの名無しさん:2010/08/22(日) 17:35:43
作れる作れないの前に
会社にいきたくない
201デフォルトの名無しさん:2010/08/22(日) 17:47:19
じゃあゲームの前に会社を作ろうか
202デフォルトの名無しさん:2010/08/22(日) 17:47:41
気が合いますね、俺もだよ。
いま会社だけどなw
203デフォルトの名無しさん:2010/08/22(日) 18:09:11
おれならパックマン作らせてコード見るね。
3Dの適性以外は大体わかる。
204デフォルトの名無しさん:2010/08/22(日) 18:35:02
コードはさほど重視しないなぁ
どんなにきったなくても1つのゲームとして完成してるかどうかを見る
解説がないと分からないような中途半端な未完成品を持ってきたら
問答無用で蹴るかしょうがないから中身を見て判断するが
205デフォルトの名無しさん:2010/08/22(日) 18:51:30
イミフw
206デフォルトの名無しさん:2010/08/22(日) 19:10:02
おまえらゲームプログラム関連の記述情報どこから集めてる?
207デフォルトの名無しさん:2010/08/22(日) 19:15:31
正直、本とかWebとかってあんま実用的な情報載ってないような気がする
208デフォルトの名無しさん:2010/08/22(日) 20:00:40
XNAで1000個の球を表示しただけでカクカクなんですが、
どういうテクニックを使えば軽くなるんでしょうか?
209デフォルトの名無しさん:2010/08/22(日) 20:06:59
球を全部板ポリにしろ
210デフォルトの名無しさん:2010/08/22(日) 20:14:41
やってみましたが、やはり軽くなりません。
JigLibXの衝突検出が重いようです・・・
211デフォルトの名無しさん:2010/08/22(日) 20:35:10
なにが「表示しただけでカクカク」だ、嘘こくんじゃねーよ
少なくとも計測して何が重いのかちゃんと調べろ
212デフォルトの名無しさん:2010/08/22(日) 20:41:51
めんどくさいのでやりません
住人が偉そうなのでもうきません
さようなら
213デフォルトの名無しさん:2010/08/22(日) 21:11:25
計測もせずに最適化なんてバカのやることだよなー
214デフォルトの名無しさん:2010/08/22(日) 21:17:56
20%がうんたらかんたら
215デフォルトの名無しさん:2010/08/22(日) 21:23:31
○○の言うところの埋蔵金か
216デフォルトの名無しさん:2010/08/23(月) 21:26:28
XNA使うような低脳にあまり多くを求めるなよ
217デフォルトの名無しさん:2010/08/25(水) 14:50:45
>>185
同意せざるを得ない
218デフォルトの名無しさん:2010/08/25(水) 15:01:38
シューティングみたいに弾を出すのって
球を出す度消す度に子クラスを作るよりも
初めから数十個作ってそこの座標を入れ替える方式の方がメジャー?
219デフォルトの名無しさん:2010/08/25(水) 15:12:09
ドドンパチ系を作るのに、弾を発射されるたびにインスタンス作ってたら、すっごい負荷がかかりそうだな。
220デフォルトの名無しさん:2010/08/25(水) 15:16:04
球を出す度消す度にクラスを作るが
あらかじめ最大数分確保してあるメモリに割り当てる
221デフォルトの名無しさん:2010/08/25(水) 15:37:38
ゲームとして遊べればそれでよい
222デフォルトの名無しさん:2010/08/25(水) 15:38:15
某言語だと配列使う以外に手がない
223デフォルトの名無しさん:2010/08/25(水) 15:41:05
N88BASIC?
224デフォルトの名無しさん:2010/08/25(水) 15:42:09
>>219
小物を作ったり壊したりを1フレー中に数をこなしたい場合は、
メモリアロケーターを自前で作成してやるのが王道。

簡単に2枚以上の速度でアロケートできるようになるよ。

いまのPCならドドパチレベルの弾撃ちだと、
毎フレーム作ってもぜんぜん平気。

作るっても画面内に1024発が上限として、
1フレームに128発も撃てれば十分でしょ。

ぜんぜん余裕だよ。

まあ、速度を気にする人たちはキャッシュ型にするとおもう。

容量可変のフレキシブルなキャッシュをテンプレートで作っておくと
色んなところで使いまわせてべんりなんじゃないかな?
225デフォルトの名無しさん:2010/08/25(水) 23:03:43
むしろ毎フレームインスタンス作るメリットなんてなんにも無いと思うけどな
226デフォルトの名無しさん:2010/08/25(水) 23:11:03
リサイクルメソッド書かなくてすむことじゃない?
毎回新鮮でうれしいじゃないw
227デフォルトの名無しさん:2010/08/25(水) 23:14:52
どっちにしろ初期化は必要なんだからいっしょじゃね?
228デフォルトの名無しさん:2010/08/25(水) 23:18:34
リサイクルは機を使うでしょ。

破壊してもとに戻らないデータなんか初期状態のものを、
別途保存しておかなきゃならないしさ。

そういう気を使わなきゃいけないコードが増えるのはバグの元だとおもう。
229デフォルトの名無しさん:2010/08/25(水) 23:28:51
メモリ確保とタスクへの割り当てって別処理じゃね?
230デフォルトの名無しさん:2010/08/25(水) 23:33:53
もう全部配列で管理しとけばいいんじゃね
231デフォルトの名無しさん:2010/08/25(水) 23:34:57
もちろんべつだけど、newが重たいから同一フレーム内でいっぱい
newしたい場合は。アロケーターを自前で作りましょうってはなしだけど・・・。

それに付随してキャッシュ型はちょっと面倒を見てあげなきゃならないことが増えるよねって話だよ。
232デフォルトの名無しさん:2010/08/25(水) 23:38:13
>>230
配列とまではいわないけど、メモリをフレキシブルに使わなくてもいいなら、
使用する上限個インスタンスを用意してあげて、それらをリンクリストで
つなげて管理してあげるのも一般てきだよね。
233デフォルトの名無しさん:2010/08/25(水) 23:47:57
多次元配列が使えるならわざわざポインタを使ってリストを作る必要もないよな。
下手にポインタ使うと最適化されないから処理速度の観点からもポインタを
使うような富豪的プログラミングは自重すべき。
ポインタを使うとバグの温床にもなりソースの可読性もうんぬんかんぬん以下略
234デフォルトの名無しさん:2010/08/25(水) 23:50:43
インスタンス作り置きじゃ全然メモリ足りないってんなら
ある程度動的に管理する仕組みを作らなきゃいけないけど
シューティングの弾ごときでそんな事態に陥ることはまずない
235デフォルトの名無しさん:2010/08/25(水) 23:59:52
ていうかいまどきのPCでnewの重さなんて気になるのか?
描画のほうがよっぽど重いと思うが
236デフォルトの名無しさん:2010/08/26(木) 00:01:32
>>235
あほ
237デフォルトの名無しさん:2010/08/26(木) 00:15:23
固定長でいいから最初に必要なだけメモリ領域をだーっと確保
newtとdeleteをオーバーロードして
newは開いている領域のアドレスを返して連結リストとかに登録するだけ
dleleteはリストから削除

デフォルトのnew,deleteを使うのは用途的に拙いでしょ
238デフォルトの名無しさん:2010/08/26(木) 00:24:16
あんまnewとかdeleteの裏で色々やるのは良くないけどな
弾しかnewしないわけじゃないだろうし、いちいちヒープ設定の手間考えたらnewとかdeleteとかの見た目にこだわるのはよくない
239デフォルトの名無しさん:2010/08/26(木) 00:33:51
配列だけでやってたら途中の抜き差しなんかやると面倒な処理で重くなるような気がするんだけど
240デフォルトの名無しさん:2010/08/26(木) 00:34:22
STLでcapacityを確保せずにベンチとってみたら200体ぐらいで処理落ちした。
でもnewが原因で処理落ちしそうな気配はないぞ。
理屈で遅いのは知ってるが実例出すのは難しそうだな。

いわゆるタスクシステムを使えば最初にメモリ確保しちゃっても
固定長だから大丈夫なんだろうが今どきはクラス使ってるだろうから
最初に確保しちゃうのは難しいんじゃないか?
クラスの種類毎に使用予定数の最大値まで確保しなきゃいけないから
無駄が多すぎて計算上はメモリが足りててももったいないお化けがでそうな気がする。
241デフォルトの名無しさん:2010/08/26(木) 00:39:38
>クラスの種類毎に使用予定数の最大値まで確保しなきゃいけないから

んなことない
1つの領域をクラスのサイズに合わせる必要はないぞ
まぁ最大サイズのクラスよりは大きくする必要があるから無駄は出るが
242デフォルトの名無しさん:2010/08/26(木) 00:40:14
>>239
やる事はポインタを使う場合と一緒だよ。
ゲ製作でHSPの例を提示したことあるけど避難所と一緒にソースも消えちゃったorz
というかぶっちゃけ未使用タスクはKILLフラグたてて配列全ループでも大して問題にならない。
抜き差し以外の所で問題になるかもしれんがそれはまた別の話だな。
243デフォルトの名無しさん:2010/08/26(木) 01:41:44
Game Programming Gemsの日本語版を読んで
どうしても著者の言いたいことが判断しかねるところがあるので原著が見たいんだけど
pdfとかないんでしょうか。買うしかないのか。
244デフォルトの名無しさん:2010/08/26(木) 01:44:03
torrent
245デフォルトの名無しさん:2010/08/26(木) 07:33:31
敵が死んだりした時の爆発のエフェクトはどうしてんの?
246デフォルトの名無しさん:2010/08/26(木) 07:44:45
昔は爆発グラフィックなんて共通で、せいぜいサイズ別に3種類くらいだっただろうけど、
今はしっかり『その機体が炎上するアニメーション』が必要になるから、
攻撃モーションとかと同様に炎上モーション作って切り替えじゃないかな。
247デフォルトの名無しさん:2010/08/26(木) 07:46:44
ああ、その都度インスタンスを作るようなやり方で爆発も作ってたらさすがに重くないかって意味
248デフォルトの名無しさん:2010/08/26(木) 09:33:44
別に重くないけどなんでそう思ったわけ?
249デフォルトの名無しさん:2010/08/26(木) 09:47:55
描画に圧倒的な時間を取られるゲームにおいてそんな細々しいこと気にしても無駄
250デフォルトの名無しさん:2010/08/26(木) 10:39:25
とりあえず適当に実装して、重かったら考える。
251デフォルトの名無しさん:2010/08/26(木) 12:05:24
地球防衛軍みたいなFPSが作りたいのですが、
フルスクラッチから書いてどのぐらいの制作期間と人数があればいいでしょうか?
当方プログラマーです。

さしあたってプログラマー1名(私)、モデラー1名(募集)で
フィールド上を動き回れるだけのものを作ろうと思うのですが、
これでプロジェクトをぶち上げてしまっていいものかどうか
252デフォルトの名無しさん:2010/08/26(木) 12:11:33
>>251
企画書と仕様書をちゃんと書けば誰か手伝ってくれるかもよ
253デフォルトの名無しさん:2010/08/26(木) 12:15:11
>>251
FPSを嗜む身として地球防衛軍はTPSだと言いたいw

爆発とかのエフェクトが3でも酷いことになってるから上手いことできるといいね
254デフォルトの名無しさん:2010/08/26(木) 12:18:51
>>251
それで行ける。ただ、出来ればそのモデラーは身内であるか、自分でもある程度モデリングが出来たほうがいいね。
サンプルを先行して作っていけるようならいつか完成する。
255デフォルトの名無しさん:2010/08/26(木) 12:21:13
そういやセガの本見てみたけど、
これって明らかに駄目専門学生にゲームが作れたと思い込ませるための駄本じゃないか。
ライブラリ()が叩かれる理由もそれだろ。
256デフォルトの名無しさん:2010/08/26(木) 12:24:54
理論ばかり詰め込まされてる大学生にとっては気楽に作れるいい本だよ
257デフォルトの名無しさん:2010/08/26(木) 12:25:46
しかしこのスレは平日の真昼間でもレスがよく付くな
258デフォルトの名無しさん:2010/08/26(木) 12:35:18
おれたちの夏休みはまだはじまったばかりだ(完)
259デフォルトの名無しさん:2010/08/26(木) 12:42:22
>>256
京大ですが、大学では理論すらまともに教えてくれませんw
理論も実践もクズ学生レベルに合わせられているので、
高度なことを勉強したいなら独学するしかありません。
何しに大学来たんだろう、と欝欝とした毎日を送っています。
260デフォルトの名無しさん:2010/08/26(木) 12:54:28
京大なら、教授の陣容から考えてそれはありえないな。
261デフォルトの名無しさん:2010/08/26(木) 13:04:07
>>260
留年率も高いから、簡単に受からせてやろうという努力なんだろ。
はた迷惑なことだ。
262デフォルトの名無しさん:2010/08/26(木) 13:11:22
だいたい、学生が大学は遊ぶところだとか言ってナメるようになったのは
全共闘世代のカスどものせいのような気がする。
263デフォルトの名無しさん:2010/08/26(木) 13:15:16
大学って頭いいとこでもプログラミングはほとんどやらんよ?
264デフォルトの名無しさん:2010/08/26(木) 13:17:20
>>262
戦前世代のジュニアどもが80年代に遊びまくってたことは都合良く忘れるバカウヨであった。
265デフォルトの名無しさん:2010/08/26(木) 13:48:33
会社に入っても上の会社ほどプログラミングやらんよ。ゲーム、ITかかわらず。
266デフォルトの名無しさん:2010/08/26(木) 14:02:38
>>265
どうせ調整調整調整でしょ。
無駄な人材ばっかりだよね。
267デフォルトの名無しさん:2010/08/26(木) 14:20:59
そしてソニー・エリクソン()みたいに日本の企業は自力で何も作れなくなりました
268デフォルトの名無しさん:2010/08/26(木) 14:25:18
技術者を軽く見すぎなんだよ。
Blizzardみたいな会社もプログラミングは下請け丸投げとかやってんの?
アウトソーシング化のせいで日本のソフトウェアは全部ダメになっていってると思う
269デフォルトの名無しさん:2010/08/26(木) 14:26:25
去年辺りからオフショアがさらに流行りだしたよIT
270デフォルトの名無しさん:2010/08/26(木) 14:30:29
>>268
仕様考えられるなら、作れるも同じだろ。
実際に手動かすのは下請けで十分。
271デフォルトの名無しさん:2010/08/26(木) 14:48:28
実際に作りながら気づくようなこともあると思うんだよな。
会社が分かれてるとコミュニケーションが取り辛くなるからそういうのも反映されにくくなる。
開発しているゲームに愛着もないからモチベーションも上がりにくい。
クオリティが低かろうが開発費分しか仕事やりませんよ?って感じになる。
結果ゲームの質は下がる。客も労働者も満足度が下がって経営者だけが得をする。
272デフォルトの名無しさん:2010/08/26(木) 14:54:14
>>271
それもそうだね
273デフォルトの名無しさん:2010/08/26(木) 14:55:26
てか、ゲーム制作会社がアウトソーシングする意味ってあるの?w
アウトソーシングって専門技能がない会社が専門技能を売る会社にお願いすることだよね?
274デフォルトの名無しさん:2010/08/26(木) 14:57:37
それって外注となにがちがうの
275デフォルトの名無しさん:2010/08/26(木) 14:58:04
外注=アウトソーシングw
276デフォルトの名無しさん:2010/08/26(木) 14:58:40
必要なときだけ必要な人員を確保できるから人件費カットに繋がるってことじゃねえの?
つーか内製化しろよ。お前ら経営者は良いゲームを作りたいんじゃなくて目先の利益を追求してるだけだろ。存在価値ねえから
277デフォルトの名無しさん:2010/08/26(木) 15:01:31
>>276
簡単に会社が潰せて、簡単に会社が作れて、
簡単に無能な労働者をクビにできて、簡単に転職できる社会
を作ることが出来ればいいんだけどね。
そうすれば無能な経営者の会社からすぐに逃げ出して満足のいく会社を自分で立ちあげられるのに。
278デフォルトの名無しさん:2010/08/26(木) 15:09:11
海外は割りとそうだけどね。プロジェクト仕上げた後に分解して、無能な奴だけ消えて再結成とか良くある話
日本はダメだね
279デフォルトの名無しさん:2010/08/26(木) 15:15:09
世界最悪の労働環境と奴隷洗脳教育があるかぎり無理だろ

つか日本人って0から1を生み出すことがとにかく苦手だし
280デフォルトの名無しさん:2010/08/26(木) 15:16:01
8から9を生み出すのは得意なのにな。
281デフォルトの名無しさん:2010/08/26(木) 15:17:00
>>279
日本の労働法に問題があるんだと思うよ。
282デフォルトの名無しさん:2010/08/26(木) 15:23:53
一応日本でもサビ残は違法らしい
283デフォルトの名無しさん:2010/08/26(木) 15:33:48
そういう話じゃないだろw
284デフォルトの名無しさん:2010/08/26(木) 15:49:45
マ板?
285251:2010/08/26(木) 20:03:16
>>252-254
基本路線は悪くないんですね。
作れるかなぁ、正直微妙。
現在はアニメーション付きのモデルをロードして再生するところまではできました。
あとは水平な床の上を'2','4','6','8'で移動できるようにして、弾を打てるようにして、
敵キャラクターが自動で動くようにして。

って作っていけば地球防衛軍にはなりそうですが……
まだまだ遠いよなあ。現在位置と比べて作りたい物がはるか先にある。
プログラムは自分でやるしかないとして、モデリングとモーションだけ誰か手伝ってほしい。
自分で作るのはムリポ

286デフォルトの名無しさん:2010/08/26(木) 20:28:59
>>285
MikuMikuDance のデータをインポートできるように作っておけば
仮素材、仮モーションには困らないぞ

探すのが面倒&本番どうするか途方にくれるけどw
287デフォルトの名無しさん:2010/08/26(木) 20:49:09
>>285
メンボなら他所でやれ
お前の個人的なプロジェクトの話もスレ違い
288デフォルトの名無しさん:2010/08/26(木) 20:52:36
スレチなクズは置いといて地球温暖化についての話に戻そうか
289251:2010/08/26(木) 21:19:48
どのくらいまで作ったらメンバー(モデラー)を募集すべきですかね?
何となく動くものができたら?
290デフォルトの名無しさん:2010/08/26(木) 21:31:19
そんなもんは要るときになったらだろ。
そのくらいは自分で考えなよ。
291デフォルトの名無しさん:2010/08/26(木) 23:20:19
ゲームなんて細かいクオリティ気にせずに、核になる面白さだけ仕上げるならそんなに人ではかからんもんだよ
ただ商業ベースだと見た目が酷いと全くうれないから、そんなことができないってだけで
292デフォルトの名無しさん:2010/08/26(木) 23:28:08
あんたの話には信憑性が無い
293デフォルトの名無しさん:2010/08/26(木) 23:29:50
細かいクオリティ気にしないってのは要するにプロトタイピングに毛の生えた用なもんだからな
294デフォルトの名無しさん:2010/08/27(金) 00:12:16
また口だけ野郎か
295デフォルトの名無しさん:2010/08/27(金) 00:14:40
いや、それはそうだろw
今のゲーム開発がなんで大規模化してるか分かってないのかw
296デフォルトの名無しさん:2010/08/27(金) 00:16:39
でみんなでぐだぐだと
297デフォルトの名無しさん:2010/08/27(金) 00:26:20
>>295
大規模なふりしとかないと参入させないから。
298デフォルトの名無しさん:2010/08/27(金) 00:29:06
これいけるだろってレベルにして売ればいい。
まあできないけど。
299デフォルトの名無しさん:2010/08/27(金) 00:29:20
こりゃまた頭の悪い
300デフォルトの名無しさん:2010/08/27(金) 00:30:33
また自己紹介か
301デフォルトの名無しさん:2010/08/27(金) 07:37:28
やたらと偉そうないつもの彼はひどく抽象的なことや小学生でも分かることをキリッと言っちゃう頭の弱さ
302デフォルトの名無しさん:2010/08/27(金) 09:55:05
(キリッ
303デフォルトの名無しさん:2010/08/27(金) 11:08:54
(キリン
304デフォルトの名無しさん:2010/08/27(金) 11:15:43
(サリン
305デフォルトの名無しさん:2010/08/27(金) 14:43:49
(サソリ
306デフォルトの名無しさん:2010/08/27(金) 20:39:53
rowが行数
colが列数

英単語的な意味でこれって逆か?
307デフォルトの名無しさん:2010/08/27(金) 20:59:15
>>306
「英単語的な意味」の意味が分からん

全く問題ないと思うが、何かおかしいか?
308デフォルトの名無しさん:2010/08/27(金) 22:02:03
偉そうな人を見ると叩かずにはいられない
しょっぱいですねー
309デフォルトの名無しさん:2010/08/27(金) 23:40:11
>>306
ググった方が早いのに・・・。
columnは縦列
rowは横列==行
310デフォルトの名無しさん:2010/08/27(金) 23:52:23
フロントロウという言葉を知らなかったらいまだにわからん
311デフォルトの名無しさん:2010/08/28(土) 14:16:18
メモリアロケーターで悩むのはアラインメントなんだけど
クラスごとのアラインメントはメタプログラミングで求められるからいいけど
型情報が無い汎用アロケータの場合は情報がsizeのみだからいったいどうすればいいのか悩む
312デフォルトの名無しさん:2010/08/28(土) 14:19:34
要求されたサイズ毎に必要アライメント数分わりあててやればいいでしょ。
もちろん多少の端数には目をつぶることが前提。

アライメントもそんなに大きな値じゃないから別に目くじらたてることでもないよ。
313デフォルトの名無しさん:2010/08/28(土) 17:06:19
これでたしかアライメントを1バイト境界にできた
実行速度なんてぶっちゃけもうどうでもいいわ

#pragma pack(1) // 1バイト境界に設定

構造体を記述

#pragma pack() // アライメンとをデフォルトに戻す
314デフォルトの名無しさん:2010/08/28(土) 20:11:44
1バイト境界とかやるなよ・・・・
315デフォルトの名無しさん:2010/08/28(土) 20:22:58
>>313
push pop 使うともっと安全になるよ
316デフォルトの名無しさん:2010/08/28(土) 22:22:38
複合型のアラインメントは組み込み型のどれかと一致する
すべての型を持ってるunionはそのすべての型のアラインメントに一致する
だからそのunionのアラインメントにあわせてアロケートすれば問題は起こらない
たぶん
317デフォルトの名無しさん:2010/08/29(日) 18:55:33
RPGにありがちな金魚の糞みたいにプレイヤーの後ろをぞろぞろ歩くアルゴリズムの定番を教えろ
318デフォルトの名無しさん:2010/08/29(日) 18:57:37
数フレーム前のプレイヤーの座標を記憶して画像だけ差し替え
319デフォルトの名無しさん:2010/08/29(日) 18:59:58
昔のRPGみたいにマスごとにしか動けないのか
3Dっぽくある程度自由に動けるかで違うかと
320デフォルトの名無しさん:2010/08/29(日) 19:15:46
そうか? 単に位置の記録がマス目単位なのかドット単位なのかと、
1移動前の位置なのか何ドット移動前の位置なのかって違いがあるだけじゃないか?
321デフォルトの名無しさん:2010/08/29(日) 19:17:01
>>318
それはどっちかっていうとグラディウスのオプションだな。
322デフォルトの名無しさん:2010/08/29(日) 19:18:28
最も少ない行で済ます方法を考えてるとキリがない

けど英語版でもいいからそういうのの定番となる本が欲しい
323デフォルトの名無しさん:2010/08/29(日) 19:24:44
とりあえず作って遅かったら考える
324デフォルトの名無しさん:2010/08/29(日) 19:38:58
そういやこのスレで自作ゲーム晒した奴いんの?
いつもの偉そうな奴のは見てみたいな
325デフォルトの名無しさん:2010/08/29(日) 19:40:04
そんな特定のゲームの何かを実装する方法とか解説されても
既存と同じもの作るんだったらツクールで良いじゃんって感じ

まあソースが見てみたいって意味なら単純に興味あるけど
326デフォルトの名無しさん:2010/08/29(日) 19:43:47
宣伝乙
327デフォルトの名無しさん:2010/08/29(日) 20:12:10
>>320
いや、操作キャラの足跡を正確にトレースする必要がないなら
一定間隔以上開いたら操作キャラ方向に距離をつめるだけで済むじゃん
328デフォルトの名無しさん:2010/08/29(日) 20:13:59
質問者は経路探索問題の解法をきいているのかもしれない
329デフォルトの名無しさん:2010/08/29(日) 21:34:18
>>322
みんなでネタ出し合ってまとめサイトでも作ってみるか?
>>317ぐらいの質問なら答えられるし
例えば俺が回答として出したソースをたたき台に
あれこれ言ってもらえれば改良していける

ちなみに>>317>>319が指摘してる通り2種類パターンがあって
1. 先頭キャラへの最短ルートを直線的に動く
2. 先頭キャラが移動した経路をトレースする

でこの話のオチになってるのが>>321
初代グラディウスのオプションは2の動きをして
それ以外だと1の動きをする

>>324
ゲ製作で100本以上出してる
完成品、未完成品や>>317を実装した程度のサンプルまで含めてだけどな
このスレで晒したら批評とかしてくれるのか?

>>325
ゲ製作だとそうなるかもしれんがここはプログラム板
人生のどんな困難でさえもプログラムでしか解決できない
不器用な奴らの集まりなのさ

>>328
たしかにどういう場面で使いたいのかわからないと適当な答えが出せないな
経路探索は全探索ならパックマンスレ見ればいいけどA*だとGEMSぐらいしか
日本語の解説がないよな・・・、って最近の事情は知らないけどな
330デフォルトの名無しさん:2010/08/29(日) 21:38:00
初代グラディウス以外は、オプションが自機への最短ルートで動くの?
331デフォルトの名無しさん:2010/08/29(日) 21:38:38
オリジナルパックマンは経路探索なんてしないのにな
332デフォルトの名無しさん:2010/08/29(日) 21:43:54
ゲ制板って過疎りすぎてなくなったと思ってたらまだあったのか
333デフォルトの名無しさん:2010/08/29(日) 21:47:49
まあなんにせよ行動力ある人がいると活性化するよね。いいと思う
334デフォルトの名無しさん:2010/08/29(日) 21:54:41
ここでは評判最悪の龍神録よりまともなの作ろうと思うと難しいだろうね
なんだかんだでセガの糞本より本人のためになるよあれは。

あと人工知能の人のページでPythonとJAVAでインベーダーマリオRPGと幅広く作ってるけど、
C+で分かりやすいのってないかもね。
文法等を一通り勉強し終えた人の次の一手として有益なものがあればいいかもな。
335デフォルトの名無しさん:2010/08/29(日) 21:56:21
killar game programing を途中で投げた俺だが、
我流で書いてるのがひどく気になるから雛形が知りたい
336デフォルトの名無しさん:2010/08/29(日) 21:58:05
なんでも糞ってつける奴にろくな奴はいない
337デフォルトの名無しさん:2010/08/29(日) 21:59:18
サイト立ち上げる→→
↓            ↓
管理人逃亡    管理が大変という名目でアフィ始める
↓            ↓
消滅←←←←←←アフィ叩きが始まる
338デフォルトの名無しさん:2010/08/29(日) 22:00:36
>>334
C++やってればJavaならよめるだろ。
流し読みしてわからないシンタックスがあるならググレばいいよ。

人のテンプレート覗くよりぜんぜんらくだって。
339デフォルトの名無しさん:2010/08/29(日) 22:00:39
2ちゃんでコミュニティ作ろうというのが無謀
340デフォルトの名無しさん:2010/08/29(日) 22:08:41
>>339
mona-OSは成功?したよね 一応・・・
341デフォルトの名無しさん:2010/08/29(日) 22:14:55
可能ではあるがム板の奴らが集まってもまず無理だな
342デフォルトの名無しさん:2010/08/29(日) 22:19:01
つうか業務で覚えたコードとかテクを晒してもいいもんなの?
343デフォルトの名無しさん:2010/08/29(日) 22:23:42
ゲ製作板で既に何回か失敗してるよね
ゲームプログラマって基本みんな一国一城の主だから
仕事でもないのにみんなで協力して、とか無理な気がする
344デフォルトの名無しさん:2010/08/29(日) 22:24:44
ばれるようなのはダメ。
でも業務上で教えてもらったモノなんてほとんどない。
ほとんどが編み出したか仲間うちの情報か本・ネットの情報か。
345デフォルトの名無しさん:2010/08/29(日) 22:26:30
一国一城の主にはメリット薄いし下っ端プログラマにそんな能力ないしね。
しかに日本には健全なゲームプログラムコミュニティがないのが遅れをとってる原因だと思う。
英語ほとんどわからないけどw
346デフォルトの名無しさん:2010/08/29(日) 22:27:26
>>342
良いも悪いも、オープンソースのコード見ればいくらでもテク晒されてるだろ。
347デフォルトの名無しさん:2010/08/29(日) 22:29:20
ではおすすめのオープンソースのゲームを教えてください
348デフォルトの名無しさん:2010/08/29(日) 22:31:39
>>347
monadius(笑)
349デフォルトの名無しさん:2010/08/29(日) 22:35:17
そんな質問が出る程度のレベルじゃ
読み始めて1分で「何やってるのか解からん」と投げ出すのがオチ
350デフォルトの名無しさん:2010/08/29(日) 22:35:50
誠意がたりんね
351デフォルトの名無しさん:2010/08/29(日) 22:36:33
業界用語で金のことだろw
352デフォルトの名無しさん:2010/08/29(日) 22:36:38
haskellかw
結構勉強になるな。
353デフォルトの名無しさん:2010/08/29(日) 22:56:48
>>330
そういうこと。細かい話は知らんが昔ゲ製作でも話題になった
ググって裏づけとれたから>>329で取り上げてみた

>>331
マジか!どうやってるのか気になる・・・
ちなみにゲ製作のパックマンスレは旧ろだの引退に伴い
ソース類はほとんど消えた模様orzガックシ

>>332
ゲーム作ってるやつってどこ行ったんだろうな
最近は動画製作やニコ生に流れちゃってるのかもしれん
ニコニコやブログが便利だから文字だけの2chは不便ってのもあるんだろうけど

>>334
既存の解説サイトのテクニックを叩き台にしてあれこれ改良していくのもおもしろいかもしれんな

>>335
これどんな内容?日本語版でてるの?

>>337
おもしろくなかったら消えるべき
おまえらはそこがわかってない

>>339
9スレも消費しておいて言う言葉かよw

>>342
社外秘かどうかぐらい自分で判断しろよ、社会人だろ
会社毎に文化や契約が違うんだから模範解答はない
公開する事で自分の会社が不利になると思ったらやめとけ
354デフォルトの名無しさん:2010/08/29(日) 23:00:58
>>353
googleパックマンのコードはオリジナルパックマンのアルゴリズムと同じ
355デフォルトの名無しさん:2010/08/29(日) 23:04:42
>>353
Killer Game Programming in Java ね
日本語訳は出てないけど、オライリーだし海外では有名らしいよ
ただし2005年と古い
356デフォルトの名無しさん:2010/08/29(日) 23:08:44
米国のアマゾンで今改めてGame Coding Completeを検索したら思ったよりも売れてるみたいね。
357デフォルトの名無しさん:2010/08/29(日) 23:13:06
Killer Game Programming in Java って有名なの?
前から気になっていたけど日本人で読んだことある人は居なさそう。
最後まで読んだ人感想聞かせてくれ
358デフォルトの名無しさん:2010/08/29(日) 23:13:43
>>343
その過程で得るものがあれば成功

>>345
その話をすると「英語嫁」ってことになるけど
逆に英語圏でいいとこあるの?って話になるとみんな黙り込む
俺もせいぜいflip codeを追いかけてた程度だけどな
閉鎖されてから海外は全然見てないや

>>347
そこでQuake2とか挙げると規模が大きすぎて引いちゃうんだよな
ゲ製作で公開されるゲームは基本的にみんなソースを添付してた(最近はそうでもないけど)
だからこそ活発になった時期が一時的にあった
やっぱみんな自分と同じようなレベルの人のソースを見てみたいしそのほうが勉強になると思う

>>350
金貰う側がそんな口きいてどうすんだよw
359デフォルトの名無しさん:2010/08/29(日) 23:28:18
で、結局自分が先頭には立ちたくないんでしょ?
360デフォルトの名無しさん:2010/08/29(日) 23:42:40
AI,追尾とか これを薦める。学術的な所が多いけど

実例で学ぶゲームAIプログラミング
http://www.oreilly.co.jp/books/9784873113395/
361デフォルトの名無しさん:2010/08/30(月) 00:32:51
夏休み最後の現実逃避
362デフォルトの名無しさん:2010/08/30(月) 00:33:42
>>360
ちらっと見たけどAIだけじゃなくてゲームの作り方やシステムサンプルとかあって面白いな
363デフォルトの名無しさん:2010/08/30(月) 01:36:09
>>317

void Move(X,Y) {
for(i=1;i<4i++){
player(i).X=player(i-1).X;
player(i).Y=player(i-1).Y;
}
player(0).X=X;
player(0).Y=Y;
}
どや!
364デフォルトの名無しさん:2010/08/30(月) 01:41:35
C言語初歩からやり直してこい
365デフォルトの名無しさん:2010/08/30(月) 02:38:35
誰がCだと言った
366デフォルトの名無しさん:2010/08/30(月) 02:41:43
class Player {
public int X,Y;
}

Player[] p=new Player[4];

Player player(int n) {
return p[n];
}

とすれば
367デフォルトの名無しさん:2010/08/30(月) 06:37:04
どこからつっこんで良いかという感じだが
とりあえず一回MoveすればPlayer1〜3まで同じ座標になるぞ
368デフォルトの名無しさん:2010/08/30(月) 09:01:24
>>363

void Move(X, Y) {
for (int i = 3; 0 < i; i--) {
player[i].X = player[i - 1].X;
player[i].Y = player[i - 1].Y;
}
player[0].X = X;
player[0].Y = Y;
}

こうじゃない?C#だけどさ
369デフォルトの名無しさん:2010/08/30(月) 16:14:40
ボンバーマンみたいにブロックの間を移動させるので
32ドットずつブロックを配置。
このときMOD(座標Y 32)が+-3のときに左右を入力すればY座標の調整後(移動後)横移動開始。

ってな方法以外にいい方法とかメジャーな方法ない?
動いてるからいいっちゃいいんだけど、賢くないよなあと。
370デフォルトの名無しさん:2010/08/30(月) 16:22:21
おまえらMAKEFILE派?総合環境派?
371デフォルトの名無しさん:2010/08/30(月) 16:23:16
VS派
372デフォルトの名無しさん:2010/08/30(月) 16:23:36
メジャーなゲームをプレイしてその通りないしそれを参考に仕様を決めるのは
373デフォルトの名無しさん:2010/08/30(月) 16:26:00
CW派
374デフォルトの名無しさん:2010/08/30(月) 16:26:43
>>373
うわぁ・・・
375デフォルトの名無しさん:2010/08/30(月) 16:26:44
お前らこんな時間にひっでえな
376デフォルトの名無しさん:2010/08/30(月) 16:27:29
>>375
今日は8月30日だぞ
休んでる奴多いんじゃね
377デフォルトの名無しさん:2010/08/30(月) 16:37:41
CWは諸悪の根源だろw
378デフォルトの名無しさん:2010/08/30(月) 16:59:18
CWって何だ
379デフォルトの名無しさん:2010/08/30(月) 17:00:51
ちょい悪 じゃないか?
380デフォルトの名無しさん:2010/08/30(月) 17:04:41
トイレだろ
381デフォルトの名無しさん:2010/08/30(月) 17:08:04
>>370
Makefileはもう古いぞ。
今はCMakeが普及しだしてる。
382デフォルトの名無しさん:2010/08/30(月) 18:38:53
コードうりゃあああ!
383デフォルトの名無しさん:2010/08/30(月) 18:40:26
ニコルさんの悪口はやめろ
384デフォルトの名無しさん:2010/08/30(月) 21:45:24
>>369は実体(ボンバーマン)を小さくする(描画はそのまま)って方法が一般的か
385デフォルトの名無しさん:2010/08/30(月) 22:02:05
ボンバーマンやったことないけど
キーを押してる間中リニアに1ドットずつ移動してるんじゃなくて
描画自体は1ドットずつ移動するけど
移動量は半ブロックとか1/4ブロックずつとか固定で決めてるんじゃないの?
386デフォルトの名無しさん:2010/08/30(月) 22:10:58
>描画自体は1ドットずつ移動するけど
>移動量は半ブロックとか1/4ブロックずつとか固定で決めてるんじゃないの?

そうなの?
てかそんなやり方もあるか。
387デフォルトの名無しさん:2010/08/30(月) 22:18:58
ゲームってマジックナンバー多すぎじゃね?なんか鳥肌たっちゃうんだけど
388デフォルトの名無しさん:2010/08/30(月) 22:25:48
>>387
わかる、なんか気持ち悪いよね。仕方ないことだけども。
389デフォルトの名無しさん:2010/08/30(月) 22:26:01
マジックナンバーって何?
390デフォルトの名無しさん:2010/08/30(月) 22:27:23
ロトシックスとかそんな感じ
391デフォルトの名無しさん:2010/08/30(月) 22:36:13
>>387
演出部分とかマジックナンバーでほったらかしは良くあるな。
392デフォルトの名無しさん:2010/08/30(月) 22:40:44
目で見て直感的に動きの気持ちの良い値をみつけるのに
補正値を変数で持ってデバッカで動かしながら値きめたらそのままほったらかしなんてよくあること
393デフォルトの名無しさん:2010/08/30(月) 22:45:30
調整用の変数はリソースで持つのが普通じゃないだろうか
394デフォルトの名無しさん:2010/08/30(月) 23:02:19
本来ならそうするべきだし、外部に調整を投げるときはそうするけど
そこまで大げさじゃない調整の時はやっちまう
395デフォルトの名無しさん:2010/08/30(月) 23:06:30
>>393
最近、そうは思わなくなった
そこに動作に必要な処理が書いてあるのにわざわざデータと分離する利点ってなによ?
って思うようになった
結局、調節するときは処理みなきゃわかんねぇんだから数字だけ弄って済む場面なんて
ほぼ0といっていい(経験則)→だったら処理がある場所に数字もおいておけよ理論

#define 定数 とかもわざわざ処理と遠く離れたところにおいてバグ増やして馬鹿みたい
と思うようになった(俺、経験10年目PG)

敵の配置とかわかりやすいのは別ファイルとかでいいんだけどね
こまけー値は処理の近くに直書きでコメント振っておくのが一番いい・・・と思う

396デフォルトの名無しさん:2010/08/30(月) 23:07:55
全部スクリプトでおk
397デフォルトの名無しさん:2010/08/30(月) 23:19:13
>>395
そこまで処理がふわふわした状態で数字だけ弄って調整なんてそりゃ無理だろう
ある程度処理が固まってあとはパラメタの微調整って時にリソースにするから良いわけで

どうでもいいけど定数をdefineはいただけない
398デフォルトの名無しさん:2010/08/31(火) 01:09:09
そんな状況で何を調整するんだ?
アクションゲームにおける重力や操作感なら直接入れて調整してもコンパイルに大して時間かからんし、
敵パラメータやアクションなら元々外に出してるだろうし
399デフォルトの名無しさん:2010/08/31(火) 01:09:49
プログラマが調整するような値は処理の上の方にまとめるくらいでいいんじゃね?
ゲームバランスとかプログラマの仕事じゃない部分はコンパイル無しで
調整できるようにしないといけないから処理と分離しておく必要がある

最近はスクリプトで処理ごと分離するのが流行ってるみたいだけど
400デフォルトの名無しさん:2010/08/31(火) 01:16:31
define とか const は処理と近くに置けばいいんじゃないの
場合によりけりだけど
401デフォルトの名無しさん:2010/08/31(火) 01:40:15
趣味で個人で素人でゲーム作ってる俺から見れば
もうこのスレ意味不明
402デフォルトの名無しさん:2010/08/31(火) 01:47:03
勘違いするなよ皆の衆
>>401氏は意味不明なほど稚拙だと仰っているのだ
403デフォルトの名無しさん:2010/08/31(火) 06:32:04
つーか、しっかり仕組みつくっときゃ、const宣言するのもリソースに組み込むのもほとんど手間変わらんし
あえてマジックナンバーにする意味は無いわな
404デフォルトの名無しさん:2010/08/31(火) 09:39:38
一人でシコシコゲーム作ってるんだけど
VSで自分のコードを実行ファイルとライブラリにわざわざ分ける必要ってないよね?
405デフォルトの名無しさん:2010/08/31(火) 10:03:41
全くない
406デフォルトの名無しさん:2010/08/31(火) 10:34:14
ゲームと別にソース流用してツールとか作りたくなったときには
ライブラリ化してないと少し手間かもな
407デフォルトの名無しさん:2010/08/31(火) 10:36:59
>400
ソースコードとしては別の場所にまとめて書いておいて、
開発環境IDEの機能として変数名にマウスカーソル当てると
定義を表示してくれるのがいい。
408デフォルトの名無しさん:2010/08/31(火) 11:07:52
レベルエディターというのがよく分からないのですが機能的には、
1。 オブジェクトをインポートして1つのシーンにまとめる
2。 オブジェクト間のイベントを定義する。
の2つがあればいいですか?
これを何らかのフォーマットで出力してゲームでロードした場合、
2番のイベント情報はオブジェクトに埋め込まれるのでしょうか、
それともオブジェクトとは別のファイルに出力されるのでしょうか。

409デフォルトの名無しさん:2010/08/31(火) 11:26:49
定数取得も全部クラス化か関数化して
調整ビルドの時は動的に読んで
リリースの時はプリプロセスでソースに埋め込んでビルド
410デフォルトの名無しさん:2010/08/31(火) 11:57:02
レベルエディッタ
ステージクリア形式のゲームだとして、
ゲームエンジン、レベルデータ、シナリオデータ
この3個のファイルがある。
エンジンは実行プログラム、レベルはステージ1個分、シナリオは各ステージの順番などをコントロールする。

レベルデータはチャンクで圧縮されており、展開すると
マップ、イベントデータ、モデル、サウンド、などのデータが含まれる。

レベルエディッタは、レベルデータの内部データを編集するもので
其々のデータを人間の解りやすい形で編集してゆく。
データをインポートして組み込むのも役目である。

以上は、あくまでも一般的な例であって決まった形がない、
であるから、ゲームによってツールによって色々な設計がある。
411デフォルトの名無しさん:2010/08/31(火) 11:59:25
なんでレベルデータって言うの?ステージデータって言えばいいのに紛らわしい
412デフォルトの名無しさん:2010/08/31(火) 12:02:42
うん、名前は設計者が決めたからそうなってる。
理解してもらえればどの名前を使ってもよいのでは
413デフォルトの名無しさん:2010/08/31(火) 12:08:56
理解されないことがあるかも、という想像力はないのか?
414デフォルトの名無しさん:2010/08/31(火) 12:12:13
シュレーディンガー方程式とか自分の名前付けないだけましだよね
415デフォルトの名無しさん:2010/08/31(火) 12:12:22
>>411
主にステージの難易度を調整するためのものだからじゃね
416デフォルトの名無しさん:2010/08/31(火) 12:13:03
日本人素人ゲーマーはステージがわかりやすいかもしれないが、
業界の英語ではレベルが一般的、英語の文献は全部がそうなってる
417デフォルトの名無しさん:2010/08/31(火) 12:28:33
昔はラウンドだったよね
いつからステージのほうが主流になったんだろ
418デフォルトの名無しさん:2010/08/31(火) 13:48:24
>>417
暴力ゲーム→ラウンド
その他→ステージ
ボクシング等の影響じゃね

>>411
レベルとステージは意味が違う
洋ゲー未経験者に理解してもらうのはたぶん無理
419デフォルトの名無しさん:2010/08/31(火) 14:00:32
>>417
なにが昔はラウンドだよ、格闘ゲーのやりすぎかよw
420デフォルトの名無しさん:2010/08/31(火) 14:09:09
マリオブラザーズ(非スーパー) : フェイズ
バブルボブル : ラウンド

これらの時代に『ステージ』という単位を使ってたゲームは思い当たらない
421デフォルトの名無しさん:2010/08/31(火) 14:33:26
直接な理由が何かは知らんが、和製英語がたまたま浸透しただけでは?
基本的に子供か低学歴の大人向けの商売だし
422デフォルトの名無しさん:2010/08/31(火) 14:45:27
アクションパズル(普通のパズル含む)のシステムを発案するのがプログラムを書くのの10倍時間が掛かる。

ミスタードリラーとかヨッシーのクッキーは面白かったなあ。
落ち物ゲーがテトリスかぷよぷよに似ちゃうのが悔しい。
423デフォルトの名無しさん:2010/08/31(火) 14:52:36
倍プッシュ
424デフォルトの名無しさん:2010/08/31(火) 17:10:27
高学歴の大人ってゲームやらないの?
425デフォルトの名無しさん:2010/08/31(火) 17:17:31
マネーゲームとかパワーゲームとかやってるんじゃね?
426デフォルトの名無しさん:2010/08/31(火) 17:35:37
高校の時点で頭のいい奴はテレビなりゲームなり娯楽とは離れる。
というか地方の公立上位校にありがちだけど、1日12時間チャート詰めみたいな感じ。
受験勉強も2年の夏から始まるし、
ゆとり教育()のおかげで足手まといな学校と簡単すぎる授業に拘束されなくなるが、結局勉強。
んで3年になると家で勉強するために学校をサボる輩が出てくるような状況、当然童貞が9割5分。

ただし大学では萌えに目覚めてそっちに金使う奴がちらほら出てくる、
そして社会人()になると日本人は働くために生きてるからそれどころじゃなくなる。

つーか高学歴(特に理系)って基本なくてもいいものに金を使わない。
427デフォルトの名無しさん:2010/08/31(火) 17:47:56
萌えってなくてもいいものじゃないの?
428デフォルトの名無しさん:2010/08/31(火) 18:00:31
十字キーで斜めが押された場合ってどうやってんの?
429デフォルトの名無しさん:2010/08/31(火) 18:05:52
高学歴というか頭のいい奴は何か買うときでも自分のカネは使わないだろう。
430デフォルトの名無しさん:2010/08/31(火) 18:15:46
少なくとも慶理の俺と東理三の友人はゲームやってるよ
431デフォルトの名無しさん:2010/08/31(火) 18:17:30
格ゲーの世界大会にでるような東大生とか普通にいるし
432デフォルトの名無しさん:2010/08/31(火) 18:20:12
>>431
何人居る?
433デフォルトの名無しさん:2010/08/31(火) 18:23:56
ほんと日本人は働くために生きてるよな。ふつう食うために働くんだろ。
434デフォルトの名無しさん:2010/08/31(火) 18:28:39
御社の製品に心を動かされるとかこの業界ならまだしも頭が湧いてると思う
435デフォルトの名無しさん:2010/08/31(火) 19:48:52
高学歴って、高校卒業ってことでしょ。
436デフォルトの名無しさん:2010/08/31(火) 20:01:14
>>428
キー4つ分を上から時計回りに0.5、0、-0.5、1にして、
例えば左と上が押されたら(1+0.5)/2=0.75という感じに計算して
ラジアンを取るようにするんだよ。
437デフォルトの名無しさん:2010/08/31(火) 20:04:05
それだと左右同時とか上下同時に押された場合が認識できなくね
438デフォルトの名無しさん:2010/08/31(火) 20:05:16
>>435
誰もが納得する分かりやすい解釈だな
439デフォルトの名無しさん:2010/08/31(火) 20:14:07
>>422
落ちゲーのルールを複雑にすると難しくなりすぎちゃうんだよな
クロックスおもしろいのに・・・・

>>426
残り12時間は何してるの?

>>431
どの世界でも上位は高学歴だよな

>>433
犯罪者ですら食うに困らないんだからもうそういう時代は終わったんだよ
スタートレックの世界は仕事=趣味みたいになってるよな
生産性があがりまくればそういう世界が来ると思うよ
つまり、ゲームこそ未来の花形産業なんだよ!!

>>434
酒を飲めないヤツのほうが酒を売るのに向いてるって言うよな
日本人はみんなゲームが好きだから作るの下手なんだよ
440デフォルトの名無しさん:2010/08/31(火) 20:17:07
>>428
誰でもわかるように質問する能力がこの業界で一番大事なんだと思う
441デフォルトの名無しさん:2010/08/31(火) 20:32:01
アイスクライマーやワリオの森みたいな発想が出来ればな
442デフォルトの名無しさん:2010/08/31(火) 20:34:42
>>439
学生乙w
443408:2010/08/31(火) 20:38:44
>>409-410
ありがとうございます。でもやっぱりわからない。
一応YAMLみたいなものでパラメーターをテキストファイルに全部書き出して
エンジン側で読み込んで使うみたいなものを想定してますが
いったいみんなどうやってるんだ。泣きながら自分で試行錯誤するしかないのか・・・
444デフォルトの名無しさん:2010/08/31(火) 20:44:36
>>442
どこで学生と思ったか後学の為にもご教示ください。
445デフォルトの名無しさん:2010/08/31(火) 20:49:12
たぶん4つ目
446デフォルトの名無しさん:2010/08/31(火) 20:52:58
学生の期間が終わったら人生終了するのが日本
447デフォルトの名無しさん:2010/08/31(火) 21:06:37
>>443
具体的に書かず、隠し立てするのなら無駄だから誰も答えない

FPSゲームだとして
Quakeゲームエンジン相手だと
レベルエディターはこのようなのがある。
QuakeED
GTKRadiant/QERadiant/ZeroRadiant
QuArK
448デフォルトの名無しさん:2010/08/31(火) 21:16:35
>>443
大雑把に言えばセーブの作り方と一緒
エディタでセーブしてエンジンでロードすればいい
449デフォルトの名無しさん:2010/08/31(火) 21:19:05
ロスプラ2のセッションみたけど、訳わかんねぇ…
450デフォルトの名無しさん:2010/08/31(火) 22:03:45
どこで困ってるのかわからない
451デフォルトの名無しさん:2010/09/01(水) 02:34:14
十字キーだから左右同時とか上下同時に押されることはあり得ないってことじゃね
452デフォルトの名無しさん:2010/09/01(水) 09:25:36
ジョイボールさして1コンは上、ジョイボールは下を押したらどうなるの?
453デフォルトの名無しさん:2010/09/01(水) 12:35:55
予め優先順位を決めておくか無効な入力として無視
454デフォルトの名無しさん:2010/09/01(水) 15:37:32
ちなみに>>436は間違いだったとあとで自分で気づいたことは内緒な。
455デフォルトの名無しさん:2010/09/01(水) 15:43:03
常識的に考えて迷うようなことじゃないだろ
456デフォルトの名無しさん:2010/09/01(水) 15:43:56
ifを並べるからそんなバブを作りこむんだよ!!
else ifを使うか素直にswitchを使えばいいよ
457デフォルトの名無しさん:2010/09/01(水) 18:17:43
int x = 0, y = 0;

if (left) x--;
if (right) x++;
if (up) y--;
if (down) y++;
if (x * y != 0) {
 x *= cos(PI / 4);
 y *= sin(PI / 4);
}

player.Location.X += x;
player.Location.Y += y;
458デフォルトの名無しさん:2010/09/01(水) 18:23:25
せめてdxdyで書けよ
459デフォルトの名無しさん:2010/09/01(水) 19:31:22
お金が無くてWindowsを買えないのでLinuxで開発しようと思うんですが
Linuxでゲームを作るとしたらGCC+OpenGLが一般的なんでしょうか?
DxLibみたいな簡単な2Dライブラリとかあったら教えてください
460デフォルトの名無しさん:2010/09/01(水) 19:32:10
SDL
461デフォルトの名無しさん:2010/09/01(水) 20:59:06
>>459
freeBasic+Irrlicht
462デフォルトの名無しさん:2010/09/01(水) 21:13:20
バイトでもしてウインドウズ買ったほうがいい
463デフォルトの名無しさん:2010/09/01(水) 21:49:34
作ったところで遊ぶ奴がいるのか?
464デフォルトの名無しさん:2010/09/01(水) 21:53:42
Javaでいいじゃん。2Dなら動くでしょ。
465デフォルトの名無しさん:2010/09/01(水) 22:25:16
音ゲーのプログラムって簡単だったりする?
466デフォルトの名無しさん:2010/09/01(水) 22:30:50
うん
467デフォルトの名無しさん:2010/09/01(水) 23:03:02
ヴォルフィードみたいに線分に囲まれたエリアの判定ってどうやってんの?
468デフォルトの名無しさん:2010/09/01(水) 23:12:59
シードフィルで塗るんじゃね?
469デフォルトの名無しさん:2010/09/01(水) 23:25:57
悩む所なんてあるか?
何が分からないのか解からない
470デフォルトの名無しさん:2010/09/02(木) 01:01:42
>>469
>何が分からないのか解からない
この部分が説明できる奴は質問なんてしねぇよw
   ¶ バッサリ
  ∵    ○ ノ
○ ':。    | ̄
 i⌒>>  / >
もうマ板全域で↑こういう感じのレスやめねぇ?
471デフォルトの名無しさん:2010/09/02(木) 01:09:01
ここム板
472デフォルトの名無しさん:2010/09/02(木) 01:14:28
おれがマ板によく言って聞かせるわ
473デフォルトの名無しさん:2010/09/02(木) 02:52:42
ミ板とかメ板とか作ってそこに隔離しようぜ
474デフォルトの名無しさん:2010/09/02(木) 02:59:01
じゃあ、エスパースレに誘導すればいいんだな
475デフォルトの名無しさん:2010/09/02(木) 03:53:21
モ板は?
476デフォルトの名無しさん:2010/09/02(木) 04:32:39
なんかスペイン語っぽい
bordo de programmo?
477デフォルトの名無しさん:2010/09/02(木) 05:42:30
>>470
ってことはお前は>>467から質問の意図を正確に読み取って答えられるってことだな
是非回答してくれ
478デフォルトの名無しさん:2010/09/02(木) 07:22:01
>>469の模範解答まだ?
479デフォルトの名無しさん:2010/09/02(木) 07:57:31
ペイントのバケツか
480479:2010/09/02(木) 07:59:25
>>468
なるほど分かった
481デフォルトの名無しさん:2010/09/02(木) 08:00:46
誰だよお前
482デフォルトの名無しさん:2010/09/02(木) 08:26:43
>>470
ダメだ。
上手に説明する努力は向上心そのものだ。

それでもどう聞いたらいいか分からない人向けには
 【超初心者】プログラミング質問スレ【基礎】pt.2
 http://hibari.2ch.net/test/read.cgi/tech/1274998754/l50
みたいなのもある。


ただ、この質問の場合 >468 で解決してると思うんだけど。
ついでに、塗る途中でボスがいる側かどうかをラインごとに判定しておくといい。
483デフォルトの名無しさん:2010/09/02(木) 09:08:55
どうでもいいがなぜ例に挙げたのが元祖QIXや一番有名なギャルズパニックではなくヴォルフィードだったのだろうか
484デフォルトの名無しさん:2010/09/02(木) 09:16:50
テディベアに”相談”する方法を紹介したのはカーニハンだっけ?
スレなら相手は人間だから、テディベアより効果的かもしれん
485デフォルトの名無しさん:2010/09/02(木) 09:27:12
多分、スプライトベースで考えてるんじゃね?
だから線を引く段階から理解してないような気がする
下手したら1ピクセル1スプライトでやってるかもしれんけど
486デフォルトの名無しさん:2010/09/02(木) 10:14:49
こうやって質問者の意図を予想するところから始めなくいけなくなって
答えの無いところで議論ばっかり先行しちゃうからちゃんと説明する努力はしろってことじゃないの?
487デフォルトの名無しさん:2010/09/02(木) 12:44:55
プログラ・む (マ行五段活用/自動詞)
488デフォルトの名無しさん:2010/09/02(木) 12:45:49
そんなことより経路探索の話しようぜ
489デフォルトの名無しさん:2010/09/02(木) 13:11:24
桃鉄の「いけるかな?」みたいな?
490デフォルトの名無しさん:2010/09/02(木) 13:15:29
まずはグラフを用意します
491デフォルトの名無しさん:2010/09/02(木) 13:35:32
ケロケロ
492デフォルトの名無しさん:2010/09/02(木) 15:09:41
2分木なら簡単そう
493デフォルトの名無しさん:2010/09/02(木) 17:01:45
とりあえず>>467の質問の意図は分かるだろ
494デフォルトの名無しさん:2010/09/02(木) 17:14:04
事実上隔離スレなのは分かるが、あからさまに昼の書き込みが多いな
495デフォルトの名無しさん:2010/09/02(木) 17:17:57
>>485
基準となる点は結局スプライトじゃないのか?
496デフォルトの名無しさん:2010/09/02(木) 17:35:07
でもとりあえず「ヴォルフィード」を知らない人にはよく理解できない質問だよね?
よく○○みたなシステムでと××みたいな演出で
とかゲーム名指定で書いてくる企画屋いるけど
わかりやすいっちゃわかりやすいが、なんだかなぁって思ってしまう
497デフォルトの名無しさん:2010/09/02(木) 17:58:50
>>496
でもそれって何が悪いの?

建前:マリオみたいなゲームっていえるのは先人がマリオを作ってくれたからいえる
いわば業界全体の資産と言っていいと思うよ
そんなの否定して1から何がつくりたいの?
ハードのトランジスタから作らないと俺のゲームじゃないとか言いたいの?

本音:企画なんて馬鹿なんだからそのほうがわかりやすいならそう言ってもらえよ
奴等に自分の言葉で仕様なんて説明できるわけないだろ現実みろ馬鹿
498デフォルトの名無しさん:2010/09/02(木) 18:03:11
そういう企画って下の人間からは受けがいいけど
上に人間からはあまり好かれてないよね
まだまだ上に乗っかってるのは古い人間が多いからそんな説明されてもわからんみたいだ
499デフォルトの名無しさん:2010/09/02(木) 18:05:17
つまり自分の言葉で質問を説明できないやつは馬鹿認定でOKってことですね
500デフォルトの名無しさん:2010/09/02(木) 18:40:31
>>496
さすがに検索くらいしろよ
501デフォルトの名無しさん:2010/09/02(木) 19:07:27
なんで答える側がわざわざ検索せねばならん
502デフォルトの名無しさん:2010/09/02(木) 19:11:15
知らないことまで無理に答えなくていいんじゃない?
503デフォルトの名無しさん:2010/09/02(木) 19:13:48
ほんと隔離スレとして機能してるなこのスレ
504デフォルトの名無しさん:2010/09/02(木) 21:45:00
でもどうせ隔離ならゲ制作技術に行ったほうがよくね
あの板の過疎ぶりはひどい
505デフォルトの名無しさん:2010/09/02(木) 23:41:48
ちょい気になったんだけど、Crystal Spaceをコンパイル中にAvast!が
conftest.exeがマルウェアだということで反応したんだけど、これって安全なの?
506デフォルトの名無しさん:2010/09/02(木) 23:52:20
原因を見ればいいじゃないか
507デフォルトの名無しさん:2010/09/03(金) 04:52:19
答えたい奴が検索すればいいんでね
質問する側も答えて貰う確率上げるんなら検索しなくてもいいような質問すればいいだけだし
508デフォルトの名無しさん:2010/09/03(金) 09:17:49
答えられない奴が>>506みたいなことを言わなきゃ全て解決
509デフォルトの名無しさん:2010/09/03(金) 11:37:08
↑答えられない奴
510デフォルトの名無しさん:2010/09/03(金) 11:38:42
俺に聞けっていうスレタイなのに自分で調べろって
おまえこそスレタイ嫁って思う。
ゲ製作のほとんどのスレはそんな状態。
511デフォルトの名無しさん:2010/09/03(金) 11:41:49
知恵遅れ最低学歴のゲーム系の専門学生はあれだし
所詮ゲーム()製作ってなっちゃうんだよな
質もお察し
512デフォルトの名無しさん:2010/09/03(金) 13:14:21
懸命に聞こうとする態度なら、答えようと思う。
素人が専門用語が解らないとしても、文章で10行以上書いて、
具体的なデータなりコードなり、URLを示していれば、質問者の誠意があると思う。

一行のあいまいな質問って、暇人のひまつぶしだと思う。
513デフォルトの名無しさん:2010/09/03(金) 13:17:32
ちょっと前に質問するなら余計なこと書くな、3行でまとめろってプロ様()がおっしゃってたぞ
514デフォルトの名無しさん:2010/09/03(金) 13:18:30
左様。スパゲティ質問は許可しない
515デフォルトの名無しさん:2010/09/03(金) 13:21:36
3行で「まとめろ」よ
せめて必要最低限の情報は書こうな
脳は使わないと腐っていくぞ
516デフォルトの名無しさん:2010/09/03(金) 13:25:48
>>510
結局何も出来ない奴か情報出したくないハイエナだけがいるって感じかね。
ゲーム制作プロジェクトとかがバンバン出てくれば面白いんだろうけど、
所詮匿名で頑張っても誰かに成果を横取りされるんじゃないかという不安があって思い切り参加できない。
517デフォルトの名無しさん:2010/09/03(金) 13:56:28
プロ様今は平日の昼っすよ?
518デフォルトの名無しさん:2010/09/03(金) 13:57:44
×情報出したくない
◯情報出したくても腕も頭もないので出せない
519デフォルトの名無しさん:2010/09/03(金) 14:08:15
わかりやすい質問を作成する為のウィザードやテンプレがあれば教えてください。
520デフォルトの名無しさん:2010/09/03(金) 14:10:09
具体的に書け。 曖昧に書くことはひまつぶしと認識する。
521デフォルトの名無しさん:2010/09/03(金) 14:33:11
お前ら平日の昼から喧嘩すんなよ

というわけで自分が考えたお、これは凄い、うはwっていうアルゴリズム教えろ
522デフォルトの名無しさん:2010/09/03(金) 14:38:25
具体的にはどういう事なのか具体的に書いてください。
523デフォルトの名無しさん:2010/09/03(金) 14:42:12
平日昼間言うが
休日とかフリーな時間にワザワザこんなとここねぇよ
わかるだろ?
524デフォルトの名無しさん:2010/09/03(金) 14:43:03
具体的に例を示したら示したで
俺の知らないゲームを例に出すなとごねるバカが居たばっかりじゃん
525デフォルトの名無しさん:2010/09/03(金) 14:52:51
何々『みたいな』、と言った時点でそれはもう抽象的なんだが…

FFみたいな戦闘システムにしたいんだよね→ハァ?
FFと同じ横対峙型の戦闘画面にしたんだよね→わかりました。(でもそれってパクリじゃね…?)
526デフォルトの名無しさん:2010/09/03(金) 14:55:11
もう分かったからお前は黙ってろよ
527デフォルトの名無しさん:2010/09/03(金) 15:01:02
えっ
528デフォルトの名無しさん:2010/09/03(金) 15:15:25
>>519
そんなものはない。

こういうのを参考にするといい。
http://www.redout.net/data/osietekun.html
529デフォルトの名無しさん:2010/09/03(金) 16:07:13
LWJGLの公式ページが404なんだけど、これどういうこと?
http://lwjgl.org/
530デフォルトの名無しさん:2010/09/03(金) 18:29:22
タイトルからプレイ画面等の状態遷移について
531デフォルトの名無しさん:2010/09/03(金) 18:53:36
enum{
  TITLE,
  PLAY,
};

int g_state = TITLE;

int main(void)
{
  if(g_state == TITLE){ title_func(); }
  else if(g_state == PLAY){ play_func(); }
  return 0;
}

void title_func(void)
{
  if( ... ){
    g_state = PLAY;
  }
}
532デフォルトの名無しさん:2010/09/03(金) 19:01:50
JAVAってゲーム開発に向いてないの?何故?
533デフォルトの名無しさん:2010/09/03(金) 19:09:07
ガベコレに気をつければJAVAでもいいんじゃね?
andoroidでゲーム作ってるgoogleの人が言ってた。
534デフォルトの名無しさん:2010/09/03(金) 19:13:58
>>528
具体的にできないのに具体的にしろっておかしくね?矛盾じゃね?
535デフォルトの名無しさん:2010/09/03(金) 19:14:54
そういやオブジェクティブCだかなんだかの話題が出ないな
536デフォルトの名無しさん:2010/09/03(金) 19:31:57
>>531
せめて、こうじゃね?

enum{
TITLE,
PLAY,
};

int g_state = TITLE;

void title_func(void)
{
if ( start_button )g_state = PLAY ;
}

void play_func(void)
{
if ( game_over )g_state = TITLE ;
}

void (*Scene[])(void) = {
title_func,
play_func,
} ;

int main ( void )
{
for(;;){// ゲームループ
Scene[g_state] ;
}
return 0;
}
537デフォルトの名無しさん:2010/09/03(金) 19:34:15
前に俺が関数ポインタ使えばって言ったら引数が変わったときに面倒とか言っただろうが。ksg
538デフォルトの名無しさん:2010/09/03(金) 19:39:01
functionに引数バインドしてうんぬんでいいじゃん
539デフォルトの名無しさん:2010/09/03(金) 20:09:16
なんの引数が変わるんだ?
具体的に
540デフォルトの名無しさん:2010/09/03(金) 20:15:05
void title_func(char str, int val);
int play_func(double val);

みたいなことじゃねえの?俺はいちゃもんつけられた側だから知らんが。
541デフォルトの名無しさん:2010/09/03(金) 20:35:55
>>532
気をつける事柄が多いので大規模開発には不向き。
本来は大規模開発で実力を出す言語なので結果的にゲームには不向き。
携帯端末での実績を考えれば小規模なら適してる気がする。
542デフォルトの名無しさん:2010/09/03(金) 20:58:32
>>534
具体的にできないなんて言ってない。
質問の雛形など無いと言っている。
内容によって書く必要のあることは違う。

何が分からないのか、どこまでやってみたのか、本当の目的はなんなのか、このくらいは明らかにしておくべきだろう。
543デフォルトの名無しさん:2010/09/03(金) 21:02:15
JavaでGUIゲーム作ってる素人でゴメンお
544デフォルトの名無しさん:2010/09/03(金) 21:30:15
>>543
GUI以外でゲーム作ってるほうが驚きだわ
545デフォルトの名無しさん:2010/09/03(金) 21:35:49
Android?
546デフォルトの名無しさん:2010/09/04(土) 14:49:07
わざわざそんなことする位ならこれでよくね

void (*scene_func)(void);

void title_func(void)
{
if ( start_button ) scene_func = play_func;
}

void play_func(void)
{
if ( game_over ) scene_func = title_func;
}



int main ( void )
{
for(;;){// ゲームループ
scene_func();
}
return 0;
}
547デフォルトの名無しさん:2010/09/04(土) 14:57:41
前に俺が関数ポインタ使えばって言ったら引数が変わったときに面倒とか言ったろうが。ksg
548デフォルトの名無しさん:2010/09/04(土) 14:58:22
>>546 に賛成なんだけど、可読性が落ちるからやめろって言われたことある。
549デフォルトの名無しさん:2010/09/04(土) 15:40:03
ポインタ経由で呼んでることをわかりやすくするために
(*scene_func)(); って書けばいいんじゃない?
550デフォルトの名無しさん:2010/09/04(土) 16:20:57
>>531をswitchにしてるわ俺
関数ポインタは確かに可読性が落ちるし、その必要性もないだろ
551デフォルトの名無しさん:2010/09/04(土) 16:27:43
いまどき、仮想関数だろjk
552デフォルトの名無しさん:2010/09/04(土) 18:28:31
せめてシーンはクラスにしろよ
それと>>546が良くないのは可読性じゃなくて、
自分が次のシーン関数の存在を知ってないと遷移できない所
結合が強すぎる
553デフォルトの名無しさん:2010/09/04(土) 18:32:34
じゃあどうすんだよ
554デフォルトの名無しさん:2010/09/04(土) 18:36:53
とりあえずシーンの実装と、シーン遷移の流れを完全に分離しろ、話はそれからだ
555デフォルトの名無しさん:2010/09/04(土) 18:38:25
シーンって何?
556デフォルトの名無しさん:2010/09/04(土) 18:43:45
正解はステートパターン
557デフォルトの名無しさん:2010/09/04(土) 19:09:18
FSMとかステートパターンとかセンス悪いやつのための単語だよな
558デフォルトの名無しさん:2010/09/04(土) 19:12:00
>>557 がセンスの良い解決法を披露してくれるそうです。
559デフォルトの名無しさん:2010/09/04(土) 19:14:37
>>557
正解plz
560デフォルトの名無しさん:2010/09/04(土) 19:49:25
>>557
さっさと紹介しろやぼけ
561デフォルトの名無しさん:2010/09/04(土) 20:40:44
関数ポインタなんてやめろ
ちゃんとステータスを示す変数もって明示的(←ここ超重要!)に変えろよ
読み手に「じゃあ、シーンの変更しますからね!ね!ね!ね!・・・ね!」って気持ち悪いぐらいアピールしまくれといいたい
なんでそう隠すっぽいトリッキーな組み方するのかわからない
562デフォルトの名無しさん:2010/09/04(土) 20:42:09
ステータスを示す変数の型が関数ポインタになったからといって、隠すようなことにはならない。
関数ポインタでもステートオブジェクトでもいい。
563デフォルトの名無しさん:2010/09/04(土) 21:01:36
関数ポインタに拒否反応示す奴は単に見慣れてないだけなんじゃねーの
564デフォルトの名無しさん:2010/09/04(土) 21:02:28
シーンを変更する時は専用の関数を呼び出すだろ?
それで十分明示的じゃね
565デフォルトの名無しさん:2010/09/04(土) 21:03:11
関数ポインタを推す理由が分からん
566デフォルトの名無しさん:2010/09/04(土) 21:05:14
シーンクラスにはしないの?
567デフォルトの名無しさん:2010/09/04(土) 21:05:17
選択肢のひとつではあるだろ
シーン作ってからイチイチEnum追加したりしなくていいいから
個人でコーディングするならそれなりに実用的。
しかも、存在しないシーンを指定したらコンパイル時にエラーが出るので、間違いが起こりにくい
568デフォルトの名無しさん:2010/09/04(土) 21:23:33
enumだって存在しないの指定したらコンパイルエラーじゃん
569デフォルトの名無しさん:2010/09/04(土) 21:26:21
どっちにしろ結局の所は自分とは違うやり方を認めたくないだけなんだろ?
570デフォルトの名無しさん:2010/09/04(土) 21:36:49
>>568
・シーンオブジェクトが存在しない
・特定のEnumに対する実装が用意されてない
少し意味合いが違う気がするが。
571デフォルトの名無しさん:2010/09/04(土) 21:41:22
自分の選んだ方法と違うのが紹介されたからってなんで否定したがるのかね
572デフォルトの名無しさん:2010/09/04(土) 22:46:58
tim today!
573デフォルトの名無しさん:2010/09/04(土) 23:00:44
否定しなきゃ技術力あがらないじゃん
574デフォルトの名無しさん:2010/09/04(土) 23:21:21
enum定数の変わりに関数名使えばいいだけじゃん

Res (*f)(void) = Title;

while(f)
{
Res res = f();
if(f == Title) { f = GameMain;}
else if(f == GameMain && res.is_kuria()) { f = Ending; }
else if(f == GameMain && res.is_sibou()) { f = GameOver; }
else if(f == GameOver) { f = 0; }
}

みたいな感じで
これでシーン実装と遷移図は完全に切り離せるだろ?
わざわざ定数経由してタイプ増やす意味ないっしょ
575デフォルトの名無しさん:2010/09/04(土) 23:25:12
意味もないのにいまどきアドレスジャンプ(関数ポインタ)なんて使おうとする化石がいるから
思いっきり馬鹿にしてみた
正直、ゲームPGのレベルを無駄に下げてるし業界的に邪魔だと思う
576デフォルトの名無しさん:2010/09/04(土) 23:30:25
と関数ポインタの使い方がわからないゆとりが申しております
577デフォルトの名無しさん:2010/09/04(土) 23:38:53
これ、業務系とかいってコードレビューしたときに
「なんでこんな組み方したの?」
って聞かれたときにまともな返答返せるんだろうか?
関数ポインタでなければいけない理由を話してもらうことになるけど・・・
578デフォルトの名無しさん:2010/09/04(土) 23:45:02
enum定数じゃないとだめな理由のほうが無いよね常識的に考えて
579デフォルトの名無しさん:2010/09/04(土) 23:48:02
C#がスタンダードになったあらデリケートな部分ですから、とか言えるんだけどな
580デフォルトの名無しさん:2010/09/05(日) 00:06:12
関数ポインタ理解できませんごめんなさいって言えやwwww
581デフォルトの名無しさん:2010/09/05(日) 00:12:36
delegateと掛けたんじゃないか?
582デフォルトの名無しさん:2010/09/05(日) 00:20:04
関数ポインタ否定してるやつはコールバックとか使わないんだろうか
いったいどんな設計してるんだろう
583デフォルトの名無しさん:2010/09/05(日) 00:22:11
まあどう見ても釣りな件。マって沸点低いよね
584デフォルトの名無しさん:2010/09/05(日) 00:22:26
関数ポインタ使う意味がわからない
swtich caseでかけるよね?
なんでそんなメリットないことしたいの???

ってか、それで自分がプログラム上手いつもりなの?
習いたての初心者のオナニーみたいで気持ち悪い
わざわざ関数ポインタなんて使ってバグ増やすようなことして何がうれしいのかわからない
585デフォルトの名無しさん:2010/09/05(日) 00:24:20
定数経由する分コードが無駄に増えてバグの確率があがることが理解できないんだろうか
586デフォルトの名無しさん:2010/09/05(日) 00:28:38
プログラマってのは美しさを求める生き物だからさ
そして美しさの定義は人それぞれ違う
可読性とかバグの誘発とか後付の理由であって
ぶっちゃけ別にメリットとかどうでもいいんだろ?
swtich caseがダーっと並んでるのっを美しいと感じるか
関数ポインタで1行に纏められてるのを美しいと感じるかただそれだけの違いでしかない
587デフォルトの名無しさん:2010/09/05(日) 00:31:13
シーン分岐だけなら良いけど、
それ以外でswitch文がだーっと並んでたら
実行速度にも響いてこないか?
588デフォルトの名無しさん:2010/09/05(日) 00:31:34
美しいコメントを書けるコーダーが優良。
589デフォルトの名無しさん:2010/09/05(日) 00:31:52
でもそんなの関係ねぇ!
590デフォルトの名無しさん:2010/09/05(日) 00:33:28
switchは最適化されると早いよ
591デフォルトの名無しさん:2010/09/05(日) 00:33:52
こまけえことなんざ現場ごと好き好きにやってればいい

趣味でやってる素人にゃあ関係ねえ
592デフォルトの名無しさん:2010/09/05(日) 00:34:38
ほんとレベル低いな。
クラスとか必要ないと思ってる奴多そう。
593デフォルトの名無しさん:2010/09/05(日) 00:34:42
関数ポインタの勝ち
594デフォルトの名無しさん:2010/09/05(日) 00:35:43
全部グローバル変数にしたらどこからでもアクセスできて便利なのに、わざわざカプセル化する意味がわからない

みたいな
595デフォルトの名無しさん:2010/09/05(日) 00:36:32
関数ポインタはステータスの初期化・終了処理を別にやる仕組みが必要なのと
現在のステータスを取得する必要があるときに結局ステータス変数にあたるもんが
どうせ必要になるんじゃね?ってところが無意味だと思った
596デフォルトの名無しさん:2010/09/05(日) 00:38:44
上からの指示に従って組んでリャそれでいいのよ
597デフォルトの名無しさん:2010/09/05(日) 00:39:38
某読み物より引用

>プログラマは成果物以上に、その過程に美的感覚を注ぐ。
>プログラマはそれを、「美しいコード」 と例える。
>これらの美しさは、どんな芸術品より彼らの心を強く引き付ける。
>しかし、困っちゃうのが、プログラマ以外にはこの感覚がサッパリ分からないことだろう。
>美しい設計と仕様くらいなら、SEクラスならまだ理解できるが、美しいコードなんか本気で分からない。
>機会があれば、プログラマに美しいコードと汚いコードを見せて貰うといい。
>理解できないどころか、
>「こんなので汚いだ美しいだ……こいつら頭おかしいんじゃないのか!?」
>と思うことだろう。
>美しいプログラムは、変更に強く、バグも少なく、スピードも速いという。
>しかし、これも周りの人間には、どうでもいい話だったりする。
>実際にどうでもよいはずがないのだが、繰り返すようにプログラマが向かい合っているのは「コード」。
>それを見る人は、コードが制御する「結果」を見ている。
>コンピュータが処理速度ぎりぎりの戦いを挑まれない限り、「コード」を美しく改良しても、「結果」が美しくなるわけではない。


「コード」を美しく改良しても、「結果」が美しくなるわけではない。
「コード」を美しく改良しても、「結果」が美しくなるわけではない。
「コード」を美しく改良しても、「結果」が美しくなるわけではない。
598デフォルトの名無しさん:2010/09/05(日) 00:42:38
ギリギリの戦いもしたこと無いぺーぺーが何かを知ってるように語ってんじゃねーよ。しかもこぴぺで
599デフォルトの名無しさん:2010/09/05(日) 00:42:46
>>597
コード綺麗に整理してかけてたらバグ減るし変更に強いし、
最終的な最適化も綺麗に書いたかどうかでやりやすさが雲泥の差だよ。

そのへん全部度外視して結果が同じなら何でも良いと思うなら勝手にデバッグで苦労すれば良いけどさw
600デフォルトの名無しさん:2010/09/05(日) 00:43:18
そういや生産性を重視するプログラマって少数派だな
601デフォルトの名無しさん:2010/09/05(日) 00:44:25
たしかゲ製作板で同じ議論をしたときは
「関数ポインタよりswitchのほうが最適化が効くよ」で完結した覚えがある。
602デフォルトの名無しさん:2010/09/05(日) 00:45:23
今ではクロスプラットフォーム開発が普通だからそうでもなくね?
603デフォルトの名無しさん:2010/09/05(日) 00:45:39
シーン関数の呼び出しなんて1フレームに一回しか起こらないのに
そんなものどれだけ最適化した所で大した恩恵なんて無いのにな
604デフォルトの名無しさん:2010/09/05(日) 00:47:15
ゲームで難しいのは綺麗なコードを書きすぎると想定外の仕様変更で痛い目を見ることだな
せっかく書いたのをバッサリカットされることもあるし、
そう考えると考えなしに適当に定数使いまくるとかそういうぐちゃぐちゃのうんこったれコードでもさっさと出来上がるほうがいいのかも
605デフォルトの名無しさん:2010/09/05(日) 00:47:28
クロスプラットフォーム開発でポインタなんて使ってハマったらデバッグ大変じゃね?
最近だとアドレス長が違ったりするし
606デフォルトの名無しさん:2010/09/05(日) 00:49:21
>>604
それは綺麗なだけで整理できてないコードだから痛い目みてるだけだ
607デフォルトの名無しさん:2010/09/05(日) 00:50:46
関数ポインタ派は「シーン切り替え」と「シーンに影響を受ける処理」をどうやって分離するの?
1フレームの中途でシーン切り替えがあった場合、それ以前と以後のタスクが違う処理をする矛盾がでるけど
608デフォルトの名無しさん:2010/09/05(日) 00:52:25
そんなものはシーンじゃない
609デフォルトの名無しさん:2010/09/05(日) 00:55:47
綺麗なコードとは可読性が高く仕様変更に強く高速処理を行うコードの事である。
プログラマ間で議論する場合、どれを重視するかのバランス感覚の相違による所が大きい。
610デフォルトの名無しさん:2010/09/05(日) 00:56:30
>>608
じゃあどんなもの?
611デフォルトの名無しさん:2010/09/05(日) 01:00:02
>>610
シーン関数てのはそもそも、そのフレーム内の処理を全部やる関数だから
1フレームに一度しか呼ばれません。
612デフォルトの名無しさん:2010/09/05(日) 01:05:07
>>605
それはコンパイラが気にすることじゃね
613デフォルトの名無しさん:2010/09/05(日) 01:05:44
どうせ答えなんて出ないんだから自分がやりやすい方法でやればいいんじゃね?
614デフォルトの名無しさん:2010/09/05(日) 01:06:07
関数名で検索するとアドレスとして使われてる箇所がたくさん出てくるコードとか嫌過ぎるな
超読みたくないよ
オナニーコードもここまでくると限度があるよね
必要もないのにコールバック関数みたいなの読みたくないよ

ま、どうせやねうらおだろw
こんな馬鹿なこと考えて悦にいってるのってw
お前、そんなだからいつまで経っても3Dできないんだぞ
615デフォルトの名無しさん:2010/09/05(日) 01:09:29
まあ普通はシーンのクラス作って、インスタンス切り替えだろうし
どっちかっていうと関数ポインタの方が近いよ
616デフォルトの名無しさん:2010/09/05(日) 02:25:10
クラス作るっていうのは何の答えにもなってないぞ
617デフォルトの名無しさん:2010/09/05(日) 02:26:01
>>611
そうだな
なにも矛盾してないぞ
さぁ、続けろ
618デフォルトの名無しさん:2010/09/05(日) 02:32:14
ステートパターンでFAだろ?「馬鹿でごめんなさい」って言えよwwww
619デフォルトの名無しさん:2010/09/05(日) 02:43:34
ああ俺もそんなようなパターンで実装することも考えたわ
結局クラスポコポコ作るの面倒だと思って1つのゲームクラス内のメンバ関数内の盥回しにしたけど
620デフォルトの名無しさん:2010/09/05(日) 03:00:30
ステートパターン自体は悪くないんだが
ゲームプログラムをデザパタで語ろうとするやつはほとんどが口だけ野郎
621デフォルトの名無しさん:2010/09/05(日) 03:04:36
611は敗北宣言か?
それとも本当にわからないのか?
622デフォルトの名無しさん:2010/09/05(日) 04:06:38
自分を自慢し、誉めてもらいたがっている。 たいした男じゃないわ。
623デフォルトの名無しさん:2010/09/05(日) 04:14:22
まだ起きてたのか
おまえら
624デフォルトの名無しさん:2010/09/05(日) 04:49:51
話に決着をつけないと寝られないじゃないか。
明日になったら脳内のコードも消えてるだろうし。
っていうか611は勘違いでいいんだな?もう寝るぞ?
625デフォルトの名無しさん:2010/09/05(日) 04:51:20
この手の話題で決着なんてついたことない
時間の無駄だからさっさと寝ろ
626デフォルトの名無しさん:2010/09/05(日) 06:53:46
うわあ乗り遅れたぜ
一つだけ言わせてもらえれば、switch厨はそこがボトルネックになるほど
カリカリに全コード最適化してんの?って感じ
627デフォルトの名無しさん:2010/09/05(日) 07:05:02
昔ゲ製でもタスクシステムのスレは無駄に伸びてたな
628デフォルトの名無しさん:2010/09/05(日) 07:28:21
てst
629デフォルトの名無しさん:2010/09/05(日) 08:51:48
>>626
switchがボトルネックになったとき、どうやって対処したのか聞きたいな。
630デフォルトの名無しさん:2010/09/05(日) 08:55:13
ならねーだろ普通に
それよか関数ポインタなんて初っ端から引数使わない気満々の設計思想とか頭どうかしてる
631デフォルトの名無しさん:2010/09/05(日) 09:21:56
>>627
全部引数で渡さなきゃ駄目って奴がいた記憶がある
オブジェクト指向を全否定してた
632デフォルトの名無しさん:2010/09/05(日) 09:27:26
>>630
何を言っている、関数ポインタでも普通に引数使えるだろ。どこを指摘してるんだ。
633デフォルトの名無しさん:2010/09/05(日) 09:32:39
どうせ関数ポインタが先に出たらswitchが良いとか言い出すんだろお前ら
634デフォルトの名無しさん:2010/09/05(日) 10:02:24
>>632
各シーンで必要な引数が違うときの話だけど
君はどうせvoid*しか使わないからそんなこと頭に無いよね?
635デフォルトの名無しさん:2010/09/05(日) 10:12:32
ゲームなんだから全部グローバル変数でいいだろ
636デフォルトの名無しさん:2010/09/05(日) 10:20:49
>>634
苦し紛れのこと言うなよ。俺は関数ポインタは引数使えるぞって言ってるだけだぞ。
637デフォルトの名無しさん:2010/09/05(日) 10:20:56
おお、引数君かw
638デフォルトの名無しさん:2010/09/05(日) 10:22:20
ゲーム作るような知恵遅れは現実見えてないな
639デフォルトの名無しさん:2010/09/05(日) 10:23:00
要するにシーンもタスクシステムみたいなノリで使いたいのか?
640デフォルトの名無しさん:2010/09/05(日) 10:30:35
そもそも
シーンごとに違って、毎ループごとに渡す必要があって、しかもローカルにしかスコープが無い引数って何よ?
具体的に
641デフォルトの名無しさん:2010/09/05(日) 10:39:24
なんだ、シーン関数は1フレームに一度しか呼ばれないから
1フレームの途中でシーン切り替えなんて事は起こらないつってんのに
そんなこともわからんバカがいるのか
642デフォルトの名無しさん:2010/09/05(日) 10:42:02
>>629
だからならねーって話だろ
643デフォルトの名無しさん:2010/09/05(日) 10:43:17
>>641
既に>>611がぶった切ってる話を何故再開するw
644デフォルトの名無しさん:2010/09/05(日) 10:48:42
>>642
switch厨ってどういう意図で使ってるんだ、自分の文章見直してみ。
645デフォルトの名無しさん:2010/09/05(日) 10:52:13
何でお前らそんなにくっだらないことでムキになってんの?日本人なの?
646デフォルトの名無しさん:2010/09/05(日) 10:52:43
無限ループって怖くね?
647デフォルトの名無しさん:2010/09/05(日) 10:57:03
breakすれば良くね?
648デフォルトの名無しさん:2010/09/05(日) 10:59:36
今時ステートパターンの派生型ぐらいしか使わないのに
switchだの関数ポインタだの、OOPぶち壊し設計ばっかり盛り上がるこのスレのレベル
649デフォルトの名無しさん:2010/09/05(日) 11:00:50
>>647
こうなってるんじゃね?

for(;;){
  for(;;){
    break;//←
  }
}
650デフォルトの名無しさん:2010/09/05(日) 11:05:19
>>649 笑わすなw
651デフォルトの名無しさん:2010/09/05(日) 11:05:38
>>641
誰もそんな事いってないだろ
あと100回読み直して来い
652デフォルトの名無しさん:2010/09/05(日) 11:33:30
現実的に考えると引数をバインドしたfunctionを使うから引数の心配は無用
653デフォルトの名無しさん:2010/09/05(日) 11:34:49
>>648
関数ポインタもひとつのオブジェクトだよ
654デフォルトの名無しさん:2010/09/05(日) 12:06:37
>>653
シーンがグローバル関数って時点で設計が崩壊してると言っている
655デフォルトの名無しさん:2010/09/05(日) 12:06:43
>>648
ステートパターンを実装する為に関数ポインタとswitchのどっちを使って実装しようかって話だろ?
656デフォルトの名無しさん:2010/09/05(日) 12:09:10
>>655
え、そんな高尚な話してたのw
657デフォルトの名無しさん:2010/09/05(日) 12:10:13
わかった、こいつデザパタを実装レベルでしか理解してないのか。
これだからプログラムバカは仕様書がかけないんだよ。
658デフォルトの名無しさん:2010/09/05(日) 12:12:26
>>657
クラス使わずにデザパタ実装したって依存関係無茶苦茶になって破滅するだけだから
クラスが必要のない規模で無理にデザパタの考え導入するのは愚かしいよ
659デフォルトの名無しさん:2010/09/05(日) 12:13:43
用語の解釈がそれぞれ違ってるような気がするw
660デフォルトの名無しさん:2010/09/05(日) 12:18:54
ちゃんとクラス使いましょうねって意味なんだがなw なんで伝わんないんだろうなw
661デフォルトの名無しさん:2010/09/05(日) 12:25:02
おれは、関数のオーバーライドでやってる。
1フレーム毎の処理をする関数、描画処理をする関数を、
タイトルシーン、メインシーンのオブジェクトごとにオーバーライドで作っておく。

後は、シーン選択クラスにいずれかのシーンオブジェクトを選択させるだけ。
662デフォルトの名無しさん:2010/09/05(日) 12:30:31
クラス使う必要ないとこで無意味に使うこたない
そしてステートパターンには必要ないから関数ポインタでよい
663デフォルトの名無しさん:2010/09/05(日) 12:33:02
いろいろやっても面倒臭いだけジャンw
>>531がシンプルで良いんじゃねw
664デフォルトの名無しさん:2010/09/05(日) 12:37:28
シーン開始時とシーン終了時に、テクスチャとかモデルとかのデータを
読んだり破棄したりその他色々発生することを考えると、
やっぱりクラス化しておきたくなる
665デフォルトの名無しさん:2010/09/05(日) 12:38:37
いや、普通>>661だろ
シーンごとに独自の機構も作れるし
666デフォルトの名無しさん:2010/09/05(日) 12:40:27
>>658
ほらな、あのソースの形にこだわってるのが理解してない証拠だよ
デザパタを非OOPLに移植しようって話じゃないんだよ
switch厨のほうがまだわかってる

>>660
クラス使用の正当性は人員のレベルや開発期間、ターゲット等により定まる
ちゃんとちゃんとの味の素じゃねーんだよ!!
667デフォルトの名無しさん:2010/09/05(日) 12:50:09
外部ファイルに遷移データ置きたい時に関数ポインタ丸出しでやると困るよね
後で外部化することも考えてあらかじめ文字列か定数でマッピングするほうがいいだろう
668デフォルトの名無しさん:2010/09/05(日) 12:53:54
>>666
お前の言う意味での理解はしてないよ、多分それ間違ってるからw
669デフォルトの名無しさん:2010/09/05(日) 12:56:00
main(){
while(){
if(scene == SceneTitle)scene = HandleTitle();
else if(scene == SceneField)scene = HandleField();
}}

HandleTitle(){
while(){
}}

自分は、ゲーム全体のループで回さず、現在のシーンのループでのみ回す。
値などのスコープを狭くできて便利。
C系でしか使えないっぽいのが難点。
670デフォルトの名無しさん:2010/09/05(日) 12:56:13
ステートパターンなんて多態性の典型例みたいなもんだし
Cでやるにしても関数ポインタ以外ありえん
671デフォルトの名無しさん:2010/09/05(日) 12:57:04
switch厨ってなんだよ
基本形が>>531な奴の方が多いだろ
672デフォルトの名無しさん:2010/09/05(日) 12:57:15
クラス化しても内部で関数ポインタ使ってるしね結局のところ
673デフォルトの名無しさん:2010/09/05(日) 12:57:36
始めたばかりの素人とか、組み込みっぽい特殊なのとか、超絶的に
処理速度の要求される特殊なメインルーチンを除いて、
いまどきクラス使わない選択ってあるの?
674デフォルトの名無しさん:2010/09/05(日) 12:58:18
移植性という概念
675デフォルトの名無しさん:2010/09/05(日) 13:00:52
問題は、次のシーンクラスを指定するのにenum使うのか否かって所だよね、そうだよね
676デフォルトの名無しさん:2010/09/05(日) 13:30:45
ちょっと疑問に思ったんだけどクラスprivateな部分で次のシーンが変化する場合ってどうやってそれを外に伝えるの?
返り値で次のシーンを指定するってやり方だと、せっかく個別シーンと遷移を分離した意味ないよね
なぜなら個別シーンがほかの個別シーンと遷移図知ってないといけないから
かといってクラスから外部に情報を渡さないと遷移図は分岐できない欠陥品になってしまう
どうせ個別シーンがほかの個別シーンと遷移図を知ってないといけないならわざわざ返り値で指定しなくても
if(is_end) return change_scene(title::get_instance()); else return change_scene(quit::get_instance());
みたいに書いたほうが安全じゃないかな
677デフォルトの名無しさん:2010/09/05(日) 13:37:37
>>636
馬鹿だからそんな発言しかできないの?
678デフォルトの名無しさん:2010/09/05(日) 13:44:44
>>676
「privateな部分で」の意味がよくわからんが、public: の中にアクセッサでも
付けときゃいいって話じゃなくて?
679デフォルトの名無しさん:2010/09/05(日) 13:44:56
>>675
違うだろ
コールバックするわけでもないのに
関数ポインタとかキモイもん使ってる馬鹿がこの先生きのこるにはどうしたらいいか?だろ
680デフォルトの名無しさん:2010/09/05(日) 13:46:43
>>676
マジレスすると、シーンがどう終了したか、と、次は何のシーンか、ってのは完全に別問題なのでそこを分離すればおk
681デフォルトの名無しさん:2010/09/05(日) 13:52:23
シーン選択クラスってのを作っておいて、シーン遷移はすべてそこで行う。
SceneSelector
{
public:
void SceneChange(Scene *lpScneObj); //シーン遷移関数
private:
Scene *lpNowSceneObj; //選択されているシーンオブジェクトへのポインタ
};

このSceneChange() を呼び出すだけで、それまでに選択されていたシーンの
終了処理と、新しいシーンの開始処理を行う。これでOK。いつでも遷移できる。
682デフォルトの名無しさん:2010/09/05(日) 13:54:09
>>677
そんなにくやしかった?
683デフォルトの名無しさん:2010/09/05(日) 13:56:19
なんか話が分散しているので

class SceneManager
{
684デフォルトの名無しさん:2010/09/05(日) 13:57:33
>>681
でもそれだとシーンの実行関数とかpublicにおかないといけないんじゃね?
自由に実行してほしいのか?そんなもん
enumで組めば綺麗だったのにわけわからんなw
685デフォルトの名無しさん:2010/09/05(日) 13:58:01
だから、クラス名に ○○Manager ってのはやめろよ
686デフォルトの名無しさん:2010/09/05(日) 13:59:31
>684
もちろん実行関数はpublicに置くが、何か問題あるか?
687デフォルトの名無しさん:2010/09/05(日) 14:04:09
>>686
そうなると
SceneChangeの位置づけ微妙じゃね?
こんなもんぶち込まなくても実行関数外だしされてんじゃん

そういうの触らせたくないからこそのprivateやpublicなんじゃないかと・・・
いや、別に自由にやってもらっていいっていうならいいと思うよ?(←なぜか疑問形w)
688デフォルトの名無しさん:2010/09/05(日) 14:13:06
いや、実行関数はあくまでも
void SceneSelector::Excution()
{
lpNowSceneObj->Excution();
}
とかだけの実行関数だから、現在選択中のシーンの情報がprivateな意味は
あるよ。

シーン変更時には、必ずシーン終了処理とシーン開始処理が
自動的に行われて欲しいから、勝手に外から変えられないように
シーン変更関数だけをpublicにしてる。
689デフォルトの名無しさん:2010/09/05(日) 14:14:32
つまり、
void SceneChange(Scene *lpSceneObj)
{
lpNowSceneObj->End(); //終了処理
lpSceneObj->Begin(); //開始処理
lpNowSceneObj = lpSceneObj;
}

とかなるのね。
690デフォルトの名無しさん:2010/09/05(日) 14:15:12
最低限こんなもんでしょ

class SceneManager
{
public:
 void mainRoutine()
 {
  mpCurrentScene = createScene(eScene_First);

  for(;;)
  {
   mpCurrentScene->run();

   if (mpCurrentScene->isFinished())
   {
    EScene nextScene = mpCurrentScene->getNextScene();
    delete mpCurrentScene;
    if (nextScene == eScene_Invalid) break;
    mpCurrentScene = createScene(nextScene);
   }
  }
 }
private:
 Scene* createScene(EScene sceneID);
private:
 Scene* mpCurrentScene;
};
691デフォルトの名無しさん:2010/09/05(日) 14:21:48
>>688
変えてほしいものとそうでないものとがごっちゃじゃない?
シーンオブジェクトをぶち込むってことは使用者側でシーンオブジェクトさわり放題なんでしょ?
触ってほしくないのにそのシーンをぶち込む仕様は無駄じゃない?
SceneSelector無視してなんでもできるのにSceneSelector使ってくれってなんか変・・・
692デフォルトの名無しさん:2010/09/05(日) 14:29:40
>>691
もちろんシーンオブジェクトが触れないと、ゲーム作れない。
タイトルシーンと戦闘シーンが全く同じシーンオブジェクトにはならない。
それを使用者側が作っていく。
693デフォルトの名無しさん:2010/09/05(日) 14:36:59
いや、今のシーンで次のシーンの実態生成するのが気持ち悪いって話だろ
694デフォルトの名無しさん:2010/09/05(日) 14:38:43
シーンオブジェクトを全部singletonにしてgetinstance
695デフォルトの名無しさん:2010/09/05(日) 14:40:20
いや、シーン内で、他シーンのンスタンス触れるのが気持ち悪いっていう
696デフォルトの名無しさん:2010/09/05(日) 14:41:25
いや、SceneSelectorのコンストラクタで、先に全てのシーンの実体を生成しておく。
こうすると、そのシーン内でずっと保持してほしい情報があるときに便利。

各シーンオブジェクトのポインタは、SceneSelectorクラスのprivateな
ポインタ変数にあるから、外からさわるのは面倒くさいはず。

確かにさわろうと思えばどこからでもシーンを直接さわれるけど、
さわれるからって電車の中で女の胸触ったりしないよな?そういうことでしょう。
697デフォルトの名無しさん:2010/09/05(日) 14:44:05
普通にSceneSelectorの中で全部やってくれればいいんだけど・・・
698デフォルトの名無しさん:2010/09/05(日) 14:46:25
使用者と提供者がごっちゃになってるな
699デフォルトの名無しさん:2010/09/05(日) 14:49:48
うーむ、これ以上うまく説明できん。
まあ、気に入らないやり方だったら、悪い例だと思ってくれ。
700デフォルトの名無しさん:2010/09/05(日) 14:51:08
>>699
っていうか何がしたいのか意味不明なクラス作るなよ
701デフォルトの名無しさん:2010/09/05(日) 14:58:54
SceneManagerよりSceneSelectorの方が何がしたいか分かるだろ
702デフォルトの名無しさん:2010/09/05(日) 14:59:40
>>668
敗北宣言乙
703デフォルトの名無しさん:2010/09/05(日) 15:01:07
SceneSelectorはシーンの切り替えしかしないの?別途SceneManagerも作るってこと?
704デフォルトの名無しさん:2010/09/05(日) 15:01:39
SceneSelectorっていう名前なら、次のシーンを選ぶ以外の事はやってはいけない
705デフォルトの名無しさん:2010/09/05(日) 15:04:55
Selectって動詞だからクラス名にふさわしくない
706デフォルトの名無しさん:2010/09/05(日) 15:07:08
いやそれは良いだろ別にw
707デフォルトの名無しさん:2010/09/05(日) 15:22:18
またくっだらない話してるな
708デフォルトの名無しさん:2010/09/05(日) 15:38:54
いちいちメンド臭いだけで大してメリットのないものにこだわる人って居るよね
709デフォルトの名無しさん:2010/09/05(日) 15:41:54
バグも積れば、山となる
710デフォルトの名無しさん:2010/09/05(日) 15:46:33
シーンAからシーンBに移るときのフェードアウトフェードインってあるじゃん、あれって
シーンA
→シーンAの最後のフレームの絵+フェードアウトのシーン
→シーンBの最初のフレームの絵+フェードインのシーン
→シーンB
ってやってるの?
711デフォルトの名無しさん:2010/09/05(日) 15:54:50
そんなの人に聞かなきゃ不安かよw
712デフォルトの名無しさん:2010/09/05(日) 15:58:27
シーンA
→シーンA+フェードアウトのエフェクト
→画面真っ暗、シーンB切り替え
→シーンB+フェードインのエフェクト
→シーンB
713デフォルトの名無しさん:2010/09/05(日) 15:58:40
シーンA終了 + フェードアウトタスク発生

フェードアウト待ち

フェードインタスク発生 + シーンB開始

こんな感じ
714デフォルトの名無しさん:2010/09/05(日) 16:02:34
フェードアウトするときは画面が停止しちゃう前提だったらフェードアウト専用の処理でもよさそうだけど
715デフォルトの名無しさん:2010/09/05(日) 16:10:49
JAVAで特定のスレッド以外を一時停止して、
それが終わったら再開みたいなメソッドなり方法があったら教えてください
716デフォルトの名無しさん:2010/09/05(日) 16:34:14
一貫した追加方法でやれるなら何でもいいと思う。
ただ俺の場合はここに書かれたものより分かりやすく、
たとえば、RPGならフィールドPG、バトルPG、メニューPG、
イベントPG等、多人数並行開発が出来るようになっている。
717デフォルトの名無しさん:2010/09/05(日) 16:34:28
シーン関連は汎用化頑張ってもあまりいいこと無い気が
718デフォルトの名無しさん:2010/09/05(日) 17:48:58
お前らまだやってたのかw
719デフォルトの名無しさん:2010/09/05(日) 17:52:34
こんなんだからゲームプログラマは基地外ばかりだって言われるんだよ、否定しにくい
720デフォルトの名無しさん:2010/09/05(日) 17:52:50
プログラムで書けばいいものをわざわざ日本語であいまいにするやつは無能
721デフォルトの名無しさん:2010/09/05(日) 17:58:44
俺が一番とただ叫んでいても意味ないんだよ。
自分や他人の手法がより優れてるから標準化しようと働きかけて
実現させていくことに意味があるんだから。
722デフォルトの名無しさん:2010/09/05(日) 17:59:05
>>719
ゲーム作ってるプログラマが議論してるようには見えないけど。
ゲームプログラマに失礼じゃないか?
723デフォルトの名無しさん:2010/09/05(日) 18:00:40
ぶっちゃけ変わらんよ
724デフォルトの名無しさん:2010/09/05(日) 18:01:05
ゲームプログラマだろうがそうじゃなかろうがプログラマは皆頭がおかしい
725デフォルトの名無しさん:2010/09/05(日) 18:04:16
>>723
マジでそうだよな
726デフォルトの名無しさん:2010/09/05(日) 18:10:03
>>531でFA
727デフォルトの名無しさん:2010/09/05(日) 19:06:29
以下振り出しに戻る
728デフォルトの名無しさん:2010/09/05(日) 19:09:20
タイトルからプレイ画面等の状態遷移について
729デフォルトの名無しさん:2010/09/05(日) 19:40:29
おまえら状態遷移図や状態遷移表って作ってる?
730デフォルトの名無しさん:2010/09/05(日) 19:43:09
ん〜、複雑なのはExcelでマトリクスくらい作るけど。
本格的なゲームだとすごいことになるんだろうな。
731デフォルトの名無しさん:2010/09/05(日) 19:48:17
巷ではステート=シングルトンが流行ってるの?
732デフォルトの名無しさん:2010/09/05(日) 19:49:48
シングルトンって単語を使うやつは信用しない事にしてる。
733デフォルトの名無しさん:2010/09/05(日) 19:51:41
逆にそういうやつほど信用できない
プログラム全体でひとつのインスタンスを保障したいクラスにはシングルトンを使うべきだよ
なんでもかんでもシングルトンはだめっていうやつはちと思考停止しとるんじゃないかね?
734デフォルトの名無しさん:2010/09/05(日) 20:03:59
ただ、シングルトンはグローバル変数の孕んでいる問題をそのまま継承しとるので
これを便利だからって理由で無闇に使う奴は、依存関係の整理がめんどくさいだけ、ってのがある
735デフォルトの名無しさん:2010/09/05(日) 20:31:39
未だにシングルトンが理解できないんだけど
グローバル変数でクラス作るのと何が違うの?
736デフォルトの名無しさん:2010/09/05(日) 20:34:11
グローバルだとそのクラスのインスタンスが同時に2つ以上存在しうる
シングルトンだとそのクラスのインスタンスはひとつに限られる
737デフォルトの名無しさん:2010/09/05(日) 20:39:33
別にグローバルに置いても機能的には同じことできるとは思うけど
そんな所有者の不明瞭なインスタンスはそもそもつくるべきでないので
738デフォルトの名無しさん:2010/09/05(日) 20:40:53
クラスのアクセス制限全否定だな
739デフォルトの名無しさん:2010/09/05(日) 20:43:05
getInstance()を挟むか挟まないかの違いしか無いが
740デフォルトの名無しさん:2010/09/05(日) 20:46:15
>>735
基本的には同じ

グローバル変数の場合、使う側が実態がひとつだということを
(暗黙的に)考慮してるけど、シングルトンの場合、普通にインスタンスをたくさん作って
使っていても、実はグローバル変数と同じように実態がひとつになってる、あるいは
そうなるようクラスの中の人が頑張ってる、って感じ

ときどき、クラスのインスタンスがひとつしか作れない、みたいな言い方が
あるけど、あれは紛らわしい
741デフォルトの名無しさん:2010/09/05(日) 20:55:58
>>740
インスタンスが何かわかって言ってる?
742デフォルトの名無しさん:2010/09/05(日) 20:58:06
別にグローバルにアクセス可能な物だけがシングルトンではない
743デフォルトの名無しさん:2010/09/05(日) 20:58:50
ほんっとにとりあえずケチつけたいだけの馬鹿が居るな
744デフォルトの名無しさん:2010/09/05(日) 21:18:08
>>740のいう実態ってのがインスタンスのことだよ
745デフォルトの名無しさん:2010/09/05(日) 21:22:09
void foo() {
  SingletonClass* sc = Singleton::getInstance();
  sc.a = 10;
}
void bar() {
  SingletonClass* sc = Singleton::getInstance();
  printf("%d",sc.a);  // 出力は10
}
int main(void) {
  foo();
  bar();
  return 0;
}

こういうこと?なんか違う気がするけど
746デフォルトの名無しさん:2010/09/05(日) 21:25:22
なんか色々おかしいぞ
747デフォルトの名無しさん:2010/09/05(日) 21:38:58
interface IScene () {
 void Update();
 void Render();
}

static class Game {
 private static IScene currentScene;
 public static IScene Scene;

 public static loop() {
  while (true) {
   if ( /* 更新のタイミング条件 */ ) {
    currentScene = Scene;
    currentScene.Update();
    if ( /* フレームスキップの条件 */ ) {
     currentScene.Render();
    }
   }
  }
 }
}

すごく端折ってるけどシーン処理ってこれじゃダメなの?C#だけど。
748デフォルトの名無しさん:2010/09/05(日) 22:29:38
>>747
いまの議論に全然関係ないコード出してなにが言いたいの?
749デフォルトの名無しさん:2010/09/05(日) 22:30:36
シングルトンとはインスタンス生成メソッドを何度実行しても初回のみ有効な事。
スコープは副次的な話。
750デフォルトの名無しさん:2010/09/05(日) 22:35:18
そもそもインスタンスの数把握してないような馬鹿にプログラム組ませるなよなって思う
そもそもシングルトンの設計思想が嫌いっていうか人としてやばいレベルだろって思う
マジでインスタンス数が頭にない奴がテキトーにクラス生成するの狙ってるとしたらその馬鹿に仕事させんなよって普通に思う
751デフォルトの名無しさん:2010/09/05(日) 22:37:06
つうか動けばいいじゃねえか。細かいことにうだうだ言いすぎなんだよ。もっとプログラミングを気楽に楽しもうぜ
752デフォルトの名無しさん:2010/09/05(日) 22:39:35
>>749
別に最初の一回だけ有効じゃなくてもおkなんだぜ。
例えば画面クラスっつーのがあるとするじゃん。普通は画面は1枚だからシングルトン的な設計にするよな?
でも、画面は時たま解像度が変わったり縦横が変わったりするじゃん。そんときは、イベントハンドラとか仕込んでおいて
こっそり画面クラスのインスタンスは破棄するようにしておいて、次にgetInstance()とかが呼ばれたときに
もう一回newしなおすってのもよくやるぜ。
753デフォルトの名無しさん:2010/09/05(日) 22:40:49
動けば良いってのは、規模が小さいプログラムの話であって
ちょっと規模が増してくるととたんに複雑なバグに悩まされる羽目になるわけですよ

そういう辛い経験から、グローバル変数はやめようとか、publicフィールドはやめようとか
1個しかいらないものはシングルトンにしようとか、先人が言ってるわけ。
754デフォルトの名無しさん:2010/09/05(日) 22:40:57
>>750
XML読み込みクラスとか作ると、必然とインスタンスの数なんぞ分からなくなるわけだが……
755デフォルトの名無しさん:2010/09/05(日) 22:48:24
>>753
グローバル変数が駄目だって言ってる人間がシングルトンを許可するわけないじゃん
756デフォルトの名無しさん:2010/09/05(日) 22:49:53
>>753
シングルトンの肝は一個しかない事であって、グローバルにアクセスできることじゃない
757デフォルトの名無しさん:2010/09/05(日) 22:55:22
グローバル変数とシングルトンは全然別モンだろ
直接変数にアクセスするのと、メソッド介すのとでは雲泥の差
758デフォルトの名無しさん:2010/09/05(日) 22:55:27
>>756
意味がわかんない=メリットがさっぱり理解できない
どういう人間がどういう場面で使うことを想定してるの?

誰も作らなければ1個に決まってるじゃん
その辺把握できないほど悲しい脳みそしてる人間がうっかりインスタンス作っちゃうことを想定してる設計思想なわけ?
仮にそうならそこでプログラムを落とせよ

そうでなくてインスタンスを作るタイミングが不定で〜とかいうならそのいかれた脳みそをまずどうにかしろよ

とかこれがメリットになる場面がさっぱり理解できん
759デフォルトの名無しさん:2010/09/05(日) 22:56:17
>>750
デザパタはJavaの文化なんだから仕方ないだろ
基本思想がこれだけ違う
C++:プログラマは全知全能の神
Java:プログラマはあらゆるミスをするバカ
起源はどこかっていうのは別としてデザパタを育てたのはJava

>>752
端折りすぎたなスマン&訂正サンキュー

話戻すけどシーン切り替えクラスってシングルトン的な役割も期待されてるよな
だからSceneSelectorってクラス名は違うと思うんだよ
760デフォルトの名無しさん:2010/09/05(日) 22:59:33
>>758
数百人が開発して数年間メンテしつづける。
そんな中にはうっかりミスをするバカもいる。
そういうバカをフォローするのがシングルトン。

シングルトン不要って言ってるやつはたぶんガベージコレクションのありがたさもわからない。
761デフォルトの名無しさん:2010/09/05(日) 23:00:24
>>759
>Java:プログラマはあらゆるミスをするバカ
マジか
まあ、そうだよな
javaグラマって自分で組んだプログラムをビルドもしないで
実装工程終了しましたって報告にくる超絶糞野郎だからな
そいつ曰くビルドはフェイズが別らしいが・・・w
762デフォルトの名無しさん:2010/09/05(日) 23:02:36
>>758
>誰も作らなければ1個に決まってるじゃん

そりゃ、誰もバグを埋めこまなきゃデバッグなんてしなくて良いって言ってるようなもんだ
763デフォルトの名無しさん:2010/09/05(日) 23:04:03
プログラムでインスタンスが一個しかないことを保証できる仕組みがあるのに
わざわざそこを手動で管理しようとする意味がよくわからん、バカなの?
764デフォルトの名無しさん:2010/09/05(日) 23:05:50
>>762
イヤイヤイヤイヤイヤイヤイヤイヤイヤイヤイヤイヤ
イヤイヤイヤイヤイヤイヤイヤイヤイヤイヤイヤイヤ
イヤイヤイヤイヤイヤイヤイヤイヤイヤイヤイヤイヤ
newの数を数えてみるとかそのクラス名で検索すれば「一発」で出てくるでしょうよw
その程度のことをこんなトリッキーなコードでなにやらさらにトリッキーな動作
するようにしちゃう意味がわからないんですよ
どうですか?
765デフォルトの名無しさん:2010/09/05(日) 23:08:03
>>764
シングルトンってのは、インスタンスが1個または0個なんだよ。
場面に応じてインスタンスを作ったり消したりするけど、2つ作ると困ることとかある。

そんなnew数えりゃ済むなんて単純なプログラムならシングルトン使うまでもないかもね。
766デフォルトの名無しさん:2010/09/05(日) 23:10:45
>>765
>場面に応じてインスタンスを作ったり消したりするけど、2つ作ると困ることとかある。
それはまずくないですか?
ぶっちゃけ動いてほしくないコードじゃないですか?それ
実行時に2つ目が生成されようとした時点でエラーを出してプログラム落としたほうがよくないすか?

危険回避の防衛ラインがおかしいと思うんすけどどうすか?
767デフォルトの名無しさん:2010/09/05(日) 23:11:48
baka
768デフォルトの名無しさん:2010/09/05(日) 23:13:14
シングルトンってテストどーすんだろ?
インスタンスが作られた場所によって特定のエラーが発生するなんてバグが出たら悪夢そのものだな
769デフォルトの名無しさん:2010/09/05(日) 23:16:08
>>766
それはその通り、2つ目を生成しないようにするのがシングルトンの設計なわけだが、何か問題でも?
770デフォルトの名無しさん:2010/09/05(日) 23:17:22
>>769
え?それじゃなんで1つ目のインスタンスを渡そうとするんですか?
思いっきりエラーダイアログ出して止めてくださいよ
771デフォルトの名無しさん:2010/09/05(日) 23:19:13
>>761
人月管理が厳しい所はそういうやり方してるね
俺ら的にはビルドエラーなんてその場で修正しろよって思うけどな
まぁ、逆にすぐ直すヤツらは修正凍結の徹底が難しいんだけどな(だからツールが重要になる)

どこかのブログのネタにもされてたけど納期が近づいた新人にデバッグは俺(上司)がやるから
コードが書けたらすぐ渡せって言ってるのに新人はビルドしてエラーを潰してて
日本語通じないってぼやいてたな

ペアプログラミングにすればこういうミスも減って効率があがりそうな気がするよ
772デフォルトの名無しさん:2010/09/05(日) 23:20:10
>>770
一つ目のインスタンスを渡す?何言ってるんだ喪前は。
普通、getInstance()はスタティックなメソッドだぞ。インスタンスなしで使える。
773デフォルトの名無しさん:2010/09/05(日) 23:21:03
>>772
???
どこか間違ってる?
774デフォルトの名無しさん:2010/09/05(日) 23:21:04
>>770
シングルトンにすれば実行時じゃなくてコンパイル時にインスタンス1つが確定するんだよ
どっちが良いかなんて考えるまでもないでしょ
775デフォルトの名無しさん:2010/09/05(日) 23:22:24
コンパイル時にインスタンス生成wwwwwwwwwwwwwwww
776デフォルトの名無しさん:2010/09/05(日) 23:22:30
>>774
でもそれってアプリケーションの実行手順によってインスタンスの生成場所がかわって
違うバグが出るってことですよね?
いいですか?これ?
777デフォルトの名無しさん:2010/09/05(日) 23:23:13
シングルトンにしておけば呼び出す側でチェックがいらない
だからソースがシンプルになり可読性があがる
778デフォルトの名無しさん:2010/09/05(日) 23:24:16
>>776
インスタンスの生成場所を固定にしたいときは、そういうシングルトンにするよ
そんでインスタンスもってないシングルトンにアクセスしようとしたらassertかける。
デバイス関係とか生成順制御しないといかんしね。
779デフォルトの名無しさん:2010/09/05(日) 23:24:36
まあ、文化がjavaだから・・・ってとこだな
奴等と比べたら俺等のやり方は石橋を叩いて〜って感じ
ゲームっていうか組み込み系に合わないスタイル
780デフォルトの名無しさん:2010/09/05(日) 23:25:57
メンバーに想像を絶するほどの馬鹿がいないと利点は理解できないと思うね
781デフォルトの名無しさん:2010/09/05(日) 23:26:04
>>776
>>774はでたらめだから信じるな。コンパイル時にインスタンスがひとつなんて確定しねー。
プログラムは実装した通りに動くから、シングルトンっぽく作ってなきゃ
新しいインスタンスの破棄がガベコレ任せになってて一時的には2個ある、ってコードもまあある。
もちろんインスタンスの生成タイミングによるバグというものはあるけど、
それはシングルトンパターンとは無関係の話。
気になるならmain()の直下にinit()とかでインスタンス作っておけ。
782デフォルトの名無しさん:2010/09/05(日) 23:28:12
想像を絶するバカなんて毎日みてるじゃないか
783デフォルトの名無しさん:2010/09/05(日) 23:29:16
>>777
クラス名.getInstance().なんたらアクション();
みたいなコードの羅列が可読性高いとは思わないけどな……
784デフォルトの名無しさん:2010/09/05(日) 23:30:22
コンストラクタをprivateにするだけで、コンパイラが不正なインスタンス生成を発見してくれるって意味でしょ
785デフォルトの名無しさん:2010/09/05(日) 23:32:24
スマートポインタ使えば良くね?
786デフォルトの名無しさん:2010/09/05(日) 23:33:07
参照カウントにして2こ目(あるいはNこ目)に例外飛ばす(あるいはnull返す)、っていう仕様ももちろんありだよね
記憶があいまいだけどEC++でもそこに言及してたと思う
複数に参照されても致命的なエラーが生じないならシングルトンで十分だし
やばいならシングルトンより例外飛ばしたほうがいい
どっちかに偏るんじゃなくて、ケースバイケースで柔軟に対応すればいい
787デフォルトの名無しさん:2010/09/05(日) 23:33:59
「シングルトン」って一言書いてあるだけでそのクラスの役割や使い方が伝わる
こんな便利なことはないよ
788デフォルトの名無しさん:2010/09/05(日) 23:35:39
>>784
コンストラクタをprivateにするのはシングルトンパターンだけじゃない。
newを単純に制御したいと考える人間なら、シングルトンパターンもそうだけど
ファクトリパターン(getInstance()じゃなくてgenerateInstance()とか)で作る。
ファクトリパターンのインスタンス数は不明。(一般的に、設定ファイルに拠る)
ひとつかそうでないかとコンストラクタがprivateなのはあんまり関係ないと思うが?
789デフォルトの名無しさん:2010/09/05(日) 23:36:21
>>787
このスレでのやりとりを見てたらけしてすぐに伝わる魔法の言葉だとは思えなくなってきた。
790デフォルトの名無しさん:2010/09/05(日) 23:37:35
もうシングルトンってキャラ作って流行らせればよくね?
791デフォルトの名無しさん:2010/09/05(日) 23:39:56
>>788
別にシングルトンの実装がコンストラクタをprivateにするだけで完結するとは書いてないし
単純に実行時エラーよりコンパイル時エラーを歓迎しようって話だ
792デフォルトの名無しさん:2010/09/05(日) 23:40:40
みんなに悪役あつかいされいじめられる毎日を送るしんぐるたん
でも一部の大きなお友達には擁護されかわいがられている
793デフォルトの名無しさん:2010/09/05(日) 23:40:48
>>789
いやデザパタの目的はそうなんだけどね、
実際に組む時は組み合わせたりするけど、
それでもあれとあれって言えば伝わるし
794デフォルトの名無しさん:2010/09/05(日) 23:41:11
>>790
http://freedeai.180r.com/up/src/up1696.jpg
どうせこんな感じになるんだろ
795デフォルトの名無しさん:2010/09/05(日) 23:42:05
おまえらデザパタはどこで覚えたの?
796デフォルトの名無しさん:2010/09/05(日) 23:42:47
gof
797デフォルトの名無しさん:2010/09/05(日) 23:43:47
独習デザインパターンとかいう糞本とネット
798デフォルトの名無しさん:2010/09/05(日) 23:44:04
>>795
.Netとかのクラス設計を真似てたら、勝手に身についた。
799デフォルトの名無しさん:2010/09/05(日) 23:55:29
シングルトンでこれなんだからまともな設計の話なんて期待できんなここはw
800デフォルトの名無しさん:2010/09/06(月) 00:02:23
android+openGLでゲーム作ってるんだが、フレームバッファにレンダリングする方法が分からん。
もしかしてGL ES1.0ってオフスクリーンレンダリングとか考慮されてない?
スプライトとかどうすりゃいいのん。
801デフォルトの名無しさん:2010/09/06(月) 00:48:05
>>759
> 話戻すけどシーン切り替えクラスってシングルトン的な役割も期待されてるよな

やめろやめろ。
こういうのがまさにシングルトン脳だな。恐ろしい。

http://www.aerith.net/design/Singleton-j.html
> ... このデータセットが、常に1つしかロードされていない(メモリ上に
> 1つしか存在しない)というのは、アプリケーションレベルの仕様である。
> ただのデータの集まりである、データセットのクラスだけを見れば、これが
> 必ず1つしか存在してはいけない、という理由は存在しない。
>
> データセットのクラスをSingletonにしてしまう、ということは、
> アプリケーションレベルの仕様を、誤って下位レベルのクラスに組み込んで
> しまう、ということになる。この場合は、データセットの実体を、
> グローバル変数として1つだけ持たせる方が、はるかに正しい設計となる。
802デフォルトの名無しさん:2010/09/06(月) 01:02:58
>なお、このクラスは、すべてのフィールドとメソッドをstaticにする、という形でデザインしているので、
>厳密にはSingletonパターンには合致しないかもしれないが、意味的には同じ。
>Singletonパターンで書き直すことも簡単である。
これモノステイトパターンだよね
803デフォルトの名無しさん:2010/09/06(月) 01:13:02
http://logsoku.com/thread/hibari.2ch.net/tech/1239326399/10-27
>> みんな使ってるじゃないですか
> あぁ初心者はすぐに手を出すからな。しかも問題に気づくのはずっと後だ。罠だよ罠。

http://logsoku.com/thread/hibari.2ch.net/tech/1253193779/443-503
>> クラスを公開するなら、そのクラスのインスタンスがあちこちにできちゃうかもしれない。
> それが嫌なら、公開するクラスは純粋仮想関数の宣言を並べただけの
> インターフェースクラスにしとくという手がある。
>
> class C {
> public:
>  virtual void f() = 0;
>  virtual void g() = 0;
> };
>
> C& DefaultC();
>
> 「参照返す関数」をなるべく使わないように、できるだけ引数で受け渡すように
> しとけば、テスト用にダミー実装に差し替えるとかいうようなこともできる。
804デフォルトの名無しさん:2010/09/06(月) 01:18:45
何で自分の言葉で喋らないの
805デフォルトの名無しさん:2010/09/06(月) 01:19:35
そういう風に脳ができてないかわいそうなこなんだよ
806デフォルトの名無しさん:2010/09/06(月) 01:21:15
ループっぽさを無くそうとしてるんじゃないの
807デフォルトの名無しさん:2010/09/06(月) 01:30:04
イーナム使うのっていちいち状態がタイトルですか、じゃあタイトル描画の関数へってやるから見栄えが悪い
関ポつかえばそのポインタ差す所へ飛びゃあいいだけだから見栄えがいい
イーナムは例えば状態を表すイーナム変数のタイトルとそれに対応するタイトル描画って二つ同じような名前用意セなあかんのがダサい
簡保ならタイトルならタイトル描画関数ってだけだもんなあ、わざわざそれに対応するタイトル状態って変数用意戦でもええ
808デフォルトの名無しさん:2010/09/06(月) 01:54:56
エニュームって勝手に呼んでた俺が恥ずかしい
809デフォルトの名無しさん:2010/09/06(月) 01:58:12
発音記号的には”エ”じゃなくて”イ”だな
810デフォルトの名無しさん:2010/09/06(月) 02:26:32
どっかに予約語の変な読み方のスレあったよね
マ板の方だっけ?
811デフォルトの名無しさん:2010/09/06(月) 02:28:49
charはチャラと読む。異論は認める。
812デフォルトの名無しさん:2010/09/06(月) 02:56:46
VisualBasicのIntegerが2バイトなのは何故なんだ
わざと混乱させてるとしか思えん
813デフォルトの名無しさん:2010/09/06(月) 03:08:01
俺はチャーと呼んでる
正式名称はキャラだっけ
それに即した文字どおりに呼ぶならキャーな気がする
ないしキャル
814デフォルトの名無しさん:2010/09/06(月) 03:30:02
正式な読み方とか無いから好きに読んだんでいい
キャラとかチャーとかなら大体通じる。チャラだと通じないかもしれないけど。
815デフォルトの名無しさん:2010/09/06(月) 03:43:09
会社の方針にしたがって読み方変えてる
転職のたびに確認してる
816デフォルトの名無しさん:2010/09/06(月) 03:45:08
それ会社の方針じゃなくて、単に古株が個人的にどう読んでるかってだけじゃね
817デフォルトの名無しさん:2010/09/06(月) 03:56:59
メンバーでの共通認識大事よ
818デフォルトの名無しさん:2010/09/06(月) 03:59:13
俺enumをエヌムと読んでる
charはチャア
intはイント
shortはショアト
voidはヴォイドゥ
って読んでる
819デフォルトの名無しさん:2010/09/06(月) 04:01:07
それら全部ゲームと関係ないです
820デフォルトの名無しさん:2010/09/06(月) 04:01:49
それらの読み方は全部ゲームと関係ないです

途中送信しちまった
821デフォルトの名無しさん:2010/09/06(月) 04:13:57
charをキャラと呼ぶならintをインテと呼ばないといけないね
822デフォルトの名無しさん:2010/09/06(月) 04:55:45
マックとマクド並みにどうでもいい
823デフォルトの名無しさん:2010/09/06(月) 06:54:48
シーン切り替えクラスは知らんが、
シーンを毎フレーム実行するクラスは描画もやるし2つあったら困るからシングルトンでも良い
824デフォルトの名無しさん:2010/09/06(月) 07:14:45
描画しなけりゃいいだけで動いててもいいだろ
クロスフェードやるってなったらシーン2つ動いてる必要あろ?

って仕様変更が途中で加わったとき・・・って考えるとインスタンスが確実に1つってのも
アプリレベルの仕様でしかないってわかるわな
これの是非はともかくとして問題解決をする階層がおかしいってわかるだろ?
825デフォルトの名無しさん:2010/09/06(月) 07:15:41
シーンを毎フレーム実行するクラスであって、シーンじゃないよ
シーンは別に2つあっても良いじゃん
826デフォルトの名無しさん:2010/09/06(月) 07:25:37
1つだと思っていたものが実は2つある場合もある
なんてなったときにシングルトンで組んでしまうと大変なんてレベルじゃないな
仕様変更に弱すぎるだろ
827デフォルトの名無しさん:2010/09/06(月) 07:32:47
シーンに話題逸らした奴わざとやってんだろ
828デフォルトの名無しさん:2010/09/06(月) 07:43:34
むしろチャーとかキャラの話はどうでもいい
829デフォルトの名無しさん:2010/09/06(月) 08:04:49
>826
シングルトンって名前だけど1個だけだとは限らないよ。
配列の添え字みたいにgetInstance()で引数を渡すようにするだけで複数のインスタンスを扱えるし、
固定長配列にも、最大個数の制限がついた可変長にもできる。
『勝手にnewで作れない』だけでしかないし、
だから単に好き嫌いのレベルで肯定派も否定派もいるんだろ。
830デフォルトの名無しさん:2010/09/06(月) 09:15:36
SingletonはFlyweightの限定バージョンだったような。

>>812 >VisualBasicのIntegerが2バイトなのは何故なんだ
QuickBASICとか、昔の名残だと思われる。
それを言うならWin32APIのWORD(1語)が2バイトなのも、32ビット環境では違和感ある。
831デフォルトの名無しさん:2010/09/06(月) 09:33:10
シングルなのがシングルトンであって、
勝手にnewで作れない、とかは本質じゃない
832デフォルトの名無しさん:2010/09/06(月) 10:05:10
シングルトンに本質ってあるかね?
昔はディスプレイリソースはシングルトンで良かっただろうけど今はデュアルディスプレイとか普通だし
じゃあ本質的にシングルトンなものって何よって話になると
地球とか宇宙とか自我とかもひょっとしたら複数あるかも知れないけど
今はまあ1つと仮定してよさそうという程度のことなのでは
833デフォルトの名無しさん:2010/09/06(月) 10:24:35
>831
DLLなり何なりのライブラリとして配布するなりチームの財産とするなりしたとき、
クラスの作成者とまったく関わりのない人間がそのライブラリを使う場合を想定して、
もともとそのクラスを作ったプログラマはそのインスタンスが不特定数作られることがなく
つねに特定の把握しうる個数しか作られない前提で作っていた場合、
それをコーディング規約などに書くまでもなくライブラリの仕様として
特定個数しかインスタンスを作れないように仕込んでおくのがシングルトンの本質だよ。
勝手に作れないことのほうが本質だ。
834デフォルトの名無しさん:2010/09/06(月) 10:41:40
状態が1つしかないクラスはシングルトンにしちゃう。VTableとか
835デフォルトの名無しさん:2010/09/06(月) 10:57:26
>>833
それならファクトリーパターンとかでいいんじゃね?
836デフォルトの名無しさん:2010/09/06(月) 11:20:18
>>833
いや、勝手に作ることを妨げてはいないから、それは違う。
呼び出す方から見ると、好きな数だけ get だろうと new だろうと呼ぶことが出来て、
それぞれちゃんと使える値が取得できる。
ただ、見えないところで一つなり、特定個数なりに実体が制限されてるだけ
837デフォルトの名無しさん:2010/09/06(月) 11:20:52
Singleton 実装する奴は Modern C++ Design くらいは読んで、そこにある特性についてはコメントに残しておいて欲しい。
838デフォルトの名無しさん:2010/09/06(月) 11:27:13
で、それがゲームと何の関係があるの?
839デフォルトの名無しさん:2010/09/06(月) 12:01:01
>>833
> もともとそのクラスを作ったプログラマはそのインスタンスが不特定数作られることがなく
> つねに特定の把握しうる個数しか作られない前提で作っていた場合、

そんなクラス自体が稀なはずなんだけど、仮にあったとしても、そもそもそんなクラスを
ユーザーに見えるところに公開するのが間違いだろ。
クラス自体を公開しといて「シングルトンだから勝手に作っちゃダメです」とか、ウザイよ。

もしそういったクラスが必要になったとすれば、 >>803 の DefaultC() の形で
インターフェースとしては必要十分。
実装側でシングルトンパターンなり静的変数なり、好きにしてくれたらいいよ。
まぁ実装でのみ使うシングルトンパターンなんて意味無いことに気づくだろう。
840デフォルトの名無しさん:2010/09/06(月) 12:27:36
典型的なシングルトンより>>803で静的変数使う方が複雑じゃね?
841デフォルトの名無しさん:2010/09/06(月) 17:28:46
オブジェクト指向的にはシングルトンクラスをユーザーに触らせたら負けだな
842デフォルトの名無しさん:2010/09/06(月) 17:36:10
>>829
そんなことどこに書いてあるの?
勝手に自分介錯でそんな都合のいいこと言って他のデザパタ信者と調整とれてるの?
全然Gof本に書いてある内容と違うじゃない
843デフォルトの名無しさん:2010/09/06(月) 18:29:55
自分介錯とか物騒なこと言うなよ
844デフォルトの名無しさん:2010/09/06(月) 18:34:44
Component-based Entitiesって何?
845デフォルトの名無しさん:2010/09/06(月) 19:00:40
例えばトゲに刺さったり崖から落ちたりして死んだ場合、
死んでいる状態専用のシーンって実装するもんなの?
846デフォルトの名無しさん:2010/09/06(月) 19:05:28
場合によるが自分はそこまで小分けにはしない
ただしゲームオーバーは別シーンとして用意する
847デフォルトの名無しさん:2010/09/06(月) 20:12:29
>>845
それはゲームの状態ってよりキャラの状態で分けるかな
848デフォルトの名無しさん:2010/09/06(月) 21:30:33
GoFはもう古いだろ
849デフォルトの名無しさん:2010/09/06(月) 21:32:05
タイプセーフEnumって何者なの?
850デフォルトの名無しさん:2010/09/06(月) 21:35:13
>>848
つか、むしろ基礎だろw
851デフォルトの名無しさん:2010/09/06(月) 21:37:02
>>850
はぁ?
852デフォルトの名無しさん:2010/09/06(月) 21:42:34
>>845
なんでそんなもん実装する必要があるの?
853デフォルトの名無しさん:2010/09/06(月) 21:43:23
>>851おじいちゃん、もうボケちゃって・・・
854デフォルトの名無しさん:2010/09/06(月) 21:44:29
ゲ製作はもうネタないの?
855デフォルトの名無しさん:2010/09/06(月) 21:48:27
で、偉そうに講釈たれてる奴は、ゲーム開発において何をシングルトンにすべきだと思ってるの?
856デフォルトの名無しさん:2010/09/06(月) 21:48:56
お前らがシングルトン^^
857デフォルトの名無しさん:2010/09/06(月) 21:50:50
シングルトンじゃなきゃメンドイやつ
858デフォルトの名無しさん:2010/09/06(月) 21:52:46
>>855
デザパタ自体投げ捨てろ
百害あって一利ないからな
859デフォルトの名無しさん:2010/09/06(月) 21:53:53
デザインパターンはバズワード
860デフォルトの名無しさん:2010/09/06(月) 21:54:13
使いこなせないとそうだろうね
861デフォルトの名無しさん:2010/09/06(月) 21:55:14
>>860
上のほうの話によると
インスタンスの把握もできないような馬鹿PGに触らせてナンボの奴が対象だって話だったんだけど?
862デフォルトの名無しさん:2010/09/06(月) 21:59:03
で?どんだけ面白いゲーム作ったの?
863デフォルトの名無しさん:2010/09/06(月) 22:00:09
シングルトンを何に使うべきかも断言出来ないくせにシングルトンについて偉そうに語ってたんですかあんたら
864デフォルトの名無しさん:2010/09/06(月) 22:00:46
>>862
ミリオンに関わったのは1回だけ
そのときの一時金は30万でした
後は全部ハーフミリオン以下
最近は10万本もいかない
この業界はもうだ(ry
865デフォルトの名無しさん:2010/09/06(月) 22:01:30
>>860
デザインパターンは道具じゃなくてただのサンプルだろ。
866デフォルトの名無しさん:2010/09/06(月) 22:02:02
>>865
ちょくちょくいうこと変えんなクズ
867デフォルトの名無しさん:2010/09/06(月) 22:02:23
数ばっか作って中身薄いんじゃあ仕方ないよね
868デフォルトの名無しさん:2010/09/06(月) 22:03:39
>>867
だからガッツリとグローバル変数をまとめたクラスをシングルトンで作ったのか?
もう死んだほうがいいなお前
869デフォルトの名無しさん:2010/09/06(月) 22:07:43
せっかく流れが変わりそうだったのに戻すなよクズ
870デフォルトの名無しさん:2010/09/06(月) 22:07:44
正直こんな初心者臭い雑談をしていて辛い
871デフォルトの名無しさん:2010/09/06(月) 22:09:40
次のレスで超ハイレベルな話題を>>870が披露!
↓どうぞ!
872デフォルトの名無しさん:2010/09/06(月) 22:09:51
話逸らすが、どこで情報集めてる?
昔はRadium Softwareとか見てたんだが。
873デフォルトの名無しさん:2010/09/06(月) 22:10:14
やっぱなんとかマネージャー系はシングルトンじゃね
874デフォルトの名無しさん:2010/09/06(月) 22:11:35
ゲ専卒メインのスレ住民に英語が読めると思ってんのか?
875デフォルトの名無しさん:2010/09/06(月) 22:18:53
876デフォルトの名無しさん:2010/09/06(月) 22:23:11
PGで英語ができると幸せになれた時代は日本では存在しない(多分)
877デフォルトの名無しさん:2010/09/06(月) 22:23:58
海外に逃げれるように英語やろうとしてるけどたぶんもう手遅れ
878デフォルトの名無しさん:2010/09/06(月) 22:25:42
インド人はMSの技術者たくさんいるっていうし
やっぱりこれからは中華だろぶっちゃけ

ニーハオ!
879デフォルトの名無しさん:2010/09/06(月) 22:35:30
中華は今でこそクソッタレな社会主義国だけど、
このまま発展が続けばやがて民主主義国家として国際社会から認められる国になるだろうな。
880デフォルトの名無しさん:2010/09/06(月) 22:36:28
んで何食わぬ顔で情報検閲とかやっていた時代のことはすっぱり忘れちまうんだろうなw
881デフォルトの名無しさん:2010/09/06(月) 23:50:03
で結局なにをシングルトンにすべきなの?
882デフォルトの名無しさん:2010/09/06(月) 23:50:42
画面クラス
883デフォルトの名無しさん:2010/09/06(月) 23:51:41
なんでインド人にMSの技術者たくさんいると
これからは中華になるんだろう
884デフォルトの名無しさん:2010/09/06(月) 23:58:30
875によると
・全てのアプリが、全く同一の方法でこのクラスを使用する
・全てのアプリが、常にこのクラスの1つのインスタンスのみ必要とする
・このクラスのクライアントは、アプリを意識しない
が3つともYesならシングルトンにすれば良いらしいぞ
885デフォルトの名無しさん:2010/09/07(火) 00:00:44
キー入力状態管理クラス
音楽再生クラス
とかは
886デフォルトの名無しさん:2010/09/07(火) 00:01:41
お前らのチンポがシングルトン
887デフォルトの名無しさん:2010/09/07(火) 00:02:25
アプリを意識しないってのがイミフ
888デフォルトの名無しさん:2010/09/07(火) 00:04:20
ハード的な制約があるときだけ使えってこと
889デフォルトの名無しさん:2010/09/07(火) 00:05:29
そのサイトではシングルトンにすべき例としてログ機能を上げているが
890デフォルトの名無しさん:2010/09/07(火) 00:09:23
ログは別に複数でもいいだろ
セクション別に作りたい場合だってあるし
891デフォルトの名無しさん:2010/09/07(火) 00:19:50
別にインスタンス一つでもセクション別に分けれるだろ
892デフォルトの名無しさん:2010/09/07(火) 00:49:17
そういやアスペクト指向も代表例がログ機能だったな
アスペクト指向的なものはシングルトンと相性がいいとかあるのかな
893デフォルトの名無しさん:2010/09/07(火) 00:51:28
>>889
ログはひとつというアプリケーションレベルの制約を云々かんぬん
894デフォルトの名無しさん:2010/09/07(火) 00:52:26
ログぐらいしかないんだろうなw
895デフォルトの名無しさん:2010/09/07(火) 01:05:01
896デフォルトの名無しさん:2010/09/07(火) 06:17:10
なんとかマネージャ病とシングルトン病の併発か。
新人研修で何人かにゲーム作らせると1人ぐらい居るな。
897デフォルトの名無しさん:2010/09/07(火) 06:18:08
javaの場合、deleteやデストラクタがないらしく
不要になったら削除、実行とよく分からないので、
シングルトンやstaticクラスを使うようになった。

頻繁に使う関数でも、関数に入ったら
必要なクラスをnew、抜ける時にdelete(デストラクタ)をしたいが、
どれだけ削除してくれているか分からない。
898デフォルトの名無しさん:2010/09/07(火) 06:37:05
みんな通る道だろ、デザパタ覚えたら最初は使いたくなるもんだ
899デフォルトの名無しさん:2010/09/07(火) 06:53:11
注意:デザパタはあなたのプログラムスキルを向上させてくれません!
900デフォルトの名無しさん:2010/09/07(火) 07:12:58
↓逝け

ゲ製作技術
http://hibari.2ch.net/gamedev/
901デフォルトの名無しさん:2010/09/07(火) 07:20:47
902デフォルトの名無しさん:2010/09/07(火) 07:29:14
>>896
そういう奴をどうやって治療するの?

もしかして、治療する能力が上司には無いとか?
903デフォルトの名無しさん:2010/09/07(火) 07:30:59
デザパタ自習してたりするんだから、割と治療しやすいと思うがなあ
904デフォルトの名無しさん:2010/09/07(火) 10:56:27
>>900
そこはこういう話をする場所じゃないだろw
905デフォルトの名無しさん:2010/09/07(火) 11:34:10
>>902
名前のつけた片の問題なだけだろ。
何かを管理するものにマネージャってな。

名前付けの趣味以外に何か悪いことでもあんの?
906デフォルトの名無しさん:2010/09/07(火) 11:37:53
むしろ〜マネージャーはシンプルで一発でなにやってるか分かるいい名前だろ
否定派の人ってひねくれて屁理屈こね回してケチつけたいだけなんちゃうかと
907デフォルトの名無しさん:2010/09/07(火) 14:55:53
いや、本当はどっちでもいいんだが
人の意見にはとりあえず反論から入ることにしてるんだ


って奴が多そうだな
908デフォルトの名無しさん:2010/09/07(火) 18:01:12
同意は何も生まないから
909デフォルトの名無しさん:2010/09/07(火) 18:04:17
正当化すんな
910デフォルトの名無しさん:2010/09/07(火) 18:33:03
「まず否定から」はネクラオタの印
そして2chの主流
911デフォルトの名無しさん:2010/09/07(火) 18:33:54
勝手に思考停止しとけよw
912デフォルトの名無しさん:2010/09/07(火) 18:59:26
同意がダメなら解釈から始めればいいじゃんよ…
913デフォルトの名無しさん:2010/09/07(火) 19:35:24
>>900
オススメのスレがあったら教えてください
914デフォルトの名無しさん:2010/09/08(水) 00:00:10
祭りの後か
915デフォルトの名無しさん:2010/09/08(水) 00:03:06
DirectXってシングルトンでいいの?
あれのスコープっていつもどうすればいいか迷う
今は引数で渡してるけど無駄に引数が増えてブサイクだし
かといってサンプルみたいにグローバルにするのも抵抗がある
916デフォルトの名無しさん:2010/09/08(水) 00:15:34
構造体にラップして引数減らせばいいじゃない
917デフォルトの名無しさん:2010/09/08(水) 00:15:41
グローバルやシングルトンにはしないほうがいいんじゃないかなぁ
誰がタッチしてるのかわからなくなるぞ

Unko(&dx);

これならUnko関数のなかでdxに関わるなんらかの値が変更されてることがわかるけど

Unko();

これだとdxの値が変更されてるかどうかされる可能性があるのかどうかは
Unkoの中をすべて洗わないとわからない
結果、プログラムの把握がしにくい

引数長くなるのが嫌ならせめて構造体にでも押し込んでおけ
基本だけど大事なことだぞ
楽に組もうとするその心が結果としてバグを増やす
918デフォルトの名無しさん:2010/09/08(水) 00:19:24
どんな言葉も台無しだな
919デフォルトの名無しさん:2010/09/08(水) 00:20:14
static変数撲滅キャンペーン
920デフォルトの名無しさん:2010/09/08(水) 00:34:39
引数で渡す方法は変数のスコープが発散して困ることが無くなるって人はいうけど
引数でリレーするってことは葉のクラスや関数がその引数がほしいなって一度思ったら
その親、さらにその親、とルートまでさかのぼってその引数に依存するクラスを作らなきゃいけないってことだぞ
なんかの間違いで深いクラスに仕様変更があって引数がほしくなったら修正は面倒だぞ

921デフォルトの名無しさん:2010/09/08(水) 00:39:33
>>920
大したこっちゃねーじゃん
ま、やってみればわかるよ
やらねーやつはみんな引数書くのが面倒そうっていう思い込みだけでいうんだよな
922デフォルトの名無しさん:2010/09/08(水) 00:43:48
そういうときのためのシングルトン
923デフォルトの名無しさん:2010/09/08(水) 00:47:51
つまりなんでもありと
924デフォルトの名無しさん:2010/09/08(水) 00:53:14
デフォルト引数とかなくしてほしい
925デフォルトの名無しさん:2010/09/08(水) 01:08:17
func(A a, B b, C c);

func(A a, B b)
{
C c(defaul_arg);
func(a, b, c);
}

デフォルト引数なんて無いよ
926デフォルトの名無しさん:2010/09/08(水) 02:33:33
int hoge(int a) {
return hoge(a)+1;
}
927デフォルトの名無しさん:2010/09/08(水) 07:08:55
何を勘違いしてるかしらんが
シングルトン=グローバルではないぞ。

親クラスの中で定義してそのインスタンスに所有させればいい
928デフォルトの名無しさん:2010/09/08(水) 07:11:29
va_listの可変引数でいいやん
929デフォルトの名無しさん:2010/09/08(水) 07:13:29
>>927
いや、間違いなくシングルトン=グローバルだろ
違うというならデザパタの著者から了解とってこい

そういう意見ブレを許さないためにコードまででてるんだから
930デフォルトの名無しさん:2010/09/08(水) 07:19:52
いやだからって別にグローバルにする必要ないし
931デフォルトの名無しさん:2010/09/08(水) 07:22:26
本のサンプルがグローバルな使い方しか載せてなかっただけのことだろ
それくらい自分で考えろよ
932デフォルトの名無しさん:2010/09/08(水) 07:24:13
>>931
じゃ、作者に改版してもらえよ
933デフォルトの名無しさん:2010/09/08(水) 07:25:12
デザパタは、それを参考にして自分で色々考えるためのネタ本みたいなもん
そのまま使えば良いってもんじゃない
934デフォルトの名無しさん:2010/09/08(水) 07:26:13
>>933
それも書いてないよね
カタログって言ってたんだから自分で考えるなんて書いてない
勝手なこというな嘘吐き
935デフォルトの名無しさん:2010/09/08(水) 07:27:49
本改良しなくても読み手が応用して使えばいいだけ。
それとも本に載ってるコードしか書けないばか?

936デフォルトの名無しさん:2010/09/08(水) 07:28:48
>>934
そんな全てのプロジェクトで何の変更もなく等しく使いまわせるコードなんてあるわけないだろバカか
937デフォルトの名無しさん:2010/09/08(水) 07:30:32
それならデザパタ本自体存在する意味ないじゃん
938デフォルトの名無しさん:2010/09/08(水) 07:31:13
>>937
だってカタログだって言い張ってたもんなw
939デフォルトの名無しさん:2010/09/08(水) 07:31:32
デザパタ本はOOでプログラム書くときの「あるある本」でしかないよ
「こういう仕組みにすればこういうことがやりやすい」っていうカタログ
940デフォルトの名無しさん:2010/09/08(水) 07:32:51
要するに、剥き出しで置いとくからグローバルなんだよ
包めよ。
941デフォルトの名無しさん:2010/09/08(水) 08:56:47
このレベルw
942デフォルトの名無しさん:2010/09/08(水) 19:26:10
ならシングルトンをクラスで隠ぺいした例とやらを見せてみろ
943デフォルトの名無しさん:2010/09/08(水) 19:27:18
それはシングルトンじゃないんだから
シングルトンネオとかシングルトンリミックスとかにしろよ
944デフォルトの名無しさん:2010/09/08(水) 19:29:57
>>942
自分で考えろ
945デフォルトの名無しさん:2010/09/08(水) 20:25:08
フェニックスシングルトンってまるで何かの必殺技みたいだよね
946デフォルトの名無しさん:2010/09/08(水) 20:29:56
一時期から登場したデザパタが混乱に拍車を掛けたのは記憶に新しい
昔からあるノウハウを無理にOOに当てはめて広めようとしたので、
わけの判らない新技術として世間に認知された
しかしおーおーにデザパタを加えても何も起きなかった
947デフォルトの名無しさん:2010/09/08(水) 20:35:22
昔からあるノウハウにラベルをつけて意思疎通に使う、それだけの事だと何度も言っているのに
946みたいな解釈をしちゃう奴が後から後から…GoFも浮かばれんなぁ
948デフォルトの名無しさん:2010/09/08(水) 20:37:57
いつも行くマクドの店長らしきおばちゃんが、
俺がいつもの場所で食ってると相席に座って試食を頼まれるんだけど、
何でそこまで懐かれるの?w
949デフォルトの名無しさん:2010/09/08(水) 20:38:43
GoFとか言ってるけど、ただの設計サンプルの一つに過ぎないでしょ。
950デフォルトの名無しさん:2010/09/08(水) 20:39:07
似てるものは全て○○パターンだと強弁するヤツも出た
また、GoFのに掲載されているのと少し違うから○○パターンではないと言うヤツもいた
951デフォルトの名無しさん:2010/09/08(水) 20:42:00
ゲームプログラミングにおけるデザインパターンってないの?
952デフォルトの名無しさん:2010/09/08(水) 20:44:34
>>951
ゲームプログラミングと言えどもクラス設計のレベルではあまり特徴はないよ。
953デフォルトの名無しさん:2010/09/08(水) 20:49:02
デザインパターンってクラス設計の話なの?
954デフォルトの名無しさん:2010/09/08(水) 20:52:42
Observer(入力/音/イベント)とStrategy(キャラ/ステージ)で大体なんとかなってる
955デフォルトの名無しさん:2010/09/08(水) 20:59:03
ファミコンのドラクエやマリオはOOなんか使ってないけど歴史を変えたよね
956デフォルトの名無しさん:2010/09/08(水) 21:02:22
なんで使ってないってわかるの?
957デフォルトの名無しさん:2010/09/08(水) 21:02:26
>>953
狭義のデザパタはクラス設計に関することだね。
958デフォルトの名無しさん:2010/09/08(水) 21:03:52
>>956
逆アセして検証するスレとかあったから
(今もあるかも)
959デフォルトの名無しさん:2010/09/08(水) 21:06:15
>>958
解析してると「おまんこなめたい」という文字が空き領域から出てきたり
面白いことになってたよなw
960デフォルトの名無しさん:2010/09/08(水) 21:34:06
>>956
メモリ不足でBASICすら使えない世界
961デフォルトの名無しさん:2010/09/08(水) 22:21:27
別にOOしようがしまいか最終的に出来上がる物に差があるわけじゃなかろ
そこまでの過程が大変か超大変かって違いがあるだけで
962デフォルトの名無しさん:2010/09/08(水) 22:33:50
じゃあ今でも組み込みなんかはデザパタ使えないの?
963デフォルトの名無しさん:2010/09/08(水) 22:34:11
va_listみたいな可変引数にしとくのはどうよ?
964デフォルトの名無しさん:2010/09/08(水) 22:35:56
今の組み込みといってもいろいろあるだろ

窓やOSX入ってるのだってあるし
965デフォルトの名無しさん:2010/09/09(木) 01:00:54
>>902
各クラスの具体的な役割や必要性を言葉で説明させてみればいい。
たいていは「管理」よりも具体的な役割が出てくるから名前付けに反映してもらえばいいし、
シングルトンである必要性は出てこない。
966デフォルトの名無しさん:2010/09/09(木) 01:08:04
>>906
> むしろ〜マネージャーはシンプルで一発でなにやってるか分かるいい名前だろ
いや、わかんねぇって。エスパー過ぎるだろw

http://www.radiumsoftware.com/0603.html#060330
> 例えばこれが "Builder" であれば,何かを生成することが目的であることが
> 分かる。 "Pool" であれば,何かを蓄積することが目的であることが分かる。
> "Registry" であれば,何かを登録することが目的であることが分かる。
> それでは,これら全てをまかなうクラスだとしたら?
> それこそ "Manager" という名前が相応しいかもしれないが,それはひとつの
> クラスに機能を集約し過ぎている。
967デフォルトの名無しさん:2010/09/09(木) 01:15:18
>>942
「クラスで」っていうのがよくわからんが、 >>803 で DefaultC() の実装( .cpp ファイル)に
シングルトンを置く(隠す)のは違うのか?
968デフォルトの名無しさん:2010/09/09(木) 01:16:17
>>960
メモリ不足と OO の使用がどう関係するのかね?(ニヤニヤ
969デフォルトの名無しさん:2010/09/09(木) 01:18:40
static変数をやたら使う人間とは仕事しません
970デフォルトの名無しさん:2010/09/09(木) 02:03:15
>>967
class Cを継承させたシングルトンをわざわざ作って置くの?
つか無駄に継承させるだけで何も変わらないような
971デフォルトの名無しさん:2010/09/09(木) 02:10:59
>>970
シングルトンであるクラス本体を意味無くユーザーに晒す必要が無い。
たとえばファイルローカルなただの変数で済むなら、そう変更してもユーザー側には
まったく影響が出ない。再コンパイルも必要ない。

っていうか、これで「何も変わらない」ということなら、シングルトンをインターフェースの
レベルに持ち出す必要は公開するメリットは何も無いということの証になるね。
972デフォルトの名無しさん:2010/09/09(木) 02:15:30
>>969
仕事しない人はクビです
973デフォルトの名無しさん:2010/09/09(木) 02:19:26
>>969
C言語でOOのprivate用途に使う人はどうすれば・・・
974デフォルトの名無しさん:2010/09/09(木) 02:54:41
>>971
メリットというか無駄に仮想関数経由なのが気になるだけだけど
シングルトンってことは別にそのインターフェースを他で使用するわけじゃないんでしょ?
変数をちょくちょく増減するような場合だと確かに有効なのかもなぁ
975デフォルトの名無しさん:2010/09/09(木) 03:04:14
よく考えたらシングルトンだと他に実体が無いんだから、
変数が増減しても再コンパイルは不要なんじゃないか?
今度暇なとき試してみよう
976デフォルトの名無しさん:2010/09/09(木) 03:20:00
ファイルローカルに隠蔽したいならpimplでも同じことだし
別にインターフェースを積極的に採用する理由は無いと思うけどな
まあ否定する理由もないから結局はその人の好みなんだろうけど
977デフォルトの名無しさん:2010/09/09(木) 03:33:21
>>974
重要なのは、 class C& のユーザーは C がシングルトンであるかどうかに依存しないということ。

C& を受け取る同じ関数に、実デバイスに直結したシングルトンを渡してもいいし、テスト用に
ログ機能を被せたものを渡してもいいし、一時的に機能を殺すために空の実装を渡してもいい。

C 自体をシングルトンにしてしまうというのは、そういった自由度を捨ててしまうということ。
相当強いメリットや必要性が無い限り、妥当な選択にはならないでしょ。
978デフォルトの名無しさん:2010/09/09(木) 03:50:31
トントンここシングルトン
979デフォルトの名無しさん:2010/09/09(木) 08:03:41
>>968
組み込みやったことないだろ
980デフォルトの名無しさん:2010/09/09(木) 08:05:17
画像の置場所無いからマリオのパレットを弄ってルイージにする
そんな世界の話だ
981デフォルトの名無しさん:2010/09/09(木) 08:26:10
職人芸だよなほんと、

そんなあなたたちが顔グラ違うだけなのに
1枚1枚画像を用意するノベルゲーに一言!
982デフォルトの名無しさん:2010/09/09(木) 08:47:24
>>981
目パチとか口パクはパーツ使うよ
設定ミスるとグロになるよw
983デフォルトの名無しさん:2010/09/09(木) 09:01:30
>>977
それはシングルトン以外でインターフェースを利用するってことだよね?
実行中にテスト機能や空実装に切り替えるようなクラスであれば仮想関数経由は無駄じゃないね
984デフォルトの名無しさん:2010/09/09(木) 09:05:00
985デフォルトの名無しさん:2010/09/09(木) 09:08:16
ちげーよw
986デフォルトの名無しさん:2010/09/09(木) 10:33:36
>>979
で、組み込みソフトであることと OO の使用がどう関係するのかね?(ニヤニヤ
987デフォルトの名無しさん:2010/09/09(木) 10:54:54
OOってなんだよ ガンダムかよ
988デフォルトの名無しさん:2010/09/09(木) 11:11:31
リソースの制限が厳しいならOOPは無理だわな
動的ディスパッチに追加コストがかかるのはやむを得ないというか、
OOPはそれで柔軟性を得ているわけで
989デフォルトの名無しさん:2010/09/09(木) 11:32:12
>>988
動的ディスパッチのコストが受け入れられないなら静的に解決されるようにすればいいだけじゃね?
クラス使って組んでたコードがその理由だけで全部ダメになるわけがない。
990デフォルトの名無しさん:2010/09/09(木) 12:04:14
>>977
pimplでおk
991デフォルトの名無しさん:2010/09/09(木) 12:33:27
>>990
pimpl じゃ、インターフェースひとつに対して実装がひとつの場合しか置き換えられないよね?

置き換えられるケースでも、どっちが良いというほどのこともないような。
むしろ pimpl->... な受け流し関数を書かないといけないぶん pimpl のほうが
面倒かもしれないぐらい。
992デフォルトの名無しさん:2010/09/09(木) 12:51:42
993デフォルトの名無しさん:2010/09/09(木) 16:01:14
多角形の当たり判定を作ろうとしています。
中に入れない物体を考えた時に
座標はどっち回転で指定するのが普通なのでしょうか?
自分の中で統一すればいいだけとはいえ気になってしまって。
994デフォルトの名無しさん:2010/09/09(木) 16:17:15
次スレ立ててから質問しろよ・・・あと数レスでどうしろと
995デフォルトの名無しさん:2010/09/09(木) 16:20:47
うめます
996デフォルトの名無しさん:2010/09/09(木) 16:34:37
シングルトンはグローバルに一つっていうことだから思いっきりグローバルだよ
いきなり手を出しめるもんじゃない
997デフォルトの名無しさん:2010/09/09(木) 16:48:48
>>993
理由なければ、おれはとりあえず時計回りにしてる
998デフォルトの名無しさん:2010/09/09(木) 16:56:06
引数で何階層も渡していくぐらいならシングルトンにした方がはるかにわかりやすい
999デフォルトの名無しさん:2010/09/09(木) 16:58:24
スタックが256バイトしかなくてローカル変数どころか関数呼び出しすらままならない。
それどころかグローバル変数ですらひたすらいろいろな用途で使い回さないとならない。
そんな環境でOOP(キリッ とか言われてもねぇ。
1000デフォルトの名無しさん:2010/09/09(木) 17:02:03
次スレ
ttp://
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。