C/C++ゲーム製作総合スレッド Part2at GAMEDEV
C/C++ゲーム製作総合スレッド Part2 - 暇つぶし2ch202:名前は開発中のものです。
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
デジタルハリウッドって本当にクズしかいねーのな

540:名前は開発中のものです。
12/12/02 19:06:37.84 NaDkLQwc
R&D担当するような人は大学から採用するだろう
専門学校は兵隊さんを生産するところだしそんなもんだ

541:名前は開発中のものです。
12/12/02 21:04:54.41 npJ5erFs
デジハリは専門学校ですら無いんだが。

542:名前は開発中のものです。
12/12/02 21:23:44.74 QrQOyspf
嵐の活動で評価されるとか不当評価にも程があるだろw

543:名前は開発中のものです。
12/12/02 22:31:26.76 A1fKXAE3
3Dゲームは攻撃に当たり判定持たせるのが面倒だな
武器モデルに判定付けるか、適当に座標でやるか迷う

544:名前は開発中のものです。
12/12/03 23:23:00.44 oE5O/dbh
やたらESPを要求する難読な文章を書く人も面倒だよ

545:名前は開発中のものです。
12/12/03 23:49:11.34 fh2a9qcL
文盲の方ですか

546:名前は開発中のものです。
12/12/04 07:26:02.88 P3nilyRL
>>544
ノベルだとそんな奴ばっかしだよ

547:デジタルハリウッド@偏差値45
12/12/04 20:03:12.43 pyQ/lRzS
バカにするなぁ!!
夢をもってないやつは生きてる価値なし!!

548:名前は開発中のものです。
12/12/04 20:39:42.20 Sbe64al8
叶える努力すらまともに出来てないのに何を

549:名前は開発中のものです。
12/12/04 22:23:01.34 00oqnh2V
子供の頃から勉強でも何でもそつなくこなしてきた俺だが
そんな俺が唯一、ものにすることが出来ずに挫折してしまったのが
プログラミングだった

これまで幾度となくプログラミングには挑戦してきたよ
VBにC言語にC++等々・・・
だがいつも毎回、途中で飽きて投げ出してしまうんだよね

C言語の入門書を購入して丸々一冊勉強してみたが
出来たことはウィンドウを表示させて文字を表示させて
あと色々な計算をさせて・・・と

だが俺が求めてることは、そんなつまんないことじゃなくて
ゲーム制作なんだよね

550:名前は開発中のものです。
12/12/04 22:24:44.91 MagWrEa/
必要なのはプログラミング能力じゃない
絶対にゲームを作り上げたいという熱意だ
それさえあれば必要なことは調べていける

551:名前は開発中のものです。
12/12/04 22:27:17.63 Sbe64al8
こういうのを見るといつも思うんだが、
ゲーム制作がしたいなら最初からゲーム制作を学べよと

552:名前は開発中のものです。
12/12/04 22:28:21.22 MagWrEa/
根本的に、ゲームを作りたいという気持ち自体が貧弱だということが問題だということに気付くべき

553:名前は開発中のものです。
12/12/04 22:35:37.97 mehPo5fV
RPGツクールでいいじゃん
プログラミングなんて出来なくても面白いゲームは作れるっしょ

554:名前は開発中のものです。
12/12/04 22:36:22.84 P3nilyRL
>>549
とりあえず、ノベルツールかRPGツクールのスクリプトでもやってみ?

555:名前は開発中のものです。
12/12/04 22:37:01.31 EUvVwbkZ
ちやほやされながら1から10まで作りたいというのがヲタの理想
なお現実は

556:名前は開発中のものです。
12/12/04 22:39:53.14 Sbe64al8
自分の世界に篭って浸ろうと思えない時点でそれオタクじゃないな
近年増えたオタクもどきのただの中途半端なゲーム好き

557:名前は開発中のものです。
12/12/04 22:46:57.67 P3nilyRL
ちやほやされるに越した事は無いが、篭って浸るのって無茶苦茶楽しくね?

558:名前は開発中のものです。
12/12/05 00:02:00.31 Zsslocr+
仕事やめて部屋に籠りたいとは常々思ってる

559:名前は開発中のものです。
12/12/05 00:10:26.63 D7qPnhYa
学生 「うわヒッキーwww だっせぇえええwwww」
社会人 「ひきこもり…あれはいいものだ…(遠い目)」

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

お前らUnityすら使えないクズには無理だろw
あきらめろw

