検索結果 13 件

by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: 配列のデバッグ時の内容表示について
返信数: 4
閲覧数: 3399

Re: 配列のデバッグ時の内容表示について

ご参考までに、配列のポインタについてはクイックウォッチとかで以下のようにやると一応見れますよ。

b, 100

ちなみに、2番目のコードは、以下の間違いですよね?

コード:

int* b = new int[100]; 
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: リプレイの高速再生
返信数: 3
閲覧数: 2066

Re: リプレイの高速再生

製作したSTGゲームに組み込んだことがあるのですが、
softya様の言うように1フレームで複数回処理を行うようにするだけです。
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】必要スペック、推奨スペック
返信数: 9
閲覧数: 4070

Re: 【雑談】必要スペック、推奨スペック

僕は同人畑の人なので、販売はしたことなくて有償での配布しかしたことなく、法律の専門家ではないので、あくまで個人の意見として聞いてください。 まず、法的に過失が発生するかは、正直ちょっとわかりませんし、僕の同人活動ではそこまでの事象は発生したことはありません。 同人に関して言えば、自分の思いの強さに応じてでサポートを最大限すればよいと思っていますし、私はそうしています。 具体的に言うと、バグ報告があった際、極力環境を構築できるようにしたり、バグを報告してきた方に協力していただいてデバッグ作業を行ったりして、修正を試みます。 しかし、環境が構築できなかったり、デバッグの協力を断られたり、1週間とか...
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: 参考書で・・・
返信数: 14
閲覧数: 4658

Re: 参考書で・・・

おぉ、そうですか、どうも議題とずれた内容でお騒がせして申し訳ありませんでした。
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: どうすれば良いのかアドバイスをください。
返信数: 8
閲覧数: 3493

Re: どうすれば良いのかアドバイスをください。

ゲーム開発しててもアプリ開発が必要となることもあります。 たとえば、大きいRPGを作る際はマップを作成するエディタアプリケーションを作ったり、 画像を管理するために画像管理アプリケーションを作成したりする必要があったりします。 また、ネットワーク対戦ゲームを作る際はサーバーを立て、サーバーアプリケーションを作る必要があったりもします。 なので、全然別の分野ということもありませんし、プログラミングの基本的な部分については一緒なので気にしないでいいと思います。 それと、プログラミングの学習をする場合興味があるもので勉強したほうが個人的には効率がよいと思っています。 なので、ゲームを作りたかったらゲ...
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: 参考書で・・・
返信数: 14
閲覧数: 4658

Re: 参考書で・・・

ちょっと議題とずれるのですが、シューティングアルゴリズムマニアックスの内容は許諾なしに転載することは禁止だと思うのですが大丈夫ですか?
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: 【雑談】必要スペック、推奨スペック
返信数: 9
閲覧数: 4070

Re: 【雑談】必要スペック、推奨スペック

