【初心者歓迎】スレを立てる前にココで質問を【その3】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/09/24 05:55ID:???してみましょう。あなたの長年の悩みがたった一つのレスで解決して
しまうこともあります。回答があるまでに数日間かかることもあるので
辛抱強く待ちましょう。 」
◇前スレ
【Part2】
http://game.2ch.net/test/read.cgi/gamedev/1013645518/
◇旧スレ
【Part1】
http://game.2ch.net/test/read.cgi/gamedev/1005038203/
関連スレ・その他
>>2-5
0274名前は開発中のものです。
02/10/22 17:49ID:???0275名前は開発中のものです。
02/10/22 18:18ID:???そこのソースの「Feald」がとても気になる
0276名前は開発中のものです。
02/10/23 05:55ID:???マニュアルとか本に載ってるのでも可。出来ればそのときの感想もキボン
0277名前は開発中のものです。
02/10/23 06:09ID:???今なにやってんだ。
0278名前は開発中のものです。
02/10/23 06:18ID:???ねっころがって2ちゃんパラダイスしてる
0279277
02/10/23 06:27ID:???俺はあと10分で登校だよ眠たいよ代わってくれ。
じゃないや、ゲーム作ったりし始めたのは1年前。
基本的に高校の文化祭用。今年は3DのFPS作ったけど
成績のほうが赤点2つでマジ脂肪。以上。いってきます
0280名前は開発中のものです。
02/10/23 23:55ID:???はい次の質問どうぞ↓
0281名前は開発中のものです。
02/10/24 00:01ID:???ここ見てごらんよ
かつてマイコン少年だった人達の思い出話になりやすい罠
http://game.2ch.net/test/read.cgi/gamedev/1006709626/
http://game.2ch.net/test/read.cgi/gamedev/1025896258/
俺はMacでしょっぼーいミニゲーム作ったっけな。
爆弾出しまくって、こんな事なら地道にHyperCardとかから
スタートすれば良かったと後悔した。
0282名前は開発中のものです。
02/10/24 03:15ID:???Widowsの描画の更新って一般的にはどのようにやるんでしょうか?
非DirectXです。
自分の場合、一画面をメモリDCに描画した後、WM_PAINTで転送って感じで
更新してるんですが考え方はあってますか?
ちょっとしたミニゲ-ムの描画量だとウインドウのDCに直に描画した方が速度は
出せると思うんだけどスマ-トじゃないし。
0283名前は開発中のものです。
02/10/24 04:40ID:???■GDIでゲームを作るときのもっとも簡単な仕組み
画面が滑らかにアニメーションする必要があるもの
(例えばアクションゲームやシューティングゲームなど)は
おおむね以下のような流れでも簡単に実現する。
-----------------------------------------------------
ウィンドウ作成
DIB作成 ( CreateDIBSection( ) など )
必要があればリフレッシュレート取得
ゲームループ
{
メッセージポンプ ( PeekMessage( )、Getmessage( ) など )
アプリケーションの処理 (DIBへの描画など )
待ち (sleep( )、timeGetTime( ) など )
DIB→ウィンドウ 矩形転送 ( BitBlt( ) など )
}
DIB破棄
ウィンドウ破棄
終了
-----------------------------------------------------
0284283
02/10/24 04:44ID:???徹底的に滑らかなスクロールを要求する2Dゲームの場合は
モニタのリフレッシュレートを取得(もしくは計測)して、これと
同期を取る必要があるわけだが、GDIだと・・・。
なお、DirectXには
手間をかけずにモニタのリフレッシュレートと同期をとる方法
が用意されている。
0285名前は開発中のものです。
02/10/24 04:50ID:???> DIB→ウィンドウ 矩形転送 ( BitBlt( ) など )
ちょっと気になったけど…。
ループ内のこの2つは順番を逆にしない?
理由は、
1 - 何か操作があったら画面更新を早めに行った方が気持ちがいい。
2 - 人間の視覚特性として、視覚に関しては時間のずれが気になりにくい。
3 - VSYNCを待つタイプのプログラムに対しても同じ発想の雛形が使えて便利。
4 - ゲームプログラミングは一般に画像転送周りが重くなりがちだけど、
並列化してウエイト中に裏で画像転送を行えば「おもし」にならないで済む。
0286283
02/10/24 04:54ID:???○ メッセージ処理
便宜上ウィンドウプロシージャは書かなかったが
実際には要るんで、誤解のないやうに。
0288みらくる三重県
02/10/24 05:54ID:???VCを買ったらMSDNがついていました。
DirectX SDK8.0の日本語ヘルプをダウンロードしました。
この日本語ヘルプをMSDNに組み込むような事は可能ですか?
VCでコーディング中に
Win32 APIの情報と、DirectX APIの情報とを、
どちらもF1キーで参照したいです。
0289283
02/10/24 06:11ID:???0290みらくる三重県
02/10/24 06:58ID:???完成しました!ありがとうございました!
めっちゃ快適です。幸福度急上昇です。
0291名前は開発中のものです。
02/10/24 07:49ID:???ありがd
0292名前は開発中のものです。
02/10/24 08:48ID:???わざわざ古いバージョンを買ったのか?
0293名前は開発中のものです。
02/10/24 08:56ID:???0294名前は開発中のものです。
02/10/24 19:39ID:OYxRWu3fみなさんはどこで探しましたか?
後方支援とか、トキワ荘とかでさんざん探したのですが、
募集しても誰もきません。
何かコツっているのでしょうか。
0295名前は開発中のものです。
02/10/24 19:47ID:???ついてくる人もいるんじゃないかな。
0296名前は開発中のものです。
02/10/24 20:03ID:dxTSfR4S同人ゲームサークルここだけはやめとけ! 【21】
http://natto.2ch.net/test/read.cgi/2chbook/1033740100/
このスレでも見て、自分の募集の問題点を洗い出すよろし。
(そもそも募集をかけること自体が問題という見方もあるが……)
0297名前は開発中のものです。
02/10/24 20:12ID:???企画が厨すぎても誰もこない。
0298名前は開発中のものです。
02/10/24 21:37ID:???「募集」を「さんざん探した」とは言わない。
よく知らんけど後方支援は登録者に直接メールを送ることができるシステムだろ?
よさげな人に丁寧にメール送って協力してもらえ。
0299名前は開発中のものです。
02/10/24 22:38ID:???正解。
>>298
い い 加 減 な 事 を 書 く な
0300名前は開発中のものです。
02/10/24 22:53ID:???なので絵描き募集という募集方法なら誰も来ないと思う。
プレゼンできるぐらいまで作ってからならまだ可能性はあるけど、
>>296のスレを見ればわかる通り募集という手段は既に終わってしまった手段なので
直接探す方がいいと思う。
0301名前は開発中のものです。
02/10/25 00:52ID:???ゲーム製作は結構大変だぞ。無賃で重労働してくれる
奴が居ればいいけどな。
0302名前は開発中のものです。
02/10/25 01:24ID:???あ、ごめん 友達なんて一人もいなかったね( ´,_ゝ`)ププッ
0303名前は開発中のものです。
02/10/25 02:37ID:???はい、次の質問どうぞ↓
0304名前は開発中のものです。
02/10/25 13:02ID:???「無報酬で、音信不通にならない方、最後までやってくれる方」
こんなんじゃ、まともなのがくるわけなし。
スキルの高い人間を捕まえたいなそれ相応の金を出せ!
金を出すリスクを背負えないなら
ゲーム製作なんてやめておけ!
0305名前は開発中のものです。
02/10/25 14:52ID:eyuLBGZx0306名前は開発中のものです。
02/10/25 15:05ID:???せめて雑談スレでやれ
0307名前は開発中のものです。
02/10/25 15:10ID:???逆に問いたいのですが、そんなことを聞いてどうするんですか?
0308名前は開発中のものです。
02/10/25 17:09ID:???0309名前は開発中のものです。
02/10/25 17:11ID:???それくらい自分で作れ
はい、次の質問どうぞ↓
0310名前は開発中のものです。
02/10/25 18:52ID:???おいおい
>>308
軽くぐぐって見ただけだが。
http://www.geocities.co.jp/SiliconValley/2530/vbblock.html
http://www.fureai.or.jp/~takuya/Java/packages/block.html
http://pc.2ch.net/tech/kako/1004/10048/1004855513.html
0311名前は開発中のものです。
02/10/25 19:07ID:???とりあえずゲーム作成術ってのが何を意味しているのかがわからん。
しかし内容から見ると
どうすればゲームを作れるようになるか?
が聞きたいようだが…
0312名前は開発中のものです。
02/10/25 19:42ID:???0313名前は開発中のものです。
02/10/25 21:16ID:kDs2ELqu0314名前は開発中のものです。
02/10/25 21:27ID:???sscanfとかか?
0315名前は開発中のものです。
02/10/25 21:47ID:???0316名前は開発中のものです。
02/10/25 22:43ID:???0317名前は開発中のものです。
02/10/26 00:00ID:???0318名前は開発中のものです。
02/10/26 00:58ID:???0319名前は開発中のものです。
02/10/26 02:03ID:???ゲームでは使うとこある?
0320名前は開発中のものです。
02/10/26 17:50ID:???まぁゲームで使う分には委員でないかとも思う、俺は。
03212ch RPG 統一協会の野望
02/10/26 18:06ID:LVzRMAFkiアプリでRPG?ゲーム作ってやるからアイデア出せ。
iアプリをDL→アプリ内のフィールドでレベルアップ・アイテム入手・その他色々
成長したキャラをサーバーに送る
(普通のパラメーターの他にレベルに応じてボーナスポイントを割り振る・その他色々)
(又、行動プランも同封、HPが何になったら回復する、魔法?を使ってきたらそれに
対応する行動をプランする)
↓
クラス?で分類している中でランダムに選んだキャラと対戦
(対戦中はオートで手を出せない)
↓
対戦はサーバ側で行わずDL?して見る
(つまり、相手のパラメーターや行動プランをDL)
↓
結果はサーバーに蓄積?
つまり、アプリ内で成長させパラメーター・アイテム・行動プランを鯖に送信。
鯖はレベルの近いキャラを選んでその相手に要素を送信し、お互いオートで対戦。
戦果はサーバーにランキング。
※サーバーがパンクしない方法を取る
0322名前は開発中のものです。
02/10/26 18:23ID:???0323名前は開発中のものです。
02/10/26 21:33ID:???0324名前は開発中のものです。
02/10/26 21:49ID:???0325名前は開発中のものです。
02/10/26 23:21ID:???0326名前は開発中のものです。
02/10/27 00:57ID:???その名前、何なん?
あんた、馬鹿かなんかか?
0327名前は開発中のものです。
02/10/27 04:54ID:???正直、狙いすぎの感があるな。真新しいとこなんもないやん。
それが本当にキミが作りたいゲームなのか。
0328名前は開発中のものです。
02/10/27 13:47ID:???はい、次の質問どうぞ↓
0329名前は開発中のものです。
02/10/27 15:08ID:???0330名前は開発中のものです。
02/10/27 15:17ID:???0331名前は開発中のものです。
02/10/28 00:42ID:???0332名前は開発中のものです。
02/10/28 00:50ID:???0333名前は開発中のものです。
02/10/28 01:00ID:???それ以前はマシン語だけ。
0334331
02/10/28 01:11ID:???pc98のとあるゲームと同じ感じのゲームを作ろうと試みてるんですが
なっかなか上手くいきません。やはりHSPじゃだめか、力量不足か…
まー後者か両方でしょうね(´w`
0335名前は開発中のものです。
02/10/28 01:24ID:???覚えて、速度が必要な部分をマシン語、そうでない部分をBASICで組む
スタイルがはやっていた。しかし今は殆どC,C++が主流。
0336名前は開発中のものです。
02/10/28 02:16ID:???今の時代ならHSP=BASICと置き換えていいと思うので、
単純に力が足りないだけだと思われ。ガンバレ
0337331
02/10/28 07:30ID:???0338名前は開発中のものです。
02/10/28 12:59ID:???漏れがハ○ソンにお布施したから今があるんだよ
と懐かしんでみるですと
0339名前は開発中のものです。
02/10/28 13:32ID:???0340名前は開発中のものです。
02/10/28 21:05ID:???ウインドウサイズを640*400、パレットモードにして、
グラフィックを16色(パレットのRGB精度を12bitに設定できる
ツールで描くと尚よろし。ALFARとか…)で作る。
BGMはPMDで作ったデータをdll呼び出して演奏させるとか。
文字にはアンチエイリアスをかけない、16*16ピクセル位のサイズで
字体はボールド、プロポーショナルじゃないフォントを使う。
これで、かなり98っぽい雰囲気が出せると思う。
そういう意味の質問じゃなかったらすまそ
0341名前は開発中のものです。
02/10/28 21:22ID:???16色パレットなんて作業量が無駄に増えるだけじゃんとか思ったり。
それとも、なんかのゲームのパロディでもやるんだろうか?
0342340
02/10/28 21:46ID:???あ、きっと俺の考え過ぎでした。
334氏はプログラミングに行き詰まってるだけみたいだから。
ゲームを作る意味を問うのは野暮だよ。
今風でもそうじゃなくとも、趣味でやってる分には楽しめたり
達成感得られたりすればそれでOKだと思う。
0343名前は開発中のものです。
02/10/28 22:41ID:???無駄に作業が増えてメリットの少ない低スペックもどきを作るなら今風の方が良いというだけ。
そして、俺も>>340のような意味に取った。
プログラムでPC98っぽいといわれても、余計意味不明なんだけど。
0344名前は開発中のものです。
02/10/28 22:42ID:???0345名前は開発中のものです。
02/10/28 23:24ID:???言語のことを聞いてるし。
0346334
02/10/29 00:19ID:???PC98ってのはたまたまです。PC98でとても好きなゲームがあって
それを真似ようとしているのですが、どうにも上手くいかないので
言語のせいにして逃げてみたり。すいませんでした。
詰まっているのはプログラムのほうです。がんばります
0347名前は開発中のものです。
02/10/29 07:51ID:???シナリオの内容を見て絵を出したり字を出すってカンジの
プログラムをVCで作ろうとしております。
これって読みこんだ内容を一文字一文字メモリ参照して、例えば
LOAD BMP data01.bmp
とかだと、
if(data[count]=='L'&&data[count+2]=='O'
&&data[count+4]=='A'&&data[count+6]=='D')・・・略
こんなどえらい長いソースを書かないといけないんでしょーか?
知恵熱が出るほど考えてみたんですけど俺のよーな低脳なサルには
↑のよーな直球な処理しか思い付きません。
どうかこのサルめにヒントを授けてはいただけませんでしょうか。
どうか一つお願いします。どうか。どうか!!
0348名前は開発中のものです。
02/10/29 08:06ID:???標準ライブラリ使うとか、自分で関数化するとかしろ。
0349名前は開発中のものです。
02/10/29 08:11ID:???char *cp, cmd[256], wk[256];
// コマンド読み込み
strcpy( cmd, "LOAD BMP data01.bmp" );
// コマンド取り出し
cp = strchr( cmd, ' ' );
memset( wk, 0, sizeof(wk) );
if( cp ){
// 最初のスペース以前を取り出す
memcpy( wk, cmd, cp-cmd );
}else{
// スペースがないので全部取り出す
strcpy( wk, cmd );
}
// コマンドごとに関数を実行
if( !strcmp( wk, "LOAD" ) ){
exec_load( cmd );
}else if( !strcmp( wk, "FADEIN" ) ){
exec_fadein( cmd );
}else{
// unknow commnd
}
0350名前は開発中のものです。
02/10/29 10:35ID:???穴を飛び越えたり弾を撃ったりというアクションは作れたのですが、
見やすい視点ってどういう距離・角度でしょうね?
ちなみに現在はボタン/キーボードで遠近の切り替えと45°ごとに回転させています。
0351名前は開発中のものです。
02/10/29 10:43ID:???bool CMD_LOAD(std::vector<std::string>::iterator param)
{
if (param->size() < 2) return false;
switch (*param[0].c_str()) {
case "BMP":
return loadbmp(*param[1]);
case "WAV":
return loadwav(*param[1]);
:
:
}
}
std::map< std:string, boost::function<bool (std::vector<std::string>)> > Cmd;
Cmd["LOAD"] = &CMD_LOAD;
bool EXEC_CMD(const std::string& StateStr)
{
std::vector<std::string> State;
boost::char_separator<char> SpaceSep(" ");
boost::tokenizer< boost::char_separator<char> > StateTemp(StateStr, SpaceSep);
for (boost::tokenizer< boost::char_separator<char> >::iterator it = StateTemp.begin(); it != StateTemp.end(); ++it) {
State.push_back(*it);
}
return Cmd[State[0]](&State[1]);
}
高校時代に64マリオの超劣化再生産ゲーのようなものを作って
自慰してたことがあったが、本物さんのほうのカメラワークの
爽快な動きは結局真似できんかったよぅ。
カメラオブジェクトが障害物に引っかかってガクガクしたり
主人公とカメラの間に壁が挟まってカメラが迷子になったり
なんかトホホな現象にいろいろ出くわした。
(1)周囲の障害物を把握しつつ
(2)滑らかな移動経路を算出しつつ
(3)プレイ可能な視野を確保しつつ
あとはなんだ、よく分かんない。
漏れは(1)(2)しかやらんかった。(途中で飽きた)
既存ゲームの目コピーに励んでみるといいかもね。
0353352
02/10/29 11:22ID:???主人公の状態(移動速度・回転速度など)に応じて動的に変化させてた。
主人公の状態とカメラの状態の関係を表す勾配曲線データを作る要領。
0354名前は開発中のものです。
02/10/29 11:26ID:???指標としては
・移動方向が見える。
・自分キャラや障害物等が視界の妨げにならない。
・周囲がよく見渡せる
ぐらいか。
まあ、昔のゲームみたいにカメラを大きく引いた視点
が一番判りやすいという話もあるが、それじゃ見た目が
つまらんし。
0355名前は開発中のものです。
02/10/29 12:27ID:???0356名前は開発中のものです。
02/10/29 12:34ID:???>カメラオブジェクトが障害物に引っかかってガクガクしたり
これはカメラと障害物が当たっただけでガクガクするってことか?
それとも障害物と障害物に挟まったときにガクガクするってことか?
0357356
02/10/29 12:38ID:???えーっと、物体同士の衝突判定ルーチンの問題なのか
主人公を追尾するカメラの経路決定の問題なのか、という点を
知りたかっただけなんで、もし暇だったら答えてくれると嬉しいなり。
0358名前は開発中のものです。
02/10/29 12:48ID:???英語になっちまうが、この辺とかどうだ。
http://www.flipcode.com/network/
0359名前は開発中のものです。
02/10/29 12:50ID:???http://www.gamedev.net/reference/list.asp?categoryid=30#198
0360352
02/10/29 13:04ID:???後者のほうだね。
当初は、障害物(ポリゴンモデル)とカメラ(球)の当たり判定を
厳格に行なっていた。で、カッチリと挟まる状況が頻発したと。
結局そのときは、固まった状態から抜けるように色々特例を
設けたりして問題は回避できたわけだけど、コードがグチャグチャ
なってね。その辺でだいぶ欝になった記憶アリ。
スマートな解決方法は他に色々あると思うよ。よく分からんけど。
0361350
02/10/29 13:38ID:???(1)はできるんだけど、(2)が難しい。
(3)については、ステージマップで障害物や地形の配置を工夫してなんとか見やすくしてるけど…
>>354
>昔のゲームみたいにカメラを大きく引いた視点
>が一番判りやすいという話
実際、遠くから見た視点のほうがわかりやすいですよね。
キャラを後ろから見ている状態で、画面奥に向かってジャンプしても穴の幅を見誤ってあぼ〜ん…とかあるし。
>>357
俺が前につくったルーチンで、「物体とカメラが衝突したらちょっと反発する」という衝突ルーチンがありまふ。
カメラと障害物がわずかにぶつかる程度なら自然ぽくよけたのですが、
カメラがめり込むような状態だとバウンドしまくりで役立たず…。
(カメラ位置を決めるアルゴリズムがアホだったせいもある)
失敗例の参考としてどうぞ。(TДT)
0362350
02/10/29 13:41ID:???あれはデータとして持ってるんだよねぇ…?
0363352
02/10/29 13:45ID:???/ ̄ ̄~~\
camera .ノ´ \
( object )
→○ ) (
/ )
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
O character
→ ノ[]ヽ
乂
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
こゆ状況で最初ハマってた。おかしな話だよね。
0364名前は開発中のものです。
02/10/29 13:46ID:7AxQJd++--------------------------------
| |
| b aOOOO |
| <--OOOO |
| | OOOO 2 |
| | | f |------------|3
| | | | |
| -----> | |
| c d | |
-------------------O------------
1
1->2->3のようなときの判定とか、
陣地拡張のa->b->c->d->fのときの判定が思いつきません
どのようにすればいいのでしょう?
0365名前は開発中のものです。
02/10/29 13:48ID:7AxQJd++1 O------> 2
| |
| |
| |
4 <------- 3
自分自身が1->2->3->4->1と移動していったときの判定処理は
配列を取って出て行った向きを記憶、LineONとして
再入場のときにLineONで出て行った向きと、再入場してきた向きが
違うならば閉じた図形という判定をしようとおもっています。
シンプルな判定方法を探しています。
良い方法おしえてください。
0366356
02/10/29 14:22ID:???あー、なるほど。図がすごく分かりやすかった。
俺が作ってるものは、マップがやたら単純なものなので
>>360のようなカメラ泣かせ(w)な状況は幸い無いんだ。
やぱーり複雑な地形だと工夫が要るんだな。納得。
>>361
>物体とカメラが衝突したらちょっと反発する
けっこう本格的だな。俺はサボってるから
衝突時の反発係数はゼロというか、衝突後は
滑るように移動する感じ。でも面白そうなので
そっちの方法も試してみようかな。情報アリガd
0369名前は開発中のものです。
02/10/29 23:51ID:???・・・陣地を取ったときに塗り潰すべき領域を求めたいのかな?
QIXでは囲んでいない陣地の外縁は必ず閉じた輪になるから、
まず囲み始めた地点を記録して、次に線が外縁に到達した時点
で、そこを基点にして外縁に沿って距離を測りながら開始点
に到達するまで探索して、到達距離が短い方向のエリアを塗り
潰せばいいと思う。
0370名前は開発中のものです。
02/10/30 01:14ID:???.キタ━━━━━━━━┓
┏━━━━━━━━┓┃
┃┏━━━━━━┓┃┃
┃┃┏━━━━┓┃┃┃
┃┃┃┏(゚∀゚;) ┃┃┃┃
┃┃┃┗━━━┛┃┃┃
┃┃┗━━━━━┛┃┃
┃┗━━━━━━━┛┃
┗━━━━━━━━━┛
0371名前は開発中のものです。
02/10/30 02:14ID:???ワロタ。 あったね。
0372名前は開発中のものです。
02/10/30 03:29ID:???今どうやっているか知らんけどペインタアルゴリズムでいいんじゃないか?
0373名前は開発中のものです。
02/10/30 03:50ID:???という所が問題なんだけど、昔見たQIXもどきでは
・とにかくどちらかの領域を塗りつぶす
・敵のいる側を塗りつぶしてしまった時は、画面を切り替えて
「ア、マチガエタ!」
と表示して、チャカチャカ音楽を鳴らしてごまかしているうちに塗り直す
という凄いアルゴリズムだった。
■ このスレッドは過去ログ倉庫に格納されています