C/C++ゲーム製作総合スレッド Part2at GAMEDEV
C/C++ゲーム製作総合スレッド Part2 - 暇つぶし2ch100:名前は開発中のものです。
12/11/03 22:07:00.11 dBvT5/6H
>>98
買えばいいじゃない

101:名前は開発中のものです。
12/11/03 23:26:20.15 Zt/6Kn8V
>>98
俺は自分で作るよ。


102:名前は開発中のものです。
12/11/03 23:45:44.30 MPi99ujn
>>98
自分で作るしかない
みんな3Dエフェクトはどうしてる?

103:名前は開発中のものです。
12/11/04 00:31:03.81 tGjg6t73
最近だとeffekseerとかbishamonとかは見かける

104:名前は開発中のものです。
12/11/04 06:39:38.34 YUTURfMs
ゲームの背景に使える素材サイトってある?
写真じゃなくて、アニメの背景のような水彩画っぽいのが
いいんだけど、そういう素材って見かけなくて。

105:名前は開発中のものです。
12/11/04 06:42:46.21 0aBxGlv8
エロゲの背景みたいなのならググれば出てくるが

106:名前は開発中のものです。
12/11/04 12:28:31.26 A1XAKU4Y
イラストサイトでも回れば

107:名前は開発中のものです。
12/11/04 12:49:37.26 q6gcsEXK
著作権とかライセンスとか気にすると以外とめんどくさい

108:名前は開発中のものです。
12/11/04 18:30:45.75 t8zQvkkV
点A: X,Y,Angle
点B: X,Y
とあった時に、
点AのX=0,Y=0,Angle=0度 とした時の点Bの位置をsqrtを使用せずに求めたいのですが
どうしたらいいでしょうか?

URLリンク(codepad.org)
自分の頭だとどうしてもsqrtを使っちゃってこうなります。


109:名前は開発中のものです。
12/11/04 18:40:22.68 ESy0DDjV
意味がわからん
ベクトルで駄目なのか?

110:名前は開発中のものです。
12/11/04 18:51:07.76 t8zQvkkV
>>108
これ間違ってました

>>109
無知ですゆえ

111:名前は開発中のものです。
12/11/04 18:55:58.67 t8zQvkkV
>>109
仮に点Aから見てAngleの方向に点Bがあった場合、
点Bの座標を(0,距離)として表現したい

112:名前は開発中のものです。
12/11/04 19:13:46.25 FFX64lFq
ビュー変換の関数使うのが一番楽そうだけど

113:名前は開発中のものです。
12/11/04 19:20:54.59 FFX64lFq
距離で出したいのか
だったらsqrtはいるんじゃないのかな

114:名前は開発中のものです。
12/11/04 19:27:15.24 t8zQvkkV
距離は過程で、座標さえだせればいいです。
ややこしくてすいません。

115:名前は開発中のものです。
12/11/04 19:55:14.08 +eKQim6x
距離分かってんなら三角関数で座標求めるだけじゃないか・・・

116:名前は開発中のものです。
12/11/04 20:35:21.06 FFX64lFq
x'=(xb-xa)cos-(yb-ya)sin
y'=(xb-xa)sin+(yb-ya)cos

二次元なら多分これで出ると思う
変換行列の作り方がパッと出てこないヤバイw
ちょっとやってないとすぐ忘れる

117:名前は開発中のものです。
12/11/04 20:38:18.78 FFX64lFq
あ、回転は-Angle

118:名前は開発中のものです。
12/11/04 20:40:02.40 +eKQim6x
xbやらybを求めたいのにそれを式の中で使ってどうするんだ

119:名前は開発中のものです。
12/11/04 21:57:57.68 obDXMYF5
距離がないと位置は出せないだろw

120:名前は開発中のものです。
12/11/05 08:40:42.35 EzdeqMcY
>>108
BからAを引けばおk。

relativeX = B.x - A.x;
relativeY = B.y - A.y;


121:名前は開発中のものです。
12/11/06 19:53:02.05 eNz//o3J
なんで距離求めて
x,yに分解するんだ

122:名前は開発中のものです。
12/11/06 23:19:03.48 STH5OQ9t
点Aを(0,0)とした点B(bx-ax,by-ay)があった時
点Aを座標軸ごとθ度回転させた時に、θ方向を基準とした点Bの座標が>>116...??
URLリンク(gyazo.com)
URLリンク(gyazo.com)

Angleはどこに代入すれば・・・

123:名前は開発中のものです。
12/11/07 00:15:23.58 VREKKmj9
画像の通り。
(cosθ, -sinθ)(sinθ, cosθ)と(x, y)の行列の積。回転行列。

>Angleはどこに代入すれば・・・
sin()やcos()に何渡すんだよw

124:名前は開発中のものです。
12/11/07 00:34:19.50 VBlYDNDl
そもそも>108の日本語がワケワカメで何がやりたいのかさっぱりわからん

125:名前は開発中のものです。
12/11/07 02:11:54.93 amzJWZHs
>116の書いた

x'=(xb-xa)cos(-Angle)-(yb-ya)sin(-Angle)
y'=(xb-xa)sin(-Angle)+(yb-ya)cos(-Angle)

これが正解だろ



126:名前は開発中のものです。
12/11/07 05:25:09.69 Wwvr1glG
>>124
全くだな。一生ROMってろレベルだ

127:名前は開発中のものです。
12/11/07 06:13:29.64 F1nCS+Bd
>>120
この方法で解決しました!
ありがとうございました。


128:名前は開発中のものです。
12/11/07 09:00:37.96 Xletgf7N
相対座標求めたいだけだったのかよw

129:名前は開発中のものです。
12/11/07 09:02:49.31 Mr7fX9Z7
>>128
回転が加わると育ちが悪いせいかどうも遠回りな計算しか・・・

130:名前は開発中のものです。
12/11/07 09:03:26.42 Mr7fX9Z7
>>109-128
ありがとう

131:名前は開発中のものです。
12/11/08 06:32:08.18 ELEjlKZe
見下しているつもりのバカの滑稽さがなかなか楽しかった

132:名前は開発中のものです。
12/11/08 10:09:58.85 8AHptFMp
なんだかんだ言って教えてくれる人がたくさんいるツンデレ空間w

133:名前は開発中のものです。
12/11/08 11:16:16.68 ELEjlKZe
>>1332
教えている奴の大半がまともにコード読めないアスペか
池沼だったけどな
まあマシンスペック上がってるしこんなんでもいいのか

134:名前は開発中のものです。
12/11/08 12:15:49.62 8AHptFMp
( ´∀`)σ)∀`) >>133

135:名前は開発中のものです。
12/11/08 13:14:42.55 zP8ZUOET
sqrtはx86の拡張命令セットにあるはずだからそんなにリソース食わないと思う
10年前のコンパイラ使ってるとかなら話は別だが

136:名前は開発中のものです。
12/11/08 20:35:57.54 1/7WKa2O
カンスト時のオーバーフロー対策として範囲チェック付きのintのラッパークラス作って
多方面でintの代わりに使うのって悪手なのかな?
チェックしないワケにはいかないから毎回毎回チェック用の関数に通してたけど
そんなことするくらいならラップしたほうがいいよね?

137:名前は開発中のものです。
12/11/08 20:45:48.77 Z+cFsqvj
>>136
それ演算子オーバーロードして計算する度にチェックしたりすんの?
結構なオーバーヘッドになりそうな気がするが…

一回ベンチマーク取ってみた方がいいと思うけど
あとはオーバーフローする可能性のあるところだけ使うとか

138:名前は開発中のものです。
12/11/08 21:01:40.06 1/7WKa2O
>>137
もちろん単純な計算とかはintと同じような振る舞いができるようにしようと思ったんだけど
思いつきだったから他所の各種フォーマットのこととか考えると一気にめんどくさくなってくるね・・・

139:名前は開発中のものです。
12/11/08 21:36:07.56 G2+9xcvR
多倍長整数クラスみたいなのは自作しないのが鉄則だと思う

140:名前は開発中のものです。
12/11/09 16:35:38.97 X+TCzH6/
ググッてみたが連絡必須な作者ばっかりだな

141:名前は開発中のものです。
12/11/09 19:50:15.35 VSrh+osv
「任意倍長整数 std::vector」でググッた?
しかし、ゲームではスコアぐらいしか使い道が無いような・・・

142:名前は開発中のものです。
12/11/09 20:23:54.88 r5dUZ16H
intがダメならlongを使えばいいじゃない
現実的な時間でカンスト出来なきゃおkでしょ

143:名前は開発中のものです。
12/11/09 22:04:54.38 VSrh+osv
それを言うならlong longじゃね?
longとintじゃ、サイズ一緒だし。

144:名前は開発中のものです。
12/11/09 22:08:31.43 VSrh+osv
C#やVBとC++じゃ、データサイズ違うしな

145:名前は開発中のものです。
12/11/09 22:20:24.27 iHmFaNL/
さーせんintが16bitと勘違いしてた

146:名前は開発中のものです。
12/11/09 22:34:04.03 Dzz1dA77
少し質問です。
最近のFPSゲームなどはどんな言語、環境、ソフトを使って開発しているのでしょうか?

147:デジタルハリウッド偏差値45
12/11/09 22:36:07.04 8DN5+ede
>>146
Unity

148:名前は開発中のものです。
12/11/09 22:42:50.09 Dzz1dA77
>>147
ゲームエンジンが主流ですか、Unityなら言語はC++でしょうか?

DXライブラリというものも耳にしますが、あれは何なのですか?

149:デジタルハリウッド@偏差値45
12/11/09 22:44:39.99 8DN5+ede
>>148
わかりません
Unityやってます
はいjavasciptでUnityを使います
シューティングゲームみたいなのを作っています

150:名前は開発中のものです。
12/11/09 22:48:57.56 lyg7gPNA
>>145
>さーせんintが16bitと勘違いしてた

16bit機なら間違ってない。

151:名前は開発中のものです。
12/11/09 22:51:56.08 pwxZtJFc
PCのFPSなら、作品数で多いのはudk またはunreal engineかと。やったことあるならロゴはみたことあるよね。
それかc++とdirectXで内製するかかな?
dxlibは公式みればわかるけど、directXのラッパーで扱いやすくしてるらしい。2dがメイン?
3Dは一応dxlibでもあるらしいよ。使えるか使うほどのものかは自分で調べてね。