561:名前は開発中のものです。
12/12/05 00:57:17.05 ZH9n4plT
マジレスすると実際にUnityにさわる機会あるのなんてプログラマですらないスクリプタだけだよね

562:549
12/12/05 01:18:51.09 W0pApem4
>>553
結局さ
プログラミングでのゲーム制作は断念したんだけど
それでもゲーム制作魂の熱が冷めきれなかったから
RPGツクールでゲーム制作をやってみたよ

DD0-プロローグ
(p)URLリンク(www.youtube.com)
DD0-オープニング1
(p)URLリンク(www.youtube.com)

で、こんな感じのRPGを作ってみたんだけど
やっぱダメだったね
多分、技術うんぬんよりも、もっと根本的なゲーム制作に対する情熱だったり
根気などが俺には欠けていたんだと反省したよ

563:名前は開発中のものです。
12/12/05 01:52:32.94 ZH9n4plT
>>562
頑張ってると思うよ
ただこれならツクールじゃなくて吉里吉里でも使ってノベルにしたほうがいいんじゃないかと思った

564:名前は開発中のものです。
12/12/05 09:02:31.13 rv6gql98
イメエポの社長の発言コピペされてるけど何が言いたかったんだろうなこれ
主席で卒業したプログラマー?FPSのプログラムなんぞ中卒ニートでも出来るだろう
演出や脚本って話ならハリウッド映画経験者とかいるので太刀打ち出来ないのは確かだろうけど


>>562
あんたゲ制で見た事あるなw
本気でプログラム勉強したいのなら人のコード読むのが一番早いと思う
id Softwareがゲームのソースいくつか公開してる
DOOM3 ソースとかで検索すれば出てくるよ

565:名前は開発中のものです。
12/12/05 09:50:15.77 5bbxrjLT
すぎなみたくやってどっかで聞いた名前だと思ったらkazukiやポナルポと呼ばれていた人じゃないか
こんなところで見かけるとは

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


馬鹿には無理

567:名前は開発中のものです。
12/12/05 10:02:50.86 5bbxrjLT
プログラマーって仕様書通りに組むだけの単純作業だろ
誰が組んでも差はバグやロードが多いか少ないかだけでゲーム性には何も影響はない

568:名前は開発中のものです。
12/12/05 10:18:25.27 /Bq85UGR
>>567
その仕様書が「ここに来たら巨大ロボがガーッて現れて、
ドカンドカンって撃ってきて、ビューンってジャンプして
ガガガガって滑る感じにして」っていう
曖昧な口頭リクエストなのが現実。

569:名前は開発中のものです。
12/12/05 10:19:55.74 5bbxrjLT
>>568
そりゃ開発スタイル変えないとダメだなww
プログラマー関係ねぇ

570:名前は開発中のものです。
12/12/05 10:44:55.97 3SPXtkmk
一言にプログラマと言っても色々あるからな
社長が言ってるプログラマは作業者ってより
新しいアーキテクチャやアルゴリズム開発する
研究開発者の事だろうな
どっちかって言うとプログラミング以前に
数学の知識が求められる

571:名前は開発中のものです。
12/12/05 10:46:28.86 hS4Plf9e
世の中いくつのゲームがロードとバグでゲーム性を破壊したか・・・

572:名前は開発中のものです。
12/12/05 10:50:13.36 5bbxrjLT
それゲーム性じゃなくて快適性とゲームバランスじゃね

573:名前は開発中のものです。
12/12/05 12:03:05.10 VgNzdCdq
>>572
いづれにしろ損なえばクソゲーだけどな

574:549
12/12/05 12:51:38.89 W0pApem4
>>570
ゲーム会社でゲームを制作してるスタッフは
当然、全員がプログラマーではなくて
音楽だけを担当する人もいれば、鳥山明のようにキャラデザだけやる人もいる
そういう専門分野の人たちはいいとして

ストーリーとか企画とかアイディアだけを考えるスタッフは
プログラムは全く知らない素人だったりするのかな
それとも、そういうスタッフもある程度のプログラミングの知識は持っているものなのだろうか

575:名前は開発中のものです。
12/12/05 13:00:20.41 W0pApem4
>>568
ああ、何となく仕様書のイメージが浮かんできた

1枚の用紙に画面を見立てた箱枠が描かれていて
そこに大雑把なキャラや矢印とかが描かれていて、
「こっちにこう移動してきて、そのあと、こんな動きでこんな動作をさせたい」
みたいなことが描かれてるわけですねw

