ゲーム開発

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

4
Android用のテトリスや怒っている鳥のような2Dゲームを開発するために利用できるツールは何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 4年前休業。 Android向けのテトリスやAngry Birdsのような2Dゲームの開発について、以下の質問をしたいと思います。 JavaはAndroidの公式開発言語ですか? 利用可能な無料または商用のAndroid開発環境(XcodeはiOS用など)はありますか? Androidでは、cocos2Dなどのオープンソースのゲーム開発エンジンを利用できますか? そのようなゲームを開発するために利用できる素晴らしいチュートリアルはありますか?
8 2d  android  ide 

2
文字列はどこに保存しますか?それらをロードする効率的な方法は何ですか?
iPhone用のトップダウンRPGを作っています。私はタイルマップ(CCTMXTileMap)とcocos2d-iphoneエンジンを使用しています。 画面へのマップとNPCのロードを処理できるクラス、入力を処理するクラス、およびダイアログを表示することになっているクラスを作成しました。ダイアログクラスは単一の文字列または配列を取り、それを画面上にきちんとしたダイアログボックス内に表示し、ユーザーが画面をタップするまで、次のメッセージに循環するとき、または最後の/唯一のメッセージである場合は、コントロールを非表示にします。ダイアログを非表示にします。 私のNPCは現在Core Dataに保存されています。それらの文字列は、クエストの進行状況に基づいて更新する必要があります。また、標識やその他のメッセージなど、ダイアログの他のビットもあります。 では、ゲームのテキストコンテンツはどこに配置すればよいですか?次の3つの理由から、Core Dataは適切な場所ではないと思います。 文字列がCore Dataに保存されている場合、おそらくそれらを翻訳するのは難しいでしょう。 文字列がCore Dataにある場合、NPC(Core DataのNPCに接続される)の文字列のみが残ります。それはどこにすべてを残しますか? 文字列をCore Dataに残しておくと、読み込み操作が少し重くなりますよね? このすべての背景情報を踏まえて、ゲームのどこに文字列とダイアログを配置すればよいですか? tl; dr ゲームのさまざまな部分で簡単にアクセス、翻訳、参照できるように、iOSゲームの文字列を保存する効率的な方法は何ですか?

1
後で変更する必要がない場合、エンジンはどの3Dファイル形式を使用する必要がありますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 2年前休業。 3Dモデルをモデリングソフトウェアからゲームエンジンにエクスポートするためのデファクトフォーマットはありますか? エンジンや状況によって異なることは知っていますが、この質問が出てきたときに、熟練したゲーム開発者の頭に浮かぶ一般的な考え方は何ですか? 私の考えでは、obj形式が登場しますが、アニメーションはサポートされていません。 それで、現代のエンジンがカバーできるほぼすべての機能をサポート/カバーする最良のフォーマットは何でしょうか?FBX?コラーダ? いくつかの専門的な洞察が役立ちます。

1
XNA-SpriteFontで受け入れられるさらに数文字
XNAにはSpriteFontがあり、使用可能な標準の126文字があります。 ただし、ゲームで「ಠ」記号を使用したいと思います。 とにかく、スプライトフォントが受け入れるいくつかの記号を追加する方法はありますか? 乾杯、ランダムマン159
8 xna  c#  fonts 

5
ゲームプレイ特許
GamePlayモデルの特許を知っていますか?プレイヤーとしてのユーザーとシステムの間の行動を意味しますか?言い換えれば、GamePlayの特許はルールです。たとえば、「プレイヤーのキャラクターが死亡したとき->システムは最後のチェックポイントで彼をレイズする必要があります」。特許を知っている場合は、リンクを提供してください:)

2
Android上のクライアントサーバーゲームのJavaコード
Androidでゲームを開発しました。今、それをwifiまたは3Gで再生したいと思います。クライアント(モバイル)からサーバーに送信し、次に別のクライアント(モバイル)に送信したいゲームパケットがあります。 playPacketsをサーバーに継続的に送信し、playPacketをサーバーからクライアントに継続的に受信するコードをJavaで作成する方法がわかりません。 送信用と受信用の2つのスレッドを使用する必要があると思います。 誰かがコード、またはコードを書く手順を手伝ってくれませんか?