色々な人に協力してもらったりして、色々な環境で動かしてみて動いた中での最低スペックが必要スペックです!(割と本気で) ・・・これだけだと、あんまりなのでその際に気にすべき留意点などを少々。 ・基本的にグラボを見る ゲームの場合、よっぽどCPUに依存する処理(例えば、大量の経路探索とか)でもしない限り、 昨今のCPU事情を考えると問題になることは少ないです。 そのため、大抵はグラボを中心に見ることになると思います。 グラボを見る場合最低限「GeForce」と「Radeon」の2つはデバッグもかねて動作確認しておいたほうが良いです(後最近だとインテル HD グラフィックスとかも余裕があれば試すとい...
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: C#におけるオブジェクトプールについて
返信数: 9
閲覧数: 5575

Re: C#におけるオブジェクトプールについて

> YuOさん おぉ、こんなのもあるのですね! ちょっと、読んでみたのですが、自前でプリプロセッサ作るより便利そうです! ・・・というわけで、 皆様色々とご回答いただきありがとうございました。 とりあえず、今回は処理への影響を最小限にしつつ、 コードの保守性を極力保つという方向性のもと、以下のような方針でプール処理を行うことに決めました。 1.C#で共用体を利用 これによって、無駄なオブジェクトの生成&削除と、メモリ利用をを最小限にとどめます。 2.共用体はクラスのメンバとして保持し、クラスをゲーム開始時に大量に生成し管理。以後生成は行わない。 ゲーム開始時に全てメモリ確保を行い、以後ヒープの...
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: C#におけるオブジェクトプールについて
返信数: 9
閲覧数: 5575

Re: C#におけるオブジェクトプールについて

bitter_foxさん、ISLeさん ご回答ありがとうございます。 > bitter_foxさんへの返信 コードの例示までしていただいてありがとうございます。 これはプールを自動的に拡張するようにすれば問題じゃなくなるのではないでしょうか? それとも別の問題でしょうか? 自動的に拡張する部分が一番問題だと思っています。 ゲーム中のメモリ確保は限りなくゼロにしたいと思っています。 自動的に拡張とすると、GC発生を制御できなくなり、 GC発生による処理遅延が発生する危険性があるかと思います。 .Net Framework4になって、バックグラウンドGCが実装されたので、 PCに関していえば大分、...
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: C#におけるオブジェクトプールについて
返信数: 9
閲覧数: 5575

Re: C#におけるオブジェクトプールについて

ご回答ありがとうございます。 短期的な値の利用に限るなら構造体の利用も一考の余地ありですが、 大量のゲームオブジェクトの場合は、スタックメモリはあまり容量がないため、食いつぶす危険性があるり、難しい気がしています。 それと、今回の本題(プール)とは別になりますが、「BOXINGの問題」についてはありがとうございます! 確かに原理をよくよく考えればヒープを利用することになりますよね。 一応、自分でゲームを作る際はGCの発生回数をモニタリングするようにしているので、現状問題にはなるほど表面化してはいないのですが、抑えておいたほうが良さそうなポイントですね。 個別に設定といえども「設定対象ごとにステ...
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: C#におけるオブジェクトプールについて
返信数: 9
閲覧数: 5575

Re: C#におけるオブジェクトプールについて

ご回答ありがとうございます。 すいません、ジェネリックスを使うというのがどこで利用するのかピンときていません。 以下のようにプールをジェネリックとして管理するということでしょうか? // プール ジェネリック class Pool<Type> { private Stack<Type> Cache = new Stack<Type>(); // 初期化 - メモリ確保 void Init(int size) { for (int i = 0; i < size; i++) { Cache.Push(new Type()); } } // プールよりオブジェクトを取得 Type Create()...
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: C# での ゲームパッドの使用
返信数: 5
閲覧数: 5812

Re: C# での ゲームパッドの使用

既に解決されているようなので、ご参考までに。

ゲームパッドの入力を取得したいだけならば、DirectInputを利用するよりWindows マルチメディアのjoyGetPosExを利用するほうが良い気がします。
http://msdn.microsoft.com/ja-jp/library/cc410475.aspx

・追記
あと、XNAのXInputはMicrosoft的には一押しですが、こと日本のコントローラ事情を鑑みると、XInput対応のコントローラが日本でそもそも出回っていないため現状選択肢としては微妙だと思ってます。
by 天空橋光
12年前
フォーラム: C言語何でも質問掲示板
トピック: C#におけるオブジェクトプールについて
返信数: 9
閲覧数: 5575

C#におけるオブジェクトプールについて

はじめまして。 現在、C#(XNA)にてシューティングゲーム開発をしている天空橋光と申します。 シューティングゲームを作る際に、敵、弾、パーティクル、アイテムなどが 多量に出るゲームデザインを考えているため、絶えずnewを行うと 非常にパフォーマンスが悪い、またはGC発生率が高くなるため、 最初にこれらのオブジェクトを以下のようにプールすることにしました。 // プールを作成 void init() { for (int i = 0; i < 20000; i++) { GameObject o = new GameObject(); pool.Push(o); } } // プールよりオブジ...

詳細検索ページへ移動する