でも、そういう風に書かないと作りたいイメージって伝わらないような気がしますね

576:名前は開発中のものです。
12/12/05 13:03:28.59 5bbxrjLT
昔から良作を生み出してるプランナーはほぼ全員プログラム書ける
そういう人は、子供の頃からアイデアを形にする為に色んな創作をしてきたから何でも器用にこなす

今では、ゲーム開発スタッフのうち、優秀なプログラマーが企画に抜擢される場合が多いし

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

マサチュッセーツ大学のがんばり>>>馬鹿のがんばり

578:名前は開発中のものです。
12/12/05 13:11:55.27 hS4Plf9e
そもそも開発スタイルでなんとかなるなら学歴とか誰も求めねーっていう

579:デジタルハリウッド@偏差値45
12/12/05 13:12:52.03 jp+BD9PA
低学歴の即レス(笑)

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

580:名前は開発中のものです。
12/12/05 13:22:37.09 5bbxrjLT
イメージエポックってどの程度の会社なんだよとググろうとしたらご丁寧にも関連検索ワードにクソゲーって出てきたよ

581:名前は開発中のものです。
12/12/05 13:40:36.18 FAmK5OKb
ところで日本のFPSってどんなんあるの?
TPS風のアクションゲームならいっぱいあるけど、FPSってあんまりないよね?
64の007位しか知らんわ

582:名前は開発中のものです。
12/12/05 19:04:16.07 mJU3rSwT
>>545
まぁ、例えば>>543が何を迷ってるのか理解できる?
行間を推測したり、表現力の無さを補間すると色々な
可能性が想起できるけど、会話にはならず脳トレで終わる
直接に対面してれば色々聞けるけど、こういうスレだと
それはできないし、結局どういう反応を期待してるのか
謎だよね。独り言なのかな、とは思うけど

583:名前は開発中のものです。
12/12/05 19:05:50.71 mJU3rSwT
>>581
URLリンク(en.m.wikipedia.org)(1997_video_game)

洋ゲー

584:名前は開発中のものです。
12/12/05 19:29:40.22 j0lAd8+P
スレ違いだ馬鹿ども

585:名前は開発中のものです。
12/12/05 19:29:48.54 1ABhelRH
>>583
なんで日本語のwikiあるのにわざわざ海外のヤツはるの?

しかし、どんなのあるかもわからんようなもんを膨大な開発費で作られたゲームと比較して
「勝つにはどうしたらいいか」ってそもそも議論としてなりたたないんじゃね

586:名前は開発中のものです。
12/12/05 19:39:59.70 O5RwaKKN
>>584
どうもこの間から流れがおかしい
変なのが住み着いたか

587:名前は開発中のものです。
12/12/05 19:44:32.68 5bbxrjLT
デジタルハリウッドとポナルポという二大キチガイが居る時点で

588:デジタルハリウッド@偏差値45
12/12/05 21:08:41.30 mvjh2Sl9
低学歴へ

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

589:名前は開発中のものです。
12/12/06 01:32:24.33 /C9ywAz0
だから日本のFPSってなによ?
比較になってねーだろって

590:名前は開発中のものです。
12/12/06 05:54:12.14 OR1WKfSs
>>589
SeeNaに決まってるじゃん。

591:名前は開発中のものです。
12/12/06 08:03:48.67 /oF0dOum
落ち着いてスレタイと>>1を音読しろ馬鹿共

592:名前は開発中のものです。
12/12/06 14:50:50.09 secBQEQ4
ゲーム制作で関数ポインタ使ってます?
僕はあれのメリットが理解しきれずとりあえず使わなくて進めてます。
例えば複数の敵や弾があった場合、名前や引数が同じだけど内容が異なる処理をループで実装したい場合に使ってますか?
実際の使用例とか聞いてみたいです。

593:名前は開発中のものです。
12/12/06 15:50:04.34 wGXNDkNL
>>592
タスクシステム

c++なら関数ポインタ使うような所はポリモーフィズムで対応するんじゃない

594:名前は開発中のものです。
12/12/06 17:52:50.38 MOIAHQLk
>>592
ゲーム系ツールでは使ってるけど、ゲーム制作では使ってないなあ。

