ゲーム開発

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

1
カードゲームフレームワークの開発
やや汎用的なカードゲームフレームワークを構築するために、どのようなデザインパターンとアイデアを使用できますか? これは、人気のスティーブジャクソンゲーム「マンチキン」のクローンを作ろうとしたためです。そのゲームの性質上、カードの機能を多くコード化する必要がなくなったため、開発は無秩序で行き詰まりました。私は何か一般的なものを構築したかったのですが、多くのオーバーライドされた関数と動作を決定するためのswitchステートメントを含む多くのクラスになってしまいました。 私は、デザインの経験が豊富な人が、汎用のカードゲームフレームワークを構築するこのようなタスク、または少なくとも拡張可能な何かを処理するのに何が必要かを知りました。または、マンチキンのようなカードゲームのシミュレーションを作成したい場合は、特定のフレームワークを作成することにこだわっています。 C#を使用したいと思います。 編集 最終的に達成したいことのいくつかを明確にしたいと思います。基本的にカスタム機能を備えたフェーズを実装できるフレームワークが必要です(フェーズ1:カードを引く、フェーズ2:アップキープルールを適用する、フェーズ3:カードを再生する、フェーズ4:解決するなど)。 その場合、カードとフェーズの両方に結び付けられるルールセットを定義するのが賢明だと思います。 次に、カードが定義され、ルールに関連付けられていると想定します。たとえば、ルールは「維持フェーズの間、トークンを1つ失う」とします。ただし、プレイヤーが持っているカードは「維持フェーズ中にトークンを失わないでください」を提供するかもしれません。したがって、これを結び付けることができればフレームワークの根幹の範囲内にあるとよいでしょう。 これも私のリーグからはずれていると思います。

5
アップグレードされたユニットとアップグレードされていないユニットのバランス
この質問の本質は基本的にこれです。新しいユニットを構築するか、既存のユニットをアップグレードするかを選択できる戦略、RTS、またはタワーディフェンスゲームを検討してください。アップグレードされたユニットはアップグレードされていないものよりも明らかに価値がありますが、どれだけの価値がありますか? アップグレードパスを設計する際に、次のように設計するにはどうすればよいですか。 アップグレードは時間と労力の価値があります しかし、アップグレードによってプレイヤーが新しいユニットの作成を忘れることはあまりありませんか? たとえば、Defence Gridでは、数字を一目見ただけで、2つのレベル1ガンタレットがレベル2ガンタレットよりもダメージ出力が少ないことがわかります。ただし、1つのタワーよりも2つのタワーの方が有利です(たとえば、2つの異なるパスをカバーする必要がある)。

4
オンラインRPGのロールプレイングイベントゲームマスターの役職
私はオンラインRPGでポジションを作成することを検討しています。その責任は主に、ロールプレイング指向のイベントとプロットラインを構想し、NPC /アイテムのインスタンスを作成する機能やNPCを制御する機能などの開発者ツールを使用してそれらを実行することです。イベント/プロットラインの例としては、「古代の悪の神が刑務所から解放されて領域を攻撃する」または「強力な王朝の子孫の間の結婚に政治的反対者がそれを妨害しようとしている」などがあります。 この種のポジションに最適な役職は何ですか? 最初に頭に浮かんだのは「カスタマーエクスペリエンスアソシエイト」でしたが、これは「営業担当者」をドレスアップする方法である小売業界で確立された意味を持つようです。MMOの「ゲームマスター」の役職は、通常、ヘルプデスクの役職であり、創造的な義務や権限はありません。私は、この人の責任のレベルを誇張したり、過小評価したりしないものを選択したいと思います。
7 mmo  rpg  online 