2
Openglでオブジェクトの周りに輪郭を描く
3D空間で2Dオブジェクトの周りに輪郭を描く必要があります。オブジェクトの周りに線を引いてみましたが(ギャップを埋めるためのポイント)、線の幅のため、その一部(〜50%)がオブジェクトを覆っていました。この問題を解消するためにステンシルバッファーを使用しようとしましたが、次のようになりました(輪郭は緑です)。 http://goo.gl/OI5uc(評判のため、画像を投稿できません) 線の一部がオブジェクトの背後にあり、一部が上にあることが(矢印が指しているところ)わかります。これはカメラを動かすと変化しますが、常にそれを覆っている部分があります。これが、オブジェクトの描画に使用するコードです。 glColorMask(1,1,1,1); std::list<CObjectOnScene*>::iterator objIter=ptr->objects.begin(),objEnd=ptr->objects.end(); int countStencilBit=1; while(objIter!=objEnd) { glColorMask(1,1,1,1); glStencilFunc(GL_ALWAYS,countStencilBit,countStencilBit); glStencilOp(GL_REPLACE,GL_KEEP,GL_REPLACE ); (*objIter)->DrawYourVertices(); glStencilFunc(GL_NOTEQUAL,countStencilBit,countStencilBit); glStencilOp(GL_KEEP,GL_KEEP,GL_REPLACE); (*objIter)->DrawYourBorder(); ++objIter; ++countStencilBit; } 私はステンシルバッファーのさまざまな設定を試しましたが、常にそのようなsthを取得していました。ここに質問があります: 1.ステンシルバッファを間違って設定していますか? 2.そのようなオブジェクトに輪郭を作成する他の簡単な方法はありますか? 前もって感謝します。 編集: 1.オブジェクトの法線がありません。 2.物体は凹面である可能性があります。 3.シェーダーを使用できません(以下の理由を参照してください)。

2
グリッドで川をレンダリングする
ランダムな高さマップを作成したので、川を作成します。私はa *に基づいてアルゴリズムを作成し、川をピークから海に流しました。今では、それらをレンダリングするためのエレガントなアルゴリズムを考え出そうとしています。 これは2Dの正方形のマップグリッドです。川が通過するセルには、次の形式の単純な整数値があります:rivernumber && pointOrder。つまり、10、11、12、13、14、15、16 ... 1 + Nは最初の川、20、21、22、23 ... 2 + Nは2番目の川などです。これは、グリッド生成時間をマップし、ワールドが生成されるときに一度だけ実行されます。 各河川をベクトルとして扱いたかったのですが、同じ河川に枝がある場合(ノイズを入れて枝を生成するため)、点を順番に接続できないという問題があります。 2番目の代替案は、各ポイントを分析し、次が分岐でないかどうかを確認する複雑なアルゴリズムを生成することです。そうでない場合は、分岐を処理する別のアルゴリズムをトリガーしてから、本川に戻ります。非常に複雑で洗練されていません。 おそらく、これらのケースで一般的に使用されているワールド生成アルゴリズムまたはリバーレンダリングアルゴリズムに解決策があり、私にはわかりません。 任意のヒント?ありがとう!!

3
グリッド上のタイル全体の範囲トレース
私は現在グリッド上でA *パ​​スファインディングに取り組んでおり、生成されたパスをスムーズにすると同時に、それに沿って移動するキャラクターの範囲も考慮しています。私はパスファインディングにグリッドを使用していますが、キャラクターの動きは自由なローミングであり、厳密なタイル間の動きではありません。 よりスムーズで効率的なパスを実現するために、グリッド上でライントレースを実行して、タイル間に歩行不可能なタイルがあるかどうかを判断し、不要なコーナーを削っています。 ただし、ライントレースは範囲がゼロであるため、キャラクターの範囲を考慮せず、悪い結果をもたらします(ラインが見逃した歩行不可能なタイルを返さず、不要な衝突を引き起こしません)。 したがって、私が探しているのは、その下のタイルを決定するラインアルゴリズムではなく、タイル全体のエクステントラインの下のタイルを決定するアルゴリズムです。これは私の問題を視覚化するのに役立つ画像です! 誰かが何かアイデアを持っていますか?私はブレゼンハムのラインや他の代替品を使って作業してきましたが、この特定の問題を解決する方法はまだわかりません。

1
自分で最適化したモデル形式を実際に作成する必要がありますか?
だから私はゲーム開発の世界の真新しいnoobであり、私はC ++とopenGLを使って自分のゲームを書こうとすることから始めています。モデルなどの読み込みに取り掛かっていますが、「最適な形式」を探していると、一般的な形式のほとんどがモデリングアプリケーション間の移植用であり、必ずしもゲーム環境に読み込むときのデータの最終的な表現ではないことがわかりました。最終的にはコラダなどのフォーマットを使用して、ゲームに最適化されたカスタムバイナリフォーマットに変換したいとさまざまな情報源から言われています。これは絶対に必要ですか?大きなXMLやその他のASCII形式の解析は、バイナリファイルタイプの読み取りよりも遅くなるという考えを理解していますが、そうしないと、パフォーマンスが大幅に低下しますか?見えない、
8 opengl  c++  models 

