ゲームプログラミング相談室
■ このスレッドは過去ログ倉庫に格納されています
0001プチ9627m
01/11/06 18:47ID:G6Fk/ND/駄スレ立てる前にココで聞きましょう。
■旧スレ(プログラミング技術板より)
○パート1
http://piza.2ch.net/tech/kako/969/969984472.html
○パート2
http://pc.2ch.net/test/read.cgi/tech/985540361
○パート3
http://pc.2ch.net/test/read.cgi/tech/1002894129/
0061名無しさん@お腹いっぱい。
01/11/08 23:02ID:???おもったんだが・・・ちがうのか?
0062名無しさん@お腹いっぱい。
01/11/08 23:10ID:???中級者はコードを書ける。
上級者はコードを書くかどうかの判断ができる。
0063名無しさん@お腹いっぱい。
01/11/08 23:17ID:???0064名無しさん@お腹いっぱい。
01/11/08 23:20ID:3NmFL/A2同感だけど、
コードを書かないといって実は書けない奴のなんと多いことか。
結論から言うと、
何でも自分で一から作ってきた奴と
ライブラリを使いまくって、ゲームにしたてた奴とでは、
前者の方が圧倒的に使えるんだけどね。
なぜなら前者は中級者だから上級者になれるけど、
後者は永遠に初心者だからね。
0065名無しさん@お腹いっぱい。
01/11/08 23:22ID:???ライブラリから作るのではなくて、作っていくうちにライブラリらしきものができてきて、
後でそれを自分が使いやすいようにライブラリ化。
アマチュアならこれが普通だと思うが。
006664
01/11/08 23:23ID:3NmFL/A2何でも自作することをお勧めするよ。
ライブラリに依存することはいつでもできるから。
0067名無しさん@お腹いっぱい。
01/11/08 23:26ID:???60は59に対するツッコミです。
55と56を読んでミソ
0068_
01/11/08 23:31ID:ZvJlUtz1作ってくうちに、どうしてもD3DXは超えられないことを悟り途中放棄するのがオチ。
0069名無しさん@お腹いっぱい。
01/11/09 00:01ID:???ま、逆にプロになる気とかなくて、趣味でゲームを作る手段として
プログラミングやるならライブラリに頼ってもいいわけで。
0070名無しさん@お腹いっぱい。
01/11/09 00:27ID:QPURCFOq遅レスですが、私も知りたいdeath
ソースと言わず、バイナリだけから判断できたりしないもんですかねー。
ちなみにAllegroはDirectX 3以降みたい。ClanLibのほうはちょっとわかりまへん。むう。
さらに発掘。
Simple DirectMedia Layer
http://www.devolution.com/~slouken/SDL/
0071名無しさん@お腹いっぱい。
01/11/09 02:33ID:???SDLみたいに一人じゃなかなか作れないようなライブラリこそ、
なんか使う価値があるように思った。すくなくともこれのいいところは、
よくある、プログラマ一人のヲナニーライブラリじゃないってところか。
0072名無しさん@お腹いっぱい。
01/11/09 05:42ID:???SDL はマルチプラットフォームですよね。
linuxとwindowsで動作するゲームを作りたいので
これつかってみようかなって考えています。
これってソフトに含めて(実行プログラムのベースにして)
売ってもいいんですよね? Lesser GPL みたいだし…。
0073名無しさん@お腹いっぱい。
01/11/09 09:25ID:???こいつはDirectXのwrapperですな。中身はあまりよく見てないです。
CDX library
http://www.cdxlib.com/
0074なまえ
01/11/09 14:22ID:wBSGHdMWメインループのwait処理なんですが、今まで見たいくつかのゲームのソース
では、sleepしているだけでした。1ミリ秒でも空き時間があればそれなりの処
理ができる思うのです。
メインループは次々とフレーム(実際に表示する画面)を生成してそれをQueue
にPush。別のThreadではQueueからPopして一定のタイミングで書き換えを行え
ば良いのでは?と。
実装はそれほど難しくないけど、デバッグが困難そうですが・・・。
趣味の場合はやっぱりデバッグがネックになりますかね?
・・・あ〜、ダメかな?常に古いフレームが表示されることになるか・・・。
ご意見ください。
0075名無しさん@お腹いっぱい。
01/11/09 15:04ID:???0076なまえ
01/11/09 15:19ID:???『常に古いフレームが表示される』とはそういうことです。
0077名無しさん@お腹いっぱい。
01/11/09 19:22ID:???重たい処理が来たときに、スタックしていた分を消費してごまかすってことかな。
そんなことしなくても、できあがった画像はどんどん更新していったらいいと思いますが。
多分、重たい処理なんて1フレームで終わらないことが多いと思いますし。
どんどん、更新するのが嫌ならsleepさせてタイミングを合わせれば良のでは
ないのでしょうか。
というか、聞いてみるより思いついたらやってみるのが一番ですよ。
0078なまえ
01/11/09 20:08ID:???ということです。1ミリ秒あればいろんな計算ができるでしょ。角度とか。
そして誰もそれをやっていなかったようなので、どうしてだろう?と。
普段ゲーム作ってるわけじゃないので、その辺興味あって。
Thread云々は単なる例です。
文章下手でスマソ。
0079名無しさん@お腹いっぱい。
01/11/09 21:04ID:???毎秒30回とか60回とかでフレームの生成ができればそれで十分なわけで、
「やることがない」ならばCPUを明け渡すのは、
通常のイベントドリブンなGUIアプリケーションでも同じことだと思いますが。
まあ、その辺は作りによります。
sleepやマルチメディアタイマを使わずにガンガン回すタイプもあるし、
メインループが寝てる間に別スレッドで思考ルーチンを動かしたり
データ読み込んだりするのもあるし。
008079
01/11/09 21:22ID:???s/マルチメディアタイマ/割り込みタイマ/
0081名無しさん@お腹いっぱい。
01/11/09 23:02ID:k863gV/Oトリプルバッファにすれば解決するするよん。
0082なまえ
01/11/09 23:11ID:???>「やることがない」ならばCPUを明け渡すのは、
これは全くその通りです。
ただ「描画時間がネック」みたいな発言をよく見かける割に、sleepしているので、
例えば次のフレームの背景くらい用意しておければと。
確かに、そこまでしなくても済むのなら寝ててもかまいませんが。
ちょっと先入観があったみたいです。それこそ作ってみれば解決した問題でしたね>>77
>>81
なるほど。勉強なります。
ゲーム作りって面白そうですね。
ヒマを見つけて少しずつ作ってみたいと思います。
0083名無しさん@お腹いっぱい。
01/11/09 23:18ID:???0084名無しさん@お腹いっぱい。
01/11/09 23:19ID:???0085名無しさん@お腹いっぱい。
01/11/10 06:31ID:???>ただ「描画時間がネック」みたいな発言をよく見かける割に、sleepしているので、
>例えば次のフレームの背景くらい用意しておければと。
たぶんへぼいソース見ただけだと思う。ソースさらしキボン(荒れると思ったらせんでよろし)
FPS可変なら、資源を使うだけ使いたいのでフルで回す。
FPS固定なら、あまる時間はsleepすると。
もちろん、どちらにせよ別スレッドでサウンド流したりしてるかもしれんよ。
0086名無しさん@お腹いっぱい。
01/11/10 10:02ID:???FSP固定の場合は、こんな方法がありますね。
実行スレッド以外に、タイマースレッドを用意する。
CreateEventでイベントオブジェクトを作っておく
タイマースレッドは、Sleepで一定時間眠らせつつ、SetEventを実行する。
実行スレッドは、イベントオブジェクトをWaitForSingleObjectで待つ。
0087名無しさん@お腹いっぱい。
01/11/10 10:59ID:Ci4ZgWPC008877
01/11/10 15:14ID:Pfrth29iなんか混乱しているような気もしますが。
描画処理のwaitと描画処理以外のwaitがごちゃ混ぜになっていませんか?
この当たりの実装はプラットフォームやアプリケーションによって違うので
一概に、こういうコーディングが良い、という例はないと思います。
0089名無しさん@お腹いっぱい。
01/11/10 17:29ID:???Crystal Space どうよ。
0090名無しさん@お腹いっぱい。
01/11/11 05:37ID:???そっちの畑から来た身としては、どうも使えるだけ資源消費せよ、みたいな
コードがどうしても書けない(笑)向いてないのかもしれん。
0091名無しさん@お腹いっぱい。
01/11/11 08:21ID:???そりゃ重いっていわれるよ(w
ゲーム本体のルーチン使いまわしてるから当然なんだけど
0092名無しさん@お腹いっぱい。
01/11/11 09:24ID:54DZd3xvメモリーの動的取得が上手く出来ない
って事かな?
0093名無しさん@お腹いっぱい。
01/11/11 10:25ID:???......ageでなにかいてんだか
>>90
アクション性が無いなら、それでもイイと思うけど。
0094名無しさん@お腹いっぱい。
01/11/11 11:48ID:???バッテリ動作のノートPCとかギリギリで動いてるクロックアップ機とか想定するなら
資源使い切らない選択も悪くないと思ふ。
0095名無しさん@お腹いっぱい。
01/11/11 16:57ID:???↑はベンチマークのために存在しているようなマシンなのだから、めいっぱい負荷をかけてあげると喜ばれると思われ。
009694
01/11/11 20:12ID:???0097名無しさん@お腹いっぱい。
01/11/12 07:32ID:???むしろ熱暴走させてあげるくらいがよいと思われ。
「ああ、しまったクロックあげすぎかー」と反省。
009890
01/11/13 02:28ID:???開いてる時間はOSに処理返しますから。
可能な限りフレームレート上げようという思考で
作業した事ないんで
>93
うーん、そこそこアニメーションさせねばならん時でも、
必要なFTS固定でやっちゃいます。
0099名無しさん@お腹いっぱい。
01/11/20 07:14ID:xfX6epq/0100名無しさん@お腹いっぱい。
01/11/20 09:51ID:LstOLEvlクイックスの座標から適当な方向に線を伸ばしてみる
(というか単純にピクセルを走査してみる)といいと思った。
境界ピクセルと交わる回数が奇数なら領域内、偶数なら領域外。
あとはクイックスがいない側をペイント。これで6502でも安心。
ほんとに超亀レス。
0101名前は開発中のものです。
01/12/10 01:54ID:vuNiN/Utテーブル処理についてよくわからないので教えてください。
言語はVC++です。
検索して探しましたがHTMLばっかりなんで・・
0102名前は開発中のものです。
01/12/10 02:07ID:???まずは、C言語から始めましょう。
VB厨にはとっつきにくいかも…?
0103名前は開発中のものです。
01/12/10 02:56ID:9KJkp3pd「テーブル」「ルックアップ」とかで試してみたほうがいいかも。
あと、英語で検索したほうが引っかかる予感がする。
>>102
ストレス過多は胃に悪いので牛乳でも飲みなされ。
0104名前は開発中のものです。
01/12/11 11:07ID:???テーブルで何やりたい?
そこから説明してくれ。
0105
01/12/11 23:47ID:8empnFet0106名前は開発中のものです。
01/12/12 00:22ID:???まずは試しにカコワルイ稲妻を作ってみるのがよいと思われ。
0107名前は開発中のものです。
01/12/12 00:31ID:???ずばり稲妻を表示するサンプルが載ってたと思う。
VB用とDelphi用だったかな。
0108名前は開発中のものです。
01/12/12 01:11ID:T2PuoAFHhttp://www.art-science.org/pdf/2000/lightning.pdf
この論文は参考にならんかね。
0109名前は開発中のものです。
01/12/12 02:30ID:d7VfLUCO( ´Д`) <これのことか?
/ \
_ | | | |_..∬
|\ ̄ ̄ ̄ ̄ ̄ ̄ 旦.\
./..\\ \
/ \|=================|
\ ノ こたつ \
0111名前は開発中のものです。
01/12/12 09:46ID:???河川の氾濫も含めて教えてください。
0112名前は開発中のものです。
01/12/12 11:31ID:???テーブルをどんな場面で使うのかが解からんのか?
それとも、配列の概念がわからないのか?どっちだ?
>>108 おお!こんな論文があるとわ。
参考になるッす。サンキュー!!
0113名前は開発中のものです。
01/12/14 03:59ID:???0114名前は開発中のものです。
01/12/14 06:41ID:???なんとかなりませんか?
0115114
01/12/14 06:43ID:e7GMQ3b8あと参照使うのとポインタでは速度に違いありますか?
0116名前は開発中のものです。
01/12/14 08:04ID:???0117名前は開発中のものです。
01/12/14 08:09ID:????ちょっと重いってことですか?ありがとうです。
0118名前は開発中のものです。
01/12/14 09:51ID:???掲示板の運営者のすることは管理することなんだから、全部に
目を通せないなら運営すべきじゃない。また削除依頼を公開する
必要もないしなかなか削除しない理由もない。
つまり確信犯で不法行為に荷担しようとしてるとしか思えない。
金儲けはする気はないといっていたが、だったらやっぱり
彼は子供というか、人が困るのが好きなのかもしれない。
63 :無責任な名無しさん :01/11/18 07:00 ID:VZdC2q47
>人が困るのが好きなのかもしれない
俺にもそういう人間にしか見えないよ
違法性の程度は違うが
放火犯のような愉快犯と同じような
気味悪さを感じる
64 :無責任な名無しさん :01/11/18 12:59 ID:OxVkCF27
>>62,63
同意。
知人の警官もひろゆきを気味悪い程の女性気質と評していた。
ガキの頃のひろゆきを想うと、面と向かって喧嘩は出来ないが、上履きを隠したり
して喜んでたタイプだと思う。
どうでもいいけど、ひろゆきの笑った黒目がちな焦点のない目が守大介と似てるの
が妙に気になる。
0119名前は開発中のものです。
01/12/14 23:07ID:???残り半分は気まずさであると信じたい。
0120名前は開発中のものです。
01/12/15 06:23ID:???0121名前は開発中のものです。
01/12/15 17:02ID:9eQ/pH5Vクラスのインターフェースとかなら、
生成されるコードに基本的に違いはないんじゃない?
ただ、安全面から、使えるならできるだけ参照を使うべき。
この辺がCプログラマとC++プログラマの差でもある。ニヤーリ
0122名前は開発中のものです。
01/12/15 17:06ID:???デスマーチ真っ只中でもそういうコード書いてくださる先輩が
いる。まったく持って激しく尊敬。おれも精進せねば。
0123名前は開発中のものです。
01/12/15 18:41ID:???でも参照って配列渡せないでしょ。違ったっけ?
ポインタも使いようだと。メンドイけど。
0124名前は開発中のものです。
01/12/15 18:42ID:???0126名前は開発中のものです。
01/12/15 23:43ID:zSSwxmsK別に参照もポインタも安全性はかわらんよ。
NULLポインタの可能性がないとしても、NULL参照の可能性はある。
int& GetRef()
{
int* n = NULL;
return *n;
}
こっちの方が余計厄介
0127名前は開発中のものです。
01/12/15 23:54ID:???って問題でしょ。
0128名前は開発中のものです。
01/12/16 01:25ID:???個人的にはたまにあるほうがはまると思う。
0129名前は開発中のものです。
01/12/16 01:29ID:???>でも参照って配列渡せないでしょ。
じゃあ参照で何を渡すことができるのか小一時間問い詰めたい
0130名前は開発中のものです。
01/12/16 01:41ID:???しかも、
関数側がパラメータを書き換える場合はポインタ、
関数側がパラメータを書き換えない場合は const 参照、
みたいな、教科書的使い方しかしてない。
0131あぼーん
NGNG0132_
01/12/16 02:36ID:Ar8VngeJだから、constで。
俺は、ネストがうざくないなら、ポインタで済ますけどね。
0133名前は開発中のものです。
01/12/16 03:58ID:???そのコードは結局ポインタの問題であると思うがいかがであろう。
プログラム板向けな話題だが……。
0134名前は開発中のものです。
01/12/16 07:07ID:???なんて書いてあったか気になる・・・
0135名前は開発中のものです。
01/12/16 07:33ID:+KES3Ub0表示が破綻するのですが、なにか回避作はないのでしょうか。
0136名前は開発中のものです。
01/12/16 11:55ID:???0137名前は開発中のものです。
01/12/16 12:45ID:???フォントの大きさを固定する。
0139名前は開発中のものです。
01/12/16 17:25ID:???nazo
0140名前は開発中のものです。
01/12/16 17:42ID:aHuW4LrA割とFAQなんだがな。検索したか?
0142名前は開発中のものです。
01/12/16 21:18ID:daAjOz/USetErrorMode(SEM_FAILCRITICALERRORS)して
GetVolumeInformation()すれば?
FD入ってなければエラーが返るよ。
0143名前は開発中のものです。
01/12/24 16:40ID:TT6cQF5s0144名前は開発中のものです。
01/12/24 23:02ID:q2IMbhtW0145名前は開発中のものです。
01/12/25 06:00ID:???砂糖だけ取り出すようなものではありますまいか。
0146名前は開発中のものです。
01/12/25 21:55ID:???つまり、かな〜り難しいということですね。
どうもありがとう。
視点は別でとっておきます。
0147名前は開発中のものです。
01/12/26 11:46ID:???はっきり覚えていない
0148-
02/01/08 23:20ID:yU2HT0bl0149名前は開発中のものです。
02/01/08 23:28ID:???英語
0150名前は開発中のものです。
02/01/08 23:36ID:???日本語使おうぜ。日本人なら。
0151名前は開発中のものです。
02/01/09 00:10ID:???0152名前は開発中のものです。
02/01/09 00:28ID:???C++使っておけば馬鹿にされない。
0153名前は開発中のものです。
02/01/09 00:44ID:???pygameは?
誰も使ったことなさそうだ。
0154名前は開発中のものです。
02/01/09 08:37ID:???それをもっとも適した言語というのはどうかと(w
まあ、くやしいがC/C++じゃないかな
0155-
02/01/09 22:11ID:???0156名前は開発中のものです。
02/01/09 23:51ID:???フルアセンブラでなくても、インラインアセンブラぐらい書けたら
たまーに重宝する事があるんだが…。
0157名前は開発中のものです。
02/01/10 02:04ID:???0158名前は開発中のものです。
02/01/10 14:53ID:4z5AnKwA0159名前は開発中のものです。
02/01/10 15:23ID:???0160名前は開発中のものです。
02/01/10 21:58ID:s/3jCGLIhttp://hello.to/dtm/
自動作曲ツール
■ このスレッドは過去ログ倉庫に格納されています