2
初期の疑似3Dゲームの展望
古いクラシックスペースハリアーのスクリーンショットをご覧ください。私の質問は、チェッカーボードの「地面」の湾曲した視点に関するものです。奇妙に湾曲したジオメトリがあります(これをいくつかの古いゲーム/デモで見たことを覚えています)。私はモアレ効果を幾分思い出させます、そして私はそれの(背景の)いくつかはそれだけだと思います-しかし私はそれが完全な話だとは思いません。セガバージョンのスクリーンショットと比較してください。スクリーンショットは、距離ではモアレ効果を示していますが、同じ曲率ではありません。 そう... なぜ曲率なのか? 彼らは故意にこれをしましたか、それともいくつかのテクニックの副作用ですか? それはどのように達成されますか?
7 3d  geometry 

3
ボクセルハイトマップ地形エディター
私は最近、ハイトマップを使用して地形を次の形式で定義する、シンプルなボクセルベースの3Dエンジン(Minecraftと考えます)を実験しています。 http://en.wikipedia.org/wiki/Heightmap このようなマップを作成するための最適なソフトウェアを知っている人はいますか?できれば、テクスチャマップも定義できるようにしてください。テロゲンとピコゲンだけが本当の選択肢ですか?

4
2つの線の交点を見つける方法
キャラクターにバウンディングボックスがあり、前のフレームでの位置と現在のフレームです。境界ボックスは軸に揃えられています。 私のキャラクターは洞窟の中を走り回っています。洞窟の壁を表す点(線)のリストがあります(軸が揃っていません)。 私のキャラクターの一部が洞窟の壁の一部と衝突した可能性が高いときに通知する粗いアルゴリズムを持っています。 壁のどのラインがどの時点で衝突したかを明確に示す細かいアルゴリズムはありません。 私の現在の考えは、前のフレームの位置から現在のフレームの位置までの境界ボックスの各コーナーに線を作成し、これらの各線を洞窟内の線との交差についてテストすることでした。壁。 しかし、私のグーグルフーフは交差を計算するための簡単な公式を私に見せてくれませんでした。これを行うには悪い方法を選びましたか、それとも検索が苦手ですか? 私のゲームはscalaで書かれていますが、どのようなcスタイル言語や多くのスクリプト言語でも、あなたが答えたいと思うものは何でも読んだり翻訳したりできます。

2
ゲーム開発手法の進化を説明する優れた記事はありますか?
私はいくつかの3Dレンダリングアプリのコーディングを始めており、インタラクティブ性へのジャンプを検討しています。開発中、オイラー角、ジンバルロック、クォータニオン、フラスタム、カリング、ベクトルマトリックス、(クワッド/ oc)ツリーなどについて学びました。頂点バッファー、テクスチャ、ミップマッピング、周辺インターフェイス(マウス/キーボード以外)には触れていません)、および一般的なゲームエンジンコンポーネント。 これらすべての用語、手法は、初期の「Wolfenstein」の実装から、Quake 3の実装、現代のid Tech 5の実装(およびその間のすべて)へと時間とともに進化してきたと思います。 このような情報は価値があると思われるので、何かの特定の実装を除外することができます。なぜなら、それらは他のより新しくてかっこいいものによってすでに時代遅れになっているからです。基本的に自分のスキルを進化させることを目指していますが、(すべての資料を読んで時系列で追跡するのではなく)速い軌道に乗っています。 ゲーム開発手法の進化を説明する優れた記事はありますか? ありがとう、Chenz PS私はRTFMを避けようとしているのではなく、最新の情報のみを取得しようとしています。

2
2Dタイルマップを保存する方法
ボクセルのように見える小さなタイルで構成された2Dマップを作成したい(たとえば、これを横から見たところ)。 Voxel2Dのような、int X、Y、およびいくつかのColorを持つ構造を作成できます。すべてのVoxel2Dは5x5ピクセルになります(描画するときはXとYを5倍します)。 しかし、どうすればマップ全体を保存できますか?古典的なタイルマップのような2D配列で、またはより速い方法はありますか?
7 2d  java  maps  voxels 

