ゲーム開発

プロおよび独立系ゲーム開発者向けのQ&A

5
偶然のハッキングから保存データを保護するにはどうすればよいですか?
ゲームデータを安全な方法で保存するためのオプションは何ですか?C ++向けに特別に調整されたソリューションに興味があります。 高速で使いやすいものを探しています。私は、次のような簡単な情報を保存することだけを心配しています ロック解除されるレベルとされないレベル 各レベルのユーザーのスコア 使用するものが何なのか、平均的なプレイヤーが台無しにできない、安全で優れたゲームデータファイルを提供する優れたライブラリを使用したいので、もう一度興味があります。 ここでこれを見つけましたが、これは非常に良さそうに見えますが、他の潜在的なライブラリ/オプションについて意見を得るのは素晴らしいことです。

7
ゲーム開発のために学ぶべき非自明なトピックは何ですか?[閉まっている]
私は約10年間ゲームを書いてきました(QBasicからC#までのすべて)。スキルをさまざまな分野に広げていく必要があります。読んでおくべき他の驚くべきトピックは何ですか? 予想されるトピックには、通常の容疑者が含まれます。 お好みのプログラミング言語 スクリプト言語 ソース管理 プロジェクト管理(またはアジャイル) グラフィックスAPI おそらくいくつかのAI(A *経路探索?) 物理学(発射体物理学) 単体テスト(自動テスト) もっと難解なトピックを探しています。知っておく必要のないものですが、知っていれば違いが生まれます。これには次のようなものが含まれます。 アートスキル(描画、照明、着色、レイアウトなど) 自然言語処理 音の物理(音波、ドップラー効果など) 個人的には、技術的なアートスキル(たとえば、アイデアを思い付くことができれば、まともなアートワークを作成できること、Photoshop / GIMPのチュートリアルに従うこと)が私にとって最も有益だと感じています。 これは自由回答形式の質問ではありません。私はあなたを助けた特定のスキルを探しています。あなたは短期的および長期的にあなたに利益をもたらし続けると期待しています。
32 education 

11
ゲームのフィクション内でのプレイヤーキャラクターの機械的優位性を説明する必要がありますか?
かなり長い間、私はこの概念をどのように定式化するのか疑問に思います。これは、一般的な非プレーヤー制御キャラクター(NPC)より一貫して優れているプレーヤー制御キャラクター(PC)の概念についてです。また、これは実際のプレーヤーのスキル(プレーヤーが積極的にできることとして定義されている)に依存してはならず、代わりにPC自体に固有のものでなければなりません。 現在、RPGの場合、それは通常、運命、魔法、優れたスキル、バックストーリー、優れた(エンチャントされた)装備のようなものであり、まれな力を持っています。 しかし、同じサイズ、種類、装備の宇宙船についてはどうでしょうか?プレイヤーは、武器とスラスターが自動的に機能するため、プレイヤー自身のスキルの余地をあまり持たずに、自分が使用している5〜10個の宇宙船を繰り返し簡単に粉砕できると説明できますか?相手がやっているように、ボタンを効果的に押して攻撃を開始します。この抽象性を保つためだけに、ゲームの初期段階だとしましょう。また、psiパワーやクリスタルなどの特別な知識ベースの要素のない、標準的な未来的な設定を想定しましょう。 一般的にPCの優位性を正当化するために使用できるガイドラインまたは概念は何ですか?数学的な意味で、すべてのPCのベースラインとして-75%のダメージと+ 300%のダメージを信頼できる方法で説明する必要がありますか?または、それは一般にゲームの静かに受け入れられた前提ですか?

3
ラスターベースのグラフィックスコンテンツの解像度の独立性にどのようにアプローチしますか?
ハンドヘルドなど、ロックされたプラットフォーム仕様で実行するのに十分でない幸運なゲームは、さまざまな解像度形式とアスペクト比で実行する必要があります。 3Dゲームでは、ラスターグラフィックスに基づいたHUDまたはメニューGUIがあり、2Dゲームでは、スプライトの容器であるクワッドの束があります。 私の質問は、さまざまな解像度とアスペクト比にまたがるコンテンツの設計と運用にどのようにアプローチするかということです。300x400ピクセルのスプライトであり、タイルでできたレベルに囲まれたスプライトキャラクターがあるとします。異なる解像度/アスペクト比では、まったく異なるFOVが表示されます。または、HUDまたはGUIメニューがある場合は、画面に対して同じ位置に同じサイズのいくつかのものを保持する必要があります。それでも、グラフィックソースはラスタービットマップであり、ベクターではありません。 明らかに、問題は何度も対処されています。私はこれまでのところあなたのために働いた様々なアプローチを聞いて興味を持っています。あなたは解像度とアスペクト比または他のアプローチに基づいた式を介して魔法のように必要な次元に変換する任意の次元に依存しない「ピクセル」ユニットを保持していますか? 編集: したがって、結論はアスペクト比を列挙することです。アスペクトと解像度の最小の組み合わせは、重要なものを設計するものです。あなたがするなら安全なエリア。縦横比は同じですが、解像度が高いと単純なスケーリングの問題になります。アートコンテンツは、最高の解像度で設計されています。アスペクト比を大きくすると、情報が表示されたレベル/ FOVがより多く表示されますが、安全な領域の情報ほど重要ではありません。私が作ったこの画像のようなもの。
32 2d  sprites  gui 

8
MMOチャットの冒fanフィルター
Smartfox Serverを使用してMMOを開発しています。対象読者は7〜12歳の子供です。 このMMOにはグローバルチャットオプションがあります。 ユーザーがテキストボックスに入力したものは、ユーザーがエンターキーを押した後にアバターの横に表示されます。 We would like to filter abusive language / profanities from this chat. We could capture the chat and read the text. The problem is getting the list of profanities itself. Our questions are Where will one get exhaustive list of all profanities? What method is adopted …
32 mmo 

5
glScissorの目的は何ですか?
私はそれがステンシルテストよりも効率的であることを知っていますが、ビューポートで投影変換を使用して同じ機能を達成できると仮定していますか?
32 opengl  opengl-es 

9
プレイヤーとモンスターのバランス:レベルアップ曲線
RPGのような「レベルアップ」を備えたかなりの数のゲームを作成しました。プレイヤーはモンスター/敵を倒すことで経験を積むことができ、最終的にはステータスが増加する新しいレベルに達します。 プレイヤーの成長、モンスターの強さ、難易度のバランスをどのようにして見つけますか?このスペクトルの両端は次のとおりです。 プレイヤーは本当に速くレベルアップし、多くの努力なしでモンスターを吹き飛ばします モンスターは信じられないほど強く、低レベルであっても倒すのが非常に難しい 私はまた、プレイヤーに対して敵を作るという奇妙な状況を試しました。つまり、敵は常にプレイヤーのステータスの50%、100%、または150%になります(したがって、プレイヤーが成功するには強引な力ではなく他のテクニックを使用する必要があります)。 しかし、バランスはどこにあり、どのようにそれを見つけますか? 編集:例えば、私は次のようなことを聞​​くことを期待しています: 低バランスではなく高バランス(200 HPおよび20 strは、20 HPおよび2 strよりもバランスが簡単です) 最も簡単なモンスターと最も難しいモンスターを見て、範囲に関してあなたが持っているものを見てください

7
ゲームに消耗品があるのはなぜですか?
この質問の線に沿って考えて、そして一般的にロープを使用するにはあまりにも素晴らしい。ゲームデザイナーがゲームに消耗品を含めたいのはなぜですか? Mortal Kombat 11は私に考えさせてくれました...なぜ戦闘で優位に立つ消耗品を含めるのですか? 私は、消耗品がゲームプレイに追加すること、実際のお金で購入できるもの、ゲームをプレイするだけで得られるもの、制限付きまたは無制限で利用できるものについて具体的な答えを探しています量。

1
現代のゲームでダブルまたはトリプルバッファリングはどのような問題を解決しますか?
ダブル(またはトリプル)バッファリングを使用する原因の理解が正しいかどうかを確認したい: 60Hz更新のモニターは、モニター表示を1秒間に60回更新します。モニターがモニター表示を更新する場合、彼はピクセルのピクセルとラインのラインを更新します。モニターは、ビデオメモリからピクセルのカラー値を要求します。 今ゲームを実行している場合、このゲームは常にこのビデオメモリを操作しています。 このゲームがバッファ戦略(ダブルバッファリングなど)を使用しない場合、次の問題が発生する可能性があります。 これで、モニターはモニター表示を更新しています。この時点で、モニターは前半のモニター表示を既に更新していました。同時に、ゲームは新しいデータでビデオメモリを操作していました。これで、モニターは後半のモニターにアクセスし、ビデオメモリからこの新しい操作データを表示します。問題は裂け目またはちらつきです。 バッファ戦略を使用する場合の私の理解は正しいですか?他の理由はありますか?

2
ランダム/手続き型と以前に作成されたレベル生成
ランダム/プロシージャ生成を使用した場合と事前に作成したレベルを使用した場合の利点/欠点 アイテムがランダムに生成された地形で配布する問題である可能性があり、生成された地形が奇妙に見えるかもしれないという事実以外、私が考えることができるものはほとんどないようです。 ただし、以前に作成したレベルの欠点は、レベルエディターを作成する必要があることです。何を使用するのが良いかを判断できません。 回答には、手続き型と既成の両方のコード/例、および賛否両論を含めることができますか?

4
ストレスと危険の錯覚を作り出す
私は現在、ある時点でゲームが非常に落ち着いていて、プレイヤーがパズルを解かなければならず、ある時点で敵や環境トラップがあるアドベンチャーゲームの設定を試しています。 プレイヤーを怖がらせるような驚くべき危険なイベントがどこからともなく現れないように、複数の「プレイヤーを殺す」障害物が含まれるゲームのセクションが始まる前にプレイヤーの緊張を高めたいと思います(彼らが敵であるか、地面がばらばらになるかもしれません。 私のサウンドアーティストは、非常に優れた音楽と効果音を作成して、徐々に緊張を高めましたが、この段階のゲーム要素は欠落しています。プレイヤーがパズルゾーンから退屈なプレーンセクションを通り抜けて危険ゾーンへと走っているようです。 音のほかに、プレーヤーの緊張を高める一般的な方法は何ですか?特別なビジュアルで支援できますか、またはストーリーを改善したり、場合によっては危険ゾーン前の簡単な障害物を発明したりする必要がありますか?

5
ゲームリソース(wood、iron、gold)にインスタンスまたはクラスを使用する
そこで、木材、鉄、金などの資源を売買する場所に船を送ることができるゲームを作っています。 今、私はゲーム内でリソースをどのように作成すべきか疑問に思っていました。私は2つのオプションを思いつきました リソースごとにクラスを作成します。 public class ResourceBase { private int value; // other base properties } public class Gold : ResourceBase { public Gold { this.value = 40 // or whatever } } リソースクラスのインスタンスを作成する public class Resource { string name; int value; public Resource(string name, int value) { this.name = name; …

8
ゲームはどのようにしてすべてのキャラクターを一度に処理できますか?
この質問は、ゲームが一度に非常に多くのキャラクターを処理する方法についての知識を得るためのものです。私はゲームに慣れていないので、事前にご容赦ください。 例 タワーが構築され、各タワーが一定の速度で発射物を放出する15のタワースロットがあるタワーディフェンスゲームを作成しています。言うことができます毎秒は、2回の発射は、塔のそれぞれによって作成され、そこにある戦場に行進敵は、70を言うことができます、彼らが動き回るように変化れる、などのHPなどの属性の10種類、マナ、各(戦場)。 概要 タワーカウント = 1 秒間に各タワーで作成される 15の発射物 = 2 1秒間に作成される発射物の総数 = 30 戦場でのユニット数 = 70 さて、ゲームはこれらの30個の発射体と70個のユニットを、100個の異なるスレッド(PCにとっては大きすぎる)またはそれらすべてを移動させ、値を減らすなどの1つのスレッドで処理することで処理しますか(少し遅くなります) 、 おもう)? 私はこれについて手がかりを持っていないので、誰がこれがどのように機能するかについて私をガイドできますか?

1
どのようにして立方体を球体に変えますか?
次のような結果を示す記事に基づいて、四角球を作成しようとしています: キューブを正しく生成できます。 しかし、(上記のリンク先のページから)この式に従ってすべてのポイントを変換すると: x = x * sqrtf(1.0 - (y*y/2.0) - (z*z/2.0) + (y*y*z*z/3.0)); y = y * sqrtf(1.0 - (z*z/2.0) - (x*x/2.0) + (z*z*x*x/3.0)); z = z * sqrtf(1.0 - (x*x/2.0) - (y*y/2.0) + (x*x*y*y/3.0)); 私の球体は次のようになります。 ご覧のとおり、立方体の端はまだ突き出しすぎています。キューブは、の範囲-1に+1記事が言うように、すべての軸に。 何が間違っているのでしょうか?
31 3d  geometry  sphere 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.