1
1〜2週間のゲームコンペティション
Ludum Dareは素晴らしいですが、それは48〜72時間だけです(味によって異なります)。1週間から2週間の開発期間がある特別な(良い)コンテストはありますか?通常、2〜3日で大きな努力を払うのに十分な時間がありません。 編集: .NETを使用しています。.NET(Silverlight、できれば)ゲームに対して開かれている必要があります。

3
コンポーネントベースのシステムにおけるエンティティの状態の役割は?
最近では、コンポーネントベースのエンティティシステムが大流行しています。誰もが自分たちが進むべき道であることに同意しているようですが、そのようなシステムを確実に実装している人は誰もいません。エンティティの状態(左折、立っている、ジャンプなど)がCBSでどのような役割を果たしているのでしょうか。それらはコントローラーのように機能しますか(つまり、イベントを処理し、それらのイベントに基づいてエンティティーの属性を変更します)? たとえば、状態がエンティティにクリップなしモードに入ることを要求する場合はどうでしょうか?それが入るときに、その状態は、エンティティのCollisionComponentをnullポインタまたは何かに設定する必要がありますか?(次に、終了時に、状態はエンティティのCollisionComponentを以前の状態に復元する必要があります。) また、エンティティの状態を別の状態に変更するのは、現在の状態の仕事だと思いますよね?

3
フォルダからすべてのコンテンツを読み込む
私が聞きたいのですが、フォルダからすべてのコンテンツをxnaにロードする方法はありますか? たとえば、私のコンテンツには次の ようなものがあります: 画像/ヒーロー 画像/車の 画像/ツリー このようなものを作りたい Dictionary<string,Model> models = new ... foreach(string name in content.getNames("Images")) { models[name] = content.load<Model>("Images\\" + name); }
8 xna  xna-4.0 

3
XNA-コンテンツパイプライン拡張の後に実行されるゲームライブラリの静的クラス、問題を回避する方法
わかりました、このように定式化されているので、はっきりしないように思えますが、問題を説明するために最善を尽くします。 まず、実際のソースコードの何が問題かを説明しましょう。 私はプラットフォーマーを作っています。これが私のゲームの現在のコンポーネントです:タイルの独自のグリッドとタイルシートを保持しているLevelと、タイルシートの名前とインデックスを保持するTileだけです。タイルシート。これらはすべて、GameLibという名前の個別のXNAゲームプロジェクト内にあります。 レベルがテキストファイルでフォーマットされる方法は次のとおりです。 x x . . . . . . . . b g r . . . . . . . . X X X X X X X ここでは.、空のタイルを表すb青色のプラットフォームを表し、Xランダムな色のブロックを表し、等 Levelクラス内でレベルをロードするすべての作業を行う代わりに、コンテンツパイプライン拡張を利用して、LevelContentPipelineExtensionを作成することにしました。 始めてすぐに、次のような20行以上をハードコーディングしたくないことにすぐに気付きました。 if (symbol == 'b') return new Tile(/*...*/); したがって、すべてのコンテンツ作成を少なくとも1つのクラスに集中させることを期待して、どのシンボルが何を作成し、この種のすべてのものを作成するかに関する情報を保持するLevelContentCreationと呼ばれる静的クラスを作成しました。また、後で読み込むために、タイルシートのすべてのアセットパスのリストを保持します。このクラスは、私のGameLibゲームライブラリプロジェクト内にあります。 問題は、このLevelContentCreation静的クラスをLevelクラス(実際のタイルシートを読み込むため)とコンテンツパイプライン拡張(どのシンボルがどのタイルを表すかを知るため)の両方で使用していることです... そして、LevelContentCreationクラスは次のようになります。 public static class LevelContentCreation { …
8 xna  c# 

2
android game-GCが起動しないようにゲーム要素を保存する方法
私はAndroidゲームを開発していますが、ガベージコレクターを起動せずにゲーム要素を保存することについて質問があります。 私のゲームには、x、yの位置に従ってゲーム要素が格納されているコレクションが必要です(すべてのゲーム要素には、x、y、幅、高さがあります)。次に、コレクションはフレームごとに呼び出され、cameraX、cameraY、カメラの幅と高さに従って要素を取得します(ユーザーはゲーム内をスクロールできます)。 例: function draw() { tmp = collection.getElements(tmp,cameraX,cameraY,cameraWidth,cameraHeight); for(int i = 0; i < tmp.size(); i++) { tmp.get(i).draw(); } } 現在、コレクション要素を表すためにVectorクラスを使用していますが、gcは数分おきに起動し続けます。私はすべての割り当てを前もって行います。また、getElements関数を変更して、もう1つのパラメーター-要素で埋められて返される一時ベクトル(前もって割り当てられている)を受け入れます。 GCが起動しないように、ゲーム要素をどのように保存すればよいですか(できれば、私はできません)。 実行時にコレクションにも要素を追加しますが、それらも事前に割り当てる必要がありますか?
8 2d  android 

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