2
タイルベースのマップの衝突検出の問題
私はタイルベースのマリオクローンに取り組んでいます。 これは、ウォーキングや落下の際にすべて正常に機能します。しかし、プレイヤーが壁の近くにジャンプして空中を右に歩くと、プレイヤーは壁に引っかかってしまいます。プレーヤーがキーを離すと、プレーヤーのスプライトは再び落ちます。 セットアップはかなり簡単で、問題を見つけることができません。マップは、マップブロックを持つ2D配列として構築されます。ブロックは固体でもそうでなくてもかまいません。プレーヤーは固体オブジェクトを移動できません。 ゲームループでは: プレーヤーの位置が更新されます(重力、動きなど)。 衝突の地図を確認してください。Yで衝突が検出されると、プレーヤーの位置が更新され、ブロックの上または下(プレーヤーの方向に応じて)になり、その後、衝突ボックスが新しい位置で更新されます。次に、Xの同じプロセス。 コリジョンボックスが新しい場所(空き場所)に更新されます。ボックスが調整され、プレイヤーの下にあるブロックが着地したかどうかを確認するのが少し高くなります。これは、プレイヤーの状態を、スプライトの飛行からアイドル状態に変更するためです。 また、XとYのチェックを入れ替えて、プレーヤーがX線上を移動するようにしました。その後、プレイヤーが移動すると、動きが非常に遅くなります。ボタンを押して離して移動すると、プレイヤーはより速く移動しますが、チャックの中にいます。とても奇抜です。 誰かがエラーを見たり、これのためのより良い衝突アルゴリズムを私に与えることができますか? 更新(コードを更新していません) xとyのチェック方法を入れ替えて、isonland変数を実装しました。したがって、壁に向かって歩いたりジャンプしたりするときは、完璧に機能します。今だけ、プレイヤーがジャンプすると、マリオは着地したときに戻ってきます。これは、Xチェックメソッドが最初に実行され、マリオの位置を調整するためです。 どうすれば解決できますか? マップクラス更新メソッド: public void update(int timeElapsed) { //update entities for(Entity entity : _mapEntities) { entity.update(timeElapsed); } //update objects for(MapObject mapObt : _mapObjects) { mapObt.update(timeElapsed); } //check for collisions checkMapCollision(); } エンティティ(抽象)更新メソッド: public void update(int timeElapsed) { _velocity = new …

5
この単純な衝突ソルバーでオブジェクトが貫通するのはなぜですか?
以下のコードは、ここの Microsoft XNAサンプルからのものです。これは非常に単純なリジッドボディシミュレーションであり、多くの物理的効果(角運動量など)を無視しますが、オブジェクト(球)を押しのけて、互いに貫通しないようにします。 ただし、シミュレーションでは球体が貫通するだけでなく、多数の球体が相互に積み重ねられている場合、小さな球体が大きな球体の内側にほぼ完全に収まります。すべての球が同じ半径と質量を持つようにすると、シミュレーションは適度に実行されます(最小の相互浸透で)。 誰かが相互浸透がある理由を説明できますか?球の位置を移動させるので、相互侵入は不可能のようです。 シミュレーションの各球について、このメソッドは他のすべての球で呼び出されます。 /// <summary> // Given 2 spheres with velocity, mass and size, evaluate whether // a collision occured, and if so, excatly where, and move sphere 2 // at the contact point with sphere 1, and generate new velocities. /// </summary> private void SphereCollisionImplicit(Sphere sphere1, …

2
ポータルプロジェクション
承知しました。正解です。退屈していて、蒸気のようなポータルスクリプトをいじっています。 私は次のことを理解しました: ミラーリングされたカメラの相対的な配置 ポータルのテクスチャにレンダリングします(テクスチャは反対側のカメラからのビューです) ポリカリング(カメラが他のポータルの後ろにあるため、ポータルの前面の後ろにあるすべてのポリをカリングします 投影のスケーリング方法がわからないので、ポータルの背面以外はすべて無視します。説明する画像は次のとおりです。 カメラ2から見たポータル2の背面が、ポータル1の前面に表示されています。問題はスケールです。点線周辺のすべてを無視し、カム2からのビューを拡大してポータル1の前面に完全にフィットさせたい。このスケーリングの大きな問題の1つは、移動するにつれて視点が変化することです。私はこれを理解するための行列数学が得意ではありません。誰かがアイデアを持っていますか? これを機能させるために、cam2の射影行列として設定できる行列を探しています。

2
プレーヤーの座標を追跡するためにフォグをどのように設定しますか?
プレイヤーの座標にフォグを設定することが可能かどうか(プレイヤーの周りにフォグがあり、それをよりサードパーソンにすることができるか)疑問に思う主な理由は、プレイヤーの右上隅に向かっているためです。スクリーン ここに私があなたに何をしているのかのガイドを与えることができるいくつかのコードがあります: glEnable(GL_FOG) GLfloat FogColor[] = {0.8,0.8,0.8,1.0}; glFogfv(GL_FOG_COLOR,FogColor); glFogi(GL_FOG_MODE,GL_LINEAR); glFogf(GL_FOG_START,30); glFogf(GL_FOG_END,); glHint(GL_FOG_HINT,GL_NICEST); そして私は霧が言ったような位置でプレイヤーを追跡したいです posX,posY,posZ 誰かがこれを非常に役立ついくつかのサンプルコードに変えることができるなら、ありがとう これが不可能な場合は、カメラの特定の位置の周囲に霧を設定するにはどうすればよいですか。たとえば、中央ではなく、カメラの右上隅に表示します。 これがゲーム画面の写真なので、私が話していることを確認できます。
7 opengl  c++  rendering 

2
OpenGL ES 2.0:2Dと3Dの混合
1つのOpenGL ES 2.0ゲームで2Dおよび3Dグラフィックスを混在させることは可能ですか? 私のゲームには2Dグラフィックがたくさんあります。2Dグラフィックスは、テクスチャが付いた2つの三角形ポリゴン(長方形を構成)で表されます。私が使用し正字シーン全体をレンダリングするために行列を。 ただし、ゲームに3D効果を追加する必要があります。したがって、メッシュをレンダリングするためにパースペクティブカメラを使用したいと思います。 1つのシーンに正射投影カメラとパースビューカメラを混在させることはできますか?はいの場合、これには大きなパフォーマンスコストがかかりますか?これを効果的に行うための推奨されるアプローチはありますか?2Dグラフィックの90%と3Dの10%しかありません。 ターゲットプラットフォームはOpenGL ES 2.0(iOS、Android)です。開発にはC ++を使用しています。 ありがとうございました。
7 opengl-es 

3
Facebookゲーム開発-データはどこに保存できますか?
いくつかのグラフィックス(それほど多くはありません)を含む小さなFacebookゲームを開発したいと思います。そのゲーム内では、ユーザーは特定のアイテムを購入/販売できるようになり、それらのアイテム/仮想お金をどこに保存できるのか...?Facebookは使用できるデータベースを提供していますか?
7 facebook 

4
MMOモックアップ用のエンジンが必要[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 4年前休業。 私は何をしていない必要なのは、現時点では、MMORPGエンジンです。 私が必要としているのは、モックアップを作成できる柔軟で使いやすいエンジンです。インスタンスで10人を超えるプレーヤーのサポートは必要ないので、マルチプレーヤープラットフォームはおそらく問題ありません。 次のコア機能を作成できるエンジンが必要です。 特定の目的を持つ単純なAI敵の波(ポイントAに移動、ターゲットを破壊、ポイントBに移動)。存在するユニットの数は50〜200です。 肩越しのビューと3人のチームを制御する機能(マスエフェクトや最新のドラゴンエイジなど) 機能する在庫システム 現在、私が本当に考えることができるのは、UnrealまたはSourceだけです。他の提案はありますか?繰り返しますが、これは実際のMMOではなく、実証用のモックアップです。 メカニックをテストしたいだけなので、視覚的な側面についてはそれほど心配していません。 注:必要に応じて、一部のスクリプトをPython、Ruby、またはLuaで記述できます。
7 mmo 

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