595:名前は開発中のものです。
12/12/06 18:18:57.69 fuWUXeVY
アドベンチャーゲームとかでイベントのスクリプトを実装しようとしているのだけど、
例えばmessage('hogehoge')でメッセージを表示するスクリプトだとすると実装は、

1 事前にmessage()関数を用意してスクリプトを直接評価してその関数を呼び出す

2 識別子(message)を取り出して文字列マッチングで処理する

どちらの方法が良いだろう

596:名前は開発中のものです。
12/12/06 18:27:25.72 /oF0dOum
>>592
マルチスレッドのために別スレッドで実行する関数のポインタを渡す

597:名前は開発中のものです。
12/12/06 19:14:32.65 k6F8L/e1
>>595
自作のスクリプト言語?
スクリプト内で色々定義出来るようにするなら後者の方が楽
しないなら前者の方が楽で高速

個人的な意見を言うなら組み込みスクリプト使った方が楽

598:名前は開発中のものです。
12/12/06 19:17:59.37 sPyX5poJ
luaを組み込んで思うように処理速度出なくて死ね

599:名前は開発中のものです。
12/12/06 19:39:44.25 IAqOXp0Z
>>592
個人的にはオブジェクト配列はポインタ使ったほうが管理しやすいな。
observerパターンなんかもポインタ使う。
蛇足ながら、無理に使えとは言わんけど、
デザインパターンは一通り目を通して損はしないと思う。

600:名前は開発中のものです。
12/12/06 19:54:42.30 ySGiyJS+
コールバックで関数ポインタ必要でしょ。
Windowsでプログラミングすれば嫌でも必要になるはずだが?

601:名前は開発中のものです。
12/12/06 19:57:34.43 +vhLc7nO
>>595
ごめん質問の意味を曲解してたかも
スクリプトの構文解析をどうするかって話?

602:名前は開発中のものです。
12/12/06 22:26:25.89 /oF0dOum
>>598
jit版使え
継承階層深くなければv8にも勝る速度を稼げる

603:名前は開発中のものです。
12/12/06 23:13:35.68 IAqOXp0Z
>>600
MFCならカプセル化されてるし、そうでなくとも、
関数ポインタなんか意識せずとも書けるでしょ。
VC++はご丁寧にテンプレート吐いてくれるし。

604:名前は開発中のものです。
12/12/06 23:17:48.75 G+8u4RQx
無用なスクリプト化を思い留まる冷静な判断力、って初心者には軽視されがちだよね
技巧に走るのが目的のお勉強趣味なら好きにすればいいけど

605:名前は開発中のものです。
12/12/06 23:31:32.07 +fSGl9c6
今はインターフェースっぽいの使って配列に子クラスのインスタンス詰めて処理してます。
これがポリモーフィズムになるのかな?
とりあえず関数ポインタは置いといてやってみます。
関係ないけど昨日循環参照になってしまったみたいでずっとコンパイルできなかった、、

606:名前は開発中のものです。
12/12/07 06:21:28.35 tL7IIDRf
>>603
MFCってw 今時w

607:名前は開発中のものです。
12/12/07 06:23:32.54 tL7IIDRf
StateMachineのデザパタで必要じゃない?>関数ポインタ
ゲームにStateMachineは必須でしょ。

608:名前は開発中のものです。
12/12/07 07:29:40.83 BoWzUI+p
>>598
>>602
アドベンチャーに速度が必要なの?

>>604
逆に有用なスクリプト化ってどんなだよ

609:名前は開発中のものです。
12/12/07 07:39:51.21 ynWkr9Hy
>>607
どの部分に状態遷移を使うか、あるいはどう実装するか次第じゃない?

例えば、タイトル画面 → プレイ画面 → エンディング画面 のような遷移なら、
それぞれの画面ごとにクラス化(共通の親を持つ)して、State/Strategyパターンでもいいかもしれない。

状態遷移表を用意して一括管理するなら、関数ポインタの方が楽かもしれない。

610:名前は開発中のものです。
12/12/07 07:41:53.64 ynWkr9Hy
>>608
>有用なスクリプト

横だが、やっぱ作業分担の時じゃね

611:名前は開発中のものです。
12/12/07 09:16:12.26 5eInNVDL
スクリプトの利点は
・コンパイル不要
・習得が容易

スクリプトの実装はプログラミングスキルそんなに要らないから分担しやすい
頻繁に調整のかかる部分の実装に使うと効率的に開発出来る

一人で作ってる小さなプログラムだとあんまり役に立たんかもな


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