ゲーム開発

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

3
タイルエンジンでランダムな「世界」を作成するにはどうすればよいですか?
クラシックタイルエンジンで動作するゲームを設計していますが、その世界はランダムに生成されます。これを行う既存のゲームやアルゴリズムはありますか?私が見つけた手続き生成アルゴリズムは、タイルシステムを使用することはありません...タイルシステムを使用して「世界」全体を生成する最良の方法は何でしょうか。私はブロックの迷路についてではなく、全体的な「世界地図」について話している

4
libGDXの解像度の独立性
libGDXゲームの解像度/密度を独立させるにはどうすればよいですか?基礎となる密度に関係なく、イメージサイズを「絶対」に指定する方法はありますか? 私は非常にシンプルな子供向けゲームを作っています。画面に表示されるスプライトの束と、メニューのテキスト(主にオプションメニュー)。私が知りたいのは、スプライト/フォントの解像度を独立させるにはどうすればいいですか?(物事を簡単にするために、自分のクラスでそれらをラップしました。) 単純な子供向けのゲームなので、ゲームの「プレイ可能な領域」について心配する必要はありません。できるだけ多くの画面スペースを使用したい。 私が今やっていることは、非常に間違っているようですが、単に大きな解像度に適した画像を作成し、画面サイズに合わせて縮小(またはめったに拡大)することです。これは(デスクトップバージョンでは)大丈夫なようです。テクスチャの線形マッピングでも、解像度が小さいと見苦しくなります。 また、これはAndroidの「デバイスに依存しないピクセル」(DP)に直面しているようです。それとも、私は何かを逃していて、libGDXはすでにこれを何らかの形で処理していますか? これに取り組む最良の方法は何ですか?このリンクを見つけました。これは問題を解決する良い方法ですか?:http : //www.dandeliongamestudio.com/2011/09/12/android-fragmentation-density-independent-pixel-dip/ 画像の制御方法については言及していますが、密度に関係なくフォント/画像サイズを指定する方法については言及していません。
22 android  libgdx 

9
ネットワークゲームで非公式クライアントを防ぐためのテクニックはありますか?
マルチプレイヤーネットワークゲームでは、ユーザーがハッキングされたクライアントアプリではなく、公式のクライアントアプリケーションに接続していることを確認するためのテクニックは何ですか? これを行う確実な方法はおそらくないと思いますが、むしろ問題を軽減するために使用できる手法に興味があります。 Webベースのゲームに使用できる技術に特に興味がありますが、ほとんどの技術は一般的に適用できると思います。 ありがとうございました!

4
次の記事/書籍を探しています:ゲームはどのようにしてお金を稼ぎますか どのモデルを使用していますか?
私はゲームがお金を稼ぐ方法を研究しようとしています。私は彼らが使用するモデル(無料/プレミアム、トライアル/サブスクリプション、マイクロトランザクションで無料プレイなど)についてもっと知りたいです。さらに、どのモデルがどのゲームに適しているか、どのモデルがどの年齢層に最適かなどの情報が必要です。 情報を見つけるために最善を尽くしましたが、Googleは何も発表していません。私は大学の図書館に立ち寄って、そこに何かがあるかどうかを確認すると思います。 これは大まかな質問のように思えるかもしれませんが、入力された答えではなく、書籍のリンクとタイトルを探しています。

5
「初心者」ゲームプロジェクトを超えて
私はゲーム開発者が知っておくべき数学の種類に関するこの答えを読んでいて、この部分は本当に目立っていました: How do I move my game object? The novice might say: "I know! I'll just do:" object.position.x++. それは私がそれをやろうと思う方法ですので、それは私のスキルレベルを示していると思います。少なくとも私が過去に作成した2Dの横スクロール型のアーケードスタイルのゲームについては、それだけで十分です。それと少しの三角法。 実際、私はその投稿を読む前に、線形代数をあまり使用しておらず、四元数も聞いていません。これは、これらの数学が3Dで作業するまで表示されないからか、それとも私の2Dゲームが単純であるために、単純な実装で逃げたからです。 フォローアップの質問:そのタイプの数学に精通したい場合、どのタイプのプロジェクトに着手すべきですか?IE:ゲームエンジンの作成、3Dゲームの作成など。

2
ゲームのアイデアをプロトタイプ化する良い方法は?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 2年前に閉店。 私は、4人のインディーズグループのように、ゲームのアイデアをプロトタイプ化するための落書きのようなホワイトボード全体を持っています。私たちは毎日それを見て、新しいプロジェクトを開始する時間に近づいたときに、どのアイデアが最も私たちを引き付けるかを選択します。また、ゲームプレイが関連付けられていなくても面白いと思われるキャラクターをランダムに描画します。これは機能しますが、常にアイデアを最もよく理解できるとは限りません。ゲームのアイデアを思いついたら、非常に基本的なプロトタイプを構築して見せてくれるというルールを試しましたが、それは時間の無駄にもなります。 だから、私の質問は「ゲームのアイデアをプロトタイプ化する良い方法は何ですか」です。アイデアを理解することと、理解しないためにスキップしないことと、触れられないアイデアを大量に蓄積する時間を無駄にしないこととのバランスが必要です。ゲームプレイ、アートフィール、特別な機能、観客などの主要な側面を記述するための効率的な方法は何ですか

