【初心者歓迎】スレを立てる前にココで質問を【その4】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
03/02/11 18:02ID:p9RFLSBbしてみましょう。あなたの長年の悩みがたった一つのレスで解決して
しまうこともあります。回答があるまでに数日間かかることもあるので
辛抱強く待ちましょう。 」
◇落ちスレ
【その4】
http://pc2.2ch.net/test/read.cgi/gamedev/1043417025/l50
◇前スレ
【Part3】
http://game.2ch.net/test/read.cgi/gamedev/1032814540/
◇旧スレ
【Part2】
http://game.2ch.net/test/read.cgi/gamedev/1013645518/
【Part1】
http://game.2ch.net/test/read.cgi/gamedev/1005038203/
関連スレ・その他
>>2-3
0436名前は開発中のものです。
03/04/25 19:44ID:IDDR0NJk0437名前は開発中のものです。
03/04/25 20:14ID:2MDLh+ig推薦図書・必読書スレはもう存在しないのですか?
0438名前は臨終の者です
03/04/25 21:41ID:tqyxeWOa0439名前は開発中のものです。
03/04/25 21:57ID:cw5qt5rk底の方に沈んでない?
>>438
分からん。批判要望に再三に渡って対策を要求してるのだが、応答全くなし。
ひろゆきに直接メールでも送って質問してくだちい。
0440名前は開発中のものです。
03/04/25 22:21ID:YFBVHI6sひろゆきに直接メールしたら逆効果だよ。
だって、あれは全部にろゆきの仕業だもの。
0441名前は開発中のものです。
03/04/25 22:27ID:t417/887落ちてますね。過去ログ倉庫にありました。
http://pc2.2ch.net/gamedev/kako/1005/10050/1005061185.html
0442名前は開発中のものです。
03/04/25 22:48ID:O3MSc2UiC++でこのやり方にメリットを感じないんだが。
0444名前は開発中のものです。
03/04/26 03:27ID:Q8DAa3ff/∧_∧ \
./ ( ゚ ∀゚ )、 `、
/ /\ \つ つ、ヽ
| | ,\ \ ノ | |
ヽヽ レ \ \) / /
\ [書込み禁止]'/
ヽ、 ____,, /
||
|| 〜終了〜
0445名前は開発中のものです。
03/04/26 14:34ID:BtEw1bfFなんかこれ変に広まっちゃってるような。
昔から市販ゲームソフトでよく使われていたのは事実だが、
いまどきこんな泥臭いやり方(というか考え方)はしない。
まずC++を教科書通りに使うことを考えるよろし。
0446あぼーん
NGNG0447432
03/04/26 14:57ID:A3yD+JfG煽りでなしに、本当に知りたいです。よかったら教えてください。
オブジェクト指向の用語を使われても理解できますので。
0448名前は開発中のものです。
03/04/26 17:17ID:CcRXlxBXオブジェクトのリストはSTLなどのコレクションを使う。
市販ゲームがこういう事してるのかは知らんが。
0449432
03/04/26 18:56ID:A3yD+JfG例えばシューティングゲームの敵キャラ一個なんかを一つのオブジェクトとして扱うのは
当然誰でも考えると思うんです、そこは別に真新しいところは無いです。
チェンジタスクもなんかのパターンにあったかもしれない。
タスクシステムの一番面白いとこは、システムのループの構造にあると思うのですよ。
普通ならネストしまくったループの最下層で毎フレームの処理をやったりすると思うんですが、
タイトル→ゲーム→ゲームオーバー→タイトルみたいなゲームの最上位に位置する
ループさえも単なるタスクにしてしまって、一本のTCB評価ループがすべてを支配している
構造がシンプルで(・∀・)カコイイと思ったのですよ。
最近はそういうとこではどうなんでしょうか。やっぱり自由にやれたほうがいいって
使われてなかったりするんでしょうかね。
0450名前は開発中のものです。
03/04/26 19:52ID:CcRXlxBXgotoでスパゲティにせざるを得ないプログラムは設計が悪いということで。
0451432
03/04/26 21:09ID:A3yD+JfG0452あぼーん
NGNG0453名前は開発中のものです。
03/04/27 00:21ID:G+bgGUZ4TCB評価ってどういう意味ですか?
0454432
03/04/27 07:56ID:rljuNjeK評価=evaluateの意味で遣いますた。もしかして変な使い方かもしれない…
TCB評価ループ=リンクリストの中のTCBを逐次処理するループ
0455名前は開発中のものです。
03/04/27 09:15ID:lma/3vycみたいなものと思えばよい?
0456あぼーん
NGNG0457あぼーん
NGNG0458あぼーん
NGNG0459名前は開発中のものです。
03/04/27 11:37ID:gKyDdp66http://zoetakami.fc2web.com/
0460名前は開発中のものです。
03/04/27 11:38ID:RlqfPSQBTCB切り替え時にスタックやレジスタの保存、復帰をやってたらそのものだね。
0461あぼーん
NGNG0462432
03/04/27 11:54ID:rljuNjeKあ、似てる、というかそっくしですね。
OSとプロセスの関係みたいなつもりでやっていくとわかりやすくてよさげ。
0463bloom
03/04/27 12:27ID:Rbbxvw9l0464( ´Д`)/< 先生!!こんなのが有りますた。
03/04/27 12:39ID:YTcOmVoahttp://yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku08.html
http://yamazaki.90.kg/hankaku/hankaku10.html
http://www.yamazaki.90.kg/hankaku/hankaku01.html
http://yamazaki.90.kg/hankaku/hankaku03.html
http://www.yamazaki.90.kg/hankaku/hankaku02.html
http://yamazaki.90.kg/hankaku/hankaku09.html
http://www.yamazaki.90.kg/hankaku/hankaku06.html
http://yamazaki.90.kg/hankaku/hankaku04.html
http://www.yamazaki.90.kg/zenkaku/index.html
http://www.yamazaki.90.kg/hankaku/hankaku05.htm
0465名前は開発中のものです。
03/04/27 15:52ID:tg3QwbsIISPが特定のポートを制限している場合はどんなにあがいても駄目。電話して
開放してもらうか、クラックしてこじあけろ。
ルーターを使用している、セキュリティ(ファイアウォール)ソフトを使用している、
窓XPを使っているなど、デフォルトでいくつかのポートしか開いていない場合は、
説明書を読んで各自が指定のポートを開ける。
0466あぼーん
NGNG0467名前は開発中のものです。
03/04/29 13:34ID:cTYHRGuCやっぱりC++でつくるべきなのかなぁ・・・
0468名前は開発中のものです。
03/04/29 13:35ID:cTYHRGuC0469あぼーん
NGNG0470名前は開発中のものです。
03/04/29 16:48ID:NqJRyAVHランタイムないと動かないよ
http://www.microsoft.com/japan/msdn/netframework/prodinfo/sysreq.asp
0471あぼーん
NGNG0473あぼーん
NGNG0474名前は開発中のものです。
03/04/29 18:14ID:3fgZNwZ4Delphi は如何? (ランタイム無し)
Pascal なのでCから移行すると文法などで詰まることはあるかも
しれませんが。
0475あぼーん
NGNG0476467
03/04/29 18:43ID:cTYHRGuCDelphiですか。ちなみになんて読むんですか?w(デルヒ?)
Pascalはやったことないです。どちらかというとBasicに近い感じですか?
VBなら書けるんで文法にてるといいんですが・・・
0477あぼーん
NGNG0478名前は開発中のものです。
03/04/29 20:42ID:McsZHMx+ttp://www.alpha-net.ne.jp/users2/ajyaran/tool_list.htm
に製作ツールリストが載っているのですが・・・
たくさんあってとても選べません。
「Mercurius」と「Zero.system」だけは確認しました。
できれば初心者に易しいものがよいです。
イチオシがあれば教えていただきたいです。
0479名前は開発中のものです。
03/04/29 21:49ID:DgKNpIbNとりあえず落としてみるといいよ。
help付いてくるし。
0480474
03/04/29 22:41ID:3fgZNwZ4479さんの仰る通りダウンロードして試してみるのが
良いかもしれませんね。
ttp://www.borland.co.jp/delphi/personal/
私も Visual Basic から移行しましたが、なかなか面白いですよ。
> 読み方
そういえばム板でもそんな話題があったような。(笑)
デフォルトの読み方は『デルファイ』です。一応。
0481467
03/04/30 10:35ID:eS0lfgJCレスありがとうございます。早速ダウンロードして使ってみました。
結構Vbに似てますねw。これなら馬鹿な俺でも使えそうです。
読み方は「デルファイ」ですか・・・。まずは英語の勉強したほうがいいようですね・・・
いろいろありがとうございました〜。わからないことがあったらまたおねがいします!
0482名前は開発中のものです。
03/04/30 16:46ID:0vuH2Ryp ̄ ̄ ̄ ̄ ̄ ̄ ̄○ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
O 。
, ─ヽ
________ /,/\ヾ\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|__|__|__|_ __((´∀`\ )< というお話だったのサ
|_|__|__|__ /ノへゝ/''' )ヽ \_________
||__| | | \´-`) / 丿/
|_|_| 从.从从 | \__ ̄ ̄⊂|丿/
|__|| 从人人从. | /\__/::::::|||
|_|_|///ヽヾ\ / ::::::::::::ゝ/||
────────(~〜ヽ::::::::::::|/ = 完 =
0483名前は開発中のものです。
03/05/01 22:33ID:bJKVy2ZpWindowsアクションゲームのFPS制御についての質問があります。
僕の場合は60/secondにする時、ループの中で早い分だけSleepさせたり
空ループさせたりしています。
でもそれだと、60で安定したり30前後になってしまったりと、同時に起動している
アプリケーションなどの条件によってばらつきが出てしまいます。
制御しないと300位なので、SleepやtimeGetTimeに誤差が出ていると思うんですが・・・
皆さんはどういう方法でFPSを制御しているんでしょうか?
どうか教えて下さい。
0484名前は開発中のものです。
03/05/01 23:13ID:8ugvX78K0485名前は開発中のものです。
03/05/01 23:46ID:w3nqvDLmあぁ〜これみんないうね
懐かしいからレスする
ちなみに、FPSを60にしたいのに
FPSが30とかになった場合。。。自分はあきらめることにしている
そんなの自分のパソより低いスペックでやっている人多いし
FPSで同期するより、プログラムの画像処理を変えたほうが早いと思っているから
自分はずぼらなんだよ(;´Д`)
ttp://www.sun-inet.or.jp/%7Eyaneurao/intensive/ggg/index.html
↑ここをよんでから>第21章 描画フレームワークについて
ttp://www.sun-inet.or.jp/~yaneurao/rsp/rsp48to4F.html
↑これをよんでね>第4F回 正確な60FPSの実現(ウエイトタイマ構成法)
まぁ、がんがれ!
やねうらおさんの信者でした
0486あぼーん
NGNG0487名前は開発中のものです。
03/05/02 00:57ID:r9VYRDjfhttp://matsuzak.pobox.ne.jp/directx/faq/faq1.html
0488名前は開発中のものです。
03/05/02 07:22ID:JoGG94ifシュウリョウ〜
☆ チン 〃 Λ_Λ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ヽ ___\(\・∀・) < もうおしまい〜?
\_/⊂ ⊂_ ) \_____________
/ ̄ ̄ ̄ ̄ ̄ ̄ /|
| ̄ ̄ ̄ ̄ ̄ ̄ ̄| |
| THE..END |/ 【FIN】
0489横綱不在
03/05/02 08:11ID:DgAs4g4Jとりあえず質問させてください
画像と音楽つきの
チェーンメールとかあるじゃないですか?
『ドラクエ』のやつとか『大切な人』とか。。。
それの作り方ってどうすればいいんですか?
ビルダーじゃやっぱり無理なんですかね?
0490あぼーん
NGNG0491あぼーん
NGNG0492名前は開発中のものです。
03/05/02 13:11ID:o8oqqEgv0493あぼーん
NGNG0494あぼーん
NGNG0495名前は開発中のものです。
03/05/03 00:52ID:icxMXFvs>>487
どうもありがとうございました!
0496名前は開発中のものです。
03/05/03 01:15ID:oQDj9MYJどういたしまして!
0497名前は開発中のものです。
03/05/03 01:28ID:eeRwQ+FF(,,゚Д゚) リョー
〜( )
|||
(__)_) 【糸冬】
0498名前は開発中のものです。
03/05/04 10:40ID:IEIJtxpdQueryPerformanceCounterを使え、やねうらおは信じるな。アレは大嘘つきだ。
正確な60FPSなどと言いながら浮動小数点型を使う始末
あきれるね。マジで。
1000/60=16.666666...=(16*20+17*40)/60 なわけだ。
こういう式変形が出来ない(思いつかない)ってのはプログラマとしての資質を疑うね
つまり、基本は17msの間隔を、三回に一回16msの間隔を入れること
猿でもわかるように書けば
if ( flame%3==0) Sleep(17);
else Sleep(16);
実際にはSleep文じゃないがな
0499名前は開発中のものです。
03/05/04 10:41ID:IEIJtxpdフレームが炎になってた(w
0500名前は開発中のものです。
03/05/04 10:42ID:IEIJtxpd16と17が逆になってた(w
怒ってレスするとろくなことが無いな
0501名前は開発中のものです。
03/05/04 12:05ID:iH6iw/kZ0502あぼーん
NGNG0503超初心者
03/05/04 17:58ID:RI5G36DN初期化だけの処理でここまでソースが長くなるとは思ってなかったので非常におどろきました。
この初期化の部分は毎回そんなに変わることがないと思うのですが、やっぱり本を見ないで全部打てるようになったほうがいいのでしょうか?
それとも毎回コピペですますべきでしょうか
0504名前は開発中のものです。
03/05/04 18:02ID:CF+nBEI0DirectX8で2D絵を表現するには、三角ポリゴンを2つ作って四角にして、
そこにテクスチャを張ることで実現する。とあります。
ここまではできたのですが、ふと疑問があります。
表示する画面が大きい場合(具体的には256*256以上)どうするのがよいのでしょうか?
1 大きいテクスチャをそのまま張る
2 256*256単位で作ったテクスチャをそれぞれの位置に張っていく
3 256サイズの正方形ポリゴンを用意して、それに256*286テクスチャをはってポリゴンを並べる
現在、自分のマシンでは1の方法でうまくいってるのですが、他の環境でもうまくいくのでしょうか?
いつぞやテクスチャの最大サイズは、256*256だというのを見たことがあるので.....
余談ですが、「↑終了」って何バイト必要なんだろうね。資源の無駄ですな。
0505名前は開発中のものです。
03/05/04 18:13ID:7MEFFtWw0506名前は開発中のものです。
03/05/04 18:40ID:S2b+Ru9M0507名前は開発中のものです。
03/05/04 19:30ID:txoM1bSrDX8以降ならば初期化は大分楽に。
なにか特別な理由がなければ換える事をオススメします。
>>504
古いボード(VooDoo3とか)はそうらしいですが、いまさらそこを対象にするならば
気にした方が良いですが、きょうびオンボードVGAでも256*256よりは
大きいサイズが使えます。速度は余り出ませんが。
ターゲット(対象ユーザ)がどの辺りなのかを考慮して256に収めるか、
放っておくかを考えてはどうでしょう。
0508名前は開発中のものです。
03/05/04 19:33ID:txoM1bSrちょっと的外れな返答でした。ゴメンナサイ。
初期化の工程が理解できているならコピペで十分。
理解できていなくてもコピペでまぁ十分。
0509名前は開発中のものです。
03/05/04 20:15ID:CF+nBEI0ご返答thxです。
古いボードは気にしないようにします。
では次にC++の文法も質問します。
複数のオブジェクト(ポリゴン)を管理する場合、
当然それをクラス化して管理したいと考えるのは当然だと思います。
さらに配列化して管理する場合どのような書き方が正しいのでしょうか?
class CHARCTER{
FLOAT X,Y,Z
その他パラメーター
ポリゴン構造体
init(parentpointer)
};
CHARCTER Arraydata[8];
for (i:=0;i<sizeof(Arraydata);i++){
Arraydata[i].init(this);
}
こういう書き方というのは可能なのでしょうか?
さらに
CHARCTER Arraydata[8];
これだと8個限定ですが動的にメモリに展開して、同じようにおこなう場合どのように書けばよろしいでしょうか?
0510名前は開発中のものです。
03/05/04 20:30ID:XVXAMQgg配列の要素数を知りたいときは「全体のサイズ÷個のサイズ」で
( sizeof(Arraydata) / sizeof(Arraydata[0]) ) とするのが一般的。
ただ、せっかくC++なんだからSTLを使って管理した方が良いだろ。
動的に生成する場合は new と delete を使う。
malloc と free はいろいろと問題があるので止めといた方が良い。
つーか基本だから、もうちょい言語について勉強してこような。
0511名前は開発中のものです。
03/05/04 20:56ID:CF+nBEI0ご指摘ありがとうございます。
これからSTLの研究を始めます。
0512名前は開発中のものです。
03/05/04 22:13ID:o9XHgUN/0513名前は開発中のものです。
03/05/04 22:27ID:zSJRK04HSleepを使わないのであれば
どうやってウェイトをかけるのが効果的ですか?
0514あぼーん
NGNG0515名前は開発中のものです。
03/05/04 23:04ID:CF+nBEI0コンテナにクラスを入れたいどのようにすればいいのでしょうか?
class DXOBJbase{
};
class WinBaseDX :public WinBase{
public:
std::vector< DXOBJbase > cVector;
WinBaseDX(){//コンストラクタ
cVector.insert(DXOBJbase 0);
}
};
これではinsertの部分でコンパイルが通りません。
さらに、型が異なるクラスを入れて生きたい場合はどうなんでしょうか?
std::vector< DXOBJbase > cVector;
この書き方では1つにこてされているようだし..
根本的に間違っているのかなぁ....
.
0516あぼーん
NGNG0517名前は開発中のものです。
03/05/05 00:03ID:m8+TUI9f>では次にC++の文法も質問します。
これで答える気が失せた
何でも聞けば教えてもらえると思うなYO
それでも教えて欲しいっていうなら、これからもずっと2chに頼っていればいいさ
0518名前は開発中のものです。
03/05/05 00:18ID:fY6xpfLv2chについてもうすこし勉強することをお勧めします
0519名前は開発中のものです。
03/05/05 00:25ID:srRFP17gスマソ。 悪意は無いんだ許してください。
0520名前は開発中のものです。
03/05/05 00:30ID:m8+TUI9fそんなクダラネェもん勉強したくない
>>519
いいよ
0521名前は開発中のものです。
03/05/05 00:40ID:14Et0iJp必死だな。
0522名前は開発中のものです。
03/05/05 00:45ID:Dy+Te9MPもしかして地下スレは普通に盛り上がっているの?
0523あぼーん
NGNG0524あぼーん
NGNG0526名前は開発中のものです。
03/05/05 10:25ID:oDGOU+s+510だが、俺が甘かったようだ。
お前はEffective C++を10冊買ってそれぞれ10回ずつ読んで来い。
>>522
普通に機能してるところもあるにはあるが、盛り上がってはいないような…。
0527あぼーん
NGNG0528名前は開発中のものです。
03/05/05 12:22ID:srRFP17gVC、DirectXは初めて1週間なんで質問が変かもしれないです。スマン
STLは
std::vector< DXOBJbase > cVector;
cVector.resize(20);//20は任意
これでコンテナに実態ができるようなので
for(i;i<MAX ;i++){
cVector[i].create();
cVector[i].draw();
}
こんな形で実装して複数のオブジェクトを管理できるようになりました。
現在複数のオブジェクトが動き回っています。
次はスレッド管理・タイマー管理に移ります。
なかなかDirectXにたどり着けないです^^;
0529名前は開発中のものです。
03/05/05 12:25ID:WDGsaO4S/⌒ヽ )
i三 ∪
|三 |
(/~∪
三三
三三
三三 〜糸冬〜
0530名前は開発中のものです。
03/05/05 16:23ID:srRFP17g何か論理的におかしなところあるでしょうか?
bDone =BeforeProc();//初期化に失敗ならそのまま終了
Take=FALSE;
while( bDone )
if (_POLooptop()){//ポーリング開始時に呼ぶ
if (Take!=TRUE) {
QueryPerformanceCounter( (LARGE_INTEGER *)&sTIME );/*時間計測開始 */
60FSPcall();//同期して動かすものはここで
}else{
60FSPwait();//何か出来ることあればやってしまおう
}
while( PeekMessage( &msg, NULL, 0, 0, PM_REMOVE ) )
{
bDone=_POLoopMes(msg);//メッセージを伴って呼ぶ
if( msg.message == WM_QUIT ){
bDone = FALSE;
} else {
TranslateMessage( &msg );
DispatchMessage( &msg );
}
QueryPerformanceCounter( (LARGE_INTEGER *)&eTIME );/* 計測終了*/
if ( ( (double)(eTIME - sTIME))>60 ){
if (bDone){ bDone=_POLoopbottom();}//Flipを行うためにある
Take=FALSE;
}else {Take=TRUE;}
}//endof if
}
AfterProc();
0531あぼーん
NGNG0532名前は開発中のものです。
03/05/05 23:37ID:FoVaQTcj0533名前は開発中のものです。
03/05/06 01:05ID:gLx0oDh/あなたはプログラム言語云々の前に、日本語を正しく使えるようになったほうがいいです。
0534名前は開発中のものです。
03/05/06 09:53ID:+D3Q+w1i推進(推奨?)言語は無いが、今それなりに活発であるように見えるスレで使われている
言語、ライブラリ、環境はこんなかんじ。
言語:
C++ or C
Delphi
HSP
豆乳
ライブラリ:
DirectX
SDL
環境:
Windows
Dreamcast
過去には、VB使い、Mac使いがいたようだ。
0535超初心者
03/05/06 10:07ID:TaW43MOa同一犯だとは思うんですが、わざわざIDも変えてるし・・・
あれですかねぇ。ゲーム会社に就職しようとしたけど失敗して、その恨みをここでほかのひとに八つ当たりしてるとか・・・?
■ このスレッドは過去ログ倉庫に格納されています