ゲームプログラミング相談室
■ このスレッドは過去ログ倉庫に格納されています
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/
0522名前は開発中のものです。
02/07/25 12:19ID:???お前は効率的な書き方をマスターしたいのかゲームを完成させたいのかどちらだ?と
小一時間(以下略
慣れないうちはきっちり動くものを作り上げてから速度&効率のチューニングをやれYO!
とマジレスもしてみるテスト
0523チューニングなんて後から
02/07/25 12:51ID:???↓
ちょっと効率のいいアルゴリズム発見
↓
それにあわせて書き直す
↓
さらに効率のいいアルゴリズム発見
↓
それにあわせて書き直す
↓
さらに効率のいいアルゴリズム発見
↓
:
:
0524511
02/07/25 21:22ID:???>>522
>お前は効率的な書き方をマスターしたいのかゲームを完成させたいのかどちらだ?
ゲーム完成させたいです!
>慣れないうちはきっちり動くものを作り上げてから速度&効率のチューニングをやれYO!
そうですね、まだ直さなきゃ行けないとこがいぱーいあるのに
綺麗なソースをかきたいなんて100年早かったです。。反省。。。
>>523
うう、完成しないままループしてしまいますね。。。。。
きっちりさいごまで仕上げることに専念します。
今日は移動用の選択カーソルの不具合をなおします。
0525名前は開発中のものです。
02/07/25 22:06ID:???報告ならここにしろ
■自主製作ゲーム:開発状況報告スレ■
http://game.2ch.net/test/read.cgi/gamedev/1005143186/l50
0526西村トオル、ナイスですね〜
02/07/26 20:35ID:???カメラアングルは、女優(対象)を後ろから捉えています。
そこで質問なんですが、
イベント中とかにゲームの動きを止めて
カメラだけを動かして女優(対象)を舐め回すように撮影したいんですが、
(取り合えず、女優を中心に球を想定して、常に女優の方を捉えつつ
その球面上をカメラが移動って方向で)
何か良いカメラの動きのアルゴリズムとか知りませんか?
やはり、監督自身(自分で)動く軌跡(座標)を切ってやらないといけませんかね?
0527名前は開発中のものです。
02/07/26 22:27ID:???ベジェ曲線みたいにすりゃいいんじゃない?
0528名前は開発中のものです。
02/07/28 03:47ID:???検証もせずに、他人のコード採用してたら、それこそあぼーんだよ。
解決案が必要なのに、エゴに凝り固まって、他人のソース見ることも出来ないのは、もっと重傷だけどね。
まあ、ゲームに関して言えば、コーディング技術云々より、ゲーム全体としてのデザインの方が重要だから、
そんな小さなことにこだわるな、というのが正解かもね。
0529名前は開発中のものです。
02/08/15 17:23ID:???んなこたーない
0530名前は開発中のものです。
02/09/15 11:53ID:???基底クラスを書いて、音や絵やその他のデータなんかも
まとめて管理してるんでしょうか?
0531名前は開発中のものです。
02/09/15 19:09ID:???PCの話で良い?
データのI/Oはインタフェースに肉付けしてく形で作ってる。
具象クラス側で生ファイル、圧縮ファイル、ネットワーク、リソース、
各I/O方法にあわせる事が出来るし、プロトタイプ作ってる途中は
生ファイルI/Oだけあればよいし。
0533名前は開発中のものです。
02/09/19 05:00ID:N2qPvY6Q今は、各々のキャラクタのクラスがサーフェスやアニメーションの情報も持っていて、
なんとなく不細工な感じがするので、見た目の情報を切り分ける事にしたんですが、
それを一元管理するクラスの設計が出来ません。
今動いてる物をいじるんだから、それなりに便利にしようと思い、
確保したサーフェスやアニメーションの情報や、今表示中のスプライトの情報を、
管理クラスの寿命と共に廃棄できるようにしようとしたり、
サーフェスやアニメーションの情報を削除しても、それをまだ使用してるスプライトがあったら、
そのスプライトが削除される時までは、保持されるような物を作ろうとしました。
けれど、実装してもうまくいかないし、
整理しようと紙に書いていても、頭が混乱してきました。
みなさんは、こんな場合にはどう設計されていましたか?
0534533
02/09/19 05:03ID:???すみません。
0535名前は開発中のものです。
02/09/19 05:10ID:???0536名前は開発中のものです。
02/09/19 05:14ID:???◆オブジェクトクラス
スプライトへのポインタ(場合によってはテーブル)
各種パラメータ
_______
◆スプライトクラス
対象サーフェスへのポインタ
サーフェス上のRECT
現在位置
アニメーションありの場合RECTのテーブル
_______
◆サーフェースクラス
サーフェス実体
スプライトからの参照カウント
という風に階層分けをしてうまく作った。
0537536
02/09/19 05:18ID:???スプライトクラスを
◆スプライトクラス
現在位置
スプライト定義クラスへのポインタ
表示しているRECTのindex
◆スプライト定義クラス
対象サーフェスへのポインタ
RECTのテーブル
と分ける。
0538名前は開発中のものです。
02/09/19 05:18ID:???私がやったときは、各キャラのデータを保持するクラスを作って
それとは別に「キャラのデータを元に画面を組み立てる」関数を作った。
ハードコーディングでキャラの外見を決める場当たり的な方法だけど、
小規模なら混乱を最小限に防げてプラクティカルだよ。
0539名前は開発中のものです。
02/09/19 05:35ID:???シーン構築時に必要な物をすべて読み込んで、
終了時にまとめて削除する方が速いしスマートじゃね?
0540533
02/09/19 05:42ID:???早朝からありがとうございます。
リファレンスカウンタは、調べていてる時に見つけて
>>536 さんのような感じにしていたんですが、
管理するクラスと、それに管理されるクラスとの関係を
上手くまとめられませんでした。
ゲーム開始前の時点で、管理クラスにサーフェスやアニメーションなんかの
描画に関係する物を登録して、終わった時には、使っていたほうは意識せずに、
管理クラスが、自動的に廃棄してくれるようにしようとしたんですが、
>>533 で書いたように、混乱して終わりました。
ここらへんの管理クラス回りの設計を質問したかったんですが、
文章が長い上に要点がボケてました。すみません。
0541533
02/09/19 06:08ID:???>>537
そうやって定義を分けておくと、同じ種類のキャラクタのスプライトで使いまわせますね。
参考になりました。
>>538
>「キャラのデータを元に画面を組み立てる」関数
が私が最初にとっていた方法だと思います。
その場合のキャラのデータとは、見た目やゲーム内での状態を一つにまとめて
表してる物の事ですよね?
違ってたら、すみません。
>>539
> シーン構築時に必要な物をすべて読み込んで、
> 終了時にまとめて削除する方が速いしスマートじゃね?
そうしたかったんですが、このへんが、よくわからなかったところなんです。
必要な物を管理するクラスの設計を、触りだけでも解説していただけませんか?
0542名前は開発中のものです。
02/09/19 12:33ID:???読み込み失敗時のエラー処理が繁雑になるから、ゲーム開始時点で
まとめて読んでしまった方が良いかも。データ量にも依るけど。
0543名前は開発中のものです。
02/09/19 15:44ID:0CTGoUX30544名前は開発中のものです。
02/09/19 15:57ID:???トランスフォームやライティングやテクスチャやブレンディングなどの頂点処理機能のこと。
プログラマブル頂点シェーダは、いままで処理系(Direct3Dなど)の
固定機能のみであったのに対して、これらの機能をプログラムできるってやつ。
0545名前は開発中のものです。
02/09/19 16:04ID:39QNxA7D0547名前は開発中のものです。
02/09/20 02:00ID:???イイ!
0548名前は開発中のものです。
02/09/20 04:38ID:???0549名前は開発中のものです。
02/09/22 18:44ID:lBYio+jt普通の人間に近い画角を設定すると、至近距離での物の見え方が
おかしいように感じます。
0550名前は開発中のものです。
02/09/22 19:54ID:???今のところ現実的な解決方法が見つかってないと思う。
至近距離のものは、目には歪んで見えているのに真っ直ぐのものを
真っ直ぐと認識できる。これは脳みそが補正しているからです。
至近のものをなんとかして正しくゆがめて表示すると、
それはそれで不自然に感じるはず。
なぜなら、脳が補正しないから。
0551名前は開発中のものです。
02/09/22 19:57ID:???最大の問題は、目からディスプレイまでの距離が離れているから、
自然な映像は目からディスプレイよりも近い映像を表示し得ない
のです。
ヘッドマウント式のディスプレイであれば、
正しくゆがめるとちゃんと認識できると思う。
0552名前は開発中のものです。
02/09/22 22:18ID:???HMDは焦点距離を1mくらいに設定してるので、
結局うまく認識できないと思う。
0553名前は開発中のものです。
02/09/22 22:28ID:???0554名前は開発中のものです。
02/09/22 22:52ID:???グラデーションはbit数を上げれば解決するけど。
0555名前は開発中のものです。
02/09/23 00:45ID:ThYVC2el本は絶版みたいだし、お願いします
0556名前は開発中のものです。
02/09/23 01:03ID:v6pFfVCjやめとけ。検索すればすぐでると思うが、情報がいい加減でひどい
フォーマットってうわさだ。何に使うん?
0557名前は開発中のものです。
02/09/23 01:11ID:???3D拡張もあるらしいが
0558名前は開発中のものです。
02/09/23 01:13ID:v6pFfVCj0559名前は開発中のものです。
02/09/23 01:53ID:???ありがとうございます。
3Dを扱う一般的なフォーマットは知っておかんといかんかな、と思いまして
0561名前は開発中のものです。
02/09/23 06:14ID:FUH7SiPADirectX8はWizardもついてだいぶよくなったみたいだけど
構造体がいっぱい残ってるのがうっとしいです。
やれることが限定されても、そのへんクラスで結構隠してくれてるのが
あればいいんですが。
0562名前は開発中のものです。
02/09/23 07:28ID:???0563名前は開発中のものです。
02/09/23 07:39ID:???http://www3.justnet.ne.jp/~botchy/el.htm
0564名前は開発中のものです。
02/09/23 07:57ID:???オイオイ
> いいの
ダヨ
0565名前は開発中のものです。
02/09/23 08:13ID:???洗練されているという良い物ではないけど。
0566名前は開発中のものです。
02/09/23 08:14ID:FUH7SiPAありがとうございます。
ELLibちょっとヘッダ眺めてみました(眺めただけ)。
ほかにもあれば、情報収集しときたいのでお願いします。
0567名前は開発中のものです。
02/09/23 08:34ID:???やねうらおの奴使っておけ。
まー、完璧ではないかも知れないが普通に使う分には問題ない。
NxDrawが生きてたらそれが良いと思うんだけどね。
あとはゆきいるかの所かなぁ
リンクは面倒なのでぐぐってくれ。
ゲーム用のフレームワークが本格的なゲームエンジンを指す場合、
高い金払ってUTのエンジン使えるように契約したりしてくれ。
0568名前は開発中のものです。
02/09/23 08:49ID:FUH7SiPAふんふん、なかなか本格的ですね。
これはどうもありがとうございます。YTLには笑った。
趣味で使うつもりなので。
UTって何でしょう。
0569名前は開発中のものです。
02/09/23 09:41ID:???この辺を嫁ばいい。
http://udn.epicgames.com/
0570名前は開発中のものです。
02/09/23 10:35ID:???ありがとうございます。
ちょっと見ただけでは良く分かりませんでしたが
今度暇なときに見てみます。
0571名前は開発中のものです。
02/09/23 14:39ID:???あれじゃあ、片手落ちじゃない?
0572名前は開発中のものです。
02/09/23 15:12ID:???その前に君は日本語を使いなさい。
「あれ」は何の指示代名詞なんだい。
0574名前は開発中のものです。
02/09/23 15:29ID:???571
<#`Д´>パ、パカニスルナ
0575名前は開発中のものです。
02/09/23 16:30ID:???厨に変なツッコミいれられるから
0576名前は開発中のものです。
02/09/23 16:52ID:???575=厨
0577名前は開発中のものです。
02/09/23 16:58ID:???とりあえず誰か>>571の解説を頼む。
正直、俺には読解不能。
0578名前は開発中のものです。
02/09/24 23:47ID:???やねうライブラリでは、2D しか対応してないって事では?
0579名前は開発中のものです。
02/09/25 00:30ID:???0580578
02/09/25 02:18ID:???今時の PC でゲーム作るって言ったら、
3D に対応してるライブラリのほうが、作るのが簡単で良いんじゃない?
無理に 2D に落として仕様を考えるよりも、素直にアイデアを出せるし、
三世代くらい前のカードでも、充分速かったと思うよ。
0581名前は開発中のものです。
02/09/25 02:31ID:???ん?
3Dの世界を構築するエンジンじゃなくて、
3Dハードを使うって事か?
0582名前は開発中のものです。
02/09/25 08:22ID:???0583名前は開発中のものです。
02/09/25 08:52ID:???0584名前は開発中のものです。
02/09/25 17:49ID:???権威を失うから駄目なんだよ。←2Dなら深い質問も大丈夫です、かかってきなさい
という意味と思われ
0585名前は開発中のものです。
02/09/25 20:08ID:???また可能ならどういった方法がありますか?
テキストとバイナリを交互に書き込んでみたのですがテキストが化けました
Delphi、Windowsです
0586名前は開発中のものです。
02/09/25 20:14ID:???テキストをバイナリとして扱えばいいんでねーの?
0587名前は開発中のものです。
02/09/25 20:39ID:???なるほど、その手がありましたか!!
ありがとうございました
0588名前は開発中のものです。
02/09/25 21:07ID:???0589名前は開発中のものです。
02/09/25 21:23ID:???>>585を再度質問させていただきます
よろしこ
0590名前は開発中のものです。
02/09/25 21:37ID:???漢文を訳すより難解なり
0591名前は開発中のものです。
02/09/25 21:40ID:???ヘッダだけテキストにしてそれ以降をバイナリ
もしくは全部テキストにしたければバイナリをbase64にでも変換すれば?
0592名前は開発中のものです。
02/09/25 21:54ID:???>ヘッダだけテキストにしてそれ以降をバイナリ
Delphiでどうすればできるのか教えて欲しいです
Cではできますた
0593名前は開発中のものです。
02/09/25 22:14ID:???同じようにしる!!
その手の作業に関しては、
DelphiでできてCでできないのはわかる(VCL使っているとか)が、
CでできてDelphiでできないというのはよくわからない。
0594名前は開発中のものです。
02/09/25 22:16ID:???こたえられるかもしれんよ。
0595名前は開発中のものです。
02/09/25 23:00ID:???テキストバイナリ混成データ送ろうとして
四苦八苦した思い出があるなぁ
けど、もうどうやったのか忘れた(藁
0596名前は開発中のものです。
02/09/25 23:38ID:???0597名前は開発中のものです。
02/09/25 23:41ID:???Personalでやったから苦労したんだよ!
ちなみにパケット越しじゃなくて
パケットに詰めて、だな
0598名前は開発中のものです。
02/09/25 23:57ID:???シリアライズとデシリアライズのコードを対になるように書けばそれで
終わりっしょ?DelphiもCも関係ないと思うんだが・・・
0599名前は開発中のものです。
02/09/26 01:34ID:???アホですか?
そのシリアライズがうまくいかないって話なんだけど?
てか思い出したけど
サーバC++/クライアントDelphiでやってて
コネクションまで確認できたのに結局データのやりとりはうまくいかなくて
クライアントもC++で組み直したんだった
もちろんDirectPlay使ってたとかいうオチじゃなくてWinSockでやってた
0600名前は開発中のものです。
02/09/26 01:36ID:???非PersonalだとコンパイラやIDEが勝手にプログラマの無知を補間してくれるんですか?
0601名前は開発中のものです。
02/09/26 06:31ID:???ゲームアプリ開発に及ぼすってことなのかね。
あまり考えられないよな。
・・・・DB関連のことなのか。
0602名前は開発中のものです。
02/09/26 06:32ID:???○ 影響を及ぼす
0603名前は開発中のものです。
02/09/26 06:57ID:???0604名前は開発中のものです。
02/09/26 12:44ID:???0605名前は開発中のものです。
02/09/26 15:00ID:???0606名前は開発中のものです。
02/09/26 15:20ID:???0607名前は開発中のものです。
02/09/26 22:13ID:???> そのシリアライズがうまくいかないって話なんだけど?
自分がアホであることを晒してどうするよ?
0608名前は開発中のものです。
02/09/26 22:33ID:???ソケットもファイルも書き込んだ/送出したデータをありのままの姿で返すだけだし、
をれが言語によって変わることも*ありえない*と言うことが理解できてないようだから。
化けたとしたらそれは書き込んだデータと書き込んだつもりのデータが違うだけ
0609名前は開発中のものです。
02/09/26 22:40ID:???素人は何でも一度にやりたがるからダメだ
0610名前は開発中のものです。
02/09/27 08:45ID:???0611名前は開発中のものです。
02/09/27 11:30ID:u5LECmtB敵キャラの抽象クラスを作って、キャラごとに派生クラスをつくりました。
そこで、出てくる敵キャラすべてを格納しておくキューを作りたいのですが、
Javaみたいな、すべてのクラスを格納できるキューが作れなくて困っています。
何か案はありませんか?
0612名前は開発中のものです。
02/09/27 12:38ID:???その抽象クラスのポインタを、コンテナに入れれば?
0613
02/09/27 15:01ID:uiQG1iKW0614名前は開発中のものです。
02/09/27 15:39ID:???… C++ の基本から勉強し直した方が良いような。
struct Base {
virtual ~Base() {}
...
};
class Deriv : public Base {...};
using boost::shared_ptr;
using std::queue;
queue<shared_ptr<Base> > q;
q.push(shared_ptr<Base>(new Deriv);
0615名前は開発中のものです。
02/09/27 18:07ID:???Internet Direct。
主要なインターネットプロトコルに対応したオープンソース形式のライブラリ。
BSDライセンスとMPLのデュアルライセンスで都合のよい方を選ぶことができる。
Delphi, C++Builder, Kylix用。
http://www.nevrona.com/Indy/
# なぜか今つながらない。
0616名前は開発中のものです。
02/09/27 21:17ID:???C++をあまり知らないヤシに説明するのに
当然のごとくboostを使ってるお前がウザイと思うのは俺だけか
0617名前は開発中のものです。
02/09/27 22:33ID:???きみだけ。
0618名前は開発中のものです。
02/09/28 03:01ID:???boost なんて、もう標準も同然じゃん。
0619名前は開発中のものです。
02/09/28 03:02ID:???ていうか、boost 無しでは生きていけません。
0620名前は開発中のものです。
02/09/28 03:07ID:???入門書ではまずboostを扱わないし、
ウチの会社も導入を許可してくれない。
初心者に説明するときは、極力非標準は排除して話すべきだと思うんだが。
0621名前は開発中のものです。
02/09/28 03:13ID:???■ このスレッドは過去ログ倉庫に格納されています