公開されてるゲームエンジンならtorque3dとか、ogre3d(c#とかあるけどどれだけ利用されてるかはしらないな。

152:デジタルハリウッド@偏差値45
12/11/09 23:03:02.76 8DN5+ede
>>148
あ、javascirptやってればいいと思います
僕は学校でunityのjavascirptを使ってunityゲームつくってます


あ、そうなんですか
FPSはあれがすきです
ゴーデンアイです

日本のゲームしかわかりません

153:名前は開発中のものです。
12/11/09 23:17:07.62 Dzz1dA77
>>149
>>151
おぉレスありがとうございます、早速いろいろと調べてみます

ちなみに好きなFPSはAVAです

154:デジタルハリウッド@偏差値45
12/11/09 23:22:45.88 8DN5+ede
>>153
AVAですか
でもAVAってネトゲですよ
運営のGAMEONは韓国資本です
搾取されてる感じなのでネトゲはあんまり好きじゃないです

155:名前は開発中のものです。
12/11/10 00:06:42.01 ZRDvwXZX
(^q^)FPSが大好きです、どうやって作ればいいですか?

156:名前は開発中のものです。
12/11/10 00:09:07.07 /iHA2cHX
>>155
まず服を脱ぎます

157:名前は開発中のものです。
12/11/10 00:26:49.89 C6N3xOd/
C++製の同人ゲーでオススメは?

158:名前は開発中のものです。
12/11/10 00:51:56.35 c/VcRE9w
CかC++かとかわからんやろ~

159:名前は開発中のものです。
12/11/10 01:42:45.45 jSSOLfjK
>>157
どうやって判断すんだw

160:名前は開発中のものです。
12/11/10 01:51:18.61 uDOWmTU2
readmeや自サイトに書かれてることは少なくないけどね

161:名前は開発中のものです。
12/11/10 08:04:43.07 vuCkQhFB
DXライブラリ使ってれば大抵C++

162:名前は開発中のものです。
12/11/10 08:58:28.72 WCv+J7TM
同人ゲームならコミケ行って開発者に聞くのが早くね?

163:名前は開発中のものです。
12/11/10 09:08:47.06 vuCkQhFB
バイナリエディタでexeを開いて「C++」で検索すると、「Visual C++ Runtime Library」という文字列が出てきた
VC++製のプログラム全部に含まれるみたいだからこれで判別できるな

164:デジタルハリウッド@偏差値45
12/11/10 09:41:21.35 LnFUWnqt
>>155
Unityがいいですよ
DirectXっていうのは時代遅れです
C++も時代遅れです
Javascriptがブームです

Unity Game Jamっていうサークルがあるのでよかったらきてください
FPS作ってる人もいます

165:名前は開発中のものです。
12/11/10 09:44:50.76 JDLvE6hN
UnityみたいなゲームエンジンもJavascriptで作れる時代なのか・・・
GooogleのV8もJavascriptで書かれてるのかな
そのうちJavascriptでOS書いたりデバイスドライバ書いたりできるようになるかな?

166:名前は開発中のものです。
12/11/10 10:17:43.51 hp96843s
>>165
なんか勘違いしてるっぽい

167:名前は開発中のものです。
12/11/10 11:19:24.13 JDLvE6hN
まさか時代遅れのC++やさらに古いC言語で書かれてたりしないですよね?

168:名前は開発中のものです。
12/11/10 11:20:29.38 7J8tbM/I
俺はjavascriptで身長伸びて彼女できて宝くじが当たったよ

169:デジタルハリウッド@偏差値45
12/11/10 11:23:04.28 LnFUWnqt
僕はUnityとjavascript使ってゲーム作ってるよ
C++とか時代遅れだよ
javascriptの時代だよ

170:名前は開発中のものです。
12/11/10 11:24:43.50 GU+cQ84R
高度な釣り

171:名前は開発中のものです。
12/11/10 11:39:58.87 ugQSrMUN
高度ではないだろ

172:名前は開発中のものです。
12/11/10 12:39:11.62 HViNGugV
どこからが釣りなの?
>ゲーム製作におけるC/C++全般に関するスレです。
まさかこれ?

173:デジタルハリウッド@偏差値45
12/11/10 12:42:27.01 LnFUWnqt
???

174:名前は開発中のものです。
12/11/10 12:47:00.70 L5/NCAoO
馬鹿と無知としったかはほっておけ。スルースキルは2chのスキルの中で最も重要

175:名前は開発中のものです。
12/11/10 12:51:39.87 HViNGugV
>>174
もともと釣りじゃなかったのか、了解した

176:デジタルハリウッド@偏差値45
12/11/10 12:58:26.41 LnFUWnqt
C++のnewってどういう意味でしょうか?

177:名前は開発中のものです。
12/11/10 13:01:59.44 7J8tbM/I
newはjavascriptにもあるだろ

178:名前は開発中のものです。
12/11/10 21:44:09.79 kdgWH7qz
javascriptwwwww

ブラクラゲームかwwwww

179:デジタルハリウッド@偏差値45
12/11/10 22:20:18.38 LnFUWnqt
何がおかしいんですか?

180:名前は開発中のものです。
12/11/10 22:39:49.87 zPoeI4Ci
初心者でも今時JavaとJavascriptは混同しねーよwww

181:名前は開発中のものです。
12/11/10 22:51:17.47 0f/wz9cV
誰かブラクラゲームに突っ込んでやれよw

182:名前は開発中のものです。
12/11/10 22:57:47.64 zPoeI4Ci
余計なJavaScriptはウザいからそういう皮肉かと思った

183:名前は開発中のものです。
12/11/13 09:12:21.25 9N5q0Xsj
話題ないみたいだからちょっと質問
透明色含んだビルボード表示するときにvectorに突っ込んで表示順ソートしてるんだけどなんか遅そうな気がする
もっと効率的にソートする方法ないかな
もしくはzバッファ切った方がいいの?

184:名前は開発中のものです。
12/11/13 09:30:12.70 8Q0utp4J
>>183
何個ソートしてんの?

185:名前は開発中のものです。
12/11/13 10:33:03.40 9N5q0Xsj
>>184
3Dシューティングぽいので弾を全部ソートしてるから最大で300くらいかな?
敵増やすと増えるからちょっとあいまいだけど

186:名前は開発中のものです。
12/11/13 10:37:25.65 4wR9uF6j
たった300なら何も問題ない
ただ、vectorにはポインタを詰め込むべき
vectorはlistと違ってソート時にメモリを直接置換するから、構造体のサイズがそのままネックになる
ポインタを詰めれば毎フレーム10000以上の要素をソートしても60fps余裕だよ

187:名前は開発中のものです。
12/11/13 11:35:18.71 A9vKBFCi
vectorの中身をポインタにして比較関数の中でポインタの先参照して比較って感じでいいのかな?

188:名前は開発中のものです。
12/11/13 14:36:53.02 7uL1yheX
でも「毎フレーム全ソート」って本当に必要?
弾が作られた時にだけ適所にインサートすればいんじゃない?

189:名前は開発中のものです。
12/11/13 15:38:57.87 4wR9uF6j
ソート方法によるけど、STLのマージソートは未ソートの要素が多いほど時間が掛かって、
ソート済の場合ほとんど処理を食わないから毎フレームソート処理してても大して問題ないはず

それに>>185は3D空間のオブジェクトのソートをしてるというから、カメラがちょっと動いただけでもソートの必要が出る
ソート関数にかけること自体がソートする必要があるかの判定になってると言ってもいい

190:名前は開発中のものです。
12/11/13 16:39:59.60 eWkVVOn6
>>183ですが
とりあえずstlのソートでも十分速いと言うことなので安心した
勉強になりました

191:名前は開発中のものです。
12/11/13 21:04:01.78 cEtJDQKT
横。

vectorにポインタを格納するとして、本体はどこに置くの?
もちろん状況次第だとは思うけど、別のvectorとか?

192:名前は開発中のものです。
12/11/13 21:19:11.80 a9WU8SHc
ヒープ

193:名前は開発中のものです。
12/11/13 21:43:47.14 HVfjUt4J
newしろ

194:名前は開発中のものです。
12/11/13 21:56:20.66 Oj4WY+EN
固定で別の配列にするのが普通だと思う

195:名前は開発中のものです。
12/11/13 22:23:30.25 4pvX9vHm
なら実データをvectorに入れればいいじゃん

196:名前は開発中のものです。
12/11/13 22:35:19.83 R7nFxA7+
シーンの最初と最後に生成、破棄するならauto_ptr使って
ポインタだけvectorで管理するのもありなんじゃないかと
思ったんだがどうだろうか

197:名前は開発中のものです。
12/11/13 22:43:12.39 HVfjUt4J
とりあえずauto_ptrとかいうゴミを捨てるんだ

198:名前は開発中のものです。
12/11/13 22:57:50.27 R7nFxA7+
よく考えたらauto_ptr使って元のポインタだけ管理しようとしたら
newしてる関数抜けた瞬間deleteされるからダメかw

199:名前は開発中のものです。
12/11/13 22:58:45.26 BrAT+Ts5
もうauto_ptr時代遅れなん?

200:名前は開発中のものです。
12/11/13 23:01:15.07 KobHHPjK
気にせず使ってください^^

201:名前は開発中のものです。
12/11/13 23:01:32.88 k2b3NisB
auto_ptrってなんですか? どうしてunique_ptrを使わないんですか?

202:名前は開発中のものです。
12/11/13 23:02:03.36 R7nFxA7+
c++11でdeprecated指定だって
URLリンク(en.m.wikipedia.org)

なんかunique_ptrが代わりになるのかな?

203:名前は開発中のものです。
12/11/13 23:07:03.03 k2b3NisB
スコープを抜けるときに自動で閉じるファイルポインタとか
例外いつ投げても閉じてくれるので便利ですね?
std::unique_ptr<FILE, decltype(&fclose)> fp(fopen("filename", "r"), fclose);

204:191
12/11/14 00:25:26.13 CmmzPOW9
>>192-194
最初から数が分かってるか、途中で増えるか等に応じて、
普通の配列、配列の動的確保、vectorあたりを使い分けるって感じかな?

205:名前は開発中のものです。
12/11/14 07:47:57.43 f09Uuje+
vectorで実体まとめるとバッファのリサイズ発生した時にアドレス変わるんじゃない?

206:名前は開発中のものです。
12/11/14 08:50:51.27 Za6Nl7tI
そんなの当たり前じゃん。

207:名前は開発中のものです。
12/11/14 08:58:13.52 f09Uuje+
vectorで実体管理してソートのためにポインタのvector使ったら
リサイズ発生した時点で参照変わるからちゃんと動かなくなるよね
最初に確保した分より増えないなら大丈夫だろうけど
これ発生したら原因特定めんどくさそう

208:名前は開発中のものです。
12/11/14 09:06:59.91 CmmzPOW9
あー、それもそうか。失敬

209:名前は開発中のものです。
12/11/14 15:05:59.50 Za6Nl7tI
>>207
っていうか「Vectorで実体管理」がそもそも意味不明。
ポインタで管理してるならそれだけでいいじゃん。

210:名前は開発中のものです。
12/11/14 16:31:57.71 OuQGweox
確かにvectorにポインタいれときゃそれでdelete出来るな
自分でちゃんとdeleteするならそれで十分か

211:名前は開発中のものです。
12/11/14 17:44:55.77 3cThVkCw
newしたポインタはとりあえずstd::unique_ptrかstd::shared_ptrに入れるべき
deleteなんて自分で書いたら負けだぞ
デストラクタもハンドル管理クラスみたいなの以外では自分で書いたら負け

212:名前は開発中のものです。
12/11/14 18:27:52.20 lHOdfYqK
それは一般レベルの場合な
我々のように国家機密レベルでやってる場合は違う

213:名前は開発中のものです。
12/11/14 18:36:32.02 5BbMRJco
何に負けるんだよ
見えない敵と戦う労力こそが一番の無駄

214:名前は開発中のものです。
12/11/14 19:00:59.45 3cThVkCw
見えない敵というとメモリリークですね
まあ、お遊びプログラムならすぐに終了されるので
リークしても問題ないのかもしれませんが

215:名前は開発中のものです。
12/11/14 19:09:24.21 3BI2eEEx
shared_ptrはvectorに入れても大丈夫なのか
vector<shared_ptr<クラス>>でやっときゃ勝手に消えてくれそうだな

216:名前は開発中のものです。
12/11/14 19:15:38.28 CmmzPOW9
>>211
十行くらいのブロックで、かつ外に出すつもりもないならnew/deleteで書いちゃうなあ

217:名前は開発中のものです。
12/11/14 19:28:19.33 BbQiy07V
リークするのはお前の脳みそだけにしておけ

218:名前は開発中のものです。
12/11/14 19:32:08.10 FHk4zIEt
うんまぁお前らも一番実感してると思うけど、自分のルールの一貫性を保つことが一番大事だからな
もちろん柔軟に対応するのも大事だし柔軟に対応できるような構造にしておくことはもっと大事だが

219:名前は開発中のものです。
12/11/14 19:38:37.20 3BI2eEEx
>>216
ブロックの外に出さないならローカル変数の方がよくない?
可変長だと無理かもしれんけど

220:名前は開発中のものです。
12/11/14 19:40:11.42 3cThVkCw
生ポインタの場合

A* a = nullptr;
B* b = nullptr;
try {
a = new A();
b = new B();
doSomething(a, b);
}catch(...){
if (a) { delete a; }
if (b) { delete b; }
throw;
}
delete a;
delete b;



std::unique_ptrを使う場合

std::unique_ptr<A> a(new A());
std::unique_ptr<B> b(new B());
doSomething(a.get(), b.get());


なぜわざわざ生ポインタを使おうとするのか、理解できない

221:名前は開発中のものです。
12/11/14 19:52:16.75 3BI2eEEx
生ポとは関係ないんだけど、例外処理ってしてる?
tryは遅いらしいと何かでみたから基本投げっぱなしスープレックスなんだけど
実際どうなん?

222:名前は開発中のものです。
12/11/14 19:56:47.63 aP39cEyY
投げっぱなしだとexeが落ちちゃうだろ…(Windowsなら

223:名前は開発中のものです。
12/11/14 20:00:51.70 K6TezrTK
落ちなかったらバグったまま続いちゃうじゃん?

224:名前は開発中のものです。
12/11/14 20:45:10.81 S4/fLXg9
なんでC++11前提で話してるのか理解できない

225:名前は開発中のものです。
12/11/14 20:49:59.82 3cThVkCw
C++11じゃないならboostを使えばよろしい

226:名前は開発中のものです。
12/11/14 21:04:33.08 KC8fJK0S
>>222
デバッグで例外が発生したら例外の原因箇所にチェック入れて防ぐように修正してる
基本は例外じゃなくて戻り値で成否を返すような感じ

227:名前は開発中のものです。
12/11/14 22:40:22.29 FilUuDwR
スマートポインタの名前の長さは
C++スタイルキャストを思い出す

228:名前は開発中のものです。
12/11/15 00:52:00.71 CCQxRnc8
ふと思ったんだが、ゲーム・アプリのプレイ期間中に、
同一スコープ内でnewして解放する局面ってあるか?
つうか、プレイ期間中じゃなくても、同一スコープ内で
newして解放する局面って思いつかないな。
同一スコープ内なら、非ポインタのオブジェクト変数で済ませる。

229:名前は開発中のものです。
12/11/15 08:27:34.76 kybbSnHR
コンストラクタに引数必須とか?

230:名前は開発中のものです。
12/11/15 13:27:32.69 CCQxRnc8
>>229
変数定義に引数記述してもコンパイル通るよ。
class Test {
public:
  Test(int arg);
   :
};

int a = rand();
Test ins(a);

231:名前は開発中のものです。
12/11/15 13:44:36.27 FiWT7kKo
>>230
出来るんだ…
考えてみれば出来ない理由もないか


じゃあ>>203みたいにポインタ返すけど、後始末は呼び出し側がやらないといけない関数とかかな?
あとはスタックにデカイ領域作りたくないとか?意味があるかはわからんけど

232:名前は開発中のものです。
12/11/15 17:38:22.10 CCQxRnc8
>スタックにデカイ領域作りたくないとか

これはあるかもね。
とは言っても具体的な局面が思い浮かばない・・・

233:名前は開発中のものです。
12/11/15 19:13:59.62 JDzb/9N7
スコープ抜けたら勝手に消えるだけがメリットじゃないだろう
メンバ変数にしておけば親が死ぬとき勝手に死んでくれるし

ていうかスマートポインタ使わないとコンストラクタで例外が発生した時どうするんだ

234:名前は開発中のものです。
12/11/15 20:24:55.99 CCQxRnc8
具体的にどんな例外を想定してるの?

235:名前は開発中のものです。
12/11/15 21:06:29.19 JDzb/9N7
なんでスマートポインタを使うのを躊躇うの?
unique_ptrは自動的にdeleter呼んでくれる上に
性能的には生ポと同じコストで使えるんだぞ

236:名前は開発中のものです。
12/11/15 21:15:04.36 V2Q8QmNk
>>235
別に躊躇ってる人は居なくね?

237:名前は開発中のものです。
12/11/15 21:16:59.75 /bYy5p67
なんかこの流れ前にも見たな

今話してるのはunique_ptr使うんだったら普通にautoで変数定義すればよくね?
って所だと思うが

238:名前は開発中のものです。
12/11/15 21:17:12.28 f9BWxP4M
なんでC++11やboost前提で話してるのか理解できない

239:名前は開発中のものです。
12/11/15 21:24:24.52 V2Q8QmNk
この板的には、まだまだ11前提とするには厳しいかなー?

240:名前は開発中のものです。
12/11/15 21:37:01.79 JeS5pTB2
新しいもの好きなのはいいけど自分がマイノリティなのに気づけよ

241:名前は開発中のものです。
12/11/15 21:41:59.03 JDzb/9N7
>>237
お前は何を言っているんだ
スマートポインタと型推定は全然違う話だぞ

>>239
STLすら厳しそうだ
なぜだか自作ライブラリのほうが優れてるとか勘違いする奴が多いんだよな

242:名前は開発中のものです。
12/11/15 21:45:29.61 JDzb/9N7
ゲーム開発とSTL
URLリンク(d.hatena.ne.jp)

C++を知らないゲームプログラマ達
URLリンク(d.hatena.ne.jp)

243:名前は開発中のものです。
12/11/15 21:48:28.33 Dmy8apjq
>>241
まず話の前提として>>228があってそもそもnewする必要なくね?という問題提起があるんすよ
あと型推定ってなんすか

244:名前は開発中のものです。
12/11/15 21:51:46.71 V2Q8QmNk
autoには2種類あるから、そこですれ違ってるんじゃない?

245:名前は開発中のものです。
12/11/15 21:55:52.06 Dmy8apjq
ごめん、c++11のautoと勘違いさせたか
俺が言ったのはただの自動変数のことです

246:名前は開発中のものです。
12/11/15 21:56:18.09 V2Q8QmNk
>>241
>STLすら厳しそうだ
>なぜだか自作ライブラリのほうが優れてるとか勘違いする奴が多いんだよな

いや、既存ライブラリを使わない病気のじゃなくw

247:名前は開発中のものです。
12/11/15 21:56:44.58 JDzb/9N7
スタックオーバーフローしないならnewする必要はないな
でもスマートポインタの使い道ってそれだけじゃないよ?
むしろクラスのメンバ変数にこそ使ってほしい
デストラクタを自分で書くのはもうやめよう

あと、C++11ではautoの意味が変わりました
C#のvarみたいに変数の型を推定してくれるので
STLのイテレータとか死にそうなくらい長い型名でも
for(auto i = v.begin(), e = v.end(); i != e; ++i) { ... }
こんな風に書けて超便利な機能です

248:名前は開発中のものです。
12/11/15 21:58:09.46 JeS5pTB2
STLは慣れるまでは内部でどういう処理してるのかわからなくて気持ち悪い部分はあったな

249:名前は開発中のものです。
12/11/15 22:06:00.91 AHySL0i4
内部のことなんて知らなくていいんだよ
使い方を知ってれば、低能でも使えるのがSTL
だからこそ意味がある

250:名前は開発中のものです。
12/11/15 22:11:50.11 AKJanR6y
>>249
それでバグ出したらデバッグで死ねるな

251:名前は開発中のものです。
12/11/15 22:14:31.65 JeS5pTB2
コード書き間違えるとたまにSTL内部のコードに誘導される時があるよな
記述ミスったところでエラー検知してくれよと言いたくなる

あと気になるのはゲームだからだろうな
静的プログラムなら負荷が発生するパターンなんてどうでもいいけど、
動的プログラムだとそこら辺完全に把握してないと非常に気になる

252:名前は開発中のものです。
12/11/15 22:18:29.51 CCQxRnc8
>>247
>むしろクラスのメンバ変数にこそ使ってほしい
なぜ自動変数ではダメなん?

253:名前は開発中のものです。
12/11/15 22:25:11.84 JDzb/9N7
STLだとメモリを自分で管理できないとか言ってる奴はいないか
URLリンク(www.slideshare.net)

>>252
スタックオーバーフローしないならnewする必要はないな

254:名前は開発中のものです。
12/11/16 07:35:50.58 wj9cLs/W
URLリンク(www22.atpages.jp)

URLリンク(www22.atpages.jp)

255:名前は開発中のものです。
12/11/16 13:39:30.43 BTfLhLXO
絵柄と相まって小学生が好きそうなノリだなw

256:名前は開発中のものです。
12/11/16 16:46:04.64 N1OcN+jA
vector配列のvector配列をvector配列で管理する三次元配列って開放する時大本だけ開放しておけばおk?

257:名前は開発中のものです。
12/11/16 17:19:36.14 BTfLhLXO
vector<vector<vector<int> > > か?
実体さえ行方不明にならなければどうとでもなるが
newしたものを格納してるならshared_ptrじゃないと危ないかもな

258:名前は開発中のものです。
12/11/16 18:07:16.53 sOBt52RE
typedef shared_ptr<MapData> MapTip
typedef vector<MapTip> Map1D
typedef vector<Map1D> Map2D
typedef vector<Map2D> Map3D

259:名前は開発中のものです。
12/11/16 19:28:23.88 N1OcN+jA
ポインタじゃなくて実体を格納するなら大丈夫なのか
クラスのメンバとしてコンテナ使ってると混乱してくる

260:名前は開発中のものです。
12/11/16 21:05:15.58 JKxfRh2i
別にポインタを格納しても何の問題もねえよ混乱しすぎ
Actor* actor = MapTip[0][4][6];
a->Draw();
みたいなアホな事してないなら何の問題もない

261:名前は開発中のものです。
12/11/16 21:08:12.91 N1OcN+jA
混乱してるのはそこじゃねーよ!

262:名前は開発中のものです。
12/11/16 21:16:48.82 JKxfRh2i
>>261
悪い、ちょっと想定がアレな上にアホな事コード(vectorのアドレス保存して云々が正しくアホなコード)も間違ってるというアレっぷり

実体なら問題はないが、個人的にはコピーコストが馬鹿みたいにかさむからshared_ptr推奨したいな
メンバのメンバのメンバの...みたいに順々にデストラクタは働くので、実際にユーザーが使用した型であるvector<vector<vector<T>>>をclearすれば、Tのデストラクタがちゃんとしてるならば処理される

263:名前は開発中のものです。
12/11/16 21:28:55.22 bHfLv1nY
所有権を共有する必要はないのでunique_ptrを使いたいけど
ポリモーフィズムに対応してないという弱点のせいでshared_ptrにせざるをえない

264:名前は開発中のものです。
12/11/16 21:37:31.95 BTWHJeh/
ていうかunique_ptrってコピーしても大丈夫なん?

265:名前は開発中のものです。
12/11/16 21:56:59.63 Tl4n6tnv
なんのゲーム作ってるのか誰も書かないではないか。

266:名前は開発中のものです。
12/11/16 21:59:18.17 JKxfRh2i
>>264
unique_ptrはコピー不可能だよ moveは可

>>263
ポリモーフィズムに対応していない、とは……??
URLリンク(ideone.com)

267:名前は開発中のものです。
12/11/16 22:12:13.09 bHfLv1nY
あれ、できるようになってる・・・?
前はva[1] = std::move(b);で怒られてた気がしたんだけど

#include <memory>
#include <vector>

struct A {
int val;
A(int i):val(i){}
};

struct B : public A {
B(int i):A(i){}
};

int main()
{
std::vector<std::unique_ptr<A>> va(2);
std::unique_ptr<A> a(new A(1));
std::unique_ptr<B> b(new B(2));
va[0] = std::move(a);
va[1] = std::move(b);
for(auto& i : va) {
printf("%d\n", i->val);
}
}

268:名前は開発中のものです。
12/11/16 22:48:49.93 EdJd2yN1
すみません
質問です

1次元配列で使用可能な要素を前に詰める関数を書きたいのですがどういう方針で行ったら良いでしょうか?
例えば
TestArray[8]があって、その関数実行後に
|○|○|×|×|○|×|○|×|

|○|○|○|○|×|×|×|×|
のようにしたいのです
どなたか良いアイデアをお持ちの方よろしくお願いします。

269:名前は開発中のものです。
12/11/16 22:51:01.79 b7Jxtx/j
普通にソートじゃだめなん?

270:名前は開発中のものです。
12/11/16 22:57:44.20 bHfLv1nY
安定じゃなくても良いなら
for(;;) {
前から×を探す
後から○を探す
swap
前と後ろが逆転したらbreak
}

271:名前は開発中のものです。
12/11/16 22:58:20.10 EdJd2yN1
>>269
1フレームで10以上呼ぶつもりなので出来るだけ高速な処理をしたいんです。
値の大小が無いだけで、ソートのようなプログラムになることは理解できるんですが・・・。

272:名前は開発中のものです。
12/11/16 22:58:32.75 BTWHJeh/
間つめたいだけじゃないの
普通に先頭から見てってつめればいんじゃない

273:名前は開発中のものです。
12/11/16 22:59:05.57 JKxfRh2i
>>268
std::sort使って、比較関数だけ自前で書く

>>270
std::sortを薦めろや…

274:名前は開発中のものです。
12/11/16 23:01:41.02 BTWHJeh/
ソートだとO(nlogn)になるじゃん
間つめるだけならO(n)ですむ

275:名前は開発中のものです。
12/11/16 23:03:52.15 N1OcN+jA
今時ゲームにその程度の高速化必要か?

276:名前は開発中のものです。
12/11/16 23:07:21.91 bHfLv1nY
そもそもなんでそんなことになるかな
途中の要素を削除するときは末尾の要素とswapしてから削除すれば良いだけだろ

277:名前は開発中のものです。
12/11/16 23:16:25.42 JKxfRh2i
出てるのに加えて使用可能と不可能で別のスタックでも使えばいいとか、色んな方法が考えられるな

>>274
汎用のブツを使うべきだろ、高速化が必要な風にも見えんし
必要ならその時点で書きなおせばいい

278:名前は開発中のものです。
12/11/16 23:19:43.28 EdJd2yN1
>>272さんの言う通り普通に前から詰めます。ありがとうございました。

279:名前は開発中のものです。
12/11/17 04:14:11.89 Yvb5b4+U
パフォーマンスを気にしたら、その分ゲームが完成から遠ざかる気がする

「できるだけ速く」ではなく、
「aaの環境でbbくらい時間がかかるが、ccくらいの時間にしたい」
が明確になるまでは、パフォーマンス気にしないほうがいんじゃね

もちろん遅すぎて論外なことをやらない、って前提ありきだけど

280:名前は開発中のものです。
12/11/17 11:37:53.11 aR98lbIK
昔はSLGを遊ぶ場合、敵の思考モードに入るとそれだけで数分かかったものだよ

281:名前は開発中のものです。
12/11/17 16:54:20.20 WXt99mEx
数分?

282:名前は開発中のものです。
12/11/17 17:03:31.27 N5wMv0H7
・・・思考中デス・・・

今じゃパターン総当りでもまったく気にならないからなー
いい時代になったもんだ

283:名前は開発中のものです。
12/11/17 21:31:41.79 lAYofdVH
処理ごとの時間を測れるライブラリみたいのつくっておけばいいのに。
そうすれば、
遅くなりそうなところが、実際は、別のところがネックだったってのが
わかるし、変に悩まなくてすむ。

284:名前は開発中のものです。
12/11/17 21:33:12.27 N5wMv0H7
普通に計測プログラム用意したり、処理の途中に時間計測して個別に比較したりするんじゃダメなん

285:名前は開発中のものです。
12/11/17 21:36:26.15 wjcsv03f
プロファイラぐらい使えよ

286:名前は開発中のものです。
12/11/17 22:50:47.28 4SSSv3ja
俺のプロファイリングによるとこのスレの住人は10代から20代、もしくは30代から40代、50以上の年齢の男性あるいは女性
プログラミング自体には精通しておらず、文法を覚えている程度の初心者と思われるが、必ずしもそうとは言えない

287:名前は開発中のものです。
12/11/17 22:53:57.31 FLG+6H3e
最近は「素人が○○することは考えにくい」って言うんじゃないのか

288:名前は開発中のものです。
12/11/17 23:00:28.20 4SSSv3ja
これか
URLリンク(www.jiji.com)

バイナリからソースが外付けストレージにあったとか判るもんなのか

289:名前は開発中のものです。
12/11/17 23:09:23.72 vLrNZqQF
何らかの形でディレクトリのパスが入ることはあるだろうけど
ストレージの種類までは記録されたりせんよ
CやDじゃないから、ぐらいの根拠だろう

290:名前は開発中のものです。
12/11/17 23:15:36.55 wjcsv03f
>>288
自分でコンパイル後のバイナリ確認してみ?
パスは入ることもあるよ。

気になるならバイナリエディタ辺りで消せばいい。
動作に問題はない。

291:名前は開発中のものです。
12/11/17 23:45:04.79 N5wMv0H7
龍神録の館ですら説明してるし

292:名前は開発中のものです。
12/11/18 02:01:16.37 a/mIzCX9
ボタンのクラス作ったんだけど
class ButtonにDraw()関数にboolの戻り値つけて押されているか押されてないか判定するのってあり?

293:名前は開発中のものです。
12/11/18 03:37:14.26 G8vKCtAR
混乱するのでナシ
自分でちゃんと把握できるのなら挙動がすべてなのでどう書いてもいいが

294:名前は開発中のものです。
12/11/18 04:23:18.47 OtH/PY93
ありがとう。ボタンクラスが、出来た!

class Button{
POINT CoordUL,CoordDR;//右上、左上座標。
int m_nONButtonTexture;//押された時のテクスチャ番号
int m_nOFFButtonTexture;//押されてない時のテクスチャ番号
XMMATRIX m_Transform;//変形行列
public:
void Draw();//画面上に描画。
//コンストラクタ。
Button::Button(int ulX,int ulY,int drX,int drY,
int nONButtonTexture,int nOFFButtonTexture);
//押されているかどうか。
bool PushCheck(int nMousePosX,int nMouseY);
};

295:名前は開発中のものです。
12/11/18 04:33:06.01 JhTLY1BD
C++では多少の粗は速度でカバーする!

296:名前は開発中のものです。
12/11/18 09:28:38.84 1KRliL9g
まあ適当に作ってもそれなりに速度でるもんな
コードに時間かけるよりバグ出さないような
設計、書き方に気を付けた方が幸せになれる

jsでブラウザゲームとか作ってみたら遅すぎて泣けてくる

297:名前は開発中のものです。
12/11/18 09:42:02.13 t3/vK/l2
最近の女子小学生はブラウザゲームとか作るのか

298:名前は開発中のものです。
12/11/19 00:02:52.78 xStQIj1y
遅すぎると逆に萌えるなそれは。

299:名前は開発中のものです。
12/11/19 08:00:26.59 Z7RVi5qW
ふええ、こんなにいっぱいしょりできないよお

300:名前は開発中のものです。
12/11/20 05:52:27.33 JIlX6vOn
>>267
これ見てて思ったんだけど、
struct A と struct Bはそれぞれ非仮想の暗黙のデストラクタを持つじゃない。
すると std::vector<std::unique_ptr<A>> va(2) が破棄されるときには Aのデストラクタが呼ばれるよね。

#include <iostream>
#include <memory>
#include <utility>

struct A{
int val;
A(int i):val(i){};
};
struct C{ int dummy; };
struct B : private C,public A { // 多重継承を用いて vtbl の計算を複雑にする。
B(int i):A(i),C(){};
};

int main(int,char*[]){
std::unique_ptr<B> b( new B(10) );
std::cout << "\(^-^)/" << b->val << std::endl;
std::unique_ptr<A> a(nullptr);
a = std::move( b );
return 0;
}

(これは、わざと落ちるようstruct Cを入れて多重継承してみたんだけど、
問題はBのデストラクタは走らないよの部分)
暗黙のデストラクタって気にする?

301:名前は開発中のものです。
12/11/20 07:24:43.57 JIlX6vOn
暗黙のデストラクタって気にする?じゃ意味がつたわんないな。
多分 struct Aの定義は、割と普通にやるとおもう。
じゃあ Bを書いた時点でAを public 継承してるけどAには仮想のデストラクタが用意してないから、
B*をA*にキャストして、それをdelete したらこけるじゃん Aに仮想デストラクタを用意するように
お願いするかAの継承をあきらめてメンバで持つようにするか B*を A* にキャストして、delete
するのはだめよとココロの中でお願いするか選択肢が出てくると思うんだ。
main 書いてる最中も std::move の時点で、struct Aのデストラクタは、非仮想だから、
unique_ptr<A> の破棄時にstruct Bのデストラクタが呼ばれないなと気がつかないといけない
と思うんだけど、正直最初、自分は全部スルーしてた。
暗黙のデストラクタは非仮想であることにみんなどのあたりで気がつくように訓練してる?

302:名前は開発中のものです。
12/11/20 11:56:10.65 Hewg6tab
継承元になるクラスにはvirtualなデストラクタを付ける、を習慣にするしか…

303:名前は開発中のものです。
12/11/20 12:42:09.27 /LQmBJc6
C++ではAが継承を想定しないなら
Aを継承しないのがふつうじゃん?
トラブルを避けるためにメンバに持つ。
暗黙のデストラクタが非仮想なのはあたりまえじゃん?
訓練してるってたんに知識の問題のような。

304:名前は開発中のものです。
12/11/20 18:03:15.21 YMT95jvg
常に全てにvirtual付けてりゃいいんじゃね
最適化の段階で外していけばいいよ

305:名前は開発中のものです。
12/11/21 02:32:47.54 O0QHrPFm
javaかよw

306:名前は開発中のものです。
12/11/21 08:07:42.08 Sa/LjIte
javaみたいにクラスの継承禁止って出来ないの?
と思って調べたらc++11からfinal追加されたのね

307:名前は開発中のものです。
12/11/21 19:50:13.57 i5WslLE/
小学生の息子にアクションゲームを作ってる所だけど、背景とか音楽が難しいー。誰かファミコンぽいやつ作れる人いないかな。

308:名前は開発中のものです。
12/11/21 20:13:31.23 RN32Cd3P
とりあえずプログラムでウィンドウを画面に出す

画像を読み込んでウィンドウに表示させる

キー入力を受け付ける処理を作る

キー入力で画像の表示位置を変えたりアニメーションさせたりする

画像表示のパターンを増やす

完成

309:名前は開発中のものです。
12/11/21 20:56:45.03 i5WslLE/
>308
ありがとう。
一応、横スクロール、プレイヤー移動、弾発射まではできてて、今から敵とかダメージ判定とかやるつもり。音楽ないとさみしいなーとか、背景もっと森とかしたいなーとかおもってるけど、雲とかがせいぜいで、、、

310:名前は開発中のものです。
12/11/21 21:03:39.96 1xP0Jxk2
ファミコン風背景なんざペイントでグリグリでいいんじゃないの?

311:名前は開発中のものです。
12/11/21 21:17:48.26 e4cilLWo
>>310
素人が知ったかすんなよw

312:名前は開発中のものです。
12/11/21 21:19:49.30 1xP0Jxk2
何が知ったかなんだよw

313:名前は開発中のものです。
12/11/21 21:23:14.86 4ruuHy6d
>>307
えーと、質問の意味が分らないんだが。
絵や音楽を作るのが難しいと言ってるのか。
プログラムの話しどっちだ?

文体から前者にとれるんだが。前者ならスレ違い。

314:名前は開発中のものです。
12/11/21 21:25:40.22 1xP0Jxk2
「風」って言ってるから俺は素材だと理解したわ
風でいいならスプライトや和音の仕様をプログラムで再現する意味はないし

315:名前は開発中のものです。
12/11/21 21:25:58.45 hLXHgUEm
ファミコンはドット絵だからペイントで描くようなもんじゃないだろう

316:名前は開発中のものです。
12/11/21 21:29:25.50 4ruuHy6d
>>315
ルーペで拡大して描くんだろwしらんけどw

317:名前は開発中のものです。
12/11/21 21:34:52.78 1xP0Jxk2
ペイントでドット絵描いてる人は今も多いぞ
ドット絵なんてアンチエイリアス掛からないツールなら問題ないしな
それほどクオリティを求めないファミコン風なら、アンチエイリアスもかけないしペイントで十分

318:名前は開発中のものです。
12/11/21 21:53:06.25 i5WslLE/
>313
前者です。スレ違いみたいでした。すみません。
背景が難しいていったのはマップチップ作ってそれをループで並べてるんですけど、樹木とか遺跡っぽいのが作るの難しくて。
子供が寝たから今からまた作ります。

319:名前は開発中のものです。
12/11/21 22:32:54.29 Ar9mPays
実際にどういう絵にすればファミコンっぽくなるかが気になるなら
CG板にあるドット絵スレで質問するといいよ。
スレリンク(cg板)

一応この板にもドット絵スレは幾つかあるけど、あんまり動いてない。
あと音楽は分からん。たぶん2chのどこかにチップチューンスレとかあると思う。

320:名前は開発中のものです。
12/11/21 22:38:13.26 i5WslLE/
>319
ありがとうございます!
曲のほうはこの板の別スレで、リクエストできるスレがあったので、そちらにレスしてみました。
ドット絵は後で調べてみます。
今は、穴に落ちた時やライフゼロのときのゲームオーバーの判定実装してます。

321:名前は開発中のものです。
12/11/21 22:41:06.45 vU7vV5c8
ファミコンっぽくしたいなら、解像度を荒くする、色数を8色以下にする、マップチップのサイズを8*8にする、くらいじゃないのかな。

322:名前は開発中のものです。
12/11/21 22:47:05.46 4ruuHy6d
>>320
ドット絵なら素材じゃだめなんか?
素材サイト回れば一通りそろいそうだが。

323:名前は開発中のものです。
12/11/21 23:05:03.40 i5WslLE/
>322
前にマップチップで探してみたんですけどRPG 用ぽいのが多くて、とりあえず探すのやめてました。

324:名前は開発中のものです。
12/11/21 23:05:22.18 BpQGjbQp
マウス押された時呼ばれるコールバック関数があるのだけど、
メインループの関数内の処理によってコールバックの内容も変えたい。
どういう設計すればいいの?

325:名前は開発中のものです。
12/11/21 23:09:17.43 GbUHGBi8
コールバック関数を設定しなおすとかすればいいんじゃね?

326:名前は開発中のものです。
12/11/21 23:11:57.28 hLXHgUEm
int f;
main()
{
f=0;

f=1;

f=2;
}

コールバック(int f)

switch(f)


こんなんでいいんじゃないの

327:名前は開発中のものです。
12/11/21 23:31:26.12 BpQGjbQp
>>326
やっぱりそうかー。
fに当たる変数はグローバル変数で取ってるから受け渡しは必要ないんだけどやっぱりそうなるか。
main()で配列に関数ポインタ設定して、コールバックのほうで設定されている関数ポインタ配列から自動的に呼び出しとか面倒なこと考えてた。
ありがとう。

328:名前は開発中のものです。
12/11/22 00:45:52.42 Y6G4CBGg
敵がマップスクロールに引っ張られてくる、、
実装の仕方がまずいのかなー。プレイヤーはマップの真ん中の座標にきたらマップの描画位置をずらすようにしてる所が悪いんだろうか。

329:名前は開発中のものです。
12/11/22 01:20:33.58 ds3F2YzA
言ってる意味がわからない。

330:名前は開発中のものです。
12/11/22 01:45:38.18 Y6G4CBGg
画面が右にスクロールすると、左に進んでた敵の速度が遅くなってしまう。

331:名前は開発中のものです。
12/11/22 02:56:28.36 3oA0zPbz
大きく分けて、2つの実装方法があると思う。
例えば毎フレーム5ドットずつマップスクロールすると仮定した場合、


(1)スクリーン座標
プレイヤーキャラや敵キャラの位置を、画面上の座標として保持する方式。
「カメラ」は固定のまま、「舞台」が移り変わるイメージ。演劇みたいな。

背景はスクロールするが、実質的に固定画面ゲーと同じようなデザインなゲーム向きだろうか。例えばシューティングゲーム等。

 プレイヤーキャラ: プレイヤーが操作しなければ座標は変更されない。
 敵キャラ:      通常の動作(前進や停止など)に加えて、毎フレーム5ドットずつ加算される。
 背景:         毎フレーム5ドットずつ加算される。
 カメラ:        動かさない。


(2)ワールド座標
プレイヤーキャラや敵キャラの位置を、マップ全体から見た座標として保持する方式。
「カメラ」が移動して、マップ上の各オブジェクトを映しだす。TVのマラソン中継や競馬中継みたいな。
よって、自動スクロールの場合、プレイヤーが操作しなければプレイヤーキャラも画面外に消えてしまう。
画面上に表示される位置は、(マップ上の座標)-(カメラ座標)で求められる。

広いマップを探索するようなゲーム、スクロールのタイミングや速度がプレイヤーの操作で変わるゲーム向きか。マリオ等。

 プレイヤーキャラ: プレイヤーが操作しなければ座標は変更されない。
 敵キャラ:      通常の動作(前進や停止など)による変更。
 背景:         動かさない。
 カメラ:        毎フレーム5ドットずつ加算される。


……みたいな感じ。

332:名前は開発中のものです。
12/11/22 08:50:06.52 Y6G4CBGg
やりたいのは(2)のほうで、マリオとかみたいにプレイヤーが画面中央より左右に進もうとしたら、画面スクロールしようとしてます。
>331の内容見て、また考えてみます。

333:名前は開発中のものです。
12/11/22 09:18:15.26 3oA0zPbz
なら、次の順番で試してみるといいかもしれない。
各オブジェクトを表示するときは、(マップ上の座標)-(カメラ座標)に表示すること。

 i.  カメラを固定してキャラを動かす。
 ii. プレイヤーの操作とは関係なく、カメラが自動的に右方向へスクロールするようにする。
 iii. プレイヤーキャラが常に画面の中央に表示されるようにカメラを動かす。
 iv. プレイヤーキャラがマップの端に居るときは、カメラが動かないようにする。

334:名前は開発中のものです。
12/11/22 11:19:22.25 RlzqnUp+
>>328
どんなのが作りたいのかそれだけじゃわからないけど
マリオっぽのならこれが参考になるじゃねーの?

ソースも入ってるよ?ライブラリはSDLだけど
URLリンク(www.vector.co.jp)

335:名前は開発中のものです。
12/11/22 11:50:57.17 eFQjOjmf
スクロールしたら敵ずれるって、スクロールした分敵の座標移動するの忘れてるだけじゃないのか
そんな単純な話ではないのか?

336:名前は開発中のものです。
12/11/22 12:26:19.16 3oA0zPbz
>>334
懐かしい! この板が発祥のゲームなんだよな。

337:名前は開発中のものです。
12/11/22 13:14:20.80 YppVmW6v
>>335
敵を移動するんじゃなくて、カメラを移動するのが王道。
ゲーム内のキャラクターはすべてワールド座標で処理すべし。

338:名前は開発中のものです。
12/11/22 13:25:14.45 eFQjOjmf
>>337
どっちにしろ描画するときに座標変換は必要だし
カメラ移動分の座標さっぴいてやらないとずれるし
パラメータをどう持つかはともかく、処理は必要だし

339:名前は開発中のものです。
12/11/22 14:44:38.27 XkqVanxt
>>338
カメラ座標変換マトリックスに任せておけ

340:名前は開発中のものです。
12/11/22 15:46:56.07 XgY5u7US
>>338
描画モジュールとそれ以外のモジュールがゴチャッてなければそこで不整合は起きないだろ

341:名前は開発中のものです。
12/11/22 18:47:04.04 BilY3FWQ
このスレってこういう初心者っぽい質問があるかと思えばたまに異次元みたいなワケわからない話が始まるし
距離感が掴みにくいな

342:名前は開発中のものです。
12/11/22 19:35:19.32 giYr9TgY
STLのアルゴリズムを使え使えって本に書いてあったから使って見てるけどコンパイルエラーを変なところに飛ばしやがってむかつく

343:名前は開発中のものです。
12/11/22 20:31:45.22 IVKuNp4c
STLのコンパイルエラーメッセージって分かり肉いよね

344:名前は開発中のものです。
12/11/22 22:06:07.74 44UwHnvI
>>342
中身完全把握しとけって事だよ
言わせんな恥ずかしい

まあ現実的に考えても最低限使い方だけでも完全把握してないとデバッグすら出来ない
なんとなくで使ってるといつか痛い目を見る…っていうか今見てるのか

345:名前は開発中のものです。
12/11/22 22:28:38.51 tBmxJtaY
初心者こそSTL使えという奴もいればこういう奴も居る
困ったもんだな

346:名前は開発中のものです。
12/11/22 22:35:28.92 44UwHnvI
配列の代わりに使うくらいなら問題ないんだろうけどな

347:名前は開発中のものです。
12/11/22 22:36:52.36 Gl1QEKN/
>>344
いや。
実際、STLの配列絡みのエラーの場合、エラーメッセージでなく、
むしろ自分の作業過程を思い出して、
配列やメモリを扱うロジックに思慮不足が無かったかを見直さないと、
訂正すべき個所をなかなか特定できない場合が多いぞ。

他人のコードをハックするには、当然センスが必要になってくるってことさ。
俺は、なるべく難しい問題を、なるべく自分でフルスクラッチすることが上達の早道だと思うね。
勿論、チーム制作で、未熟者にフルスクラッチされたら、たまったもんじゃないがな。

348:名前は開発中のものです。
12/11/22 22:41:09.07 F4NAJzUg
>>337
それは状況によるんじゃないの?
俺は固定マップの時はそうやったけど、
ループマップで、自機周辺でしか当たり判定等の処理をしない、という時は敵を移動させるようにしたぞ。

349:名前は開発中のものです。
12/11/22 22:46:01.23 Y6G4CBGg
>>333
今の処理の順序見直してみます。
今日とりあえずそこをなんとかして、形にしようと思ってます。

>>334
後でやってみます。ありがとうございます。

350:名前は開発中のものです。
12/11/22 23:23:16.03 uWBDaITV
音楽はRetro Music Editorでやってみる?

351:名前は開発中のものです。
12/11/22 23:38:20.65 Y6G4CBGg
>>350
インストールして適当に再生してみました。
ファミコンっぽい音が出るwww
ゲームの基本的な流れが出来たら、こっちも触ってみようかな。

352:名前は開発中のものです。
12/11/22 23:50:53.87 Y6G4CBGg
すみません。(マップ上の座標)-(カメラ座標)というのはどんなイメージになるんでしょうか。
今、
// マップを描く
for( int i = 0 ; i < MAP_DRAW_HEIGHT ; i ++ ) {
for( int j = 0 ; j < MAP_DRAW_WIDTH ; j ++ ) {
DrawGraph(j * MAP_SIZE + (mapMoveCnt) , i * MAP_SIZE , map[Map1_Data[i][j]] , true);
}
}
って感じでマップ描画してます(DXライブラリ使ってます)
mapMoveCntっていうのがマップの描画位置をずらす為に使ってて、
プレイヤーが画面中央に居る且つ、左右に移動した時にmapMoveCntを加減算してました。
これでスクロールをしてたんですけど、カメラを移動するってことはマップを描画する位置をずらすってことでしょうか??

353:名前は開発中のものです。
12/11/23 00:13:57.43 cFXLUjPO
うーんと
そもそも、それ2Dのマップ表示のコード(それもチップ?)だよね?

となるとカメラなんて使ってないでしょ。
>>331 で言うと(1)スクリーン座標

悪いこと言わないから
>>334 のソースDLして研究してみ

ライブラリはSDLだけどDXLIBを2Dで使うならやることは同じだから。

354:名前は開発中のものです。
12/11/23 00:16:00.60 GjI1Zcmz
>>352
だね。カメラが移動するってことは、見た目の位置がずれるってこと。


挙げられたソースだと、その mapMoveCnt がまさにカメラの座標に相当すると思う。
正確にいえば、そこに-1を掛けた値だけど。
まあ、単に減算するか、正負反転したものを加算するかだけの違いなので、やってることは同じ。

で、マップチップ以外のもの、「カメラ」が撮影する「舞台」上もの全てに、そのカメラ座標を減算する。
こうすれば、「カメラ」の位置に関わらず、各オブジェクトが画面上あるいは画面外を自由に動くことになる。


ここまで(>333の2番3番に相当)出来れば、あとはカメラをどう動かすかだけの話なので、
問題点をかなり絞り込めるはず。

355:名前は開発中のものです。
12/11/23 00:16:21.06 GZw5dyQ6
>>353
あ、カメラって3Dでのことなんですね。すみません。
>>334で書いてたのを今からDLしてソース見てみます。

356:名前は開発中のものです。
12/11/23 00:17:01.41 GjI1Zcmz
>>353
擬似的な「カメラ」と、3Dにおけるカメラをごっちゃにしてる

357:356
12/11/23 00:18:57.78 GjI1Zcmz
失敬、擬似的というよりは概念としてのカメラと言ったほうが正しいな

358:名前は開発中のものです。
12/11/23 00:28:34.06 cFXLUjPO
>>355
まあ、がんばって、昨日のお子さんに作ってる人かね。

>>356
どっちでもいいよ。
カメラ固定なんだからあまりカメラのことは考えなくていいと思う。
DirectXやOpenGL直に打つなら話は違うけど。
DXLIBを2Dで使うんだし。その辺はDXLIBがくるんでるっしょ。

359:名前は開発中のものです。
12/11/23 00:42:30.97 GjI1Zcmz
いやだから、何故3Dにおけるカメラの話を持ち出すのか

360:名前は開発中のものです。
12/11/23 01:09:13.45 yOOti4xC
>>359
普通は概念だろうがなんだろうが
それをカメラって呼ばないしどうでもいい

361:名前は開発中のものです。
12/11/23 01:14:50.46 Tfq3xGkn
いやカメラって呼ぶだろ

362:名前は開発中のものです。
12/11/23 02:09:55.26 GZw5dyQ6
>>358
そうです。今、モナーアクションゲームのソース見てます。
今日はこれ見て理解するだけで終わっちゃいそう、、、。
また明日の夜頑張ります。こうして質問に答えてくれる人がいるだけでも
モチベーションが違うきがします。>>354さんもありがとうございます。

363:名前は開発中のものです。
12/11/23 05:17:34.40 tAm612YR
ワールド座標からスクリーン座標に変換するロジック → カメラ

364:名前は開発中のものです。
12/11/23 06:41:13.52 hefSCrq5
キャラクターの位置を( X , Y )とする。(ワールド座標)
カメラの位置を( CX , CY )とする。
そうすると表示する位置は( X - CX , Y - CY )となる。(スクリーン座標)

カメラの位置が( 0 , 0 )の時はワールド座標どおりの位置に表示されるが、
カメラが右に1ずれる( 1 , 0 ) とキャラクターは1左にずれて表示される。

キャラもマップも同じようにしてあれば、カメラ次第でマップのどこでも自由に表示できるようになる。

って事だよね。

365:名前は開発中のものです。
12/11/23 06:57:02.76 74NPTa8/
平行移動だけじゃなくて回転やスケーリングやせん断やもうなんでもできるよ!

366:名前は開発中のものです。
12/11/23 09:58:16.44 mO6j71re
移動、回転、拡縮は行列で出きるとして、せん断ってどういうロジックになるんだ?

367:名前は開発中のものです。
12/11/23 10:17:08.64 74NPTa8/
普通に行列でできるよ!
基底ベクトルを直交させなければ良いだけだ!
1.0 0.1 0.0
0.0 1.0 0.0
0.0 0.0 1.0

368:名前は開発中のものです。
12/11/23 10:25:37.76 mO6j71re
>>367
なるほど

369:名前は開発中のものです。
12/11/23 11:01:21.96 /1tfeEwj
「せん断」って何?

370:名前は開発中のものです。
12/11/23 11:05:08.54 74NPTa8/
長方形が平行四辺形になるような変形のことだよ!

371:名前は開発中のものです。
12/11/23 11:10:02.01 6nCMYav3
底の無いダンボールってのはわかりやすい例だよな

372:名前は開発中のものです。
12/11/23 11:57:56.24 GjI1Zcmz
シアーの方が通じる気がする

373:名前は開発中のものです。
12/11/23 13:59:35.40 cFXLUjPO
カメラだの行列だの無かったころのゲームだから
その方が理解しやすいよって言ってるだけだよ。

まあ、最初からカメラありきで学んだ人はむしろ理解し辛いのか?

374:名前は開発中のものです。
12/11/23 14:06:05.85 cFXLUjPO
>>364

ていうかさぁ。

>>352 のソースみてあげなよDXLIBのDrawGraphってそんな概念関係ないよ。

ただのスクリーン座標に絵を置いてるだけ。

375:名前は開発中のものです。
12/11/23 14:19:41.95 cFXLUjPO
>>360
呼ぶんじゃないの、マの概念なんてみんなバラバラだからね。
そう呼んでる人にはそっちが常識なんだよ。

マ系やプログラム系の板で同じことを言ってるのに
使ってる言葉が違って議論がループなんてザラ

この場合も多分、みんな言いたいことは同じなんだよ。

言葉が違うだけだと思うよ。

376:名前は開発中のものです。
12/11/23 14:53:44.50 GjI1Zcmz
>>373
マリオみたいに広いマップを探索するようなゲームだと
スクリーン座標ベースの管理は面倒くさそうだけどなー。

実際、黎明期のPGがどういう考え方で組んでいたかどうかまでは知らないけど。

377:名前は開発中のものです。
12/11/23 15:00:51.05 GjI1Zcmz
あ、ちなみに自分は
URLリンク(www.tamaweb.or.jp)
この右側にあるレールカメラ(って言うらしい)のイメージで言ってた。

378:名前は開発中のものです。
12/11/23 15:48:41.51 cFXLUjPO
>>377
なるほど。理解したわ。ちょっと長文になるが。

俺のような古い頃を知ってるマに言わせると、昔のファミコンやスーパーファミコンの頃の
スーパーマリオのようなゲームの、ただのスクロールの実装にカメラとか言いだす方が違和感を感じるんだよ。
すまんな。

あえて、昔の言葉を使えばBG(バックグラウンド)とSpriteが分れば実装できるんだから。

↓DXLIBのこの例も同じようなもの
URLリンク(homepage2.nifty.com)

ファミコンなら
URLリンク(hp.vector.co.jp)
こんな感じか?ちょっと違うけど。流石にネットにもその辺のテクニックは載ってないわ古過ぎてw
(説明し辛いな。文章じゃ無理だわ)

勘違いしないでほしいのは
今のDirectXやOpenGLの世界ではカメラがないと話しにならないのは知ってるよ。
その辺の3D,2Dゲームも作ってるしな。

関係ないが。
VRAMの定義で、それぞれのマが別々のVRAMの概念を言いだして
話がなんだかわからない方向に行ったのを思い出した。

一人は上記のBGやSPRITEのVRAM
一人はPC98やX68Kの頃のパソコンのVRAM
一人はテクスチャやフレームバッファやZバッファ等の載る今のVRAM
そりゃ、話がかみ合うわけがないw

何にしても、>352さんのゲームが完成することを祈るよ。お子さんの為にもな。

379:名前は開発中のものです。
12/11/23 16:22:34.51 tVuXwvMy
スクリーン座標とビュー座標と呼べば良かったのかな?
と混ぜっかえしてみる

380:名前は開発中のものです。
12/11/23 16:23:41.72 GjI1Zcmz
>>378
なるほど、だから>353の時点でスクリーン座標と言ってたのか。

内部的にはワールド座標ベースで考えて、それを表示用に落とすって考え方自体は
3D以前からあるようには思うけれどね。

381:名前は開発中のものです。
12/11/23 16:37:47.36 hefSCrq5
スーパーマリオみたいな一方通行で逆進できないシステムならワールド座標はいらないかもね。

382:名前は開発中のものです。
12/11/23 16:52:57.32 X3Az5vp2
引き算するだけだからPCの性能とか関係ないよw

383:名前は開発中のものです。
12/11/23 17:34:11.98 tvkINjeP
N88BASICですらビューポートの概念あるよ
floatの場合無茶な拡大させると誤差の蓄積が問題になることがあるからその場合は原点近くで処理したいけど

384:名前は開発中のものです。
12/11/23 18:17:22.09 tVuXwvMy
>>382
ワールド座標はマッブが広大になるとメモリーを消費するから、昔のマシンだと厳しいだろ
メモリー1バイトは血の一滴に比例すると言われていた時代もあるし

385:名前は開発中のものです。
12/11/23 18:37:49.31 GjI1Zcmz
>>384
ああ。
画面に映ってるかどうか関係なく処理できるメリットを活かしにくいとか、
画面内だけなら符合なし1バイトで座標を保持できるけど、全体を考えると2バイトくらい必要になるとか?

386:名前は開発中のものです。
12/11/23 18:57:47.92 tVuXwvMy
>>385
ああなるほど。
マッブはタイル表示するものだとばっかり考えていたから、その発想は無かったわ。

387:名前は開発中のものです。
12/11/23 19:54:39.19 cFXLUjPO
>>383
そんなもんあったっけ?ってぐぐったらあったようだなw
30年近く前でまったく覚えてないわ。

あの頃、アクションゲームっていうと機械語オンリーだったのもあるけど。
BASICねー。なつかしいけど。インタープリタで8,16BITじゃ遅すぎるもんな。
シミュレーションや くそ遅っそいRPGとかかね。

コンパイラもあったみただけど。使ったこともないわ。
あの頃のコンパイラの吐くコードなんて使いものにならなかったしw

388:名前は開発中のものです。
12/11/23 19:59:07.69 MSqNZyrV
お前らいったいいくつなんだよ…

389:名前は開発中のものです。
12/11/23 20:22:07.11 GjI1Zcmz
0xを付けておきたいお年頃かな

390:名前は開発中のものです。
12/11/23 20:29:01.83 cFXLUjPO
>>389
そうそう、その辺はおさっし。

391:名前は開発中のものです。
12/11/23 20:45:11.38 6nCMYav3
現場とか経験したことないとビット積意識する列挙体くらいでしか0x表記したことないな

392:名前は開発中のものです。
12/11/23 21:03:14.64 tVuXwvMy
フラグ処理で0x表記しまくりですが?
#defineで隠れてはいるケド

393:名前は開発中のものです。
12/11/23 21:26:47.76 e2eqPIhq
ピチピチの0x20歳です!

394:名前は開発中のものです。
12/11/23 21:27:22.68 Tfq3xGkn
ゲーム作ってるなら色管理で0x表記はたまにやるはず

395:名前は開発中のものです。
12/11/23 21:35:37.06 cj0uR2IM
>>394
RGBマクロで0~255しか使わないって人も多いんじゃないかね

396:名前は開発中のものです。
12/11/23 21:46:45.61 926N4zcD
命令セットに乗算なんてありませんでしたが、何か?

397:名前は開発中のものです。
12/11/24 00:05:24.65 2OLw8PRK
>>396
呼んでないのに、何か?て

398:名前は開発中のものです。
12/11/24 00:18:35.93 o4KqUQfO
画面スクロール上手くいきました!
プレイヤーも敵キャラも不自然な動作をしなくなりました。
回答していただいたみなさんのおかげです。ありがとうございます。
とりあえずまとも(?)に動くようになったから次は敵の出現タイミングとかを考えます。
プレイヤーがある座標まで来て、対象の敵が表示されていなかったら表示させるみたいな条件で
やろうとしてます。うまいこといけばいいけどー。

399:ジュナイ
12/11/24 06:54:32.86 QqV0oVKy
機能の拡張を目的に継承したらダメみたいなの読んだ記憶があるけど、未だに意味がわからない

>>317
もう出てた

400:名前は開発中のものです。
12/11/24 07:14:08.67 E4ngvRbM
機能の拡張なら継承しないで委譲しろって話だろ
継承の設計上の意味が曖昧になるし、遅くなるし、ミスも多くなるから
class A : public Base{}; じゃなくて、class A{ Base base; };にしろっていう

401:名前は開発中のものです。
12/11/24 07:28:17.27 RKqrxKct
>>400
「遅くなる」をkwsk

402:名前は開発中のものです。
12/11/24 07:32:37.95 5F9z+6Hu
オーバヘッドじゃね

403:ジュナイ
12/11/24 08:22:49.66 W4j3QuI9
>>400
継承は完全にIs-aかHas-a関係の場合以外は使わない方がいいってことなのか?
継承の例とか見ると拡張してるようにしか見えないときがあるから疑問だったんだ
なんとなくだけど、わかった気がする
解説ありがとう

404:名前は開発中のものです。
12/11/24 08:44:31.65 RKqrxKct
ケースバイケースだからどっちが正解ってもんじゃないぞ。

ただ最近の流行はinterfaceをよく使う。
C++だと単なるクラスだけど、Java/
C#をやると
interfaceの概念が一番しっくりくる。

405:名前は開発中のものです。
12/11/24 08:59:00.75 nSnY0kez
C++の場合、virtual関数でもどの関数が呼び出されるのかコンパイル時に分かる場合は
virtualの性能ペナルティはないぞ

406:名前は開発中のものです。
12/11/24 11:47:55.57 o4KqUQfO
ソースがごちゃごちゃしてきた気がする、、、。

アイテム(武器とか回復)をマップの途中や、敵を倒した時にランダムで出す仕様にしようと
思っているけど、プレイヤーにも敵にもマップにも影響するからそれぞれにインスタンス生成
をしなければいけないのかなー。いい案がまだ思いつかない。

プレイヤーや敵キャラの移動処理は共通モジュールでやっているけど、それみたいに
共通化したい。

407:ジュナイ
12/11/24 12:20:37.64 fxHMnqZg
>>404
俺の場合、CStringを自作して
それを継承してCStringExを作った
CStringExはCStringの検索機能を追加したもの
>>399
これを読んで問題あるんだなって思ったんだ
ケースバイケースなんだな
あんまり深く考えないことにするよ、ありがとう

408:名前は開発中のものです。
12/11/25 01:32:34.49 vQ6ezv4p
>>407
安価の付け方が間違ってるのか何なのか、話の流れが読めない

409:名前は開発中のものです。
12/11/25 01:54:12.65 MAutdaKJ
>>406
それぞれにインスタント生成?なんで?
インスタントは一個でいいでしょ。
ItemManagerなクラス作ってそこで一括管理。
他のクラスはItemManagerへのポインタだけ持ってればいい。

410:名前は開発中のものです。
12/11/25 02:14:05.00 DhagDrvr
インスタント……?

411:名前は開発中のものです。
12/11/25 02:37:36.83 vQ6ezv4p
というか個々にインスタンス生成するのは、よくある手法だよな?

412:名前は開発中のものです。
12/11/25 02:42:49.71 YMRxlnml
**Managerって命名するのやめろ。マジで。
いやしてもいいけどすすめんな。

413:ジュナイ
12/11/25 05:25:23.73 hEk/IMrv
>>408

>>407
×399のアンカー
○機能の拡張を目的に継承したらダメ

ふむ、アンカーにしない方がよかったな

414:名前は開発中のものです。
12/11/25 05:48:04.62 vQ6ezv4p
ああ、そういうことか。
自分のレスを読んで問題に気づいた、と読めて何が何だか分からんかった

415:名前は開発中のものです。
12/11/25 09:59:49.84 koi9+vO4
>>412
なんで?

416:名前は開発中のものです。
12/11/25 10:19:26.16 EqulQ1PI
インスタンス作らなかったらどこにパラメータ置いとくんだ?

417:名前は開発中のものです。
12/11/25 10:46:41.19 YMRxlnml
>>415
機能を曖昧にするのでアンチパターンとされている

418:名前は開発中のものです。
12/11/25 11:02:52.49 CAdWkKcH
>>417
ちなみにそれって出典どこなの?
前に同じような話しあったときにネットで探したんだけど見つけられなかった

419:名前は開発中のものです。
12/11/25 11:14:46.43 TgZ39+Gc
個人で開発してるなら自分が分かる名前なら問題ないだろう

420:名前は開発中のものです。
12/11/25 12:09:26.86 YMRxlnml
>>418
somethingmanagerでググれ

>>419
何をするかわかるなら明確な名前付けが可能なはずで、
それができないなら設計ミスである可能性が高い。

421:名前は開発中のものです。
12/11/25 12:17:34.50 VGiaFwf4
オブジェクト指向は難しいよな
俺はステータスクラスを作る際に能力項目の入った構造体みたいな感じにしか考えてなかったんだが
能力項目はそれぞれクラスとしてインターフェイスから継承させておいて
それをmapに型識別子と一緒にプッシュしておけとかなんとか
極めだすとスタート地点がわからなくなるわ

422:名前は開発中のものです。
12/11/25 13:42:36.14 TgZ39+Gc
なんとかManageって名前は即ダメとかいう思考停止はどうかと思うがなあ
ていうかCharacterクラスとか完全にそのアンチパターンに適合してるわ

423:名前は開発中のものです。
12/11/25 15:08:01.52 pp6NGY3t
面倒くさいときに1,2,3とかExとか付けて終わりとか平気でやるよ?

424:名前は開発中のものです。
12/11/25 15:30:35.40 z3lM07q+
Win32APIじゃねぇんだから

425:名前は開発中のものです。
12/11/25 17:12:31.80 ViSjD+S+
英語できない人間がほとんどなんだから、明確な英語名がでてこないのが普通だろ。
難しい単語を使うと読めなくなるし。

426:名前は開発中のものです。
12/11/25 17:13:51.16 UP94DjU/
ぶっちゃけローマ字でやるのが一番効率イイと思うんだよね
外人が混じってるんじゃないなら

427:名前は開発中のものです。
12/11/25 17:37:22.64 wuDHigGI
ローマ字で名前付けると長くなりがち
そしてなによりカッコ悪いという欠点がある

428:名前は開発中のものです。
12/11/25 17:56:18.70 VGiaFwf4
Zittai *zittai = ZittaiKouzyou::Tukuridasu(ZittaiBanngou banngou);

429:名前は開発中のものです。
12/11/25 18:59:33.14 62UuJeRg
またそうやって極端な例を出す…

430:名前は開発中のものです。
12/11/25 20:04:25.41 GcdFOKW2
xxxManagerって命名はゲーム会社で普通に使うよ。

431:名前は開発中のものです。
12/11/25 20:07:38.48 z3lM07q+
xxxManagerて設計した時点で設計を疑えという人も居てだな

432:名前は開発中のものです。
12/11/25 20:24:38.60 GcdFOKW2
ただの名前じゃん。
中身は大抵リスト管理。

433:名前は開発中のものです。
12/11/25 20:55:27.38 mP9k6ovN
変なローマ字使うぐらいなら漢字やひらがな使えよ

434:名前は開発中のものです。
12/11/25 20:59:12.19 FijO3P5J
自作のクラスManagerだらけだわ

435:名前は開発中のものです。
12/11/25 21:28:17.23 q6C2eAfD
漢字やひらがな使えなかった頃をひきずってるんだよ

436:名前は開発中のものです。
12/11/25 22:24:13.04 R43oAPYu
漢字や平仮名なんて使えんし使わん

437:名前は開発中のものです。
12/11/25 23:37:36.56 DhagDrvr
defineでは日本語使えるから使う

438:名前は開発中のものです。
12/11/26 10:15:31.37 yusv7QzF
例えば、リソースをコンテナで管理するようなクラスで、ファイルパス渡すと
ポインタ返すようなメソッド持ったヤツはなんて名前つける?

439:名前は開発中のものです。
12/11/26 10:21:15.41 LyLQhMu0
リソースをそれだけで管理するなら、単純にリソースマネージャーあたりにする
メソッドの名前はget_ptr_from_pathとか

440:名前は開発中のものです。
12/11/26 10:48:10.34 zeeOA2Lm
メソッド名は頭文字大文字式で統一しましょう。

GetPtrFromPath

441:名前は開発中のものです。
12/11/26 12:33:32.54 LyLQhMu0
俺はライブラリ的に使いまわせる関数は頭大文字、
それ以外のローカルだったりクラスのメンバだったりする関数は小文字で統一してるわ

442:名前は開発中のものです。
12/11/26 19:38:53.10 KtYdm8fk
**Managerって設計ミスだったのか。
マップマネージャとユニットマネージャの2クラスをメインに進めていたがこれもダメなのか・・・。
画面操作もマップマネージャとユニットマネージャに振り分けてやらせてるし・・。

ただこれはユーザーインタフェースクラスを新しく作ってそっちに集約しようか考え中だが。

443:名前は開発中のものです。
12/11/26 19:48:22.12 5nHWy65V
あっちもManager、こっちもManager、だとちょっとマヌケっぽいというただの感想とか、
世の中のクラスの半分くらいは、何かをマネージしてるもんじゃね?っていうツッコミとか、
複数のインスタンスを集めたものなら、collectionって単語があるよっていう指摘とjか、
使う側から見た場合、中身なんてどうでもいいんだから、外側をシンプルな名前にしろよっていうクレームとか、

そのへん色々。
ぶっちゃけ本人が困ってないならどうでもいい。

444:名前は開発中のものです。
12/11/26 20:18:36.19 rMNobjpu
偉い人が言ってるからとかで真に受けてたらダメだよな
Linusとか超アホなこと言ってるし

445:名前は開発中のものです。
12/11/26 20:28:48.98 ABDeEVSH
鵜呑みは危険だが常に最新の情報や環境に気を使うのは大事だろうな
物事が時間の流れで最適化されていくってのは自然の摂理のはずだ

というか議論できるレベルの人達って情報どこで集めてる?
ネットで情報集めてるとハンガリアン記法は減ってきたけどクラス名の先頭に
C付けてるのが未だに散見してどうすりゃいいのかわからなくなってきた

446:名前は開発中のものです。
12/11/26 20:35:17.10 BD+Y7+n1
コンソールからviでコーディングしてる人たちにとってはハンガリアンも有用だし?
現存するかは知らんけど

447:名前は開発中のものです。
12/11/26 21:06:16.36 rMNobjpu
templateで型名とかワケワカメになるのにハンガリアンが使えるのか?

448:名前は開発中のものです。
12/11/26 21:07:09.64 M7DeNh3p
TwitterでC++erフォローするとか…

449:名前は開発中のものです。
12/11/26 21:18:05.41 BD+Y7+n1
>>447
Tのプレフィックスはtでいいんでない
使うときはVector<int>ならiVecとか?

450:名前は開発中のものです。
12/11/26 21:32:54.44 fBbbS4l8
どうせゼロから作り直すんだし、
一発目は思いつくままに継承多態、俺式命名でいいんじゃね
1日の時間が重要って場合ならともかく・・・

451:名前は開発中のものです。
12/11/26 22:54:16.45 vwxVmeIr
システムハンガリアンは誰もが否定するところだろうが、
アプリケーションハンガリアンは重要でしょ。

型で切り替えずに、意味レベルで同じ水準で扱う値に同じ接頭辞を付ける。
スクリーン座標にはs、ウィンドウ座標にはwをつける等、
同じ型でも混同しちゃいけないものを混同せずに済むよ。

452:名前は開発中のものです。
12/11/26 23:01:58.09 BD+Y7+n1
>>451
普通に名前つけてたら自然にそうなっちゃう気がするんだけどな
まあ、クラスやら構造体でラップしちゃうからプレフィックスって
いうより変数名そのもので区別できるんだけど

453:名前は開発中のものです。
12/11/27 02:16:19.75 JayK2jV6
>>445
最新の情報に敏感な人って周りの需要が見えてない人ばっかりな印象なんだが
俺の周りのプログラマはみんなそう

454:名前は開発中のものです。
12/11/27 07:41:38.26 PNGeWQU0
>>422
思考停止なんて言い訳するから糞設計になるんだよ

455:名前は開発中のものです。
12/11/27 09:51:11.14 RjAqjHvy
>>453
geekと職業プログラマの最大の違いはそこだろうな
geekは技術力はあるんだが、自分の知識が絶対正しいと思いがちでやたら新しいことやろうとする
職業プログラマは言われたことやるだけだが、その分要求はちゃんと満たす

456:名前は開発中のものです。
12/11/27 09:52:31.07 JayK2jV6
それは職業プログラマを持ち上げすぎ
出来る人と出来ない人の違いではあるけど

457:名前は開発中のものです。
12/11/27 11:13:46.66 RjAqjHvy
>>455は極論だけど、仕事に対するスタンスとしてはそんな感じでしょ
サーバ運用でもただのgeekはサーバモンキーとか言われるし
まあ積極的に情報仕入れてそれを活用できる人ってのはまれなんじゃないかな
仕入れた知識すぐ使いたがるモンキーか頭の中化石になってるおっさんのようなのが大半じゃないの

っていうかそれ以外はマなんてやってないで管理職なるでしょ

458:名前は開発中のものです。
12/11/27 15:01:28.50 vXBr16jt
>>443
> あっちもManager、こっちもManager、だとちょっとマヌケっぽいというただの感想とか、

> そのへん色々。
> ぶっちゃけ本人が困ってないならどうでもいい。

勝手に問題を矮小化してどうでもいいとか。頭が悪すぎる。
"本人が困ってなければどうでもいい"の本人のと、"本人を困らせるコードを推奨するな"の本人は違うだろ。
困ってない本人がこれから困るかもしれない他人に腐った手法を押し付けてる。

459:名前は開発中のものです。
12/11/27 15:44:51.45 p6PPkzD6
うぜぇw

460:名前は開発中のものです。
12/11/27 16:19:24.47 3CO8/3Q2
頭のいい人に聞きたいのだが
PS3とかWiiとか3DSのゲームソフトを
ゲーム会社で制作している人って
どうやって各ハードでのゲームプログラミング技術を習得したのだろう

ゲーム会社に入社してからソニーか任天堂と契約を結んでいるゲーム会社しか知らない
各ハードの秘密の開発技術などを習得させているのだろうか

C言語とかC++とかのプログラム言語でプログラムを組めば
ゲームを作るぐらいのことは僕でも知ってるが
各ハード別の開発技術って、それだけの知識だけでは足りないような気がする

461:名前は開発中のものです。
12/11/27 16:22:44.22 3CO8/3Q2
例えば3DS用ゲームソフトを3Dモードにすれば
飛び出したような映像表現が可能ですが
ああいう技術って単にC言語やC++を習得しただけでは開発出来ないような気がします

462:デジタルハリウッド@偏差値45
12/11/27 16:36:02.37 r/jyAiAv

質問なのか、独り言なの意味がわかりません


================
デジタルハリウッド@偏差値45
出席番号5

好きなゲーム東方、格ゲー、地球防衛軍

463:名前は開発中のものです。
12/11/27 16:36:29.19 LIfIJ6xQ
ハード毎にライブラリが提供されるから、それでゲームを作ることになる
ライブラリの仕様を迅速に勉強し身につけられるのもゲームプログラマに必須の条件

例えば、C++やろうと思い立った次の日には基本的なテストプログラムは組めるくらいの習得力がある人じゃないと無理

464:デジタルハリウッド@偏差値45
12/11/27 16:57:48.30 r/jyAiAv
Unity使えます
Javascript使えます

昔からUnityでゲームやってます
Unity勉強会にも参加しております
Unity関連の本全部持ってます

数学と関数型言語と論理力を磨いています

================
デジタルハリウッド@偏差値45
出席番号5

好きなゲーム東方、格ゲー、地球防衛軍
使える言語 Javascript,C++,PHP
使えるゲームエンジン Unity

465:名前は開発中のものです。
12/11/27 17:08:33.05 3CO8/3Q2
>>463
では、例えば任天堂からWii Uが発売されたら
ゲーム会社のプログラマーたちは新しいハードが出る度に
新しい技術を必死に勉強されて習得されてるわけですね

しかも、その技術用の解説本もない中・・・

ホントに頭が下がる思いです

466:名前は開発中のものです。
12/11/27 17:17:55.77 3CO8/3Q2
ところで一つ伺いたいのですが
WindowsパソコンでPS3並の高画質のHDゲームを開発して
それを同人ゲームとして遊んでもらえるようにすることは可能でしょうか?

昔のPCと違って今のPCは、64bit版OSも出てるし
グラフィックボードもいいのが出てるから
PS3並のゲームを制作してプレイしてもらうことも可能だと思いたい

467:名前は開発中のものです。
12/11/27 17:18:41.56 dvvZlrEZ
>>465
提供されたライブラリを理解するのは別に難しくないが、
たまにバグがあるんで、それを治すのに苦労する事はある。
次のアップデートまで待てないから、バグや不都合は
ガンガン治してくよ。

468:名前は開発中のものです。
12/11/27 17:19:19.48 EwaiNful
>>465
メーカー毎にapiの設計や命名に癖があるから
同一メーカーの一世代前のハードで経験のある人が中心になるかサポートに入るかする
サンプルも多少は提供される

だから本当に1からということはなかなか無いよ

469:名前は開発中のものです。
12/11/27 18:05:49.78 LIfIJ6xQ
>>466
PCでFF14とかラストレムナントとか出てるだろ
あとビット数は関係ない

だが、お前くらい無知だと人も付いてこないだろうし作るのは無理だ

470:名前は開発中のものです。
12/11/27 18:20:39.67 XJFpU/H+
発売から6年も経ったコンシューマー機のスペックに幻想を抱いている知能レベルだと、
はっきり言って無理だろうね。
公開されているデータシートすら確認する脳ミソすらないんだから。

471:名前は開発中のものです。
12/11/27 19:02:36.58 BJEbR/WY
インテリジェントシステムズが説明書付きのライブラリ送ってくるからそれみれば馬鹿でもゲーム作れるんだろ

472:デジタルハリウッド@偏差値45
12/11/27 19:12:20.03 wU6YR6iC
Unityが主流です

473:名前は開発中のものです。
12/11/27 19:31:47.21 vYFFYWd5
市販レベルのゲーム個人作成するとか、性能以前に素材作れなくて挫折するだろ

474:名前は開発中のものです。
12/11/27 19:40:25.46 8efcepbP
素材は買えばいい。

475:名前は開発中のものです。
12/11/27 20:36:42.38 3CO8/3Q2
>>469
> あとビット数は関係ない

え?そうなの?
昔、任天堂から64が出て話題になったから
bit数によって処理速度が速くなると思ってました

64bit版Windows8Proのパソコンなら4GB以上のメモリーが搭載できるから
10GBのメモリー搭載パソコン対応のWindowsゲームにすれば
処理能力が上がるものだとばかり

476:名前は開発中のものです。
12/11/27 20:53:35.30 vYFFYWd5
そんな大量のメモリなんに使うんだ
pS3のメモリってvram含めても512MBじゃなかったか

477:デジタルハリウッド@偏差値45[
12/11/27 21:52:45.24 wU6YR6iC
un

478:名前は開発中のものです。
12/11/27 23:38:22.90 udmUHhEh
今、2Dアクションゲームを作成していて、インスタンス生成をnewでしてますけど、
ゲームみたいに速度大事な場合はplacement newで生成した方がいいんでしょうか。
まだ短いステージしか作ってないから重くなったりしないけど
敵を増やしたらやっぱり重くなるのかなと思って。

479:名前は開発中のものです。
12/11/27 23:40:01.56 jNiNsKvP
偽装しているけどどう見てもスレ違いです

480:名前は開発中のものです。
12/11/27 23:54:17.12 7KjACd0W
2Dの時点で重くなりようがないと思った

481:名前は開発中のものです。
12/11/27 23:56:01.15 jNiNsKvP
479だけどすまん、ありゃID:3CO8/3Q2宛だ。リロードしてなかった。

>>478
使わないと思うよ。速度(とメモリ制限)が厳しい時は、最初に必要数確保して使いまわしたり。
メモリのフラグメント化も避けられるし。

もっとも今時のWindows環境なら、ゲームのインスタンスくらいじゃ心配はいらないと思います。

482:名前は開発中のものです。
12/11/27 23:57:31.47 udmUHhEh
>>480
2Dではよっぽど無茶したり、変な実装してなければ大丈夫なもんなんですか?
とりあえず修正せずに今のままでやってみます。ありがとうございます。

483:名前は開発中のものです。
12/11/27 23:59:13.11 udmUHhEh
>>481
>使わないと思うよ。速度(とメモリ制限)が厳しい時は、最初に必要数確保して使いまわしたり。
>メモリのフラグメント化も避けられるし。
了解しましたー。今のままの感じでやってみます。ありがとうございました。

484:名前は開発中のものです。
12/11/28 00:01:24.36 vYFFYWd5
初期化するときに必要なメモリ全部確保しとくのが一番楽だよな
趣味で作るゲームは何よりも完成させることが大切だと思う

485:名前は開発中のものです。
12/11/28 04:30:44.98 y8CZWJWg
>>484
ゲーム機ならそれがいいけど、PCのメモリはほぼ無限だから
気にしなくていい。

486:デジタルハリウッド@偏差値45
12/11/28 10:18:17.59 hP93q/7g
プログラミングをしないでゲームつくれたらな~っておもいませんか?

487:名前は開発中のものです。
12/11/28 10:34:30.99 WwlhnVmH
>>486
つRPGツクール

488:名前は開発中のものです。
12/11/28 10:56:01.19 LA76+44o
金があれば誰かにプログラミングさせてゲーム作ることもできるんだろうね

489:デジタルハリウッド@偏差値45
12/11/28 10:56:40.83 hP93q/7g
格闘ゲームの60FPSの理由をこたえよ

490:名前は開発中のものです。
12/11/28 14:26:43.54 k1DqZtzr
NTSC方式の垂直同期が60Hzだから。

491:名前は開発中のものです。
12/11/28 19:16:58.84 c4ykrjdD
59.94fpsだが・・・

492:デジタルハリウッド@偏差値45
12/11/30 13:28:44.39 MDTtwB01
59.94fpsとはどういうことでしょうか?
わかりません
fpsとはなんですか?
よくわかりません

493:名前は開発中のものです。
12/11/30 14:55:59.84 3iutj+yg
そんな事も分からないから偏差値が45なんだよ

494:名前は開発中のものです。
12/11/30 14:59:10.90 dRasH0yT
最近は内部FPSが120の格ゲーも多いが

495:デジタルハリウッド@偏差値45
12/11/30 15:05:20.68 MDTtwB01
>>493

Unity使えますJavascript使えます
PHP使えます3Dsmaxつかえます
mayaつかえます

技術のない人に言われたくありません

496:名前は開発中のものです。
12/11/30 15:06:10.81 dRasH0yT
それだけかよw

497:名前は開発中のものです。
12/11/30 15:37:22.19 IaVAZenz
まあ、文章の書き方が変な時点で、頭が悪そうだというのは十二分に伝わってくる。

498:名前は開発中のものです。
12/11/30 15:47:09.77 DsYN0kOm
167 名前は開発中のものです。 [sage] 2012/11/30(金) 11:13:15.46 ID:MDTtwB01 [1/2]
>>162
デジタルハリウッドの低脳低学歴じゃ無理だ
消えろ

170 名前は開発中のものです。 [sage] 2012/11/30(金) 12:22:00.03 ID:MDTtwB01 [2/2]
>>169
デジタルハリウッドの低脳低学歴じゃ無理だ
消えろ


なにしたいんだこいつ

499:デジタルハリウッド@偏差値45
12/11/30 15:58:47.81 MDTtwB01
海外のゲームはマサエッチュー大学がつくるからすごいらしいんですが
日本のゲームがしょぼいのはなぜですか?
僕みたいなデジタルハリウッドしかいないからでしょうかおしえてください

500:名前は開発中のものです。
12/11/30 16:15:58.87 N03FEQNf
"マサエッチュー大学" に一致する結果は見つかりませんでした

501:名前は開発中のものです。
12/11/30 16:16:02.98 iTK2pPTw
そのキス相手の雅恵さんって誰だよ。

502:名前は開発中のものです。
12/11/30 19:18:10.51 y8iXHf54
マサエッチューとかww

503:名前は開発中のものです。
12/11/30 19:21:32.01 lijJunr0
越中ってすごいんやな

504:名前は開発中のものです。
12/11/30 19:27:20.53 e1dK1hp+
やってやるって

505:名前は開発中のものです。
12/11/30 21:44:40.33 RwH8/+au
2Dアクションゲームなら300万で作ってやるぞ

506:名前は開発中のものです。
12/12/01 00:20:19.39 4EemNxJB
結構アクションゲームっぽくなってきた気がするー。敵と当たったときのダメージ判定とか、
敵の出現条件がまだ考え中だけど。

ダメージ判定を共通関数でするかプレイヤークラスか敵クラスでさせるか悩む。

507:名前は開発中のものです。
12/12/01 00:29:49.35 f8uku+Sy
>>505
それグラフィックと音声の作成も含むの?

508:名前は開発中のものです。
12/12/01 09:22:38.14 IBe3OiN8
>>506
後者のどちらでやっても同じ結果になる、かつどちらか一方しか実行されないように
するのが基本なんじゃね?むしろどのポインタどういう風に共有させるか悩んでるわ

509:デジタルハリウッド@偏差値45
12/12/01 10:38:36.27 ILlUmx+J
>後半、イメージエポック御影社長(左から2番目)を交えトークに拍車がかかります。
>会場からの質問「海外のFPSに日本のFPSが勝つにはどうすればいいと思いますか?」
>御影社長「うーん、海外のFPSはマサチューセッツ大学を首席で卒業したプログラマーとかが作っているので、それを超えるには根本的に開発スタイルを変えないとダメで・・・」

海外のゲームはマサチューセッツ大学がつくるからすごいらしいんですが
日本のゲームがしょぼいのはなぜですか?
僕たちみたいなデジタルハリウッドの低学歴しかいないからでしょうかおしえてください

510:名前は開発中のものです。
12/12/01 10:44:44.48 dtZt5ne8
まぁ東大の主席はゲーム業界にはこないだろうな

511:名前は開発中のものです。
12/12/01 11:23:52.21 X91UfSRc
>>509
そういう、しょぼいしょぼくないと言う
偏差値相応の善悪二元論的発想はやめなされw
誰か釣りたいならゲハ板にでも行けば?
C++にも関係ないことだし。

512:名前は開発中のものです。
12/12/01 12:37:54.74 0XcK0KjW
海外のほうがゴミゲー率高いけどな
駄ゲーは日本で話題にすらならないから存在を知らないだけ
日本に居て洋ゲーのほうが良作多いなんていうのは、その程度のこともロジカルに考えられない馬鹿
印象に惑わされる奴は視点のぼやけたゲームしかつくれねーよ

513:名前は開発中のものです。
12/12/01 13:12:14.38 v5N1217G
映画の話だけど、邦画はなんで洋画に比べて面白くないかっつーと、つまらん映画はわざわざ海を渡ってこないからって話があったな
ゲームも同じだよね

514:名前は開発中のものです。
12/12/01 13:15:57.24 6XI39V9Z
だからなに?海外がーとか日本がーより自分がーでしょw

515:名前は開発中のものです。
12/12/01 14:23:28.70 ElCOhwfv
>>513
悪いが全然答えになってないよ
面白くない理由は、つまらんからとか‥‥

516:名前は開発中のものです。
12/12/01 14:24:36.35 0XcK0KjW
さすがに理解力がなさすぎる

517:名前は開発中のものです。
12/12/01 14:31:23.51 4uRg8fTG
デジタルハリウッドにも最低限のモノを作る人間と、
FPSという用語を検索をする程度の脳味噌が無い奴とか色々いるだろう。
日本とかアメリカとかデジハリとかいう区分以前に、人間個人が駄目なら駄目。
クズはどこに行こうがクズ。

518:名前は開発中のものです。
12/12/01 14:50:59.72 NTXF1xW1
デジタルハリウッドが何でどうなんかは知らんが、少なくともFPS作ってるマサチューセッツ云々の奴は、AIの経路探索や動作モーションの自動平滑化とかのアルゴリズムを理解・実装できるやつなんだろ、きっと。
プログラミングできるだけの奴なら高専にもいるが、論文読んで実装できる奴は限られるって話。

519:名前は開発中のものです。
12/12/01 15:07:00.75 +8DAgByD
>海外のFPSはマサチューセッツ大学を首席で卒業したプログラマーとかが作っている
これ工科大学の方か?

520:名前は開発中のものです。
12/12/01 15:09:57.13 6XI39V9Z
ほんといい釣り堀だな。
Unityスレと同じような反応ワロタ

521:デジタルハリウッド@偏差値45
12/12/01 15:26:29.85 XgIPgCus
ゲ製板には、デジタルハリウッドの卒業生だらけだから
僕をたたく人はいない!!

522:デジタルハリウッド@偏差値45
12/12/01 15:28:16.21 XgIPgCus
>映画の話だけど、邦画はなんで洋画に比べて面白くないかっつーと、つまらん映画はわざわざ海を渡ってこないから

海外は沢山海を渡ってる
日本は少しですね

日本=ゴミが多い、海外には全然渡ってない
海外=ゴミが多い、海外に面白いゲームが沢山わたってる

523:名前は開発中のものです。
12/12/01 16:11:38.95 X91UfSRc
Yahoo知恵袋を髣髴させる凄まじい天才が光臨してやがるなw
2chでこんな逸材を拝見する羽目になったのは何年ぶりかねぇ

524:名前は開発中のものです。
12/12/01 16:20:14.60 0XcK0KjW
ただの荒らしですがな

525:名前は開発中のものです。
12/12/01 17:11:03.28 24GByIke
>>518
論文読んで実装する程度じゃダメだ
論文書かないが書けるレベルの新しい手法を自分で編み出すレベルじゃないと

526:名前は開発中のものです。
12/12/01 17:19:10.12 NTXF1xW1
>>525
そりゃそうだが、就職考えたらそんな時間もないし、能力持った奴居ないだろ。居たらそれこそ米国行っちゃうし。あっちじゃ給料4倍とかだぞ?
ゲームアルゴリズム系で博士論文とかイケる文化が日本にない上に、大学で研究した成果をゲーム会社が使って云々っていう文化もないのがキツい。

527:名前は開発中のものです。
12/12/01 17:32:19.49 0XcK0KjW
時間がないない言い訳するのは無能だけってばっちゃが言ってた

528:デジタルハリウッド@偏差値45
12/12/01 17:50:59.40 8+h6A2zI
クサイスレですねほんと

529:名前は開発中のものです。
12/12/01 18:02:33.76 24GByIke
すごいアルゴリズムや手法を編み出すのは就職してからに決まってんだろ
仕事があるから論文書く時間はねーが書けるくらいのネタは自分たちで編み出せないとダメだ

他人の論文を参考にするって言うのはゲーム発売の周期でいうと下手したら1作品遅れになる
論文が形になって出てくるのに1年とかかかるわけだし
著者のチームは色々ノウハウ持ってるわけだから相当先行されてることになるぞ

まあでもゲームで重要なグラフィックス分野だと
だいたいNVIDIAかAMDから出るので直接競合する形じゃないのはまだ救われてるな

530:名前は開発中のものです。
12/12/01 18:24:32.47 ElCOhwfv
欧米のゲームってそんなにすごいタイトルあったかな?
海外のゲームショーでも話題になってるゲームって
ほとんど日本のタイトルなんじゃないかな?

スト4とかモンハンとかFFシリーズとか
海外では任天堂のマリオ系のタイトルも人気があるらしいね
ポケモンとかも人気あるか

なぜか海外ではドラクエシリーズは人気ないらしいが
俺、日本人だし日本だけで人気でも構わないよ

531:名前は開発中のものです。
12/12/01 20:01:15.64 xtv9SGIG
>>530
Call of Duty

532:デジタルハリウッド@偏差値45
12/12/01 20:40:54.03 8+h6A2zI
League of Legendsがここ最近で成功したゲームらしいですね
わたしはしりませんが

わたしは格ゲーの配信とかよくみてますが
なんかLoLが凄い人気らしいです

Unityで格ゲーとTPSつくりたいです
低脳なのでしょぼいゲームしか作れません

533:デジタルハリウッド@偏差値45
12/12/01 20:41:50.67 8+h6A2zI
>後半、イメージエポック御影社長(左から2番目)を交えトークに拍車がかかります。
>会場からの質問「海外のFPSに日本のFPSが勝つにはどうすればいいと思いますか?」
>御影社長「うーん、海外のFPSはマサチューセッツ大学を首席で卒業したプログラマーとかが作っているので、それを超えるには根本的に開発スタイルを変えないとダメで・・・」

結論はデジタルハリウッドみたいな低学歴じゃいいゲームはつくれないってことですね
ありがとうございました

534:名前は開発中のものです。
12/12/01 21:34:12.28 NTXF1xW1
結論はデジハリにしか入れない程度の努力しかできない奴がまともなゲーム作れないってことだよ
才能でも学歴でもなく、ヤル気の差

535:名前は開発中のものです。
12/12/01 21:45:26.13 +8DAgByD
>>529
Deferred Renderingは20年前の論文が元ネタだぞ。

536:名前は開発中のものです。
12/12/01 22:17:33.59 4uRg8fTG
URLリンク(www.4gamer.net)
ここで紹介されているゲームを見ると、すごいと思ったものは軒並み洋ゲーだが、
結局はおのおの個人の能力次第。

537:名前は開発中のものです。
12/12/01 22:25:48.48 T1i07g+C
業界や各国の情勢の話題は専用板で

ゲーム業界、ハードウェア@2ch掲示板
URLリンク(anago.2ch.net)

538:名前は開発中のものです。
12/12/01 22:55:10.53 amEVcZWj
お前らC/C++の話しろよ

539:名前は開発中のものです。
12/12/02 11:25:23.74 eFlYqC57
デジタルハリウッドって本当にクズしかいねーのな


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch