2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Windowsゲームプログラミング 質問スレ

465 :名前は開発中のものです。:2009/11/23(月) 16:17:25 ID:H/bHlmfN.net
actionscriptで、キャラクターを一区間歩かせる方法を教えてください。

466 :名前は開発中のものです。:2009/11/23(月) 16:27:32 ID:DESnmY0U.net
actionscriptとやらは知らないが
キャラクタを一区間移動させたい時は
例えば一区間の幅がnドットの場合は、キャラのXorY座標が
nで割り切れるまで移動させるアルゴリズムを用意すればよい


467 :名前は開発中のものです。:2009/11/23(月) 16:50:25 ID:DKN6YdUZ.net
ここは「Windowsゲームプログラミング」スレだから
どう見てもスレ違いだがな・・・

468 :名前は開発中のものです。:2009/11/24(火) 03:33:12 ID:wxINmZRU.net
>>465
Flashゲーム講座&ASサンプル集
ttp://hakuhin.hp.infoseek.co.jp/main/as.html
ここのテトリスのサンプルに466がいうアルゴリズムを組み込んで
元のよりもブロックがスムーズに落下するテトリスに改造してみるとかドーダイ?

>>467
フラッシュ用の言語だし、スレ違いってわけでもないと思うぜ

469 :名前は開発中のものです。:2009/11/24(火) 04:38:39 ID:Yv5cTTds.net
ああフラッシュがWindowsじゃないって意味かと思ってたが
フラッシュもWindowsに入るっちゃあ入るのか

470 :名前は開発中のものです。:2009/11/24(火) 20:00:33 ID:kNRV2VR9.net
んなこと言い出したらたいがいのものはwindowsの内に入っちまうジャン

471 :名前は開発中のものです。:2009/11/25(水) 07:17:26 ID:ggn3dqwd.net
MacでもFlash作れるしね
FLASHでゲームをツクール
http://pc11.2ch.net/test/read.cgi/gamedev/1005050054/
こちらは1年前でレス終わってる


472 :名前は開発中のものです。:2009/11/26(木) 00:58:53 ID:mKVhhsnM.net
それ以前にゲ製作技術の真上にFLASHの板が

473 :名前は開発中のものです。:2009/12/10(木) 13:24:31 ID:mMLW3axY.net
(´・ω・`)ねことあひるが力を合わせてみんなの幸せをーーーー♪
招き猫ダック♪

474 :名前は開発中のものです。:2009/12/10(木) 19:11:48 ID:dpejkqOL.net
まぁ、ニートと低学歴が力を合わせても何にも出来ないのが
この板の現実だったりするんだけどね。

475 :名前は開発中のものです。:2009/12/13(日) 11:03:07 ID:m1TWMvid.net
やる気が足りないんだよ

476 :名前は開発中のものです。:2009/12/19(土) 15:17:11 ID:SrqWqwLz.net
やる気&&時間&&将来==完成品


477 :名前は開発中のものです。:2009/12/20(日) 01:25:15 ID:YJnDqFE2.net
やる気と経験はあるけど、時間がないですわ。



478 :名前は開発中のものです。:2009/12/20(日) 01:34:57 ID:in60m6r4.net
やる気は時間に反比例しますお

479 :名前は開発中のものです。:2009/12/20(日) 07:22:57 ID:cqN+UuPk.net
時間が0の時は、やっる気無限大

480 :名前は開発中のものです。:2009/12/20(日) 08:01:42 ID:WnHpA5qg.net
やる気がビックバン

481 :名前は開発中のものです。:2009/12/20(日) 18:24:19 ID:YGQ+ppzg.net
>>479
大掃除しなきゃいけないのに古いアルバムを見つけてしまった状態

482 :マサヒロ:2009/12/21(月) 18:41:32 ID:wXL8lMBU.net
  悪  鬼
マ サ ヒ ロ様 
 参    上

483 :名前は開発中のものです。:2009/12/31(木) 04:34:32 ID:FmcWQtTy.net
ゲーム修正パッチの作り方を説明しているサイトとかご存知ないですか?
EXEを差し替えるとかではなく中にあるデータファイルとかも
追加したりし差し替えたいのですが

484 :名前は開発中のものです。:2009/12/31(木) 07:05:16 ID:zxA2fJ4G.net
>>483
単に上書きコピーするだけじゃないの?
アーカイブ内のファイルを置き換えたいというなら、バラしてコピーして作り直す。
1ファイルのバイナリ差分でアップデートしたいというなら、XsDFみたいなツールを
使うか、同等のものを自分でつくればOK。

485 :名前は開発中のものです。:2009/12/31(木) 17:15:48 ID:RQA0U+Bj.net
失礼します。質問よろしいでしょうか?

たとえば画面内において、それぞれ異なるIDを有したボールかなにかが飛び交っているものとします。
その状況でいずれかのボールをクリックした場合、それを識別するにはどのような方法があるでしょうか?
またボールが静止しているとした場合には、どのような手段を用いるのが賢いでしょうか?

いまだコーディングは開始しておらず、自分で組めるだろう範囲を考えながら仕様を確定している段階です。
当初クリック判定は座標から判別すればいいだろうと考えていましたが、上述のような状況に直面して考え直しています。
GUIプログラミングは初心者なのでサイトを見てノウハウを学ばせていただこうと思いましたが、
調べ方が悪いのでしょうか、基礎的な部分を解説してくださるサイトが見つからず、質問させていただいた次第です。

言語はC#を想定していますが、可能ならば言語依存の少ない方法を教示していただけると嬉しいです。
お忙しい時期でしょうが、よろしくお願い致します。

486 :名前は開発中のものです。:2009/12/31(木) 17:21:12 ID:XywEK1j8.net
座標で判断すればいいだろ。
なにが問題だと言うんだ?

487 :名前は開発中のものです。:2009/12/31(木) 17:52:22 ID:RQA0U+Bj.net
>>486
ボールにカーソルを合わせると変色するなどといった場合も、
foreach 全オブジェクト if X座標判定 and Y座標判定
のような処理を行っているのでしょうか?

だいぶ前に別スレにて「普通はそんな非効率的なことはしない」と聞いていたので、
何かしら別の方法があるかと思っていて、しかしながら他の方法が想像つかなかったので質問したのですが、
上記発言の解釈が間違ってたんでしょうか……。それでしたら申し訳ないです。

素早いお返事ありがとうございました。

488 :名前は開発中のものです。:2009/12/31(木) 22:29:14 ID:g+v1XGwf.net
初心者すぎて基礎から勉強しないと話にならないお

489 :名前は開発中のものです。:2010/01/01(金) 01:28:27 ID:+rsZCvF1.net
>>487
全オブジェクトっていう言い方が気になるが、概念的にはそれでいいんでないの?
何らかのイベントでマウスの座標を取得、その後その座標をつかって、オブジェクト毎でヒットテストするってことでしょ。
それ以外にやり方あるのかな?

490 :名前は開発中のものです。:2010/01/01(金) 19:30:22 ID:iY6VPf2L.net
>>488
すみません……。GUIは本当に手探りです。
自分でもあちこち探したりしているんですが、何かいい教材あれば教えてくださると嬉しいです。

>>489
ありがとうございます。
自分もそれ以外にひらめかないのですが、上述の通り別なやり方があるとだけ聞かされたんで。
多分何かしら齟齬があったんでしょうね。お手数おかけいたしました。

491 :名前は開発中のものです。:2010/01/01(金) 19:48:54 ID:+HYk+utg.net
いや、GUIはというがそれ以外も初心者なんだろう?
どうでもいいから手を動かそうぜ

492 :名前は開発中のものです。:2010/01/07(木) 23:25:49 ID:dh68R4A/.net
画像の表示って大抵はファイル名で指定するよね?
でも、独自のファイル形式にしたい(BMPに付加情報をつけたもの)
すると、ファイル名の指定の関数が使えない、たすけて

493 :名前は開発中のものです。:2010/01/07(木) 23:27:49 ID:ds4UNTST.net
ファイルを読み込んで自分でメモリー上で展開しろ。

494 :名前は開発中のものです。:2010/01/07(木) 23:37:33 ID:dh68R4A/.net
>>493
ありがとうございます
バイナリで開いて全て点で打つならできそうなのですが、
効率の面で問題がある気がしまして。
ともかくやってみます

495 :名前は開発中のものです。:2010/01/07(木) 23:46:35 ID:TMdG719d.net
SetPixel()遅い

496 :名前は開発中のものです。:2010/01/08(金) 00:13:08 ID:l0tohAlf.net
>>495
ありがとうございます
ピクセルを後から操作する気はないのですが、おかげさまで道が開けてきました
ImageFromStreamとかなんとかで配列をデータにできるとかなんとか。
いい感じで脳が限界です

497 :名前は開発中のものです。:2010/01/15(金) 14:16:35 ID:fJ32mWjV.net
WDDM のバージョンを調べたいのですが、
DXDIAG の szDriverModelLocalized を見る以外に方法はないでしょうか?
レジストリや WMI で探してみたのですが見つからなくて…。

498 :名前は開発中のものです。:2010/02/04(木) 23:22:36 ID:tPmHG2jz.net
合計5000ポリゴンある地面の上に複数のキャラクターを立たせたいのですが
そうなるとどのポリゴンの上に乗っているかの情報が必要になるんですが

全てのキャラクターが毎フレーム5000ポリゴンとの当たり判定を取るとプログラムが非常に遅くなります
処理を劇的に軽くする何かいい方法はないでしょうか?


499 :名前は開発中のものです。:2010/02/05(金) 00:50:33 ID:CKGSeD5Z.net
>>498
区画分けするとか、判定用にもっと粗い地面情報で判定するとか。
500ポリゴンごと10区画にわけたら、判定回数は5000回から510回になるし、
判定用の地面として500ポリゴンにしたら、500回になるし。後者の方が実装は楽だな。
前者だと、準備とか修正とかめんどくさそう。でも、前者の方が効果は高いな。100区画にわければ、
150回だもんな。


500 :名前は開発中のものです。:2010/02/05(金) 02:03:11 ID:EsUZ2cV5.net
>>490
区画にわける所までは思いついたのですが
どうしてもどこがどの区画か判断する方法がわからないのです


501 :名前は開発中のものです。:2010/02/05(金) 07:09:32 ID:Rnn3z8ra.net
>>全てのキャラクターが毎フレーム5000ポリゴンとの当たり判定を取るとプログラムが非常に遅くなります
これは今どうやってるの?

502 :名前は開発中のものです。:2010/02/05(金) 09:51:06 ID:p/uDgxLQ.net
>>501
ポリゴンのY軸を考慮せずに外積で内外判定を取り
その後に三点測量からその地点のYを算出する形です


503 :名前は開発中のものです。:2010/02/05(金) 15:53:15 ID:HPolpgOh.net
>>500
例えば5mごとの区画に区切って、その5mの立方体に少しでも入る地形のポリゴンを
その区画のリストに追加する。
判定するときは座標を5mで割るだけで区画は求まるので、その区画のリスト中の
ポリゴンと判定する。
ただし、キャラクタが区画を跨いでいる場合もあるので、隣接する8区画を調べる必要がある。

504 :名前は開発中のものです。:2010/02/05(金) 23:36:57 ID:Rnn3z8ra.net
5000個に番号付けて、XZ平面で区画判定して、十分な数だけ当たり判定しる。
十分な数はあらかじめデータ作らないとな。


505 :名前は開発中のものです。:2010/02/06(土) 04:48:59 ID:vgWfgHJE.net
ついでにモートン順序についても知っておこう

506 :名前は開発中のものです。:2010/02/06(土) 12:38:36 ID:4uNGm9uD.net
横からだがトン
久々に感動したわ

507 :名前は開発中のものです。:2010/02/08(月) 19:45:10 ID:I67IEebw.net
判定対象のX軸があり得ないぐらい離れていたら判定しない、っていう方法は楽。
でもまあ、結果として総当たりにはなるか。
普通にやるよりちょっとだけ軽い程度。

508 :名前は開発中のものです。:2010/02/08(月) 20:12:23 ID:HSg0yq3Q.net
けっきょく総当りだしちっとも軽くなんねえよ?
ただまぁその話を汲むとして(>>498の話とは全く関係なくなるけど)
2次元のAABB判定を考えるとき、フィールドが縦横のどちらに広いかで
XとYの判定順序を変えると、判定回数は減らせるわな

509 :名前は開発中のものです。:2010/02/08(月) 20:29:52 ID:AbjdKSeP.net
バカな507に騙されてやらかすと、全部が近くにあるという状況で酷い目に遭うな。

510 :名前は開発中のものです。:2010/02/08(月) 21:17:35 ID:TFUWga5H.net
>5000ポリゴンとの当たり判定を取るとプログラムが非常に遅くなります

5000位で遅くなるわけがない、コードにミスがあるだろ

511 :名前は開発中のものです。:2010/02/08(月) 22:42:47 ID:yaKOf+tK.net
>>510
レミングみたいなのが何百匹もいたら重くなるんじゃない?

512 :名前は開発中のものです。:2010/02/08(月) 23:45:29 ID:TFUWga5H.net
三十匹くらいかな

513 :名前は開発中のものです。:2010/02/15(月) 05:51:28 ID:iDG/RoSA.net
超、初心者なんだけども練習がてら
数当てゲーム
15パズル
リバーシ(オセロ風)
テトリス
ブロック崩し
「パックマン」
補講:敵のアルゴリズム(AI)?
横スクロールアクション
STGを作れ
SLGを作れ
FF風RPG/DQ風RPG
簡単な3Dゲーム
を、python,c,c++,c#と段階的に練習してみようと思うんだがどうだろうか

514 :名前は開発中のものです。:2010/02/15(月) 06:25:39 ID:7pi/323z.net
>>513
横スクロールアクションの方が、地形の扱いや重力の扱い等の要素が多い分
STGよりはやることが多い。

SLGというのが非リアルタイムの大戦略的な物なら、かなり簡単な部類。
FF風RPG/DQ風RPGなんてSTGとかより簡単。
この辺はバランスを取りつつ膨大なデータを作るのが大変なだけ。

3Dに行く前に、回転有りの2Dを経験した方がいい。
ナムコのアサルトやキャメルトライ等。

パックマンのあたりで、スクロール無しのアクション系でもやった方がいいかも。

515 :名前は開発中のものです。:2010/02/15(月) 06:26:05 ID:RFVAWStO.net
>>513
「どうだろうか」とはどういう意味?
やってみたら良いんじゃないでしょうか。としか答えられないけど・・・
まあ、初心者なのに12ジャンル×4言語=48個は多すぎじゃないか?
とりあえず言語は一つに絞った方がいいよ。

516 :名前は開発中のものです。:2010/02/15(月) 07:17:04 ID:cbly0qco.net
初心者にC++はないわ

517 :えいいち ◆GRGSIBERIA :2010/02/15(月) 07:45:05 ID:4ZhNq4Tf.net
>>513
難しさだったら
Python << C# < C < C++
だと個人的には思う。
でも、Pythonはどちらかと言うと、C++を使うのが面倒くさいマ向け言語だから、
言葉通りの超初心者だったらオススメしない。
最初からCでやったほうが他の言語に移行しやすい。

C++で本格的にやりたいのなら、まずはC++でクラス設計の基本を押さえつつ、
Pythonで一度組んでみることがお勧め。
1クラス1ヘッダーなんて理不尽なファイル構成にならないためにも、
モジュール単位でコードを組む方法を身につけたほうがいいから。

>>515
各言語1個ずつやるってことではないんでないのかい?

518 :名前は開発中のものです。:2010/02/15(月) 08:21:29 ID:cbly0qco.net
言語1つ覚えるだけでも大変で各言語1個ずつやるなんて考える余裕なんてないでしょましてや超初心者に

519 :名前は開発中のものです。:2010/02/15(月) 17:16:13 ID:Cd1wbsad.net
C++を使えるようになれる自信があるならC++でやっとけ
もしプログラマになる可能性があるならC++は必須
趣味で考えたゲームが実現できればいいだけなら、
その目標のゲームを作ることができる一番簡単な言語を選ぶ

520 :名前は開発中のものです。:2010/02/15(月) 17:36:44 ID:cbly0qco.net
超初心者がC++に手を出すのはやめといた方が・・・
やるんなら取りあえずCまともに使えるようになってからでも遅くはないと思うがなあ

521 :名前は開発中のものです。:2010/02/15(月) 17:43:22 ID:Nxk5kWkJ.net
段階的にやるって言ってるんだし、まずはスクリプト言語で作って
移植していくのでいいかと

522 :名前は開発中のものです。:2010/02/15(月) 17:57:52 ID:n4qXt3PM.net
言語外の部分に伏兵が多い品。

523 :名前は開発中のものです。:2010/02/17(水) 23:06:07 ID:B+oI5OUV.net
今仕事でJavaやっててこの後、C++かC#でDirectX使ってゲーム作成してみたいけど
C++とC#で実行速度に違いは顕著に出るんですか



524 :名前は開発中のものです。:2010/02/18(木) 03:59:59 ID:S5tbEoCa.net
>>523
C++でもある程度のスペックが必要だし、ボトルネックになるのは描画部分なのであまり気にしなくていいと思いますよ。
ベンチマーク結果もあるみたいなので参考までに。
ttp://www.shudo.net/jit/perf/
ttp://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html

525 :名前は開発中のものです。:2010/02/18(木) 22:03:52 ID:w01VKSPN.net
>>523
レースゲームで物理エンジン組むなり、
SLGで何万人もの動きをシミュレートするなりするなら話は別だが、
そうでもない限り気にするような違いは出ないと思う。

526 :名前は開発中のものです。:2010/02/21(日) 04:38:17 ID:2l2wvu6L.net
ロード画面のことで質問があります。

「Now Loading」とだけ表示し、ロードが終わったらタイトル画面などに切り替える場合だと

Draw("NowLoading");
image1 = LoadFile("image1.bmp");  //ファイル読み込み
....
bgm5 = LoadFile("bgm5.ogg");    //ここまで
state = new Title;  //状態遷移

といった具合になると思うのですが
ファイルを読み込みながら、読み込んだ割合を表示するというのはどういう風に書かれているのですか?
思いついたのはファイル一覧をテーブルにして

i = 0;
while(i < FILE_MAX){
  for(; i < FILE_MAX; i++){
    file[i] = LoadFile(filename[i]);
    if(3秒経過した) break;
  }
  Draw("Loading %dパーセント", i*100/FILE_MAX);
}

みたいなのだけど、まさかこんな事やってないだろうと思っているのですが…

527 :名前は開発中のものです。:2010/02/21(日) 07:28:08 ID:i9ENpozX.net
>>526
その方法で問題無いよ。
ただし、1ファイルの読み込みに3秒以上時間がかかったときに処理落ちしてしまう。
この場合はマルチスレッドにして読み込みと表示を別スレッドにするのが一般的じゃないかな。
それ以前に読み込みを高速化させるべきだとは思うけど・・・

528 :名前は開発中のものです。:2010/02/21(日) 20:28:55 ID:2l2wvu6L.net
>>527
有難うございました

529 :名前は開発中のものです。:2010/02/22(月) 12:37:06 ID:dzJGwHVS.net
メッセージボックスを使わずに(新しいウインドウを出さない)テキストフィールド
を作成するのって可能なんでしょうか?画面にそのままキーボード入力できる箇所を作りたいのですが

530 :名前は開発中のものです。:2010/02/22(月) 14:47:05 ID:GzvshjVK.net
環境による
通常のWindowsアプリならウィンドウに直接テキストボックス貼り付ければいいけど
Directなんとかでやってるなら、SDKのサンプル見てみるといいかも

531 :名前は開発中のものです。:2010/02/22(月) 15:07:58 ID:FbIcwD45.net
ウインドウメッセージからテキストの追加削除を行い描画する。
キーやクリックにあわせてカーソルを移動させる。

大して難しい処理じゃない。

532 :名前は開発中のものです。:2010/02/22(月) 17:25:48 ID:dzJGwHVS.net
>>530
>>531
DirectXのサンプルにテキストボックスを扱ったものがありましたが、色々と
インクルードしなければなりませんでした。
531に書いてあるようにキーに合わせてフォントを描画方法でやりたいと思います。
ありがとうございました。

533 :名前は開発中のものです。:2010/02/23(火) 12:09:49 ID:IDzEfXiX.net
WSAAsyncSelectのFD_ACCEPTは最初のクライアントからの接続要求のみ呼び出されて、
それ以降の他のクライアントからの接続では呼び出されないのですか?
2人目以降のクライアントはクライアント側のFD_CONNECTしか呼び出されていませんでした。


534 :名前は開発中のものです。:2010/02/23(火) 12:36:31 ID:IDzEfXiX.net
すみません。
2人目以降もFD_ACCEPTが呼ばれるようでした。
お手数おかけしました

535 :名前は開発中のものです。:2010/02/26(金) 16:14:12 ID:vSXVLwvV.net
ゲームでよくあるデータの保存と読み込みってどういう仕組みになってるんですかね?
保存
保存したい変数を文字列で格納→何らかのアルゴリズムで暗号化→ファイル出力

読み込み
保存したファイル読み込み→暗号データから文字列に復元→変数に代入

というかんじでしょうか・・
テキストファイルをそのまま出力してもプレイヤーに読み取られてしまうと思うので






536 :名前は開発中のものです。:2010/02/26(金) 18:10:11 ID:k8Nclp+o.net
>>535
そんな感じです。

537 :名前は開発中のものです。:2010/02/26(金) 19:45:39 ID:lcr+uN2q.net
>>535
文字列にする必要はないけどね。
バイト列の方が扱いやすいし、人間にも読まれにくい。
まぁ、バイト列でもそのまま出力すると、簡単に解析されてしまうが。

XORかけて、チェックサムでも入れとけば十分。

538 :名前は開発中のものです。:2010/02/27(土) 04:37:55 ID:pMMukQvt.net
バージョンうpによるセーブデータの互換性も考慮したいなら少しまんこい

539 :名前は開発中のものです。:2010/02/27(土) 11:03:05 ID:lavVPI3c.net
どうも有難うございます
参考にさせて頂きます

540 :名前は開発中のものです。:2010/03/03(水) 00:33:50 ID:wPHsfoXn.net
てst

541 :名前は開発中のものです。:2010/03/06(土) 21:44:25 ID:cKzvkmmp.net
プログラムというよりかはアルゴリズムの質問になってしまうと思うんですが、
パネポンみたいなパズルゲームのせり上がりの処理って
どういう風に考えればよいのでしょうか?

542 :名前は開発中のものです。:2010/03/06(土) 22:05:07 ID:oMl4iNGE.net
普通に考えて、2次元配列のブロックを
描画では端数だけ上げて、1ブロック分上がったら
配列を前段繰り上げるようにすればいいと思うけど。

反問するけど、仮にせり上がりがなかったとして
どんな風に実装するつもりなんだ?

543 :名前は開発中のものです。:2010/03/06(土) 22:21:04 ID:cKzvkmmp.net
ありがとうございます、かなり単純なことみたいですね…

何に対しての実装かちょっとわからないんですが、
ゲームの仕様ってことだったらパネポンと大して変わらないもの
を試しに作ってみたい思った次第です。

544 :名前は開発中のものです。:2010/03/06(土) 22:32:15 ID:JczPuVwf.net
>かなり単純なこと
逆だバカ

やりたい事を難しく考え杉

545 :名前は開発中のものです。:2010/03/07(日) 03:26:35 ID:uh/knnrz.net
VisualC++2008ExpressEditionについて質問です

出力したEXEでは画像が読み込まれるのですが、
F5やデバッグ開始ボタンだと画像の読み込みに失敗してしまいます。

これってビルドしたEXEを出力してるディレクトリに使いたい画像とかおくだけじゃだめなんですね
何を設定すればいいんでしょうか

一昨日からプログラムを始めたのでコンパイラそのものの仕様がよーわからんとです。
関連付け?カレントディレクトリ設定?と考えたのですがいまいちヒットしないので助力願います

546 :名前は開発中のものです。:2010/03/07(日) 03:34:34 ID:uh/knnrz.net
書き込んだら冷静になって、自己解決しました
なぜかEXEを基準にかんがえてたのでDebugフォルダに画像などを用意してたとです・・・
プロジェクトやソースそのもの位置でいいのですね

お騒がせしましたorzスレ汚しごめんなさい

547 :名前は開発中のものです。:2010/03/08(月) 12:39:39 ID:0nKKs+l0.net
カレントディレクトリは実行する人の都合で好きに変えられるから
どうしてもEXEの場所がいいなら、APIでEXEの場所調べてそこ使った方がいいぞ

548 :名前は開発中のものです。:2010/03/08(月) 15:10:42 ID:OwcKYY2B.net
>>23

549 :名前は開発中のものです。:2010/03/10(水) 22:52:00 ID:fado/aIt.net
プログラムを組んだ事の無い人間なんですが、
SLGを作ろうと考えてます。

2Dで3D処理は無しで考えてるのですが、
C++とHSPで作るとしたら、どちらが良いでしょうか?
長所と短所が有ったら教えて下さい。


550 :名前は開発中のものです。:2010/03/10(水) 23:06:19 ID:cS7N9VCd.net
C++はかなり難しいと思うので初心者が手を出すとかなり時間が掛かるんじゃないかなあ
これやる位ならCから始めた方がいいかも
HSPは初心者向きの言語って言われてるからC++よりはこっちの方がいいんじゃないか

551 :名前は開発中のものです。:2010/03/11(木) 09:51:57 ID:ar5ZJEPB.net
なぜHSPを挙げたのでしょうか。教えてください

552 :名前は開発中のものです。:2010/03/11(木) 13:24:30 ID:I816Pm6U.net
車の運転免許取るときに、エンジンの構造の勉強からはじまったら嫌だろ。
最初は興味もあるだろうが、ブレーキ、ギア、クラッチ・・・とか延々と続くとやってられない。

目的が運転なら、オートマ車で
アクセル踏んだら進む、ハンドル切ったら曲がる、ブレーキ踏んだら止まる、
とか必要な部分だけをさくっと覚えて、
運転をしたくないか?

つーことで、ゲームを作るのに必要な最低限の機能が備わっている
HSPを覚えた方が良いから進めてるんだと思うぞ。

C++は何でも出来るけど、なぜ何でも出来るかを理解しないと、
何でも出来ないという所があるからお勧めしないんだと思うぞ。



553 :名前は開発中のものです。:2010/03/11(木) 14:38:37 ID:ar5ZJEPB.net
それならツクール薦めりゃいんじゃん

554 :名前は開発中のものです。:2010/03/11(木) 14:42:19 ID:VLD8tp4g.net
SLGツクールってどんなのがあるよ?

555 :名前は開発中のものです。:2010/03/11(木) 16:22:38 ID:0Tgz6gC5.net
ていうかC++とHSPのどちらかと聞かれたからHSP挙げたまでで
より簡単だというんならそりゃツクールとかあるだろうよ
ただツクール金掛かるのが嫌だな

556 :549:2010/03/11(木) 21:57:21 ID:UxZwAiXZ.net
>>550
アドバイスありがとうございます。
>>552
更にわかりやすく、噛み砕いた説明ありがとうございます。

SLGツクール系は、買って合わなかったらやだな〜って事で
除外してました。

答えてくれた方々、ありがとうございました。


557 :名前は開発中のものです。:2010/03/15(月) 21:07:36 ID:q4e6j4OO.net
>>549
参考スレ

初心者専用スレ「シミュレーションゲーム」を作らない?2
http://pc11.2ch.net/test/read.cgi/gamedev/1172141181/

558 :名前は開発中のものです。:2010/03/30(火) 23:55:58 ID:i144vM1o.net
個人でFFTみたいなゲームを作ろうとおもうのですが
どんなソフトがあれば作れるでしょうか。
当方ズブの素人です。visual studio2008は持っています。
趣味で何年かかけて作ろうとおもっています。
後、初心者でゲーム作るならこの本読んどけってのもあれば
教えていただけるとありがたいです。
ご助力お願いします。

559 :名前は開発中のものです。:2010/03/31(水) 00:34:25 ID:/1s1VCU/.net
逆に聞きたいんだけど、それ以外に何が必要だと思うの?

560 :名前は開発中のものです。:2010/04/03(土) 01:35:28 ID:6drkN7Tj.net
再描画と安定したFPSについての質問です。
C#でGDIのゲームを作っているのですが、
Vista (32bit) まではヌルヌルだったのに、
7 (64bit) に変えたら微妙にコマ落ちするようになりました。
重くなったわけではなく、0.5秒ごとに割り込みが掛かっている感じでカクつくんです。

スレッドやプロセスの優先度を上げても変わらないし、
そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。

Vista -> 7 で、なにかGDI周りの挙動に変更が入ったりしたのでしょうか?

561 :名前は開発中のものです。:2010/04/03(土) 07:11:45 ID:ML07Lysw.net
分解能

562 :名前は開発中のものです。:2010/04/11(日) 21:47:05 ID:Ko/6dSa+.net
ようやく規制が切れた

>>560
Windows7は全く使ったことのない俺だが、

>そもそもフレーム処理時間は安定して一定時間に終わっているようなのです。
ってことは描画に遅延が入っているか、GDIの描画先がオフスクリーンバッファで
それが表面に更新されていないかだろうね

1フレームの描画が終わったらGdiFlushを呼んでるか、HDCを開放しているか
くらいしか思い浮かばん

563 :560:2010/04/12(月) 10:16:43 ID:6QZI5wHp.net
>>561
ループで描画しているので分解能は関係ないんです。
QueryPerformanceCounter使ってるし。

>>562
おっしゃるとおり、GDIレイヤで遅延しているように見えます。
でもGdiFlushなども使ってみましたがダメでした。。。

564 :名前は開発中のものです。:2010/04/12(月) 16:29:39 ID:Ub/aw0v4.net
7からはgdiはレガシーになった云々、ハードウェアアクセラレーションが云々。

565 :名前は開発中のものです。:2010/04/12(月) 22:16:40 ID:ohJzuPYP.net
>>563
最終出力を自分のプロセスで行えない場合、システムに余力がないと更新が滞ることもあるな
全てのCPU使用率が常時50%以下になってるか確認してみるとか

566 :560:2010/04/12(月) 22:49:05 ID:6QZI5wHp.net
>>564
Direct2Dでごり押ししてみないと真相は不明でしょうか・・・。
GDIが全体的に遅くなるのなら理解できるんですが、
0.5秒という長すぎる間隔でカクつくのが腑に落ちないっす。
DWMがアンチティアリングをしているせいかとも思うんですが、確認するすべも思いつきません。。

567 :560:2010/04/12(月) 22:50:32 ID:6QZI5wHp.net
>>565
常時1%〜4%です。
タスクマネージャで確認するレベルですが。

568 :名前は開発中のものです。:2010/04/13(火) 00:32:26 ID:mniTafWA.net
>>560
#これで、結局バックグラウンドでインデクシングが
#発生しているだけだったら笑える。ディスクアクセスしてない?

ところでそのループは描画しているウィンドウを生成したスレッドで動作してるの?

569 :560:2010/04/13(火) 01:43:29 ID:nmFp0o6d.net
>>568
ウインドウを生成したスレッドでしています。
何もしていない状態でもかくつきます。


いろいろ試してみたら、やはりDWMのアンチティアリングが影響しているようです。
0.5秒間隔のカクつきはV-sync待ちとのタイミングが最悪な時なのかも?
Aeroを切ったり、CreateWindowのスタイルパラメタを変更しても挙動が変わることが分かりました。
一番安定したのはAero状態のD2DでV-sync待ちで描画したとき。

正直大混乱中。よくわかんねーっす。。。

570 :名前は開発中のものです。:2010/04/13(火) 11:00:59 ID:mniTafWA.net
>>569
Aero off と on で動作が違うと言えば、例えば::InvalidateRect()で、第3引数のbEraseをFALSEにすると
Aero off の時クライアント領域が更新されないことがあったりしたな。
ただこれはVISTAも同じだから、7だけおかしいと言うことだと関係ないかも知れないが。

GDIを利用して作成していると言うことだけど、どっかで更新をOSに任せてたりしないか?
一度全部明示的にアップデートしてみるといいよ。

571 :名前は開発中のものです。:2010/04/15(木) 22:39:37 ID:oS8V8JHF.net
3Dのゲームを開発しています。

キャラクターが毎フレーム移動するんですが
その際に前回いた座標と今回いた座標を結んだベクトルを計算し、
壁などのポリゴンを通過したら押し戻すという処理をしています。
しかしポリゴンに対して直角(90度)に進めば押し戻されるのですが
10度くらいの角度で進むといずれはめり込み、
計算の誤差のようなもので通り抜けてしまいます。

こういう場合はどうしたら意図した動きになるでしょうか?
普通壁にめり込まない処理というものはベクトルで処理をするものではないのでしょうか?

572 :名前は開発中のものです。:2010/04/15(木) 22:56:32 ID:oS8V8JHF.net
age

573 :名前は開発中のものです。:2010/04/16(金) 08:49:10 ID:E7soBA+n.net
スレタイも読めない池沼さんはお帰りくださいね

574 :名前は開発中のものです。:2010/04/16(金) 15:39:17 ID:tfuXF2uQ.net
>>571
移動してから次フレームで衝突判定するんじゃなくて
移動させて衝突判定させて移動量減らしてから移動確定

575 :名前は開発中のものです。:2010/04/17(土) 18:34:27 ID:YPPhHYQE.net
>>574
その方法をとっているのですが上手くいきません
ベクトルとポリゴンは諦めて
球とポリゴンの当たり判定にしたいのですが
参考URLなどご存知ないでしょうか?

576 :名前は開発中のものです。:2010/04/17(土) 20:49:33 ID:g85Nq5+3.net
DL版のMSDNが2GBもあるってどういうことだよ
おとす気が失せるな・・・


577 :名前は開発中のものです。:2010/05/02(日) 13:48:47 ID:qwH1pwxC.net
_CrtSetDbgFlagがメモリリーク検出してくれないんだけど
心当たりある?
WinMainの最初で呼んでんだけど.

578 :名前は開発中のものです。:2010/05/02(日) 21:18:23 ID:Fty9ttWn.net
>>577
デバッガで起動してないとか

579 :名前は開発中のものです。:2010/05/03(月) 00:13:29 ID:G8fNhcut.net
してます...

別に仕様変更で,最近機能がなくなったとかじゃないですよね...?

580 :名前は開発中のものです。:2010/05/03(月) 00:24:48 ID:G8fNhcut.net
#define _CRTDBG_MAP_ALLOC
#include <crtdbg.h>

int main()
{
_CrtSetDbgFlag(
_CRTDBG_ALLOC_MEM_DF //メモリリークチェック用のヒープ使用
| _CRTDBG_LEAK_CHECK_DF //プログラム終了時にメモリリークチェック
);

int* p_int = new int();

return 0;
}

このプログラムでエラーメッセージがでません.
ちなみに,当方VCですが,メッセージは
出力ウィンドウでの確認で間違いないでしょうか?

581 :名前は開発中のものです。:2010/05/03(月) 17:53:02 ID:F+lE+L/N.net
試しにやってみたら上のコードでメモリリーク検出されたよ

以下、出たメッセージ >>
Detected memory leaks!
Dumping objects ->
{59} normal block at 0x008F4D40, 4 bytes long.
Data: < > 00 00 00 00
Object dump complete.
<<ここまで

_CrtSetDbgFlag()をコメントアウトすると出なくなるからちゃんと機能してるみたい
環境はwin7 64bit VS2008で、win32コンソールアプリケーション
コンパイルの設定は、プリコンパイル済みヘッダを使用しない、にした以外はデフォルトのまま

582 :名前は開発中のものです。:2010/05/04(火) 04:57:17 ID:2vXYcehC.net
SFCの奇々怪界〜謎の黒マント〜の丸パクリゲーを作りたいんですけども、
ゲーム製作に関する技術が0の状態です
プログラミングもまったく技術がありません
このゲームを作るのに向いているプログラミング言語がありましたら教えてください
勉強しようと思います
私のPCのOSはwin7です
windows系列で動作するゲームにしたいです

583 :名前は開発中のものです。:2010/05/04(火) 06:05:40 ID:2vXYcehC.net
ちなみにwin7の64bitです
32でも64でも動くものにしたいです

584 :名前は開発中のものです。:2010/05/04(火) 09:47:00 ID:N7bMdxX7.net
.>>581
ありがとうございます.
コードはおかしくないってことですね.
こちらでも別環境で試してみます.
なんでだろう...

585 :名前は開発中のものです。:2010/05/04(火) 11:18:45 ID:ATvQPLh8.net
>>582
C言語

586 :名前は開発中のものです。:2010/05/04(火) 15:19:34 ID:3AEGCGVU.net
+DXLIB

587 :名前は開発中のものです。:2010/05/04(火) 17:08:55 ID:2vXYcehC.net
>>585-586
thx

588 :名前は開発中のものです。:2010/05/04(火) 21:18:06 ID:I3BOmytc.net
vsyncがスマートに待てるんならDIBでやりたくなるけど、何かいい方法ないかな

589 :名前は開発中のものです。:2010/05/05(水) 00:46:35 ID:I28q1E30.net
Vista以降ならIDXGIOutput::WaitForVBlankでできんじゃね
使ったことないから的外してるかもしらんけど

590 :名前は開発中のものです。:2010/05/30(日) 22:41:11 ID:/03sGIqd.net
VRAMに直で書き込むのって、Windows環境だとやっぱり、DirectXを使わないと出来ないもの?
まだ学生だから、車輪の再開発をしまくって勉強したいと思ってるんだけど、なんらかの
コンポーネントを使用しなきゃ出来ないのなら、割り切ってコンポーネントの勉強をしようと思うんだけど

591 :名前は開発中のものです。:2010/05/30(日) 22:59:33 ID:hMrpRgoR.net
DirectXを使わないと出来ない

592 :名前は開発中のものです。:2010/05/30(日) 23:01:41 ID:hMrpRgoR.net
そういや、CreateDIBSectionを使うという手もあったな。

593 :名前は開発中のものです。:2010/05/31(月) 00:00:56 ID:y4dMI0mp.net
newとかで確保したメモリに書いた画像を出力するならSetDIBitsToDeviceが手っ取り早いと思うけど、
VRAM自体のアドレスを取得してロックしようと思ったらDirectXを使うしかないと思う

594 :名前は開発中のものです。:2010/05/31(月) 23:03:43 ID:QJNjNz5n.net
アクションゲーム作ってるんだけど、敵の処理どうやってる?
全ての敵の行動をクラスに纏めたEnemyクラスっていうのを作っちゃって、
そこに敵の種類ごとに動作とか設定しちゃおうかなって思ってたんだけど、
それじゃ敵の種類が少ないマップでもロードに時間がかかるとかってなる?

595 :名前は開発中のものです。:2010/05/31(月) 23:06:46 ID:QJNjNz5n.net
あと、敵の残りHPとか座標とか時間管理のデータってどこで管理すればいいんでしょう?
グローバルな変数を作るとか?

596 :名前は開発中のものです。:2010/05/31(月) 23:13:40 ID:+7YvNv71.net
>>595
Enemy クラスに HP、時間、座標を定義して
Enemy を継承した EnemyA、EnemyB … を作ってそこに種類ごとの行動を書けばいい
ロード時間はといより Enemy で全部やろうとすると処理コストが増えるかと

597 :名前は開発中のものです。:2010/05/31(月) 23:30:20 ID:SBpXG6MJ.net
大体それぞれの敵データ管理するためにクラス作ったんじゃなかったのか・・・

598 :名前は開発中のものです。:2010/05/31(月) 23:31:08 ID:QJNjNz5n.net
なるほど継承ですか
そういうのがあるんですね
ありがとうございます

599 :名前は開発中のものです。:2010/05/31(月) 23:58:57 ID:OsgCe482.net
OpenALでMIDIを再生したいのですが、どうすれば良いですか?

600 :名前は開発中のものです。:2010/06/01(火) 00:53:23 ID:8zniKIGy.net
無理です

601 :名前は開発中のものです。:2010/06/01(火) 11:05:50 ID:HlkdJvUb.net
MIDIデータをWavにする部分を全部自分で書けば何とか

602 :599:2010/06/01(火) 18:31:41 ID:zaH3D1aV.net
>>601
正にそれです。
MIDIパーサ、MIDIレンダラーを作りたいのですが、何をどうすれば良いのか
さっぱりな上、そういった事を解説してるサイトも皆無なので困っています。

603 :名前は開発中のものです。:2010/06/01(火) 19:13:55 ID:jI99bfoW.net
そんな事言ってる奴にはまず無理。

604 :名前は開発中のものです。:2010/06/01(火) 22:07:22 ID:02kRTTDw.net
>>602
FM音源とかにしといたら?
そこそこのクオリティを持ったMIDI音源とか個人でなんとかなるレベルじゃなさそう

605 :名前は開発中のものです。:2010/06/02(水) 11:17:16 ID:eHTKFESg.net
まず音源データそのものを集めないとね
こればっかりはプログラムだけじゃ無理だろう

606 :名前は開発中のものです。:2010/06/02(水) 22:56:16 ID:Ggr0fEGO.net
>>591
>>592
>>593
やっぱりそうなのか…
回答ありがとう。とりあえず、Direct3D9の勉強を少しやってみようかと思う。ありがとう

607 :名前は開発中のものです。:2010/06/03(木) 22:58:45 ID:N5aCEzsm.net
>>602
ソフトウェアシンセとSMFファイルを解析する部分が要る
とりあえずGM規格の仕様書でも読んでみたらいい、やる気なくすから

608 :名前は開発中のものです。:2010/06/04(金) 16:44:04 ID:Vz1OVRZS.net
ソフトシンセもSMF解析も言うほど難しくは無いだろ

609 :名前は開発中のものです。:2010/06/04(金) 17:04:27 ID:tnAvyTGm.net
この世にそういうソフトが存在している以上不可能ではないな
いずれにしてもまずはGM互換の版権フリーか自前の音源データが必要

610 :名前は開発中のものです。:2010/06/04(金) 18:16:01 ID:vIQ5MHoj.net
音をサンプリングしてまともにPCMシンセとして使えるレベルまで
編集するだけでも、どれだけ機材と時間と技術と手間がかかるんだか…

611 :名前は開発中のものです。:2010/06/04(金) 20:43:58 ID:uFMmgqFi.net
音なんてプログラムで波形データ作ればいいだけだろjk

612 :名前は開発中のものです。:2010/06/04(金) 20:48:59 ID:Q9UNwKBA.net
vistaや7で効果音が複数重なると音量が小さくなることってないですか?
xpだとそんな事なかったのですが

613 :名前は開発中のものです。:2010/06/05(土) 06:53:33 ID:yudDpx9T.net
>>611
実際にやってみるとわかるけど、自分でサイン波とかのオシレータ作って
合成して実際の楽器の音出すのってすごく難しいぞ。
FM音源なんてとても素人がどうにかできるもんじゃない。G
M規格だけでも128種類の音色とドラムセットがあるのに。

614 :名前は開発中のものです。:2010/06/05(土) 14:15:02 ID:D1eyiAx2.net
結局出せる音がFMレベルなら、FM音源最初から使えばいいじゃん
>>611はVAクラスか打楽器系の音もサンプリング音源レベルの音質をソフトだけで作るって言ってんでしょ
まあ何も知らないただのバカだろうけど

615 :名前は開発中のものです。:2010/06/05(土) 19:21:06 ID:1y0Oq8xy.net
>FM音源最初から使えばいいじゃん
どうやって?
今のサウンドカードは標準でFM音源なんて付いてないぞ?


616 :名前は開発中のものです。:2010/06/05(土) 21:05:53 ID:XfBBOv5P.net
おうおう、やらない理由ばっか述べるねぇ
ま、別にいいんだけど

617 :名前は開発中のものです。:2010/06/05(土) 22:44:24 ID:yudDpx9T.net
多分、周波数変調かけて結果をPCMで出力しろってことだから、
ハードウェア的にはFM音源ついてなくてもPCM音源があればおk
そんなことも分からないんじゃ自分で音源作るのなんて無理

618 :名前は開発中のものです。:2010/06/05(土) 22:48:00 ID:1y0Oq8xy.net
そんなのエミュでやってるやつ沢山あんじゃん。参考にすれば

619 :名前は開発中のものです。:2010/06/08(火) 17:58:37 ID:++DOtdab.net
FM変調でPCMサンプリング音源レベルのクオリティの音を出してるエミュを教えろよ

620 :名前は開発中のものです。:2010/06/08(火) 20:08:11 ID:SUdoOdZh.net
>>619
話がズレてない?FM音源エミュレート結果の出力先にPCMを使用するってだけだろう
いやもうどれが話の本筋なのか分からんけど

ところでちょっとグレーな話になるけど、スーファミエミュから抽出したSPCファイルって
容量が64KBしかないのに結構綺麗な音がでるよね
再生プラグインも100KBそこそこだから波形データを再生機側に大量に持ってるわけでも
なさそうだし、スゲーなーと思ってた

621 :名前は開発中のものです。:2010/06/08(火) 21:18:46 ID:++DOtdab.net
サウンドドライバのプログラマがすごい頑張ってたんじゃない?
FF4は、アクトレイザーのストリングスの音聴いて影響されて、
サウンドドライバ作り直しを命じたらしいし

622 :名前は開発中のものです。:2010/06/09(水) 09:21:16 ID:pmTsWhEo.net
すいません、今からゲームを作る上で、質問というか相談というかちょっと1つお聞きしたい事があります。
今の同人というかフリーゲーム開発の中でDirectXを使ってる場合、9.0と10.0どちらが主流なんでしょうか?

よっぽど凝った物でもない限り現状普及率が高い9.0のほうがいいのだろうかと思うのですが、この先の事を
考えると10.0以降の仕様に慣れておいたほうがいいのかもしれないし、もしかしたらそれほど10.0でも影響少ないのかと思って悩んでるのですが。

623 :名前は開発中のものです。:2010/06/09(水) 10:22:21 ID:rHuJZWIL.net
ここでこんな質問してるうちは、10.0で組んでも10.0独自の機能なんて
使いこなせないからどっちでも同じです。10..0だとXP切捨てになるし。
10.0以降の仕様に…ならもう11に行った方がいいんじゃない?
今から10.0を一から勉強すると、10.0独自の機能使う頃には12が出てると思われ

624 :名前は開発中のものです。:2010/06/09(水) 10:40:14 ID:IiMYCbgY.net
>>622
9.0と10.0の比較だと今OSとハードの過渡期真っ最中だから
移行するならもう1・2年待った方がいいかもな、まだゲームはXPがメインって奴も多いだろうし
逆に言えばソフトの公開が1年後2年後とかなら10.0に移行してても良いのかもしれん

625 :名前は開発中のものです。:2010/06/09(水) 10:42:22 ID:fYI9N/70.net
9切り捨てられるなら11でいいと思うよ。

626 :名前は開発中のものです。:2010/06/09(水) 13:45:50 ID:pmTsWhEo.net
なるほど・・・レス感謝。

10向けのソフトなんてまだそれ程ないし、自分も知識や技術不足等あるので9を扱いきれるようになってから
様子見て10.1以降のに目を向けるようにします。

627 :名前は開発中のものです。:2010/06/09(水) 16:54:49 ID:bi7/yVM/.net
>>620
SFCの音源部は、
・SPC700それ自体がCPU(6502系)なので、ドライバ書くときに、サウンド処理以外の負荷を考える必要がない。
・当時としては大容量の64KiBのSRAM(実際に音色データを置けたのはもっと少ない領域だったようだが)。
・32KHz/8chのADPCM。なので、容量自体はそんなに食わない(高音域の音が歪むという欠点はあるが)。
・再生波形のガウス補間、ピッチ/モジュレーション変更、エコー/リバーブ、フィルタをハードウェアでサポート。
てな具合で、無論、ドライバの工夫もあるんだろうけど、業務用ゲームも含めて、当時のゲーム用としては、もともと最高クラスのPCM音源だったのが要因。

628 :名前は開発中のものです。:2010/06/09(水) 20:44:25 ID:yKxBirAe.net
midi→PCMってムズいの?

629 :名前は開発中のものです。:2010/06/09(水) 21:15:34 ID:rHuJZWIL.net
ムズイっていうかMIDIは楽譜的な情報なのにPCMは波形だからなあ
自分で一からやるとそりゃあもう死ねます
実装によって仕上がりの音も全然違うし

630 :名前は開発中のものです。:2010/06/09(水) 22:32:28 ID:qkJYSXJu.net
楽譜をCDにするのと似たようなもん、何処まで自分でやるかによる。

演奏者雇って楽器は買ってくれば(Windowsにファイルごと丸投げ)、たいした労力はいらんし。
自分で演奏して楽器も自作する(自分でSMFを解析し、シンセサイザーを自作する)となれば、相当な労力がいる。


631 :名前は開発中のものです。:2010/06/09(水) 23:59:35 ID:eDbPYTsH.net
>>627
詳しい解説をありがとう、なんだか音のプログラマブルシェーダみたいですね
なぜSPCファイルが皆同程度の容量なのか不思議だったんだけど、ようは処理系のスナップショットなのか

632 :名前は開発中のものです。:2010/06/11(金) 12:50:28 ID:hBamGraD.net
すいません、少々質問です。
>>622ですが、9.0c用のSDKを探しているのですがどのSDKを使えばいいのでしょうか?

633 :名前は開発中のものです。:2010/06/11(金) 12:54:06 ID:hBamGraD.net
ageるの忘れたのと追記ですが、一応今DLしてあるものは June 10と最新の物なんですが、この中に
ソースとして10ってのと9っての2種類があるのですがもしかしてこのSDKって別に過去の物を使う必要がなく、
9.0cで使える関数等をつかえば9.0c向けのプログラムということになるのでしょうか?

634 :名前は開発中のものです。:2010/06/11(金) 12:58:26 ID:WclTY3DZ.net
>>633
概ねそう。windows APIだって同じだろ。


635 :名前は開発中のものです。:2010/06/11(金) 16:24:22 ID:b46tP7Yu.net
DirectSoundとかの古い機能を使わなければ問題ないな


636 :名前は開発中のものです。:2010/06/11(金) 22:30:53 ID:WRoLJZOq.net
C++で実装する場合、敵データって何で管理すべき?vector?list?
shared_ptrは使うべき?
ここらへんの作法的なものがさっぱり分からなくて困る

637 :名前は開発中のものです。:2010/06/12(土) 08:19:34 ID:odsGwdrC.net
私もこの質問に便乗して
私は追加削除は list の方が vector の方が速いと思ってたんですが
どっかで実は vector の方が速いとあったのでやっぱりそうなんでしょうか
しかもそれらSTL自体が遅いと聞いたので自分で作るのも考えたのですが
似たものは作れるのですが、全く同じ使い方のものを作ろうとすると今の自分にはちょっときついので
どこかで自作してるものを探したのですが、見つからなかったのでどこかにありませんでしょうか
自分で参考にもしたいと思ったもので
それとこれらの質問はゲームプログラミングを想定したものです一応念のため

638 :名前は開発中のものです。:2010/06/12(土) 09:36:07 ID:MfFcNHJl.net
速さに関しては今のPCの方が優秀なのでよっぽどのことが無い限り気にするだけ無駄。
画面に何百万発の弾幕張るような仕様を実現できるかどうかはPCやグラボの性能次第。
速さの限界チャレンジは開発用PC上で”しか”意味が無い。

639 :名前は開発中のものです。:2010/06/12(土) 10:08:18 ID:odsGwdrC.net
そうなん?じゃ無難に list でも使っとくか

640 :名前は開発中のものです。:2010/06/12(土) 10:22:20 ID:ISREFi7t.net
描画が重いからって描画以外の部分の高速化を図るのはお門違いってこと?

641 :名前は開発中のものです。:2010/06/12(土) 10:31:19 ID:IAfNttk3.net
list<effect>とlist<enemy>があってeffectからenemyにランダムアクセスしたいんだけど、
これって低速なのを承知してイテレータ使って探すしかないの?
それともなんか定石みたいのあるの?

642 :名前は開発中のものです。:2010/06/12(土) 10:49:27 ID:Z4c//xCX.net
>>640
お門違いかどうかは、プロファイラで計測してみないとわかんないね。

>>641
本当にその検索がボトルネックになってるなら、同時にIDがindexのベクタに登録するとか。
つかそれ以前に、enemyに対するeffectって、enemyオブジェクト内にeffectアドレスでも
登録して、effectの寿命はCOMみたいに管理すれば、検索自体が不要な気が…


643 :名前は開発中のものです。:2010/06/12(土) 11:12:44 ID:IAfNttk3.net
>>642
なるほど。後者の方法はいいかもしれないけど寿命管理が良く分からない
万が一先にオブジェクトが消えてしまて存在しないものを参照してアクセス違反とならないか不安

644 :名前は開発中のものです。:2010/06/12(土) 13:20:38 ID:nozhbs64.net
>>640
よほどの数の敵が出てくるとかでなければ、コンテナの違いは
速度的にはあまり意味がない。
コンテナの違いは中身が万単位になってやっと意味が出てくる程度で
数百程度だと優位な差がなかったり、速度の逆転が起こったりする。

要素の挿入や削除でイテレータが無効になるとかの性質の方が重要。

速度に問題があれば、コンテナを変える前にアロケータを変えることを
考えた方がいいかも。

645 :名前は開発中のものです。:2010/06/13(日) 04:37:42 ID:B+np0z/d.net
アロケータ調べてみたけど難しかったのでもう最初に new で一旦それぞれ使う分とっといてそれを使いまわすことにするわ

646 :名前は開発中のものです。:2010/06/14(月) 07:50:15 ID:+L/wTpB0.net
アロケータとかリストとか自分で頑張って作ろうとしてみたけど疲弊しただけだったわw
もっと実力上がってから挑戦してみることにする
当面は大人しく new と STL 使ってるわ
いやね、言い訳になるが単純にリスト作るだけなら出来ると思うけど
汎用化させたりいろいろ絡んでくるとちときついわ今の自分の力では

647 :名前は開発中のものです。:2010/06/22(火) 16:48:44 ID:TOC+2Opi.net
おれは動的配列を自分で作ってしまったよ。
ただ、配列のサイズ変更も自動でやってくれるとか、
自分なりに使い易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。

648 :名前は開発中のものです。:2010/07/17(土) 22:15:17 ID:84ym2+jv.net
おれは道程だから自分でオナってしまったよ。
ただ、ちむこのサイズ変更が自動でなってしまう朝立ちとか、
自分なりにイキ易い形にカスタマイズはした。
趣味の人ならこういう部分を楽しむのもアリだと思う。

649 :名前は開発中のものです。:2010/07/20(火) 09:31:58 ID:9KeZQpZV.net
動的配列ってパイソンのリストみたいなやつ?

650 :名前は開発中のものです。:2010/07/20(火) 12:09:38 ID:IRMyEe9a.net
std::vectorみたいなものでは?

651 :名前は開発中のものです。:2010/07/20(火) 13:18:37 ID:ka0nTHRg.net
2D横スクロールアクションを創りたいんだけど、マップとかを作るのが大変すぎる
RPGツクールみたいな感じで創りたいんだけど、それには自分で専用のエディタをプログラミングしなきゃ駄目?
出来れば画面のある場所をクリックするとイベントが配置されて、画像とかイベント内容とかを
プログラムに書き加えてくれるような仕組みにしたいんだけど・・・
そういうのは難しいんだろうか
(モンスターAをどの位置に配置する、という地図をテキストデータにまとめて保存ということ
なら今の俺の技術でもできると思うんだけど、エディタの設定をもとにプログラムを自動生成して
書き加えてくれるようなのって可能?って質問です)

652 :名前は開発中のものです。:2010/07/20(火) 13:43:17 ID:4zAYS/8u.net
>>651
普通にレイヤー編集が出来るマップエディタでだいじょうぶでしょ
マップチップをモンスターやらイベントやらに割り当てればいい

地形レイヤー(あれば便利な当たり判定レイヤーを分けるといい)
イベント配置レイヤー(アイテム・モンスターレイヤーで分けてもいい)

好きなだけ必要なレイヤー作ればいいと思うよ

653 :名前は開発中のものです。:2010/07/20(火) 13:48:33 ID:ka0nTHRg.net
>>652
レイヤを作ってモンスターの配置・上層マップチップ・下層マップチップに分けて、
それの位置と内容をテキスト化何かに保存、というのは俺も考えてるんだけど、
問題はイベントの内容をエディタの中で決められないかな、ということ
RPGツクールだと「文章の表示」だの「画面を暗くする」だの「場所移動」だのの
コマンドを組み合わせるだけでいいでしょ
それと同じことをオリジナルエディタでやろうと思ったらどういう技術を使えば可能かってこと

654 :名前は開発中のものです。:2010/07/20(火) 13:51:20 ID:9KeZQpZV.net
ツクールなんて普通知らねえよw

655 :名前は開発中のものです。:2010/07/20(火) 14:20:13 ID:4zAYS/8u.net
>>653
オリジナルなら聞くまでも無くどうとでもなるじゃん。
フリーのマップエディタでどうにかならんかってことじゃないわけ?

イベントレイヤにマップチップ1を貼り付けて、
別ファイルたとえば"ev_1.txt"にメモ帳で内容を書くとすると、
簡単にマップチップとイベントを繋げられる。

・・・・ということじゃなく、そういうエディタを作りたいなら
最低WindowsGUIに関するプログラム(C#あたりなら楽)、
ツクール並みのイベント内容を解析したいならLuaあたりの知識、
1からスクリプト作りたいなら、構文解析に関する技術が必要だけど?

656 :名前は開発中のものです。:2010/07/20(火) 14:34:33 ID:ka0nTHRg.net
>>655
そういうんじゃなくて、プログラムとエディタをいったりきたりする手間を省けないかなってことです
例えばエディタ上でイベントを配置したい場所をクリックするとウインドウが出てきて、
そこにプログラムを書いてOKを押すと、そのプログラムをCファイルに書き足してくれる、
というようなものです

657 :名前は開発中のものです。:2010/07/20(火) 15:03:14 ID:4zAYS/8u.net
うーん、それだったら自分のニーズに合うものを作るしかないね。
プログラムとエディタを行ったり来たりしたくなければ、
スクリプトとしてイベントを外部に追い出すしかないだろうから。

>>651 で考えているのはCに直すんだから一種のトランスレータだろうけど、
その方法は、動かすたびにコンパイルしなおさにゃならんので、
結局エディタとプログラムを行ったり来たりすることになるよ。

しかし、そこから作るよりもあるものを使って作ったほうが最初はいいと思うけどね。
マップエディタと、メモ帳があればいいんだし。
マップチップに対応したイベントファイルにたとえば、

HP=10
移動パターン=1
攻撃力=12
防御力=3
落とす金=10

それをプログラムで読んでパラメータ設定したら、かなりエディタだけでよくなる。
これでも、経験が無いなら四苦八苦するだろうけど。

658 :名前は開発中のものです。:2010/07/20(火) 15:04:48 ID:4zAYS/8u.net

×マップチップに対応したイベントファイルにたとえば、
○モンスターレイヤのマップチップに対応したイベントファイルにたとえば、

659 :名前は開発中のものです。:2010/07/20(火) 15:40:33 ID:FFEjXre5.net
スト2の昇竜拳の軌道計算でつまってます。
下記の画像の逆放物線のような軌道計算は、
どのように行っているのかご存知でしょうか。
もしくは参考サイトなどありますでしょうか。

http://iup.2ch-library.com/i/i0121467-1279607725.jpg

入力情報としては

・頂点座標
・頂点到達時間(フレーム)
・現在再生フレーム(相対)
・横方向の力

出力情報としては

・フレームの進行度に対する前フレームからの相対位置
 要するに計算結果を加算するだけにしたい。

を考えています。

660 :名前は開発中のものです。:2010/07/20(火) 15:55:52 ID:4PiPc8U0.net
1フレームずつ座標をプロットして結果をテーブル化

661 :659:2010/07/20(火) 15:59:01 ID:FFEjXre5.net
頂点位置や横方向の力は可変にしたいので
固定数値だと都合が悪いですね

662 :名前は開発中のものです。:2010/07/20(火) 16:13:47 ID:SmPxzstR.net
物理的に考えれば等加速度運動とか等速運動だとかだけど
フレーム毎の計算だから数列の和だとかそんな感じか
高校数学レベルの話かな

663 :名前は開発中のものです。:2010/07/20(火) 16:22:41 ID:4zAYS/8u.net
vx と vy に必要な初速度計算して

x = x + vx
vx = vx / (適当 * フレーム * 横の力)
y = y + vy
vy = vy / (適当 * フレーム)

みたいなのを毎フレーム呼び出すとかかいな

664 :名前は開発中のものです。:2010/07/20(火) 16:38:47 ID:ka0nTHRg.net
>>657
遅くなりましたがありがとうございます。
テキストデータをエディタで編集して出力して既存のプログラムをテキスト化したものの中に埋め込み、
それの拡張子をつけかえてCファイルにして、コンパイル、
なんてことが出来ればそれが一番いいのですが・・・
色々調べたけど難しいみたいですね

665 :名前は開発中のものです。:2010/07/20(火) 16:46:15 ID:4PiPc8U0.net
データと処理を完全に分離してテキストデータを書き換えるだけで動作が変わるようにした方が良いと思うが

666 :名前は開発中のものです。:2010/07/20(火) 16:54:45 ID:ka0nTHRg.net
>>665
つまりテキストを引数にした関数を作っておくってこと?

667 :名前は開発中のものです。:2010/07/20(火) 16:59:53 ID:4PiPc8U0.net
引数でもfopenでも何でもいいけど、データを書き換える度に毎回コンパイルするのは面倒臭くない?

668 :名前は開発中のものです。:2010/07/20(火) 17:07:34 ID:ka0nTHRg.net
確かにそうですね
敵のパラメータもテキストで管理して、
マップにおける敵の位置もテキストで管理して・・・
そしたらエディタだけでだいぶ楽できるようになりますね
ただパラメータとかじゃなしの具体的な動作はプログラムでやらざるをえませんが

669 :名前は開発中のものです。:2010/07/20(火) 17:12:43 ID:4zAYS/8u.net
具体的動作もLuaとか使えば外に持てるけどね。

670 :名前は開発中のものです。:2010/07/20(火) 17:22:14 ID:ka0nTHRg.net
LuaでC++のコードを生成できるってことですか?

671 :名前は開発中のものです。:2010/07/20(火) 17:27:38 ID:4zAYS/8u.net
ちがう。
Luaスクリプトを自作のプログラムに組み込める。
これはたとえば、Cで作った自作プログラムの上でさらにCを動かせるようなもの。
コンパイルなしで。

でもまぁ、最初からそうしようとすると今の状態だときついだろうから、
プログラムとデータを分離することに集中したほうがいいよ。

672 :名前は開発中のものです。:2010/07/20(火) 17:41:41 ID:ka0nTHRg.net
>>671
うーん難しいですね・・・
キーワードとして覚えておきます
ありがとうございました

673 :名前は開発中のものです。:2010/07/20(火) 17:53:49 ID:4PiPc8U0.net
具体的動作まで外部に出すべきかなあ。そこはコンパイラにチェックしてもらった方が安全だと思うな。

674 :名前は開発中のものです。:2010/07/20(火) 18:00:01 ID:4zAYS/8u.net
ツクールでも作らない限りは、設定ファイルの延長で十分だし
そこのさじ加減は作る人の好みだねぇ


675 :名前は開発中のものです。:2010/07/21(水) 00:33:49 ID:EY0IZyCn.net
>>673
一度のコンパイルで十分くらいかかる位プロジェクトがでかくなったらそんなこと言えなくなるぞ

676 :名前は開発中のものです。:2010/07/21(水) 00:57:10 ID:eplgz5cR.net
じゃあC/C++を捨ててスクリプト言語でプログラム作ってろよ

677 :名前は開発中のものです。:2010/07/21(水) 02:02:55 ID:EY0IZyCn.net
実際そうなる

678 :名前は開発中のものです。:2010/07/21(水) 06:18:38 ID:O18++P2x.net
>>675
リビルドならともかく、ビルドでそうなるってのは、どっか設計が間違っていると思う。


679 :名前は開発中のものです。:2010/07/21(水) 07:38:28 ID:60wOpc+n.net
いまどきのPCならコンパイルも瞬殺だから、外だしする理由もないよね

680 :名前は開発中のものです。:2010/07/21(水) 07:39:25 ID:60wOpc+n.net
無駄に色んなクラスが1つのファイルに収まってたり、
無駄にヘッダを読みまくってたりすると、一箇所変更しただけで
大量にコンパイルが発生して遅くなったりはするけど

681 :名前は開発中のものです。:2010/07/21(水) 09:47:27 ID:Ef6/96NX.net
俺の場合1プロジェクトで何個もゲームこさえるスタイルだから無駄に色んなクラスが1つのファイルに収まってるわw

682 :名前は開発中のものです。:2010/07/21(水) 09:54:22 ID:EY0IZyCn.net
一箇所変更しただけでコンパイルとかしないから。
どのくらいの大きさのプロジェクト作ったことある?ソースファイル1000個超えたことある?

683 :名前は開発中のものです。:2010/07/21(水) 10:08:52 ID:DTn2ZgeR.net
つーか、複数のグループで分業とかしないのかな

684 :名前は開発中のものです。:2010/07/27(火) 02:25:46 ID:RZRqKDLL.net
>>656
何故Cのファイル?

C言語がベースならLuaを組み込んで、エディタからLuaのスクリプト吐くとか。
Lua組み込みすら大変な事情があるなら、構文を制限してcsvとか >>657 みたいな構文で吐くのはまだ楽
ただどっちにしろ羅列したコマンドを自分で処理する必要が出てくる

ただし、イベントスクリプト内で四則演算したいとか関数がほしいレベルの要求があるなら
迷わずLuaなりなんなり組み込み言語に行くのが今の時代だな
1からスクリプト組む時代じゃないわ

685 :名前は開発中のものです。:2010/07/27(火) 02:36:14 ID:RZRqKDLL.net
>>682
コンパイルの速さはそれこそ言語や処理系によるからな

ソースファイルが1000程度なら、Delphiなら10年くらい前でもフルコンパイルに30秒もかからなかったからな。
部分修正なら一瞬だった。
C++なら工夫しないと部分的修正でもファイル多いと死ねた時代だ。
pimplとか試してたわ

家ゲーの知り合いに聞いたら、今はスペック上がったからC++でもサクサクコンパイルできると言ってたが
実際どうなん?

うちはC++から離れちゃったんで最近C++事情に疎い


686 :名前は開発中のものです。:2010/07/27(火) 07:58:54 ID:gQwuLlov.net
そりゃまあ、プリコンパイルなしで、あらゆるソースでテンプレートを使いまくったあげく、
そのファイルを更新した、なんてことしたら大変なことになるよな。

>>685
ソースコードが42MBのライブラリをリビルドすると、数分はかかる > Core2Duo 3GHz/VC++2005
うまく切り分けてあるソースのビルドならほとんどの場合数十秒未満だから、まあ、さくさくっちゃーさくさく。


687 :名前は開発中のものです。:2010/07/31(土) 19:12:16 ID:odxEQo6u.net
ちんまいファイルを沢山読むせいかRAMDISKとかSSD使うと明らかに速くなるな



688 :名前は開発中のものです。:2010/10/27(水) 15:38:02 ID:PA2n5kiT.net
横スクアクションゲームについて質問なんだけど
スーファミのドンキーのようなやつはマップチップ使ってるのか?
マップチップ使ってるやつならなんとなく作り方分かるけどあーゆーのはどうやって作るの?
あとマップエディタ使ったときステージ固有のギミックとかどうやって組み込めばいいの?

689 :688:2010/10/28(木) 05:05:55 ID:BuHTqjnE.net
ごめん別のとこに移る

690 :名前は開発中のものです。:2010/12/13(月) 01:35:44 ID:k+jnh4qf.net
↓の優先デバイスってプログラム側でどうやって取得するのでしょうか?
ttp://peufrequente.blog41.fc2.com/blog-entry-636.html

VC#2008 Expressで、ManagedDirectXつかってゲーム作っているのですが、
DeviceList list = Manager.GetDevices(DeviceClass.GameControl, EnumDevicesFlags.AttachedOnly);
を実行するとゲームパッドの取得順番が変わるのかと思いきや、変わりません。
もしかして別に取得する手段があるのではと思い、質問させていただきました。

ご存知の方、どうかご教授お願いします。

691 :名前は開発中のものです。:2010/12/16(木) 18:44:40 ID:0O6i5tIq.net
はじめの1歩でつまずいたので助けてください。

環境VC++2010Express
DrectXSDK June 2010

やったこと
VC++で新規プロジェクトを作る( Win32の空やつ)

test.cppをソースに追加する
内容
#define STRICT
#include <Windows.h>
#include <d3dx9.h>

LPDIRECT3D9 g_pD3D;

int PASCAL WinMain(HINSTANCE hInst,HINSTANCE hPrev,char *CmdLine,int CmdShow)
{
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
}

プロジェクトのプロパティからVC++ディレクトリをみて
インクルードディレクトリに$(DXSDK_DIR)Include
ライブラリディレクトリに$(DXSDK_DIR)Lib\x86
を追加する。

ビルドする

この作業で
error LNK2019: 未解決の外部シンボル _Direct3DCreate9@4 が関数 _WinMain@16 で参照されました。
が発生してます。
あと、どのディレクトリを参照させればいいですか?

692 :名前は開発中のものです。:2010/12/16(木) 20:16:39 ID:eb1OKGp3.net
#includeの下あたりに

#pragma comment(lib, "d3d9.lib")

とでも書いとけ

693 :名前は開発中のものです。:2010/12/16(木) 20:46:19 ID:arJifEUh.net
つーかPASCALとかいつの記法だよと

694 :名前は開発中のものです。:2010/12/16(木) 22:38:10 ID:0O6i5tIq.net
>>692
ライブラリの指定って必要なんだっけか?
ディレクトリ指定して終わりじゃないんだ。
解決できました、ありがとうです。


>>693
オレはこれしか知らんのだが
最近は違うのがあるのか?
(199X年発行のウインドウズプログラム入門書見ながら)

695 :名前は開発中のものです。:2010/12/17(金) 12:23:19 ID:NsCCmq8+.net
PASCALとかWin16時代の遺物だろ。

microsoft.com内を検索してもページによって
WINAPIだったりCALLBACKだったりでわけわからんことになってるな。
どれも最終的に__stdcallになるだろうが。

696 :名前は開発中のものです。:2010/12/20(月) 12:54:09 ID:CPsUR6OJ.net
>>694
お前は10年以上経ってもプログラム技法が変わらないとでも思っているのか

697 :名前は開発中のものです。:2010/12/20(月) 15:03:26 ID:kH/vSo81.net
それにしてもCは長いよな。
まぁCといっても色々変遷してはいるが。

698 :名前は開発中のものです。:2010/12/20(月) 15:41:17 ID:unK/nJml.net
次は何になるんだろうな?
64bitに切り替わる時か、128bitに切り替わる時に何かあるかな?

699 :名前は開発中のものです。:2010/12/26(日) 14:40:10 ID:BzGIguKq.net
質問失礼します
C++でのWindowsプログラミングで、エディトウィンドウAでの文字入力を捕まえてエディトウィンドウBに同じメッセージを飛ばすということをしたいのですが、次のコードだと日本語入力を捕まえてくれません。
(Aをサブクラス化しています)

LRESULT CALLBACK AProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
 if(message == WM_KEYDOWN) {
  PostMessage(B, WM_KEYDOWN, wParam, lParam);
 }
 return CallWindowProc(defEditProc, hWnd, message, wParam, lParam);
}

日本語入力も捕まえるようにするにはどうすればいいでしょうか。ご教示お願いします。

700 :名前は開発中のものです。:2010/12/26(日) 19:40:07 ID:DlRTWhIN.net
>>699
やりたいことはよくわからんが、WM_CHARの方を使うとか

701 :名前は開発中のものです。:2010/12/26(日) 21:04:31 ID:BaeaVQ+I.net
>>699
フォーカスがBに無いと受け取らないんじゃね?調べてないけど。
WM_USER+xとかで送れば?

702 :名前は開発中のものです。:2010/12/29(水) 05:14:22 ID:IFaaeh/8.net
>>699
捕まえるにはWM_IME_KEYDOWN、WM_IME_KEYUPを見たらいけるかもしれない。
ただし、それをそのまま転送してもだめなはず、
IMEの処理が入る位置はWM_KEYDOWNやWM_IME_KEYDOWNより前の段階であるため。
やるならSendInputやkeybd_eventで同じキーストロークを再現する(これでうまくいくかは知らない)。

あるいは、>>700の言っているようにWM_CHARなどの転送で事足りるのかもしれないけど。

703 :名前は開発中のものです。:2010/12/30(木) 22:44:31 ID:ptpBQcHB.net
WM_IME_COMPOSITIONを捕まえてGCS_ほげほげで判定したらいけました。
ありがとうございました。

704 :名前は開発中のものです。:2011/02/05(土) 01:46:02 ID:oyWwf9Pp.net
ひとこと書いてみた。

705 :名前は開発中のものです。:2011/02/07(月) 17:55:57 ID:jb6HR8rZ.net
MIDIをOpenALで鳴らしたいのですが、どうすれば良いですか?

706 :名前は開発中のものです。:2011/02/07(月) 20:20:59 ID:xF2jTO5N.net
無理です

707 :名前は開発中のものです。:2011/02/07(月) 20:44:44 ID:9xgbd+uS.net
almixerってどうなの?

708 :名前は開発中のものです。:2011/04/07(木) 15:30:11.65 ID:i/kzJacP.net
フリーのシューティングゲームなどで、カーソルや自機が左上に移動し続ける現象が起こりますが、原因はなんでしょうか。
対処法も教えてください。

709 :名前は開発中のものです。:2011/04/07(木) 16:36:53.27 ID:Ifq1Rv8t.net
ジョイスティックの調整をしろ。

710 :名前は開発中のものです。:2011/04/07(木) 16:52:58.06 ID:pcoolw30.net
プログラミングの質問なのにそれはないだろうw

711 :名前は開発中のものです。:2011/04/07(木) 18:04:54.19 ID:hqT2HpYb.net
708の質問を読む限り、プログラミングの質問に思えないんですが。

「フリーのシューティングゲームなどで」って事はプレイする側の話でしょ?

712 :名前は開発中のものです。:2011/04/07(木) 19:11:17.72 ID:WA2sOoJW.net
ニュートラルポジションがおかしくなってる

713 :名前は開発中のものです。:2011/04/07(木) 19:59:23.79 ID:i/kzJacP.net
誤解を招く書き方をしてすみません;
プログラミングについての質問です。
環境は同じなのに、たまに左上現象が起こるゲームがあるので、気になりました。

714 :名前は開発中のものです。:2011/04/07(木) 22:18:20.53 ID:hqT2HpYb.net
「自分が作ってるゲームでそういう現象がおきる」

ではなくて

「そういうフリーゲームが時々あるけど、これはプログラム的に何か問題があるんだろうか?」

って質問なのかな。

いや俺はそういうフリゲの作者じゃないから答えられんけど。

715 :名前は開発中のものです。:2011/04/14(木) 16:24:33.76 ID:tNm2yu1M.net
AutodeskMAYAで作成したキャラクタ(.ma)を動かせるプログラムを組みたいのですが、何を勉強すればいいですか?

C言語はライブラリを使わなければだいたいわかります

716 :名前は開発中のものです。:2011/04/14(木) 18:45:12.64 ID:MAAZSs/A.net
ゲームコントローラによってはアナログ/デジタルの切り替えで
同じ軸でも軸の取る数値の範囲が変わったりするからかな?

717 :名前は開発中のものです。:2011/04/14(木) 19:47:26.48 ID:CnLBOOeN.net
パッド入力の閾値の問題だね
コントローラ全部が入力無い時に軸の位置に「0」を返すとは限らないからある程度猶予を与えればいい
ハズ。あまり詳しくはない

718 :名前は開発中のものです。:2011/04/25(月) 17:45:50.18 ID:KE1E9nBp.net
変な質問なんですけど
ゲームに使われるバイナリの値で
0xFFFFD8E7や0xFFFFD8EBといった値は何を表す値であると予測出来ますか?

719 :名前は開発中のものです。:2011/04/26(火) 01:49:00.44 ID:h6WQRFtT.net
・不透明な薄いピンク色
・固定小数点の座標値(整数部24bit小数部8bitで-39.09765625)
・32bitデプスバッファの任意地点の深度値
・生成される全オブジェクトにデクリメントで振っているシリアル番号


720 :名前は開発中のものです。:2011/04/26(火) 02:46:18.54 ID:/x7Dm5hD.net
1番目と4番目はあるかもしれません
ありがとうございました

721 :名前は開発中のものです。:2011/05/06(金) 14:16:14.28 ID:gs4TXQIx.net
using System;

class example
{
static void main()
{
Console.WriteLine("unkounko");
}
}
技術書を見ながら↑を書いたんですが
エラー 〜\Project1.exe' は、エントリ ポイントに適切な静的 'Main' メソッドを含んでいませんProject1
ってエラーがでてデバッグできません
ナニがいけないんでしょう?


722 :名前は開発中のものです。:2011/05/06(金) 20:56:47.66 ID:ibiTWqKE.net
君の頭


723 :名前は開発中のものです。:2011/05/06(金) 22:52:11.74 ID:r/gVAn5n.net
>>721
Mainでなく、mainでいいの?

724 :名前は開発中のものです。:2011/05/07(土) 19:13:02.95 ID:8XRSvEQT.net
プログラミングの本を買ってゲームを作りたいんですが
ノートパソコンでも大丈夫なんでしょうか?

725 :名前は開発中のものです。:2011/05/07(土) 19:22:17.45 ID:Q8cgsrDC.net
>>724
ノートだろうとデスクトップだろうと、ツールが要求する動作環境のスペックさえ満たしていれば作れるよ。

726 :名前は開発中のものです。:2011/05/09(月) 15:08:27.91 ID:r3X4NYF6.net
フリーで使えるお勧めのお絵かきソフトって何かいいの無いですか?
SAIが無料かと思ってたらシェアウェアでした

727 :名前は開発中のものです。:2011/05/09(月) 17:37:52.12 ID:F60nSaWV.net
どのレベルの絵を描くかで変わってくると思うけど。
Paint.NETとかGIMPとか?

728 :名前は開発中のものです。:2011/05/09(月) 17:42:16.40 ID:F60nSaWV.net
ちょっとググったが、SAIと並べられてかつフリーだと
GIMP、Pixia、AzPainterの名前が出てきたがどうか?

729 :名前は開発中のものです。:2011/05/09(月) 17:48:38.11 ID:r3X4NYF6.net
>>728
ありがとうございます
3つとも試してみますね

730 :名前は開発中のものです。:2011/05/12(木) 21:13:42.01 ID:1+y6mWXW.net
使い慣れて便利なのと、特に新しい技術が必要なゲームは作ってないので
昔書いたDirectXの自作のラッパーライブラリのバージョンアップを
7.0からやってないんですが、たま〜に、DirectX7以前のコードは
VistaやWin7で上手く動作しないという話を聞く事があります。

実際問題として、そこまで動作不良が多いんでしょうか?
出来れば、今のまま暫く、自作ライブラリ使いたいので
無視出来る程度の不具合の事例しかないなら、
バージョンアップしたくないんですけど、みなさんの意見聞かせて下さい。


731 :730:2011/05/12(木) 21:18:19.47 ID:1+y6mWXW.net
まぁ要はドライバの問題なんですかね。

732 :名前は開発中のものです。:2011/05/13(金) 19:26:20.67 ID:69Ai+1uz.net
基本はC(や何か言語)でプログラムを書いて
Directxで作ったダンジョンとか画像や音楽をCで読み込ませる、でいいんですよね?

733 :名前は開発中のものです。:2011/05/14(土) 12:34:06.17 ID:9TrYbWlB.net
DirectXすげー

734 :名前は開発中のものです。:2011/05/14(土) 14:47:18.75 ID:0GXIJwN5.net
ダイレクトセックスとかいうのやってみたいんですが、Cでもできますか?


735 :名前は開発中のものです。:2011/05/14(土) 16:18:11.67 ID:iTcd63B+.net
>>734
まずは「はじめてのC」を読んでください。

736 :名前は開発中のものです。:2011/06/02(木) 12:54:15.23 ID:1tobcTkH.net
3DのゲームプログラミングするPCはGeforceよりQuadroの方がいいんですか?
あとできる限りCPUやメモリが良い物の方がいいんですか?

737 :名前は開発中のものです。:2011/06/02(木) 18:21:37.82 ID:oVeJslsB.net
こんなもんでいい。

CPU : Core i3 2105
MEM : 8GB
OS : Windows7 64bit版

素人がプログラミングして遊ぶ程度なら、CPU内蔵のHD3000で十分すぎる性能。
シェーダモデル4.1、DirectX 10.1、OpenGL3.0、OpenCL1.1に対応。
あと、DirectX11世代が必要だというのならグラボ買う必要あるけど、Geforceとか
Quadroとか無視して良いから。グラボ載せるならRadeonで万全。HD6850買っとけ。

搭載メモリ8GBは最低量。できれば16GB欲しい。
いろんな作業を並行してやる時の快適さが違う。

738 :名前は開発中のものです。:2011/06/06(月) 22:20:02.16 ID:SmY3HvdC.net

内容:
質問です。現在RPGを作っているのですがマッピングで困っています。
現在テキストファイルを読み込む→書いてある文字(半角)を数値に変換→配列に格納
っていう風にしているのえすが割り当てる文字が無くなってきてしまいました。
数字だけで割り当てる以外に何か他にいい方法はありませんか?

739 :名前は開発中のものです。:2011/06/06(月) 22:23:02.47 ID:3A2O81ns.net
2バイト文字にして漢字でも使えば?


740 :名前は開発中のものです。:2011/06/06(月) 22:31:43.14 ID:EjPv1nsn.net
ビットマップを使う
ペイントで修正できるし割とよくある手法

741 :名前は開発中のものです。:2011/06/06(月) 22:47:56.44 ID:SmY3HvdC.net
>>739 なるほど、確かに全角にしても何ら支障は無かったです。ありがとうございます。
>>740 ビットマップで描いてますよ。

よく考えたら全角にすればいいだけのことでしたね。変なこと聞いちゃってごめんなさい。
ありがとうございました。

742 :名前は開発中のものです。:2011/06/06(月) 22:56:56.47 ID:EjPv1nsn.net
>>741
ビットマップでマッピングしてるならテキストいらないじゃん

743 :名前は開発中のものです。:2011/06/07(火) 00:07:47.06 ID:K/eJWqg0.net
齟齬があるなw

ビットマップで書いた画像をそのまま、マップのデータとして扱うって事だよ。

赤ならどの地形、青ならどの地形、って感じで。
65536色なら65536種類のマップチップを区別できる事になる。

ビットマップは内部データが圧縮されてないそのまんまなのでこういう場合に使いやすい。
ファイルフォーマットはぐぐって調べればいいと思うよ。

744 :名前は開発中のものです。:2011/06/07(火) 01:19:10.03 ID:xHDy2WPL.net
マップエディタ作ったほうがはやい。

745 :名前は開発中のものです。:2011/06/07(火) 22:23:17.06 ID:0gZY2NZM.net
ゲ製らしいな。答え出てるのにまだレスとかw

746 :名前は開発中のものです。:2011/06/20(月) 11:25:41.57 ID:IzFJkAaU.net
今から先、開発言語は何が主流になると思いますか?

考え方によっては、インスコ時に、一回JITで
その環境毎に最適化されたコードを吐くような
言語がシロウト目には良いような気がするんですが。
つまり、C#や、Java?みたいな
(先々同じコードでプラットフォーム跨いで実行出来そうだし)。

ゲームプログラムに詳しい皆さんから見て
何かC++以外の言語が決定的にダメなところってあるんですか?
(ガベージコレクションでのもたつきとか?)

747 :名前は開発中のものです。:2011/06/20(月) 11:37:34.06 ID:pwkfIEnc.net
これからの主流はJavaScript(HTML5)だろ、情交


748 :名前は開発中のものです。:2011/06/20(月) 11:41:33.54 ID:IzFJkAaU.net
>>747
ゲームプログラムもですか??

749 :名前は開発中のものです。:2011/06/21(火) 16:03:47.19 ID:qvZTnZcq.net
プログラムの勉強を兼ねてゲーム開発に挑戦してみようと思っています
ゲーム開発の経験が無く、言語選択で迷っています。
ゲーム内容はシンプルに2Dで選択のみで進めるRPG予定です

形になるまでが早く、数ある中で、比較的習得が用意な言語はなんでしょうか?

開発経験: PHP, PythonでのWebアプリ開発
プログラミングから離れていたので、趣味で開発出来るレベルまでスキルアップしたいと考えています

750 :名前は開発中のものです。:2011/06/21(火) 16:44:58.04 ID:ET4j6FRl.net
C#でxnaとかどうよ

751 :名前は開発中のものです。:2011/06/21(火) 16:45:20.26 ID:3S8vxGBO.net
>>749
Book
14歳からはじめるC言語わくわくゲームプログラミング教室


752 :名前は開発中のものです。:2011/06/21(火) 17:57:49.46 ID:qvZTnZcq.net
>>750
ありがとうございます。
C#は、CやC++に比べ簡単で…と何度か聞いたことがあります。
ゲーム開発用のフレームワークも用意されているのですね
一度触ってみます

>>751
C言語は、ほぼ切り貼りですが、業務で必要なPostgreSQLの自作関数を作成した事があります。
メモリ管理など、気にかける事が多く難しいと聞きますが、やはり学んでおくべきですか?
確実にスキルアップするとは思いますが、今後開発を続ける上でやはり必要な知識となるでしょうか

753 :名前は開発中のものです。:2011/06/21(火) 18:06:00.16 ID:3S8vxGBO.net
学習の為なら、C言語から始める
結局ね、情報が多いものを選ぶ事。やってみ、わかるから

C言語から派生した言語が多い。ひとつを完全マスターすることから広がる。

754 :名前は開発中のものです。:2011/06/21(火) 18:28:38.03 ID:qvZTnZcq.net
>>753
仕事でやってるわけではないですもんね
ありがとうございます、勉強してみます

755 :名前は開発中のものです。:2011/06/21(火) 20:32:04.04 ID:evQPDRUv.net
>>749
>ゲーム内容はシンプルに2Dで選択のみで進めるRPG予定です

こんな感じのやつ?

http://www.programmingmat.jp/soft_lib/m11rpg/


756 :749:2011/06/21(火) 23:52:33.73 ID:qvZTnZcq.net
>>755
イメージ的には近いです。
URLのゲームからマップ移動を全て除き、テンポ良い戦闘のみで作る予定です


757 :名前は開発中のものです。:2011/06/23(木) 11:01:52.46 ID:bPgnTXjY.net
ウィンドウをドラッグしても
メインスレッドが停止しないようにするには
どうしたらいいんでしょうか

通信のアクションゲームを作っているのですが
ホストがこれをするとポーズをかけたようになるので
困っています


758 :名前は開発中のものです。:2011/06/23(木) 12:05:17.92 ID:ZHOr5XNo.net
マルチスレッド

759 :名前は開発中のものです。:2011/06/25(土) 15:32:52.64 ID:av3YTDPA.net
こんな感じのメインループでのウェイト処理じゃダメですか?
もちろん実際はメッセージ処理もしてます。
結構、Sleep()をかませろという話があるんですが
かなり精度が悪くてフレームレートが指定値にならないんです。

while(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60);
}

760 :名前は開発中のものです。:2011/06/25(土) 15:58:51.76 ID:av3YTDPA.net
↓みたいにウェイトかける時にSleep(0)だけでもやった方がいいのかな?

while(1){
stime = timeGetTime();
game_main();
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}

761 :名前は開発中のものです。:2011/06/25(土) 17:47:30.73 ID:URerxJ8Q.net
>>760
http://bygzam.seesaa.net/article/110314806.html
>timeBeginPeriodでタイマの精度を1msに設定します。この設定はtimeGetTime以外にも、GetTickCountや
>Sleepの精度にも影響します。終了時にはtimeEndPeriodで元に戻しておきましょう。

http://rina.jpn.ph/~rance/directx8/03/01.html
>ここでSleep()関数を実行している理由は、ウィンドウを最小化したときなどにWindowsが固まったようになる現象を防ぐためである。


俺は1ms以上余るならSleepそれ未満はループで調整してる

762 :名前は開発中のものです。:2011/06/25(土) 17:49:23.50 ID:URerxJ8Q.net
あ、1ms未満でも必ず Sleep(0)は入れてる

763 :名前は開発中のものです。:2011/06/25(土) 19:01:57.96 ID:U+AhBja3.net
精度が必要な待ちなら、マルチメディアタイマのイベントを待つようにすればいいだけ。
なんでSleepを使うのか全く意味が不明。

764 :名前は開発中のものです。:2011/06/25(土) 21:30:18.22 ID:JoYEMJgk.net
>>761
timeBeginPeriodの設定が要るって気付かなくて悩まされたの思い出したわw

765 :760:2011/06/25(土) 23:37:47.57 ID:av3YTDPA.net
あ、すいません。
もちろん、timeBeginPeriod()とtimeEndPeriod()は設定してます。
ただループにSleep()を入れると多く待ちすぎてしまったりしてたので困ってました。
でも >>761さんが言うように、余り時間でSleep()するかどうか決定すればよさそうですね。
とりあえずSleep(0)だけは必ず入れるようにしますね。

>>763 それはどういうことでしょうか?

766 :名前は開発中のものです。:2011/06/26(日) 00:16:04.63 ID:Fm5IE/R1.net
どういうことも何も書いてある通りだが、いったい何が疑問なんだ?

767 :名前は開発中のものです。:2011/06/26(日) 00:27:46.94 ID:C/6aPfwc.net
>>766
マルチメディアタイマのイベントというのがよくわかんないんですが
それを使えばSleep()しなくてもCPUに高負荷がかかりませんか?

768 :名前は開発中のものです。:2011/06/26(日) 02:36:36.47 ID:C/6aPfwc.net
どう監視してもSleep()に0より大きい値入れると
FPSが安定しないので
もうウェイト処理にSleep(0)だけ入れる事にした ヽ(`Д´)ノ

Sleep()の仕様で、引数に与えた値以上、戻ってこない事があるらしいから
それが原因なのかな…

769 :名前は開発中のものです。:2011/06/26(日) 08:11:41.37 ID:Fm5IE/R1.net
>>767
キーワードを入れて検索する程度のことすら出来ない怠け者にはプログラムは向いてないよ。

770 :名前は開発中のものです。:2011/06/26(日) 08:26:23.84 ID:C/6aPfwc.net
>>769

>それを使えばSleep()しなくてもCPUに高負荷がかかりませんか?

すみません、この上記の質問だけ教えてもらえませんか?

Yes/No?

771 :名前は開発中のものです。:2011/06/26(日) 09:04:29.33 ID:Fm5IE/R1.net
どれだけ怠け者なら気が済むんだよ。
やった上で、疑問に思ったことを聞くならともかく、
すぐに実験できることをやろうともしない人間にこれ以上答えることはない。

772 :名前は開発中のものです。:2011/06/26(日) 09:35:10.81 ID:C/6aPfwc.net
>>771
すんませんす。
timeSetEvent()で指定してコールバックで
処理するという形になるんですね。
なるほど。

ただSleep()も試行錯誤してたら
引数の数値を大きく指定するようにすれば
そこそこの精度で安定するようにはなりました。

773 :名前は開発中のものです。:2011/06/26(日) 10:20:15.53 ID:h26G+E5Y.net
>>772
ttp://dixq.net/rp/43.html
ここは既知?
自分の場合、垂直同期切り忘れとか実行中にクラスの生成と解放をしてたとかあったな…

774 :名前は開発中のものです。:2011/06/26(日) 10:54:34.44 ID:C/6aPfwc.net
>>773
ご紹介ありがとうございます。

ただSleep()さえかけなければ
実際にはパフォーマンスカウンタを使うので
60fpsの誤差は殆どないんです。
ただCPU使用率が100%近くになったりしてたので
なるべく余った時間、CPU負荷をかけたくなく
Sleep()入れて休ませるつもりでいました。

とりあえずSleep()でも、なるべく大きな値を入れるようにしたら
fpsが安定するようになりました。
いくつかのPCで試しましたが、結構安定してます。
(パフォーマンスカウンタで計測すれば、殆ど60ピッタリです)

while(1){
stime = timeGetTime();
game_main();
if((dif = 1000 / 60 - (timeGetTime() - stime)) > 0){
Sleep(floor(dif));
}
while(timeGetTime() - stime < 1000 / 60){ Sleep(0); }
}

775 :名前は開発中のものです。:2011/06/26(日) 10:59:23.35 ID:U4EFMTMz.net
sleep()というか、Windowsって10ms以下の値は指定できるけど保障なしじゃなかったか。
今は違うんだっけ。

776 :名前は開発中のものです。:2011/06/26(日) 12:33:06.53 ID:B5xxb33H.net
見たところシングルスレッドでメッセージループにSleepを入れているようだけど、
厳密に言うとメインスレッドでSleepは使ってはダメ。
Sleep中はメッセージ処理が行えないから、ブロードキャストメッセージを使用している
他のアプリケーションのパフォーマンスに影響あったりする。
FPS調整用の短いSleepならほとんど問題ないけど、余裕があればSleepのかわりに
MsgWaitForMultipleObjectsを使った方がいい。

>>775
昔から、明文化はされてないけどSleepの元になるタイマーはtimeBeginPeriodの
影響を受けて精度が変わる。何も設定してないと10ms精度くらい。

777 :名前は開発中のものです。:2011/06/26(日) 12:38:17.18 ID:C/6aPfwc.net
>>776
MsgWaitForMultipleObjects ですね。
調べてみます。情報ありがとうございます^^

778 :名前は開発中のものです。:2011/06/26(日) 13:34:56.21 ID:Fm5IE/R1.net
>>772
コールバックじゃなくてイベントと書いているんだが。

779 :名前は開発中のものです。:2011/06/26(日) 13:55:56.88 ID:h26G+E5Y.net
>>778
そこまで気にかけるならもう回答教えてあげてもいいんじゃないのw

780 :名前は開発中のものです。:2011/06/26(日) 14:04:02.65 ID:h26G+E5Y.net
自分DelphiでSTG作ってるけど、OnIdleイベント内に↓これだけでFPS安定してるけどなあ。
小数点以下の話ならごめん(^_^;)

{
t = timeGetTime();
game_main();
while(timeGetTime() - t < 17)
{ Sleep(0); }
}


781 :名前は開発中のものです。:2011/06/26(日) 19:28:33.67 ID:EEDTFaxz.net
>>780
それだとCPU使用率が下がらない。

782 :名前は開発中のものです。:2011/06/26(日) 20:31:02.39 ID:h26G+E5Y.net
スマソ;

783 :名前は開発中のものです。:2011/06/26(日) 21:04:13.27 ID:C/6aPfwc.net
>>778
ウィンドウズのイベントがコールバックで呼び出されるという話じゃないの??

784 :名前は開発中のものです。:2011/06/26(日) 21:49:54.06 ID:Fm5IE/R1.net
>>783
ちゃんとヘルプを読め。
使うのはイベントオブジェクトであって、コールバックじゃない。

785 :名前は開発中のものです。:2011/06/27(月) 02:04:43.20 ID:mjTrT8bw.net
>>784
イベントオブジェクトの設定もあるんですね^^;

みなさんありがとうございます。
とりあえず今回は、>>774の方法を中心に調整して行きたいと思います。
FPSの安定とCPU使用率を抑える事が大分両立出来ました。


786 :名前は開発中のものです。:2011/06/27(月) 13:05:38.66 ID:5jj8qo/e.net
>>775
Sleep()するとスレッド スイッチするんじゃないの
でもって10msだか何だか戻ってこないでしょ?
だから10ms以下のSleepは保障できないのでは・・・



787 :名前は開発中のものです。:2011/06/27(月) 15:37:59.15 ID:KSejmRDb.net
1以上10以下は、な

788 :名前は開発中のものです。:2011/07/27(水) 18:19:20.32 ID:rtDjJBOt.net
このスレで語られる言語は何が多いですか?

789 :名前は開発中のものです。:2011/07/27(水) 20:08:07.17 ID:d+vft6M6.net
日本語かな?

という冗談はおいておいて、見てのとおりC/C++かと。

790 :名前は開発中のものです。:2011/08/05(金) 02:02:20.66 ID:iQzPAYN5.net
ファイル操作、パッキングに関する部分について質問です
必要な時にオープンして用が済んだらクローズするのがファイルを扱う基本だと思うのですが
ゲームデータ全て、または画像毎や音声毎などにまとめたパックファイルを利用する場合、
何度も同じファイルにアクセスすることになると思うのですが、例えばゲーム中ずっとオープンしっ放しで利用しても良いものでしょうか?
それともやはりデータにアクセスする度にオープン→クローズするべきなのでしょうか?

791 :名前は開発中のものです。:2011/08/05(金) 04:03:33.45 ID:LUnU1i9G.net
どっちでもいい。

読み込みアクセスしかしてないなら、クローズなんて気にする必要ない。

792 :名前は開発中のものです。:2011/08/05(金) 21:10:30.95 ID:2OzNzc7r.net
【原発問題】汚染水処理システム、パソコンのフリーズで稼働停止 パソコン再起動で完全復旧[08/05]
http://raicho.2ch.net/test/read.cgi/newsplus/1312544716/


793 :アジェグ4倍 ◆4xAJeG.COM :2011/08/15(月) 12:14:45.95 ID:pL1hbMOk.net
60FPSで動くソフトを作るなら、スレッドは必須だよ。
CreateWindowsの後のループは、GetMessageのままのほうがいい。

で、WM_CREATEのイベントのときに、60FPSでループするスレッドを作る。
スレッドのループは、何らかのフラグで抜けるようにして、
WM_DESTROYのイベント時に、そのフラグをセットさせるってとこだな。

キーとマウスのイベントは、フラグのセットなどだけにとどめて
すぐにイベント処理を終わらせること。
あと、Sleepと画面反映の順序を間違えないように。
計算して裏画面に描画して、Sleepで時間を調整してから反映、だぞ。


・・・と、イロイロ書いてみたが、理解してもらえるだろうか・・・


794 :アジェグ4倍 ◆4xAJeG.COM :2011/08/15(月) 13:26:29.82 ID:pL1hbMOk.net
なにやら、Sleepの制御のループを
ソースレベルでイロイロ書いてるみたいだから、
おれのやり方も書いてみよう。

DWORD StartTick = timeGetTime() ;
DWORD NowTick ;
DWORD NextTick ;
bool SkipFlg = false ;
for( int LoopCnt = 1 ; ExitFlg == false ; LoopCnt++ ) {
// 計算処理

if( SkipFlg == false ) {
// 描画処理
}

SkipFlg = false ;
NextTick = ( LoopCnt * 1000 ) / 60 ;
NowTick = timeGetTime() - StartTick ;
if( NowTick < NextTick ) {
Sleep( NextTick - NowTick ) ;
// 画面反映処理
}
else {
// フレームスキップが必要
SkipFlg = true ;
}
}

こんな感じかな。


795 :名前は開発中のものです。:2011/08/15(月) 13:40:49.56 ID:cTd0dgcs.net
>>794
それ6月の話題だし、素晴らしいコードを披露するならともかく
今更unsignedとsignedの区別もついてないようなコード貼られても困る。

796 :アジェグ4倍 ◆4xAJeG.COM :2011/08/15(月) 13:53:07.65 ID:pL1hbMOk.net
>>795
はいはい。

というわけで、くれぐれもマネをしないように。
著作権の問題とか発生しかねないからねぇ。


797 :名前は開発中のものです。:2011/08/15(月) 15:59:55.34 ID:71G/E+75.net
何この糞コテ

798 :名前は開発中のものです。:2011/08/15(月) 16:15:04.32 ID:cxMX6aDk.net
まぁ、timeGetTimeとかやっちゃってる時点でw


799 :アジェグ4倍 ◆4xAJeG.COM :2011/08/15(月) 16:38:36.57 ID:pL1hbMOk.net
なんだ、この糞コテを知らんのか。

糞コテみたら、まずはググレカすことを覚えろよ。


800 :名前は開発中のものです。:2011/08/15(月) 16:40:46.38 ID:726htfBM.net
無名コテ乙

801 :アジェグ4倍 ◆4xAJeG.COM :2011/08/15(月) 16:44:14.52 ID:pL1hbMOk.net
それはそうと、この板は完全に過疎板だと思ってたが、結構いるもんだな。

悪いことは言わん、今のうちにあぼーん登録しておくがよい。


802 :名前は開発中のものです。:2011/08/15(月) 20:09:42.78 ID:WSvdh9Hq.net
親切でやったつもりがケチつけられて傷ついたのはわかるが
そこで自棄を起こして荒らし行為なんてせずに、おとなしく引き下がる事を望む。

803 :アジェグ4倍 ◆4xAJeG.COM :2011/08/16(火) 08:37:55.17 ID:t616+10I.net
嵐だと思うなら、返事しちゃダメじゃん。
過疎スレで、おれが来るまで10日も放置してたのに、
おれが来たとたん、タチマチこんなに集まっちゃってさ。
sageりゃいいってもんじゃねーんだぞ。

ほんとはうれしいんだろ?
寂しかったこのスレに、大物コテが現れてくれて。

ちなみにおれは、↓のようなMIDIアプリを開発している糞コテさ。
いまは、イロイロな機能追加を進めててね。
http://www2.ocn.ne.jp/~j3262il6/rds/

このソフト、ソースも公開してるけど、くれぐれもパクったり
参考にしたりしないように。
容赦なく、timeGetTimeとかやっちゃってるからね。


804 :名前は開発中のものです。:2011/08/16(火) 21:09:07.25 ID:3+35ODV/.net
timeGetTime しちゃう奴は、リアルで jobGetJob できない

805 :名前は開発中のものです。:2011/08/17(水) 00:02:27.51 ID:FbzsBwEq.net
仕事では、通信プログラムのテストで、あんまり厳密でない時間間隔で
パケット投げるのには手軽で便利だよ。
clock()よりは早く投げられるし。


806 :名前は開発中のものです。:2011/08/17(水) 02:21:39.99 ID:H/5FPjKZ.net
timeGetTimeってなんかまずいのか?

807 :アジェグ4倍 ◆4xAJeG.COM :2011/08/17(水) 09:06:45.15 ID:4BdszuWf.net
>>806
強いて言えば、このクソコテが使ってるからだろう。

ホカの手段としては、QueryPerformanceCounterてのがあるようだが、
おれが試してみた限りでは、timeGetTimeと挙動に大差はなかったねぇ。

そうなるともう、アルゴリズムの問題だな。
上の方では、Sleep(0)などとも言ってるけど、
待ち時間が1ミリ秒を切るようなら、それはすでに処理オーバーだから、
フレームスキップの処理などを考えないと。


808 :名前は開発中のものです。:2011/08/25(木) 21:01:01.31 ID:L1verjXw.net
jobGetJob

809 :名前は開発中のものです。:2011/08/30(火) 16:38:39.78 ID:Y9y+EOaU.net ?BRZ(10000)

こんにちは。初めてですがよろしくお願いします。
使用文法はcです。
今回おかしいなと思ったのはキャラクターが動かないというバグです。
使用している構造体は
unit_status[k].unit_member[i].xxx
となっていて、kがグループ(つまり味方か敵かなど)、iはその中での番号です。
kが1の時は敵、0の時は味方というかんじです。
(プレイヤーに割り当てられた構造体はkが0,iが0です。ループ中に遭遇した場合はスキップされます。)
敵はしっかり動きますが、味方がうんともすんとも言いません。どうしたらいいのでしょうか?


810 :名前は開発中のものです。:2011/08/30(火) 16:40:51.84 ID:Y9y+EOaU.net ?BRZ(10000)

void unit_ai_base_main(){
for(int k=0;k<UNIT_STATUS_MAX;k++){//動かすグループ
for(int i=0;i<UNIT_NUMBER_MAX;i++){//そのグループのmemberを動かすためのループ

if(k==0&&i==0)break;//プレイヤーだった場合ブレイク
testtest++;
if(unit_status[k].unit_member[i].life>0){//仲間が死んでたり居なかったりしたときの分岐

// aiの分岐。
}
}
}
}

コードをはっつける良い場所ないですかね・・・

811 :名前は開発中のものです。:2011/08/30(火) 17:19:22.22 ID:84vu7iX6.net
そりゃbreakで内側のループを抜けたら同グループは動かないだろう

812 :名前は開発中のものです。:2011/08/30(火) 18:37:55.32 ID:Y9y+EOaU.net ?BRZ(10000)

(´・ω・`)あぁ・・

813 :名前は開発中のものです。:2011/08/30(火) 19:08:06.33 ID:NWN85EFf.net
>>812
m9(^Д^)プギャー

814 :名前は開発中のものです。:2011/09/08(木) 18:29:05.58 ID:Oef4cD8U.net
コードはっつけるのに、http://codepad.org/
とかどうだろう

815 :名前は開発中のものです。:2011/09/23(金) 20:05:36.80 ID:8vj2FBxM.net
ゲームプログラマになる前に覚えておきたい技術を読んでいるんですが、さっぱり分かりません。
普通入門書終えたら読めるようになるのでしょうか?ワンクッションおけるような書籍があれば
教えてください。(DXライブラリは使わないものでお願いします)



816 :名前は開発中のものです。:2011/09/23(金) 20:12:31.42 ID:BbPCTDgW.net
入門書が何をさすかしらないけど。
CとかC++の入門書を終えたレベルじゃあれを理解するのは無理だよ。

あの本はある程度、ゲーム作製の経験のある人間でも難解だったりする。

絶版になってるけど古本なら1000円で買えるし
http://www.amazon.co.jp/dp/4797325453

これでも買っておけば?
Windowsのゲームプログラミングの初歩の初歩が学べるよ?


817 :名前は開発中のものです。:2011/09/23(金) 20:21:43.07 ID:Unh+z/jy.net
15歳からはじめるDirectX 9 3Dゲームプログラミング教室 大槻 有一郎

サンプル解説の初級本なら、これでいいんじゃね、

818 :名前は開発中のものです。:2011/11/29(火) 11:00:43.66 ID:E9cixHcQ.net
>>814
codepadは最近遅くなってきたからこっちも試してみて
http://ideone.com/

819 :名前は開発中のものです。:2011/12/17(土) 00:04:37.69 ID:0NJ0/sAa.net
>>816
それ2冊持ってるwwwwwwwwwwwマジいい本wwwwwwwwwwwww

820 :名前は開発中のものです。:2011/12/17(土) 09:42:43.79 ID:c3HdajPR.net
>>819
Win32をやろうと思ったらこれとペゾルド本ぐらいしかないんだよな
最初はネットで調べたら本イラネって思ってたけど意外とネットは情報少ない

821 :名前は開発中のものです。:2011/12/17(土) 14:01:22.27 ID:1E01VCpl.net
情報を欲しがる奴は多いが、
情報を無料で不特定多数に教えてやりたいという奴は少ないからな。

822 :名前は開発中のものです。:2011/12/17(土) 16:01:52.71 ID:sqRAQJO4.net
需要と供給のバランスが悪い

823 :名前は開発中のものです。:2011/12/17(土) 16:47:12.43 ID:dkE5DINM.net
やっぱ日本語と英語の違いが大きい

824 :名前は開発中のものです。:2011/12/18(日) 14:30:57.32 ID:JUTCKalu.net
最大の問題は、日本語とC言語の違いが大きいことだな


825 :名前は開発中のものです。:2011/12/18(日) 16:56:10.66 ID:HURe5qFo.net
日本語Cの登場が待たれるところ。

826 :名前は開発中のものです。:2011/12/18(日) 17:30:11.16 ID:iH+Z1P0Z.net
誰がそんなものを待ってるんだ?
アホか。

827 :名前は開発中のものです。:2011/12/18(日) 18:52:22.21 ID:Zlr1j4cr.net
日本語の言語っていくつか無かったっけ?

828 :名前は開発中のものです。:2011/12/19(月) 00:03:33.31 ID:HOwC6ICa.net
ぴゅう太とか。


829 :名前は開発中のものです。:2011/12/19(月) 01:19:40.36 ID:GsD7aQhU.net
ひまわりとかなでしことか

830 :名前は開発中のものです。:2011/12/21(水) 22:11:54.31 ID:73BnYAdy.net
ttp://anifileshotcom.blog23.fc2.com/blog-entry-79.html

このエロアニメの作品名おしえてください

831 :名前は開発中のものです。:2011/12/30(金) 03:33:29.84 ID:BdJ06cjV.net
>>816
作者のサイトもめちゃくちゃ役に立つよ

832 :名前は開発中のものです。:2011/12/30(金) 07:59:09.53 ID:fLwUNHJV.net
英語やれ

833 :名前は開発中のものです。:2011/12/31(土) 02:34:43.23 ID:hnWOUXNQ.net
初めまして、web上で簡単なゲームを作りたい、又は作ってほしいのですが、どこで聞けばよいのでしょうか?。
趣味でプログラムを作成している方達のサイト又は作り方を説明していただけるサイトをご存じないでしょうか?。

ある程度の詳細はあるのですが、簡単に言うと、
グラフックやキャラクターの動作等は無しで、設定した地域(国?)を支配していくというシナリオで、
任意に選択された地域を、対戦で支配していき、全国制覇を目指すという感じです。
対戦は、最悪○×でもいいと考えています。


834 :名前は開発中のものです。:2011/12/31(土) 03:32:37.21 ID:9xQlokMr.net
やだ

835 :名前は開発中のものです。:2011/12/31(土) 04:59:52.95 ID:j/tqrXod.net
>趣味でプログラムを作成している方達のサイト又は作り方を説明していただけるサイト
探せばゴロゴロ出てくるだろ
つーかスレ違い

836 :名前は開発中のものです。:2011/12/31(土) 09:12:54.14 ID:hnWOUXNQ.net
スレ違いごめんなさい これで消えます 
どのスレできけばいいですか? 「板案内・初心者質問」 ってリンクがつながっていなかった
ものですから…。 

837 :名前は開発中のものです。:2012/01/06(金) 17:47:26.44 ID:ceh98EDy.net
ハクスラ系によくあるベースアイテムに攻撃や防御などのオプションとその値がランダムにくっついて生成されるプログラムはどのように作るのでしょうか
「[攻撃Lv1][攻撃Lv2]こん棒」というアイテムだったらそのアイテム詳細に基本攻撃x 攻撃+xx 攻撃+xx と表示させる感じです
また参考になるサイト等無いでしょうか


838 :名前は開発中のものです。:2012/01/07(土) 00:02:39.43 ID:58lvIgBV.net
・オプション種とLVにおける効果、を示す二次元配列的なものを作っておく
([攻撃]の[LV2]は +5 〜 +10 の範囲の中からとるとか)
・アイテムとオプション種の付加可否、を示す二次元配列的なものを作っておく
(剣は[攻撃:○][防御:×][火属性攻撃:○][浮遊:×]とか)

●アイテム生成
・オプション枠に空きがあり、レア確率に当れば、前記情報により付加する
(再帰呼び出しすればオプション枠は埋まっていく)

839 :名前は開発中のものです。:2012/01/07(土) 01:24:54.25 ID:DczBoP6Z.net
>>838
ありがとうございます
頑張ってみます・・!

840 :名前は開発中のものです。:2012/01/12(木) 16:26:14.39 ID:iveuPOLo.net
エースコンバットみたいな3Dフライトゲームを作りたいと思って、色々情報を検索したのですが
良い情報が手に入らなくて、困っています。
3Dフライトゲームの基礎的なものを知るには、どういうキーワードで検索したらいいのですか?

841 :名前は開発中のものです。:2012/01/12(木) 20:30:33.03 ID:sPWfbocV.net
>>840
SION 3Dシューティング


842 :名前は開発中のものです。:2012/01/27(金) 10:49:49.66 ID:Xg/DxpLS.net
個人でエースコンバット作れたら天才だと思うwwww

843 :名前は開発中のものです。:2012/01/27(金) 14:35:42.46 ID:KvjS2zXd.net
HSPコンテストにエスコンみたいなものを作ってた人いたね。


844 :名前は開発中のものです。:2012/01/29(日) 20:44:06.88 ID:YvUs+aF4.net
同人でみたことあるな
当然有料だけど

845 :名前は開発中のものです。:2012/01/30(月) 00:30:36.10 ID:r3izPDdu.net
フライト物のシミュレーション性の低いやつは、3D系のゲームの中では
難易度は一番低い方だと思うよ。
車とかの陸上物よりは簡単。

846 :名前は開発中のものです。:2012/01/31(火) 09:54:28.45 ID:hy1DRM+Q.net
航空力学を考慮しようとしたら、揚力とか抗力とかの計算が難しくてなかなかシミュレーションできない
他にも、機体を少し傾けたらそっちの方に旋回するとかも難しそう

847 :名前は開発中のものです。:2012/01/31(火) 12:20:17.37 ID:mH01bj3M.net
決まりがあるからそれに従うだけではあるけど、資料集めが苦労するかなあ

848 :名前は開発中のものです。:2012/01/31(火) 20:15:26.43 ID:rCvcOxBv.net
揚力さえ再現できたらそれっぽくなりそうだが、違うもんなのかえ?

849 :名前は開発中のものです。:2012/02/01(水) 02:07:42.33 ID:ALMaHMOB.net
シミュレーション性は無視して、こういう操作をしたらこういう挙動をさせたいって
モデル化するのは、ゲーム作れるなら普通のスキルだと思う。

例えば自動車の場合、ハンドルを切ったら曲がる、同じ舵角なら前進速度が速いほど
速く曲がるという結果から、車が曲がる速さは舵角×前進速度×適当な係数を角速度とする。
係数は自然な感じになるように動かしながら微調整。
これに横滑りの要素も加えれば、クレイジータクシーみたいな感じの挙動は簡単に作れる。

入力(この場合はハンドルを切る)と出力(車が回転する)が決まっていて、その間の関係を
影響がありそうな要素に適当な係数を掛けて、狙った動きを作り出すってのがインチキ挙動の基本。

飛行機でも大して変わらないんだけど、飛行機のことをよく知らなかったらインチキモデルを
考えるのも難しいかもね。
ただ、飛行機で上で書いたみたいな舵角と速度で角速度を直接求めるような計算をすると
昔あったスターウォーズのゲームみたいなフワフワした飛び方になると思うが。

ちなみに>>846の傾けたら旋回するってのも難しい話じゃなくて、翼で発生する揚力と重力を
合成すると横向きのベクトルになるってだけ。

850 :名前は開発中のものです。:2012/02/01(水) 17:49:22.24 ID:EhQ4aeNO.net
それらしく飛べるようにするには、最低↓に書いてあるような事を理解しないといけないですか?
http://ja.wikipedia.org/wiki/%E6%8F%9A%E5%8A%9B

851 :名前は開発中のものです。:2012/02/01(水) 18:13:37.65 ID:juCjyfEf.net
ゲームは如何に擬似的に実装するかだと思うけどなぁ
フライトシミュやったことないからアレだけども…
知ってたらよりリアルに作れるって感じじゃないかな

852 :名前は開発中のものです。:2012/02/01(水) 21:24:40.59 ID:ALMaHMOB.net
>>850
そこにある式から揚力は速度の2乗に比例するとか大雑把に読み取れば十分だと思う。

ゲーム的な飛行機ものだと失速はさせないから、揚力係数の部分も
>迎角の絶対値が小さいとき、揚力係数はほぼ迎角に比例する。
だけ考えればよくて、迎角に適当な係数かけとけばいいかと。

853 :名前は開発中のものです。:2012/02/11(土) 21:25:02.80 ID:E0fAwLOP.net
理解するに越したことはないだろうけど、近い挙動が出来る式があれば
それでいいんでは?
それっぽくて計算が軽い>本当の挙動だけど重い
だと俺は思う。

ニュートン力学を理解してなくても、りんごは木からおちるんです

854 :名前は開発中のものです。:2012/02/12(日) 23:34:37.60 ID:gjfghICz.net
http://toro.2ch.net/test/read.cgi/tech/1329023778/

855 :名前は開発中のものです。:2012/02/28(火) 11:23:10.89 ID:QT80zxay.net
今からゲームプログラミング勉強するとしたら
C++でDirectXとC#でXNAどっちおすすめですか?
ジャンルはアクションかSRPGです

856 :名前は開発中のものです。:2012/02/28(火) 13:07:37.48 ID:DEMYa7pD.net
初心者ならHSP
計算順序の違いとか方言に注意のこと

857 :名前は開発中のものです。:2012/02/28(火) 16:02:56.21 ID:UDQM/8rw.net
>>855
いまどき実行ファイルをダウンロードしてまで素人が作ったゲームで
遊ぼうとは思わないから、Flashとかのブラウザ上で実行できるやつか
Androidの方がいいかもしれん。

Silverlight5のXNAが、もっとまともだったらよかったのに。

858 :名前は開発中のものです。:2012/03/01(木) 23:09:58.92 ID:WMGCGy2B.net
>>855
初心者でないのならC++でDirectXだな。C#はかゆいところに手が届かん。

859 :名前は開発中のものです。:2012/03/07(水) 22:48:59.98 ID:8K9IcX8w.net
>>855
これからの時代はHTML5(JavaScript)

Windows/Linux/Mac OSX/Androidとも、Webブラウザ外でアプリとして実行するためのHTML5系アプリケーション実行環境を持っているし


860 :名前は開発中のものです。:2012/03/08(木) 08:42:24.00 ID:2BIHW9bv.net
XNAについて質問なんですが
DrawableComponentってメッセージ表示用のウインドウとか専用にポコポコ作って負荷は大丈夫なんでしょうか?
そういうサンプルがあったんですが、あちこちでBegin→Endを繰り返すのが気になります

861 :名前は開発中のものです。:2012/03/08(木) 14:05:39.97 ID:A2EXIfC2.net
問題が出るのはよっぽどだな

862 :名前は開発中のものです。:2012/03/09(金) 23:51:34.39 ID:nUYy7QmF.net
2Dで最大20個くらいなら大丈夫っぽいですね
描画処理ごと部品化するのはアリみたいなのでやってみます

863 :855:2012/03/16(金) 12:25:53.62 ID:hdhBGq2r.net
>>856
VBAだったら簡単な業務用システムを作れますが、ゲームプログラミンはど素人です
HSPも考えたのですが、ゲームプログラミングを覚えつつ言語の勉強も兼ねたいので、
ゲーム以外でもつぶしの聞く方向で考えてます
>>C#はかゆいところに手が届かん。
具体的に手が届かないところを教えてもらえますか
>>857 >>859
ゲームプログラミング自体がど素人なので、まずその基礎を習得したいと思ってます
ですがJavaScriptでもゲームが作れるとは思ってなかったので、もうちょっと情報を漁ってみます

現在C#のWindowsアプリ開発とC++ゲームプログラミング(ライブラリ使用)を独学中です
(いまだどっちにするか決めかねてる)
色んなご意見ありがとうございますた

864 :名前は開発中のものです。:2012/03/17(土) 13:13:23.15 ID:rrJIgDrF.net
>>863
どの言語もベースとなる考えは同じだから、ある一つの言語でゲームプログラミングを覚えてしまえば
他の言語でもなんとなくで作れるようになる。
なんで、最初は自分が使いやすいと思った言語を勉強すれ。

865 :名前は開発中のものです。:2012/03/23(金) 16:31:40.61 ID:K6vcGusk.net
>>863
>>>>C#はかゆいところに手が届かん。
>>具体的に手が届かないところを教えてもらえますか

スクリプト言語を組み込みたい場合に使えない(自前で用意したいなら話は別だが)

866 :名前は開発中のものです。:2012/03/23(金) 19:22:28.11 ID:iv6vo6jD.net
C#に組み込めないスクリプト言語って具体的にどれ?
メジャーなのは大抵使えると思うけど。

867 :名前は開発中のものです。:2012/03/29(木) 19:13:00.65 ID:yUAqqvDU.net
XBOXで動作させる時はSystem.Reflection.Emitが使えないとかそんな話?

868 :名前は開発中のものです。:2012/03/29(木) 19:59:53.90 ID:cz0KTXru.net
LuaとかSquirrelとかRubyとかC#で使える?
あと、CやC++で書かれたソースコードを流用したり、とか出来たっけ?

869 :名前は開発中のものです。:2012/03/29(木) 20:04:28.13 ID:cz0KTXru.net
っつーか、自作のスクリプト言語の流用が出来ないのが一番困る
ちなみにC++

870 :名前は開発中のものです。:2012/04/01(日) 08:47:19.00 ID:SRc+M44U.net
JavaとCの基礎は大体理解しているんですが実用的なアプリ開発につなげて行くためにはどうしたらいいですか?

871 :名前は開発中のものです。:2012/04/01(日) 09:03:04.28 ID:MCAhNEAs.net
アプリを自分で開発する努力をする。本読むより実装やオープンソースがいい。


872 :名前は開発中のものです。:2012/04/01(日) 18:54:57.03 ID:9URqj6c8.net
作りたいアプリに似ているものを研究

873 :名前は開発中のものです。:2012/04/05(木) 12:07:18.83 ID:jb0cRcEL.net
VB.NETとSDL.NETで楽々ゲームプログラミング。
LuaもLuaInterface使えば楽勝で使える。
XNAみたいなウンコは必要無いよ。C#でも。

874 :名前は開発中のものです。:2012/04/06(金) 16:03:13.16 ID:odpm5sds.net
C#プログラミング勉強中なんだけど漠然とした問題にぶち当たったからだれか教えて欲しい。
今「独習C#」を使って勉強中(メソッドとクラスがある程度できるレベル)なんだけど、製品のゲームみたいなGUIはどうやってつくればいの?
自分なりに調べてみたら、windowsformを使うか、XNA環境使うかしか方法が無かったんだけど他にもっと別の作り方ってないのかな。
ボタンとか、メニューも自分で作る方法みたいな。

875 :名前は開発中のものです。:2012/04/09(月) 20:16:25.33 ID:1i005mvJ.net
XNAでも部品なんて用意してくれてないだろ
自分で絵を貼って自分で文字書いて自分でカーソル動かすだけ

876 :名前は開発中のものです。:2012/04/09(月) 21:04:28.19 ID:GfwlVark.net
>>875
あ、そうか。
なんでだろこんな簡単なことに気付かなかった。
ありがとう。

877 :名前は開発中のものです。:2012/04/12(木) 08:57:20.71 ID:YyGeijOe.net
嘘を教えるな嘘を
ボタンならボタンでメニューならメニューでちゃんとしたやり方がある

878 :名前は開発中のものです。:2012/04/22(日) 19:13:38.74 ID:MTwz9k+/.net
Win32 APIでの質問なんだけど
CALLBACKを関数の前につけると何がどう変わるんだ
呼び出し規約云々があるらしいけど、具体的な動作の変化が分からないから
何時つけるべきで、何時つけるべきでないのかがはっきりしない

879 :名前は開発中のものです。:2012/04/22(日) 20:04:34.35 ID:V0cL/+4n.net
APIに関数ポインタを渡す(構造体に詰めて渡す場合ももちろん含む)場合で、APIがCALLBACK付きを要求している場合に付ける。

例えば、DialogBox APIを呼ぶときにダイアログプロシージャ渡すわけだけど、
APIの定義ではDLGPROC型を要求してる。
で、DLGPROCはヘッダファイル探すとCALLBACK付いてるので、
結局ダイアログプロシージャ関数はCALLBACKをつける必要がある。

880 :名前は開発中のものです。:2012/04/23(月) 21:34:00.08 ID:oUKRAUBx.net
返答ありがとうございます
それじゃあ普段プログラマの側(それも不慣れな者)が気に掛けることではないということかな
コールバックするであろう関数にはとりあえずつけといた方がいいのだろうかと不安に思っていてね

881 :名前は開発中のものです。:2012/06/18(月) 23:51:08.10 ID:VyyWKTHf.net
質問です。

アクションゲームを作りたいのですが、
キーボードのキーってずっと押したままにしても、最初の一回の入力以降は
押し続けてても1秒くらい立たないと入力が受け付けられないと思うのですが、
これを判定する方法はありますでしょうか?

882 :名前は開発中のものです。:2012/06/19(火) 09:05:57.35 ID:4lOMDEkq.net
KEYUP、KEYDOWNのメッセージでフラグの上げ下げをする。

883 :名前は開発中のものです。:2012/06/19(火) 16:13:23.43 ID:hVqLfL6z.net
どうやってるかによるけど、通常は
入力通知を受けるのではなく、
その時点でキーが押されたかを調べる。
GetAsyncKeyState()等を使って。

884 :名前は開発中のものです。:2012/06/23(土) 23:53:57.12 ID:8n4rnNdA.net
私文系の人間で物理学を一切知りません。
高校時代に赤点地獄だったのですが、こんな私でもアクションゲームを作ることが可能ですか?
ジャンプや物体の加速など物理方程式を回避してこれらを実装する手段はありますか?

昔懐かしFCゲームのようなドット絵ゲーなので可能でしょうか…?

885 :名前は開発中のものです。:2012/06/24(日) 00:16:08.59 ID:+0KCpHb8.net
中学レベルの数学ができれば余裕。

3Dバリバリのを作ろうとしたらそうはいかないけど。

886 :名前は開発中のものです。:2012/06/24(日) 03:12:07.05 ID:S+AGISs0.net
>>884
落下速度が加速するとか
ジャンプの軌跡が放物線を描くとか
ぶつかったら跳ね返るとか
大抵見た目体感重視で数式は適当

887 :名前は開発中のものです。:2012/06/24(日) 06:55:52.79 ID:F0WQzxPI.net
とはいえ、いろいろ知ってるほうが有利だけどね。
空中から落ちる場合、
前回の落下速度に+1、上限速度アリ、ってやれば自然っぽくない?
とか、普通に考えられるようになるし。
そういうあたりを試行錯誤する手間が省ける。

知っていると有利だが、知らないことは致命傷じゃない。

888 :名前は開発中のものです。:2012/06/24(日) 07:14:43.40 ID:/bhfsLHX.net
2Dなんかの場合数学無視した方が面白い場合もたくさんあるよね
マリオの空中での動きとかあれあり得ないし

889 :名前は開発中のものです。:2012/06/24(日) 08:06:46.13 ID:S+AGISs0.net
>>887
自然っぽくしたからと言って面白くなったり
操作性が上がる訳じゃない

マリオなんて想定外の落下距離を落ちるとブロック飛び越えてブロックの間に着地する
これを防ぐ目的で速度制限付けるのは有りだが自然っぽいかどうかでは・・・


890 :884:2012/06/24(日) 09:45:43.11 ID:ucQNFc4u.net
>>885-889
どうもありがとうございますm(_ _)m
中学レベルの数学も微妙に怪しいですが、それなら参考書買って何とかなりそうですよ…

マリオの挙動は独特ですよね。
ジャンプした時と着地に向かう時の落下時とで個別にルーチンを用意してるんじゃないかと思われるような挙動で「癖」がありますよね。
でもああいうのを敢えて実装しようという思いも側らあってですね…

でも結局現代人はあのマリオをプレイしてきているので逆にそのほうが自然になったりしないでしょうか(マリオをプレイした事のない人はこれは嘘になりますが汗

891 :名前は開発中のものです。:2012/06/24(日) 10:10:57.95 ID:f11XiEEl.net
作ろうとしているゲームに関連する知識を
アホほど収集するのは俺くらいかなぁ?
最終的には取捨選択して半分くらいは無駄になるけど。

892 :名前は開発中のものです。:2012/06/24(日) 19:13:16.06 ID:4+CNk2h0.net
大抵のアクションゲームのジャンプに正確な物理演算なんて採用されてないよ

例えばマリオやロックマンなんかでもジャンプは小ジャンプでも大ジャンプでもジャンプの初速は同じ
ただし、ジャンプボタンが離されたらそこに加速度無くして下降させていくっていうふうになってるし

アクトレイザーみたいにジャンプの高さ一定なゲームもあるけどね。

893 :名前は開発中のものです。:2012/06/25(月) 01:04:32.74 ID:N824JVL4.net
>>887
大事やね
理科系いくと力学で必ず摩擦を考えた雨粒落下みたいな計算やるもんな〜案外馬鹿に出来ん
だけで専門というより教養のレベルだし日頃当たり前に見てることだからイメージから入れば文系だろうと関係ない
むしろイメージが浮かべば式わからなくても調べられる
そういう式だけ知ってても全然右脳使えないやつもいるし

894 :名前は開発中のものです。:2012/06/25(月) 22:17:09.89 ID:HpEgaskp.net
まぁ、イメージをコードに落とすイマジネーションが最大の武器で、
理論や数式はその補助だね。
知っていれば確実に有利であることに間違いはない、
だが知らなくても特に大きな問題ではない。

どんな勉強でもしておいて損はないよ、ってことで。

895 :884:2012/06/26(火) 00:16:00.96 ID:49svXmP5.net
皆様ありがとうございます。
制作のほう頑張りたいと思います。

896 :名前は開発中のものです。:2012/06/28(木) 17:09:25.82 ID:KucKXK4H.net
そもそも物理法則に忠実だとジャンプ中に方向変えられないしな

897 :名前は開発中のものです。:2012/07/01(日) 23:11:10.19 ID:iHtFN0Ha.net
そうですね。
ゲームとして違和感がなければ良しということで

898 :884:2012/07/15(日) 17:38:39.96 ID:pX8TH0ip.net
先生!質問です!

C言語で…

WinMain(){
関数() ;

関数の処理




}

みたいな感じで関数を関数処理以前に書いた場合、正常に動作するのでしょうか?

それとも関数定義だけソース天辺でしておけばどのタイミングでも関数呼び出しOKですか?

899 :884:2012/07/15(日) 17:41:14.76 ID:pX8TH0ip.net
すいません…
自己解決しました。。。

コンパイルできないお。と言われたのでコード組みなおします…

スレ汚しスマソ(´・ω・)

900 :名前は開発中のものです。:2012/07/15(日) 17:50:37.75 ID:k2twrqrP.net
Cの基礎中の基礎だからスレ違い。
本読めばわかる基礎事項。ネットでもいい。

901 :名前は開発中のものです。:2012/07/15(日) 18:21:48.90 ID:Ssv/RyLk.net
前に持ってくんじゃ無くてプロトタイプ宣言、な

902 :884:2012/07/15(日) 20:11:56.85 ID:pX8TH0ip.net
>>900-901

ありがとう

903 :名前は開発中のものです。:2012/10/14(日) 15:39:36.82 ID:2t+L3/5S.net
まだあるの?

904 :名前は開発中のものです。:2012/11/29(木) 11:36:58.44 ID:TT/6t1IG.net
2d横スクロールアクションで敵がでる条件をプレイヤーの座標が例えば330以上340未満とかしようとおもってるんですけど、セオリーというか、普通はどう実装してるもんなんですか?

905 :名前は開発中のものです。:2012/11/29(木) 14:24:08.29 ID:Gd8d17gU.net
そのままif文でそれをすればいいんじゃないの

906 :名前は開発中のものです。:2012/11/29(木) 15:19:33.36 ID:JuWNVxeV.net
そういうのは外からパラメタ入れられるようにして可変にしとくといい。
テキストファイルとかでいいよ、難易度調整でコンパイルとかいちいちしてられないし

907 :名前は開発中のものです。:2012/11/29(木) 23:36:27.30 ID:SnOSuGer.net
確かに難易度調整とか考えるとファイルから読み取ったほうがよさそうですね。
了解しました。ありがとうございます、
出現条件として座標だけだとうまく行かないかなーとか思ってほかの人は
どういう風にしてるのか気になったので質問させていただきました。

908 :名前は開発中のものです。:2013/01/28(月) 23:05:51.60 ID:LkpC3c5z.net
>>840
こんな感じに作る。 次に、ゲームとして作るか、シュミレーションとして作るか
http://www1.axfc.net/uploader/so/2772187

909 :名前は開発中のものです。:2013/02/06(水) 21:10:56.84 ID:1LghX5HE.net
ジョイスティックの状態を取得する処理を作っています。
joyGetPosExでハットスイッチの状態を取ろうと思ったのですが、一番目のハットスイッチしか取れません。
複数のハットスイッチの状態はどうやって取ればいいんでしょうか?

macでは出来るみたいでしたが、APIがわかりません・・
ttp://ysflight.in.coocan.jp/programming/macosx/joystick/j.html

デバイスはハットが4つあるvJoyの状態で練習しようと思ってます。

910 :名前は開発中のものです。:2013/02/06(水) 22:22:16.08 ID:1LghX5HE.net
RegisterRawInputDevices → WM_INPUTで接続されてる全部のデバイスの入力を
捕まえることも考えています。(ハット4つついてる本物が要る)

911 :名前は開発中のものです。:2013/02/08(金) 02:27:37.66 ID:aSO51vfl.net
それだけの情報じゃわからんな
フラグはちゃんと設定してんのかね

912 :名前は開発中のものです。:2013/02/08(金) 03:46:41.92 ID:E0B8JHeU.net
変数を使った人数判定について
頭がこんがらがってしまったのでお知恵を拝借したい

Aさん Bさん Cさん

の3人のキャラがいたとします
それぞれのHPは5とします

それぞれに変数を用意して玉を当てると
+1加算するとして、変数が5になったらそれぞれは死にます(消えます)
一体一で戦っている時は、死亡判定は簡単です
それぞれの変数が5になれば死亡判定になります

ですが、3人同時に玉を当てれる技をもっていた時に、
それぞれの死亡判定を考えた時、頭が混乱しそうになります
例えば、

913 :名前は開発中のものです。:2013/02/08(金) 03:54:19.83 ID:E0B8JHeU.net
まず、Aさんに玉を1つ当てましたAの変数は1です
この状態では、
A変数1 B変数0 C変数0 です

次に、3人同時に玉を当てれる技を使いました
すると、
A変数2 B変数1 C変数1 になります

次に、Aさんに玉を当てるとAの変数は3になります
A変数3 B変数1 C変数1 になります

次に、3人同時に玉を当ててる技を使った後に、Bさんに玉を1つ当てました
すると
A変数4 B変数3 C変数2 になります

さて、ここからが問題です
それぞれは、変数が5になったら死亡です

この状態で、3人同時に玉を当てれる技を連続で使った時、
Aさん → Bさん →Cさんの順に死んでいきます

この時の各変数(A〜Cさん)の死亡判定をするには
どのように、判定基準を定めればいいでしょうか?

914 :名前は開発中のものです。:2013/02/08(金) 04:02:00.39 ID:E0B8JHeU.net
私が考えた案を提示します

まず、Aさんの変数が5になった時に、
A死亡判定変数に1を代入して、全滅変数に+1を加算
Bさんの変数が5になった時に、
B死亡判定変数に1を代入して、全滅変数に+1を加算

これで二人についての死亡判定は可能になりました
A死亡判定変数が1の時は、Aは死にBはまだ生きています
この状態で全員攻撃できる技を使えば、Bにだけに玉が当たります

次に、B死亡判定変数が1の時は、Bは死にAはまだ生きていますので
この状態で全員攻撃できる技を使えば、Aにだけ玉が当たります

そして、全滅変数が2の状態なら
全員攻撃できる技を出すが、誰にも玉は当たりません
この全員攻撃できる技は、画面内に表示している敵全員に
玉を当てれる誘導ミサイルだと思ってください

915 :名前は開発中のものです。:2013/02/08(金) 04:04:34.30 ID:E0B8JHeU.net
2体だけが画面内にいるなら
この方法で、死亡判定が出来ます

ですが、この方法では、敵が3体になった時に無理が生じます

そこで私の質問ですが、
画面内に3体の敵がいて、
画面内に表示している敵全員に玉を当てれる誘導ミサイルのような技があった時
3体以上の死亡判定をさせるにはどうすれば可能でしょうか?

916 :名前は開発中のものです。:2013/02/08(金) 04:29:00.94 ID:fc9kQ8/R.net
キャラがABCの3人いるとします。全部で3人です
変数が5になった時、死亡判定変数に1を代入するとします
また、誰かが死ぬと全滅変数に+1するとします

1.まず最初
A変数4 B変数3 C変数2の時→A死亡判定変数0 B死亡判定変数0 C死亡判定変数0 全滅変数0
 誰も死んでいない(変数が5でない)から、死亡判定変数は全員0のまま
 また、誰も死んでいないから全滅変数は0

2.次に全員に1ダメージずつ
A変数5 B変数4 C変数3の時→A死亡判定変数1 B死亡判定変数0 C死亡判定変数0 全滅変数1
 Aが死んだ(変数が5になった)から、Aの死亡判定変数を1にして、全滅変数に+1
 BとCは生きている(変数が5でない)から、死亡判定変数は0のまま

2.もう一度全員に1ダメージずつ
 ただし、さっき死んでいるAには当たらないとする
A変数5 B変数5 C変数4の時→A死亡判定変数1 B死亡判定変数1 C死亡判定変数0 全滅変数2
 Bが死んだ(変数が5になった)から、Bの死亡判定変数を1にして、全滅変数に+1
 Cは生きている(変数が5でない)から、死亡判定変数は0のまま

2.もう一度全員に1ダメージずつ
 ただし、さっき死んでいるAとBには当たらないとする
A変数5 B変数5 C変数5の時→A死亡判定変数1 B死亡判定変数1 C死亡判定変数1 全滅変数3
 Cが死んだ(変数が5になった)から、Cの死亡判定変数を1にして、全滅変数に+1

3.全員死んだか?
全滅変数は3、キャラの数は全部で3
数が同じなので、全員死んだということが確認できます

917 :名前は開発中のものです。:2013/02/08(金) 07:58:48.68 ID:E0B8JHeU.net
>>916
助言ありがとうございます
あれから自分で考えて解くことが出来ました
条件分岐を多用して解決しました

全員の死亡判定変数は、使わないことにして
変数は、各、A,B,Cだけにして、値が5になった時が死亡です
そして、以下のように条件分岐を入れて解決です

A死んでる B死んでる C死んでる

A死んでる B死んでる C生きてる

A死んでる B生きてる C死んでる

A死んでる B生きてる C生きてる

A生きてる B死んでる C死んでる

A生きてる B死んでる C生きてる

A生きてる B生きてる C死んでる

A生きてる B生きてる B生きてる

918 :名前は開発中のものです。:2013/02/08(金) 09:50:16.18 ID:ywDoLpsd.net
死んでも当たるようにして
A7 B6 C5 とか変数の上限取っ払えばいいんじゃね?

全滅判定とか死亡判定とかミサイル射撃のルーチンに必要ない

最後に変数5以上で死亡判定、全員変数5以上で全滅判定で終わり

919 :名前は開発中のものです。:2013/02/08(金) 20:00:08.33 ID:y/f0Cgv2.net
>>911
dwFlagsにはJOY_RETURNALLを入れ、結果としてJOYINFOEX構造体のdwPOVには
中央=-1 上=0 右=9000 下= 18000 左=27000 が格納されており、ハットスイッチ1個めについては動作しています。
dwFlags=JOY_RETURNPOVの場合も変わりありません。

920 :名前は開発中のものです。:2013/02/14(木) 10:58:51.10 ID:31/XymZq.net
質問です。

DirectX9についてです。
fourccフォーマット(D3DFMT_DXT1など)のテクスチャデバイスを
レンダターゲットとして使うことって、普通はやらないものでしょうか?
画質の面以外での不都合などがあれば教えていただけないでしょうか。

VRAM使用量削減のためこういうことをやろうと思っているのですが、
そういった使用例を見たことも聞いたことも無く…
すみませんがお願いいたします。

921 :名前は開発中のものです。:2013/02/14(木) 12:14:17.91 ID:reIQ62Lt.net
そもそもレンダーターゲットとして圧縮フォーマットが
使えるグラボがどれだけあるのか確認した?

922 :名前は開発中のものです。:2013/02/18(月) 12:09:12.56 ID:jl25J9BU.net
>>921
お返事遅くなりすみません。
dxinfoというサイトを知り、そちらで確認しましたところ、
圧縮フォーマットをレンダターゲットにできるデバイスは皆無でした。
自分の所有するものでも調べましたが全滅でした。

こういうことだったのですね…無知でした。
一旦32bitテクスチャにレンダリングしたものを変換するという方法にて
正攻法で行きたいと思います。大変ありがとうございました。

923 :名前は開発中のものです。:2013/03/05(火) 20:13:11.31 ID:rD+66rZs.net
質問です。
エアロのDWMでフォームを透過にしたら、そこに乗ってる画像も透過になってしまうんですが
画像が透過にならない方法を教えてくださいm(__)m

エアロのDWM使って透過にする方法は色々あるようですが、ググってでた「DrawGlassEffect」てコードを使ってフォームを透過させました。
背景色を黒くすると黒い部分が透過になる仕組みなんですが、ラベルやボタンの黒い文字も透過になり、
画像に関しては黒い部分は透明、暗い色ほど透明が強く明るい色ほど不透明、というゴースト状態になります。

矩形なら、透過にしない境界を作ることによって不透明にできるようですが
なにぶん不定型な画像なので・・・マスク画像を作って貼っても、黒い部分が透過になってしまい意味がありませんでした。
アルファチャンネル付きの透過GIF画像でも同じくゴースト状態です。

どうぞご教授願いますm(__)m

924 :名前は開発中のものです。:2013/03/15(金) 01:23:30.12 ID:gQQUpGxz.net
2Dのクォータービューゲームをつくろうと思ってたのですが
とある3Dゲームで見た事がある、『物陰に隠れたキャラクタをシルエット表示する』方法を考えていたのですが
考えてもまるで実装の仕方がわかりません

そもそもスプライトの表示順でどうにかなるのでしょうか?

925 :名前は開発中のものです。:2013/03/15(金) 01:36:29.65 ID:89zaierS.net
シルエットはキャラの上に非表示で重ねておけば?
物陰に隠れた→シルエット表示
出た→非表示

926 :名前は開発中のものです。:2013/03/15(金) 18:42:53.28 ID:oQGzchb4.net
シルエットってどの程度の表現なのかによるんじゃね。
真っ黒にしろ薄暗くするにしろ、キャラのマスク画像の透明度を変えてかぶせる方式。
隠れるオブジェクト側に半透明の影画像を付けておく方式。
影っぽい光彩画像(////みたいな)を作って、それをキャラにかぶせる方式。

927 :名前は開発中のものです。:2013/03/28(木) 13:51:54.93 ID:3yAcGHY+.net
セーブデータの保存場所はどこが標準?

928 :名前は開発中のものです。:2013/03/28(木) 14:40:11.39 ID:vViAZCV3.net
>>927
そのゲーム作った人が決めた場所

929 :名前は開発中のものです。:2013/03/29(金) 01:32:02.27 ID:caLU/skX.net
>>927
まぁ、>>928が正解なんだがw

ユーザごとのドキュメントフォルダを取得し、
その下に配置するのが現代的と思われる。
マルチユーザを意識しないとね。

930 :名前は開発中のものです。:2013/04/08(月) 17:05:33.61 ID:E5j8lfly.net
質問する場所が違っていたらすみません。

DirectShowを使用して動画の速度を変化させたいのですが
変化させるたびに0フレームから動画が再生されてしまいます。
AVI形式ですと、途中からでも速度がシームレスに変わるのですが
映像の容量が大きくなってしまうので悩んでいます。
なにか解決方法はありますでしょうか?
できればDirectShowを使う前提でお願い致します。

931 :名前は開発中のものです。:2013/04/14(日) 21:50:09.04 ID:uAbXx+sS.net
 

932 :名前は開発中のものです。:2013/12/01(日) 11:59:05.28 ID:SDLB2Fq5.net
2Dアクションゲームを製作しております。

リフト(動く足場)の実装を試みたのですが、問題に突き当たってしまいました。
まず、下降中のリフト(判定は上下左右 全方向にあるものとする)に対して、キャラクターが下からジャンプをし、リフトの下側(天井)へ衝突したとします。
その後 キャラクターの位置を補正し、縦方向の加速度を0にする。といった処理を行っているのですが、そのまま 天井へくっついてしまう。といった事態が発生してしまいます。
これは、衝突後 キャラクターの縦加速度を0にしたのち、そこから再度重力加算を行っているため、リフトの下降移動量がその数値よりも上回っている場合 再度衝突が起こり、再び キャラクターの縦加速度が0へ。
といったことが繰り返されているために、このような状況に陥っているものかと思われます。
この場合、どういった対処が考えられるでしょうか。

皆様のお知恵をお貸ししていただきたく思います。よろしくお願いします。

933 :名前は開発中のものです。:2013/12/01(日) 13:51:45.48 ID:5ZkCO8Ug.net
下降中なら加速度を補正するのを止めれば良いんじゃね。
速度の補正も正確には0にするんじゃなくて、リフトの速度に
合せるべきかも。

934 :名前は開発中のものです。:2013/12/01(日) 23:33:12.67 ID:mI3qZrzT.net
んー。
頭上の判定は「上昇中」のみ行い、「下降中」は足元の判定だけにするとかダメかな。

935 :名前は開発中のものです。:2013/12/02(月) 11:45:56.37 ID:RBLi15dp.net
当たり判定を、静止物体、移動物体、そして
可動プラットフォームなどと場合分けする。
エレベーターの場合は、
エレベーターの移動と自分の移動の合成の相対速度になる。

936 :名前は開発中のものです。:2013/12/02(月) 16:30:01.06 ID:Xw3mpRsD.net
天井に当たる直前のキャラクターのベクトルは、天井に当たった事で反射すると考えれば、
縦方向のベクトルを符号逆にして、それに重力加えるので良いような気がする

一回、無重力状態での挙動で整理してみて、そこに重力を加える処理でどうかな?

937 :932:2013/12/02(月) 18:26:10.30 ID:Wij17DF+.net
>>933-936
こんなにも沢山の方々の目に留まるとは思っていませんでしたので、大変恐縮です。
皆様、様々なご意見を賜り 本当にありがとうございます。
非常に参考になりますm(_ _)m

ご指摘を受け、可動物への衝突時に 加速度を0へ補正する事への違和感に気が付きました。
今回は、ひとまず 下降中のリフトの速度へと合わせる方法をとることとしました。

『Windowsゲームプログラミング』といった趣旨とは 直接的には関係無いにも関わらず、沢山のご意見 ありがとうございました。

938 :名前は開発中のものです。:2013/12/20(金) 23:44:33.92 ID:G1FVNCnk.net
プログラミングまったく未経験の者です。
対戦ゲームだと難しいAIを組まないといけないでしょうから、一人用のウォー・ボードゲームを電子化し、
本来はサイコロを振ってチャートを参照して結果を実行するのをコンピューターに処理させる
ぐらいのことをしたいのですが、それをやるのに十分かつ適切な初心者向きのプログラミングがあれば教えてください。

939 :名前は開発中のものです。:2013/12/21(土) 00:33:43.33 ID:pghB6HLo.net
>>938
戦略シュミレーションゲーム。
THE FLEET COMMANDER
http://www1.axfc.net/uploader/Sc/so/165961

こんな感じのを作りたいのですか?

940 :938:2013/12/21(土) 04:17:01.14 ID:L3dtKLD+.net
>>939
ぼんやりとイメージしているのはスゴロクに近いかもしれません。
ターン(マス)を進め、そのたびにサイコロを振る。その出目に従ってイベントや戦闘が起きる。
そのイベントや戦闘もサイコロの出目で解決される。イベントや戦闘の結果ごとに特定の効果音や動画が再生されるようにする。

これだけのことを初心者でもわかりやすくプログラミングしようと思えば、何が向いているのでしょうか?

941 :名前は開発中のものです。:2013/12/21(土) 10:51:33.99 ID:fuA00Ikt.net
仕様が複雑なのでどんな言語や開発環境をもってしても複雑なプログラミングにしかならないよ。
とりあえずHSPおすすめ。

942 :名前は開発中のものです。:2013/12/21(土) 11:09:21.41 ID:XhLY4ORi.net
スゴロクですか、
ひとりゲームでも拡張して、
AI追加や、マルチプレー、ネットゲームの可能性も有るでしょう。
わりと単純だからどのプログラム言語でも出来ると思う。

インタプリタ系がかんたんです。
HSP言語やBASIC言語になるだろう。
エクセルVBAはBASIC言語です。

汎用的に使われるのがC言語で、
最近の言語はC言語の発展形になります。
C言語とDXライブラリが初心者向けに推薦できます。
そしてすこし大きいプログラムになっても対応できます。

あなたのプログラム技能次第ですから、
本を買ってプログラムを行ってみてください。
人には、向き不向きがあるので、あなたが
プログラミングに向いているかどうかを試す必要があります。

943 :938:2013/12/21(土) 12:26:27.18 ID:L3dtKLD+.net
レスありがとうございます。
とりあえずHSPのゲームプログラミング入門本を見てみます。
アマゾンでプログラミングの本を検索しているとJavaの本があったんですが、
やはりJavaよりHSPの方が初心者には扱いやすいですか?

944 :名前は開発中のものです。:2013/12/21(土) 12:44:30.62 ID:jT9p6BYS.net
プログラム言語はひとつだけを使うのではなくて
用途に応じて言語を使い分けるものです。
HSPも小さいプログラムならば悪くないですが、
ちょっと大きいプログラムになると辛くなります。
そこで、最初はHSPで初めて、
ちょっと慣れてきたらJavaを始めるのも良いでしょう。

945 :938:2013/12/21(土) 13:04:38.53 ID:L3dtKLD+.net
なるほど。
おかげで学習の方向性が定まってきました。
ありがとうございました。

946 :名前は開発中のものです。:2013/12/23(月) 11:25:45.36 ID:v1muKMwi.net
言語云々よりシステムデザインをはっきりさせたほうがよい
まだボードゲームとして具体化できていないならすぐ頓挫する

947 :938:2013/12/23(月) 12:13:42.21 ID:9Ns4UZP8.net
>>946
その通りだと思います。
今はお気に入りの市販のソリティアボードゲームを
PCに移植・稼働させることを目標に、プログラミングの学習をしたいと思います。

それだけの技術が付いてから、例えば数値だけいじってみたり、
まったく同じシステム・ゲームデザインで新しいゲームを作ってみたり、
自分なりに工夫・発展させたデザインでゲームを作れるようになるのが究極の目標です。

948 :名前は開発中のものです。:2013/12/25(水) 10:10:55.40 ID:qv/UYG/P.net
ウォーシミュならAIは難しそうだけど、一定のアルゴリズムで動くCP対戦の方が作るの面白そうだ
一定の範囲を索敵して敵の近くに移動
攻撃範囲に敵が居る→攻撃
FEみたいなのならファミコンの時代からあるんだし、何とかなるんじゃね?

949 :名前は開発中のものです。:2013/12/25(水) 22:20:20.10 ID:j1ogVw80.net
ウォーシミュの対CPU戦なんて、バカなAIをハメて無双するのが楽しいんだから凝ったAIなんて不要w

950 :名前は開発中のものです。:2013/12/26(木) 00:30:35.98 ID:PmXogz09.net
ハメて勝った気分になるためには最低でも相手が考えてい動いているように見える必要がある
某市販ゲーをやってたときに「ミスった!後一撃でやられる、オワタ!」という状況で
至近にいる敵が明後日の方に進んだのを見てやる気が失せた

951 :名前は開発中のものです。:2013/12/26(木) 01:21:13.97 ID:IL/DzEfa.net
ファイアーエンブレム系で各個撃破されないように行動したり、
孤立して死にかけの敵を確実に削りに来るようなAI持ったゲームある?

952 :名前は開発中のものです。:2013/12/30(月) 08:55:48.27 ID:96TyUHbJ.net
あるだろうけど、基本的にプレイヤーと同じ縛りで動かすから
あまりえげつないことはできないよ

953 :名前は開発中のものです。:2013/12/30(月) 11:58:01.75 ID:evW3WY59.net
死んだら即キャラロストなゲームの場合
敵軍としてはステージ中に主力を一人倒せば目標達成だから
プレイヤー側の方が条件としては圧倒的に不利
軍同士の実力が拮抗していて思考ルーチンが優秀なら
プレイヤーはいくつかステージを進んだところで詰む

954 :名前は開発中のものです。:2013/12/30(月) 21:40:11.21 ID:PUCe57VA.net
そうそう。だから「詰将棋」になっちゃうんだよね。

「ある場所にいったら新キャラをゲットできる」って条件があったとすると
それをできなかった場合ってのはキャラをロストしたのと同じ事になるから
必ず手に入れなくてはいけないわけで、
「キャラを確実に手に入れて」かつ「キャラロストさせない」って手順を追及すると
最適解がしぼられてきちゃって面白くない。

955 :名前は開発中のものです。:2014/02/02(日) 12:52:34.59 ID:Q1gdN1n6.net
>>951
FE系じゃないけど、AoEはその傾向があったね
FE系だと固まって射程距離ぎりぎりでチクチクが一番効率いいんじゃね
大戦略みたいに都市占領や生産の要素があると
将棋より囲碁のような大局観のほうが大事

>>954
ロストしても楽しめるバランスならいいと思うけどね
全キャラ生還なんて縛りプレイはやりたい奴が勝手にやればいいと思う
FEは今のAIやゲームバランスの上で成り立ってる特別な例

956 :名前は開発中のものです。:2014/02/14(金) 12:38:40.56 ID:y8xuE92m.net
死ぬまで戦わせずに士気判定入れてさ、逃亡始めたり恐慌状態で動けなくなったりして戦線の維持ができなくなった時点で
ほぼ負けが確定する、みたいなゲームシステムってないのかな?ゲームバランスが問題なら。

957 :名前は開発中のものです。:2014/02/17(月) 20:35:43.54 ID:XkkD0G38.net
体力の代わりに士気にすりゃいいだけじゃん?

むかーしPC-98のゲームでそういう「士気」を取り入れたシステムのシミュレーションあったけど
特に普通と変わったところはなかったよ。

958 :名前は開発中のものです。:2014/02/23(日) 16:19:12.47 ID:FZeL0B+w.net
ユニットが恐慌状態になって
コントロール不能かつ周囲の味方を巻き込んだりすると面白い

だが往々にして"回復"スキルであっさり解消されてつまらなくなる

959 :名前は開発中のものです。:2016/05/17(火) 13:51:07.05 ID:hrllpx6V.net
皆さん頑張ってますね、私も頑張らねば

960 :名前は開発中のものです。:2016/05/17(火) 19:39:30.49 ID:XNH4Q6MU.net
>>957
士気システムだと兵数差をひっくり返しやすい代わりに
撃退した敵がそのままの兵数で何度も襲来してきて苦しい

961 :名前は開発中のものです。:2016/06/26(日) 16:25:48.03 ID:zBPiB+aF.net
                 【Win10】     開示する ここ重要だよ     【スパイウェア】


この使用許諾契約書には書かれています
”最後にあなたのコンテンツを含む個人データ(例えばあなたの電子メールの内容や―プライベート通信やプライベートフォルダ内のファイル)にアクセスし―開示し保全します”
開示する ここ重要だよ
契約がなければ通常 高度な違法行為になりうることです それはあなたが自分の意思としてこの契約書に同意したのです
https://www.youtube.com/watch?v=ZBwEmgdqB1c



                 【橋下市長】   バスの運転手が年収1000万円   【自民+民進+共産】


「1910」 副島隆彦 2016年6月16日
大阪市や大阪府のバスの運転手が年収1000万円は許せない、600万円まで落とすと。何でバスの運転手が1000万円ももらえるんだと。
これを正面から本気でやったらほんとに橋下はたたき潰されました。安倍晋三たちも、これを言われると日本の民主党や共産党は非常に困るんです。

962 :名前は開発中のものです。:2016/11/25(金) 21:28:10.12 ID:3YCOW6Rq.net
age

963 :名前は開発中のものです。:2016/11/29(火) 20:12:15.57 ID:J1Ekj/Ze.net
現在、Vector3 から緯度・経度を算出する関数を作成しています。
Vector3 Math::Vector3::TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
Vector3 ret;
ret.x = _fAlt * cosf( _fLong ) * cosf( _fLat );
ret.y = _fAlt * sinf( _fLong ) * cosf( _fLat );
ret.z = _fAlt * sinf( _fLat );
return ret;
}
void Math::Vector3::GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = asinf( v.z / _fAlt );
_fLong = atan2f( v.y, v.x );
}
といった関数をつくりました。

{
F32 lat, long, alt;
Vector3 v = TranslateGeoCoords( -1.57079637, -0.392699003, 1.0f );
GetGeoCoords( lat, long, alt, v );
}
とした際に longの値が 入力した値と違った値が返る時があります(この場合ですと、2.74889374 と言った値がかえってきます) 。

longの計算方法が間違っているのはわかっているのですが、 正しい方法がわかりません。
誰かご教授お願い致します。

964 :名前は開発中のものです。:2016/11/30(水) 05:53:16.15 ID:weGFa962.net
±90°はヤバイ

965 :名前は開発中のものです。:2016/12/01(木) 01:58:43.88 ID:EciSCQ3Q.net
>>963
その座標ってほぼ極点じゃないか

966 :名前は開発中のものです。:2016/12/01(木) 03:47:43.75 ID:6pEo0nQM.net
>>963
もう解決してるかもしれないけど、これで出せる
公式への当てはめがおかしかっただけだな

void TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
Vector3 ret;
ret.x = _fAlt * cosf( _fLong ) * cosf( _fLat );
ret.y = _fAlt * cosf( _fLong ) * sinf( _fLat );
ret.z = _fAlt * sinf( _fLong );
return ret;
}

void GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = atan2f( v.y, v.x );
_fLong = asinf( v.z / _fAlt );
}

967 :名前は開発中のものです。:2016/12/05(月) 10:56:05.09 ID:IU19FSHR.net
963です。
情報ありがとうございました!
Vector3 Math::Vector3::TranslateGeoCoords( F32 _fLat, F32 _fLong, F32 _fAlt )
{
_fLat = CLAMP( _fLat, -PI * 0.5f + sc_fThreshold, PI * 0.5f - sc_fThreshold );
_fLong = CLAMP( _fLong, -PI * 1.0f + sc_fThreshold, PI * 1.0f - sc_fThreshold );
if( fabs( _fLat ) > PI / 2 - sc_fThreshold )_fLong = 0.0f; // 極点付近だと Long は正常な値が出せない
return Vector3( _fAlt * cosf( _fLong ) * cosf( _fLat ), _fAlt * sinf( _fLong ) * cosf( _fLat ), _fAlt * sinf( _fLat ) );
}
void Math::Vector3::GetGeoCoords( F32& _fLat, F32& _fLong, F32& _fAlt, Vector3 v )
{
_fAlt = v.Length();
_fLat = asinf( v.z / _fAlt );
_fLong = atanf( v.y / v.x );
if( fabs( _fLat ) > PI / 2 - sc_fThreshold )_fLong = 0; // 極点付近だと Long は正常な値が出せない
else if( v.x < 0 )
{
if( v.y < 0 ) _fLong = -PI + _fLong;
else _fLong = PI + _fLong;
}
else if( v.y < 0 ) _fLong = PI + _fLong;
}
このような形でできあがりました。
何か間違っている所等が御座いましたらご指摘お願い致します!

968 :名前は開発中のものです。:2017/01/31(火) 20:49:50.24 ID:/uuuWXAW.net
はぁ

969 :名前は開発中のものです。:2017/02/06(月) 23:29:46.03 ID:HTgetRF5.net

板復帰(OK!:Gather .dat file OK:moving DAT 701 -> 695:Get subject.txt OK:Check subject.txt 701 -> 701:Overwrite OK)1.43, 1.75, 1.82
age subject:701 dat:695 rebuild OK!

970 :名前は開発中のものです。:2017/02/07(火) 10:54:09.62 ID:DUjb6E6x.net
https://www.youtube.com/watch?v=quIHgwuF6r4&sns=em

971 :名前は開発中のものです。:2017/03/14(火) 22:31:17.39 ID:uWtM+u6B.net
プログラミングまったく未経験の者です。
簡単に言えばPSの初代デジモンワールドの2Dドット版のようなゲームを作りたいのですが、それをやるのに適切な初心者向きのプログラミングの参考書やサイトがあれば教えてください。

972 :名前は開発中のものです。:2017/06/11(日) 21:09:55.01 ID:TCJX3Ivg.net
いままでゲームデータの管理をxmlでやってたんだけど、いい加減量が多くなってきたしテキストエディタでの編集大変だしデザイナーに任せられないし、excelに移行しようかと思うんだが、
手持ちのデータをどういうふうにexcel化というかデータベース化したらいいのか謎すぎる。

アニメパラメータとか、キャラクター毎、レベル毎の能力値とか。

キャラクターごとにファイル分けてるのか、1シート1キャラクターみたいにやってるのか、はたまた1シートに全部のデータをつっこんでるのか、表は縦軸に何をおいて横軸にどんな項目を置いてるのか、他のexcel使ってるゲームがどんな風に管理してるのか見てみたい。

どこかに実例ない??
うちのゲームはこんなexcel表でやってます、みたいな。参考にしたい

973 :名前は開発中のものです。:2017/12/31(日) 19:45:40.04 ID:/rN76OKL.net
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

LUP4Q9V496

総レス数 973
284 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200