1
静的およびアニメーション3Dモデルのファイル形式
この質問は、Game Development Stack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 現在、OpenGLを使用してC ++で3Dゲームを作成しており、3Dモデルをロードする部分に来ています。したがって、 静的メッシュを表示し、 アニメーションメッシュをレンダリングします。 キーフレームアニメーション、骨格アニメーション、MD2〜MD5、3DS、X、Colladaなどのような、非常に多くの可能な形式と手法を既に見つけました。 簡単にするために、静的メッシュとアニメーションメッシュの両方を可能にする形式(および手法)を使用したいと思います。したがって、私の質問は、1つの形式がそのタスクに適しているかどうか、そしてどの形式を提案するかです。そして、少し明確にするために、私は非常に滑らかなアニメーションやまったく新しい機能を必要としません。 サイドノート:私はブレンダーのファンなので(ただし、専門家ではありません ;-))、それを使用できると便利ですが、もちろんそれはショーストッパーではありません。
22 c++  opengl 

3
MMOのサーバーとの低トラフィッククライアント同期
プレイヤーが矢印キーで宇宙船を操縦して宇宙船で飛行し、他のプレイヤーと協力するMMOを実装しています。 プレイヤーがロケットなどから船をかわすことができるように実装したいので、サーバー使用と同じ世界をシミュレートするアルゴリズムを使用して、クライアント側でゲーム全体の状態を予測しようとしています。そのゲームワールドはC#で記述され、クライアント内で直接呼び出され(Unity3Dで記述されます)、C ++サーバー上のCLRを介して(Linuxの下で)呼び出されます。UDPを介した接続。 問題は、たとえば、単一のマップ内で1000人のプレーヤーを維持する方法です(他のすべてのゲームオブジェクト、Mobを除く)。 サーバーをクライアントと毎秒50回同期する (一定の半径内で)彼が見ることができるゲームオブジェクト(およびプレイヤー)の状態を各クライアントに送信する ビュー半径内の各プレイヤーに100個のオブジェクトを送信する必要があります ゲームオブジェクトごとに平均50バイトを送信する必要があります(id、x、y座標、回転、状態...) そのため、次のようなネットワーク帯域幅が必要になります:1000(クライアント)* 50(1秒あたりの回数)* 100(各プレーヤーに送信するオブジェクト)* 50(オブジェクトあたりのバイト数)= 250 000 000バイト/秒!それは不可能だ! どういうわけかこの値を減らすことは可能ですか?たとえば、クライアントがゲームの世界を(長期間)完全にシミュレートし、他のクライアントの入力だけを送信し、数秒ごとにゲームの世界を同期できるようにします。 。 とにかく、そのようなゲームはどのように一般的な方法でプログラムされていますか?ありがとうございました。

4
3Dテレインエディターを構築するときの開始点 [閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 4年前に閉鎖されました。 地形を上げ、下げ、滑らかにし、テクスチャを付けることができるシンプルなツールを(開始のために)探しています。 それで、そのような地形エディタを作成するために私が経験しなければならないことは何ですか? そして多分、主題に関して利用可能な貴重なリソースがありますか? はい、言及するのを忘れましたが、私は3D地形エディタに興味があることを。

5
C#はリアルタイムゲームサーバーに適していますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 閉まっている 5年前にました。 質問のほとんどはタイトルにあります。 基本的に、2Dマルチプレイヤーアクションゲームの開発を始めています。クライアントは(おそらく)XNAに参加することになるので、サーバー側の開発にもC#を使用することをお勧めします。 言語が管理されているという事実は、MMOゲームサーバーでさえJavaが使用されているため(問題がある場合は修正してください)、問題にはならないので、この目的でC#を避ける理由はありますか?TCPを介して通信し、SQLサーバーとチャットするために、高速で応答する必要があります。そして、C#を避ける理由がない場合、そのようなWebサーバーをどのように展開しますか?それはサーバーマシン上で実行される.NET EXEでしょうか?
22 c#  server 

3
Blizzardは、ゲームでMac OSとWindowsをどのようにサポートしていますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Game Development Stack Exchangeで話題になるようにします。 2年前に閉店。 私は常に、Direct X for Windowsを使用することが、今日のグラフィックスでゲームを作成するための最も強力で簡単かつ最新の方法であると常に考えてきました。Windowsのみであることを知っているので、他のプラットフォームで似たようなものを作るのはかなり難しいと思います。Mac OS、正確には。しかし、BlizzardはどうにかしてMac OS用のStarcraft 2を提供し、Diablo 3もMacで利用できるようになります。 私が興味を持っているのは、次の情報です。 ゲームエンジンに使用している技術は何ですか? 両方のゲーム(Starcraft 2とDiablo 3)に1つのエンジンを使用していますか、それとも各ゲームのカスタムエンジンを開発していますか? Mac OSサポートに時間とお金の面で何を払っていますか?
22 windows  macos 

4
ランダムに生成されたストーリー
私は現時点でゲームを開発していますが、プレイヤーの進行に合わせてゲームのストーリーラインがランダムに生成され、そのアクションがストーリーに影響を与えるというアイデアがありました。 これはゲームプレイの観点からは悪いアイデアでしょうか、それとも複数のエンディングがあるストーリーラインが最良のアイデアでしょうか?

3
ゲームの仕組みのリスト[終了]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 ゲームメカニクスのリストを編集しようとしています。これは、ランニング、ジャンプクライミングラダーなどの低レベルメカニクスではなく、協力、リソース管理、チャンス、時間操作などのハイレベル/メタゲームメカニクスを意味します。 何か提案がありますか、既存の良いリストを教えてくれますか?私のWIPリストは、私がゲームについて考える上で非常に役立つことをすでに証明しています。

4
物理エンジンの更新の問題の勢いと順序
この質問は、衝突の検出と解決に関する以前の質問からの「フォローアップ」質問であり、こちらで見つけることができます。 前の質問を読みたくない場合は、私の物理エンジンがどのように機能するかについて簡単に説明します。 すべての物理エンティティは、SSSPBodyと呼ばれるクラスに格納されます。 AABBのみがサポートされています。 すべてのSSSPBodyは、すべてのボディを更新し、重力を処理するSSSPWorldと呼ばれるクラスに格納されます。 すべてのフレームで、SSSPWorldはすべてのボディを更新します。 更新されたすべてのボディは、空間ハッシュで近くのボディを探し、それらとの衝突を検出する必要があるかどうかをチェックします。「はい」の場合、「衝突」イベントを呼び出し、それらとの衝突を解決する必要があるかどうかを確認します。はいの場合、侵入ベクトルと方向の重なりを計算し、侵入を解決するために位置を変更します。 ボディが他のボディと衝突すると、ボディの速度をそれ自体に設定するだけで、ボディの速度が他のボディに転送されます。 ボディの速度は、最後のフレームから位置を変更していない場合、0に設定されます。また、移動する物体(リフトや移動するプラットフォームなど)と衝突する場合、リフトの移動差を計算して、物体が最後の位置から移動していないかどうかを確認します。 また、ボディは、AABBのすべての角がフレーム内の何かと重なったときに「クラッシュ」イベントを呼び出します。 これは私のゲームの完全なソースコードです。3つのプロジェクトに分かれています。SFMLStartは、エンティティの入力、描画、更新を処理するシンプルなライブラリです。SFMLStartPhysicsは、SSSPBodyクラスとSSSPWorldクラスがある最も重要なものです。PlatformerPhysicsTestは、すべてのゲームロジックを含むゲームプロジェクトです。 そしてこれは、SSSPBodyクラスの「更新」メソッドであり、コメント化および簡略化されています。SFMLStartSimplePhysicsプロジェクト全体を見たくない場合にのみ、これを見ることができます。(そして、たとえ行ったとしても、コメントされているので、これを見てください。) .gifは2つの問題を示しています。 ボディが異なる順序で配置されている場合、異なる結果が発生します。左側のクレートは右側のクレートと同じで、逆順でのみ配置されます(エディターで)。 両方のクレートを画面の上部に向けて推進する必要があります。左側の状況では、木枠は推進されません。右側では、そのうちの1つだけです。両方の状況は意図していません。 最初の問題:更新の順序 これはかなり簡単に理解できます。左側の状況では、最上位のクレートが他のクレートの前に更新されます。下部のクレートが速度を他のクレートに「転送」しても、次のフレームが移動するのを待つ必要があります。移動しなかったため、下枠の速度は0に設定されます。 これを修正する方法がわかりません。物理エンジンの設計全体で何か間違ったことをしていると感じているため、更新リストの「ソート」に依存しないソリューションを好むでしょう。 主要な物理エンジン(Box2D、Bullet、Chipmunk)は更新順序をどのように処理しますか? 2番目の問題:1つのクレートのみが天井に向かって推進されます 私はまだこれが起こる理由を理解していません。「スプリング」エンティティが行うことは、ボディの速度を-4000に設定し、スプリング自体の上に再配置します。再配置コードを無効にしても、問題は引き続き発生します。 私の考えは、下のクレートが上のクレートと衝突すると、その速度は0に設定されるということです。これがなぜ起こるのかわかりません。 最初の問題をあきらめる誰かのように見える可能性にもかかわらず、私は上記のプロジェクトソースコード全体を投稿しました。私はそれを証明するものは何もありませんが、信じてください、私はこれを修正するために一生懸命努力しましたが、解決策を見つけることができず、物理学と衝突に関する以前の経験はありません。私はこれらの2つの問題を1週間以上解決しようとしてきましたが、今は必死です。 ゲームから多くの機能(速度転送やスプリングなど)を取り除くことなく、自分で解決策を見つけることはできないと思います。 この質問を読んでくれてありがとう。また、解決策や提案を考えてみてください。


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