ゲーム開発

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

3
頻繁にプレイしない人を扱うELOアルゴリズム
私は、ELOアルゴリズムを使用して、進行中の卓球競技でプレーヤーをランク付けしています。ほとんどのプレーヤーは毎日プレーしますが、1か月プレーしていないプレーヤーが1人います。私のアルゴリズムは現在、過去30日間のスコアのみを追跡しているため、このプレーヤーは一度もプレイしたことがないにもかかわらず、ランクを急上昇しています。彼は最初のゲームの束を失いましたが、彼の最後のいくつかのゲームのほとんどを獲得しました、それは彼の損失がチャートから落ちて、結果として彼のスコアが上がっていることを意味します。 明らかに、30日後にスコアを落とすという私の計画は機能していません。頻繁にプレイしないことでプレイヤーにペナルティを課すには、他にどのような方法がありますか? これまでに私が思いついた唯一のことは、非アクティブの日数に基づいたパーセンテージに基づいてポイントを減らすことです(つまり、ユーザーが1週間プレイしなかった場合、彼のポイントは通常の70%にすぎません、そして彼は100%ポイントに戻るためにX回プレイしなければならないでしょう)。 ただし、これは恣意的すぎるようです。他のアクティブな環境で非アクティブなプレーヤーを処理するためのより良いアイデアや提案はありますか? 前もって感謝します。

3
マルチプレイヤーゲームでIDのなりすましを防ぐにはどうすればよいですか?
クライアントがIPアドレスを偽装し、他のクライアントをだましてサーバーにだましていることを考えています。そのようなもの。(私はこれについてあまり知らないので、これが完全に間違っている場合は、私を修正してください。) これを防ぐにはどうすればよいですか?リアルタイムゲームなので、暗号化を使用する場合は、RC4のような高速で安全なものを使用します。サーバーがクライアントに提供するキーでパケットデータを暗号化する必要がありますか? 違いがある場合は、UDPを使用しています。

2
タイルサイズと比較したヒーロー/キャラクタースプライトサイズ?
だから私はこのシンプルなプラットフォーマーを作っています。ヒーローはサイズが16x16ですが、タイルのサイズも16x16です。どちらがいいですか?しかし、私のゲームウィンドウ/世界は800x416であり、これによりヒーローは比較すると本当に非常に小さくなります。これは私を本当に驚かせました、しかしそれがまた新しい発見である前に私がプラットフォーマーを作ったことがないので。 プラットフォーマーゲームのスケールのルールセットはありますか? ゲームウィンドウのサイズ(800x416)を維持したいのですが、これはゲームに大きなレベルが含まれるためです。しかし、私のヒーローはどのくらいの大きさでなければなりませんか? 質問がはっきりしているといいのですが、洞察に感謝します。 ありがとう

2
高所の暑い地域ではどのような環境が予想されますか?
私は、世界地図がランダムに生成される「探索」ゲームを作成しています。バイオームは、「温度マップ」、「湿度マップ」、および標高マップなどのデータを使用して生成されます。たとえば、コールド+湿度=スノー、ホット+湿度=ジャングルなど私が残している問題は、暑い気候の高所地帯に対処する。現時点では、「裸の」バイオーム(次の写真の灰色の領域)に設定されています。これは、「無人の乾燥した土地」を意味すると思われます。一方、気温が低い高所ゾーンは雪(白)に設定されていますが、これは問題ありません。それで、私は寒い気候の高いゾーンにどのように対処すべきですか?私はいくつかのアイデアを持っていますが、どれもうまくいかないと思います:1)雪にも設定しますが、変に感じます2)「裸」に設定しますが、私はしません

2
Unity 3dはAndroidとiPhoneの両方でどれだけうまく機能しますか?
まず、この質問は少し広いかもしれませんので、もしそうならお詫びします。私は本当にこの問題に関する人々の経験と個人的な知識を探しています。AndroidとiPhoneの両方のプラットフォームに対応したゲームを作成したいと考えています。Unityは素晴らしいゲームエンジンであることを知っています。私の質問は、AndroidとiPhoneの両方のプラットフォーム用にビルドする1つのコードベースを作成するのにどれだけうまく機能するかです。時間はこのプロジェクトの制約なので、両方のアプリケーションをビルドしようとするときのプロセスの通常のスムーズさ、および特定のアプリケーションごとにカスタムコードを記述する必要があるかどうかに非常に興味があります。人々がこのトピックについて持っているどんなインサイトも大いに感謝するでしょう。
9 android  iphone  unity  ios 


1
スプライトをマウスの向きに設定
私はhtml5キャンバスゲームを構築しています。スプライトをマウスカーソルに向ける方法が必要です。スプライトのX座標とY座標、およびポインタのX座標とY座標があります。私が行き詰まっているのは、スプライトをポインターに向けるのに必要な数学だけです。それはすべて2Dの世界にあるので、あまりにも複雑になるとは思えませんが、私はこれについてはほとんど経験がありません。 また、この種のことについての記事/ブログ投稿への役立つリンクは素晴らしいです(特に2Dゲームプログラミング、特にJavaScriptではありません)。 追加するには、X位置とY位置を使用してカーソルに向かって自分を指す角度が必要であることに注意してください。 カーソルの座標を知るにはどうすればよいですか?
9 2d  html5  html-canvas 

2
インディーズチームの知的財産について弁護士に相談する必要があるのはいつですか?
チームがまともなゲームを構築していて、すべてが技術的にも人的にも優れているとしましょう。あなたはあなたがあなたが売ることができる製品に到達するであろうと確信しています。インディースタジオ(このドメインで優れた実践例を持っている)は、通常どのようにしてIPを管理しますか。商標と著作権?これを行う適切なタイミングはいつですか、それとも早いですか、それとも遅いですか?


2
タイルマップを効率的に保存してWebに表示する方法
約 これらは実際には1つの2つの質問です。まず、大量のタイルデータを効率的に格納する方法を探しています。もう1つの側面は、データセットのクエリとタイルの表示を扱います。まず、背景を説明しましょう。 私たちは、CraftyJSライブラリを使用してCanvasにレンダリングするブラウザーベースのマルチプレイヤータイクーンゲームを作成しています。GUIのバックグラウンドでは、PHPでYii Frameworkを実行しており、すべてがPythonランダムマップジェネレーターとゲームエンジンに接続しています。 これが最初のラフマップレンダーの外観です。http://i.imgur.com/khAXtl.png 地図データの保存 ゲームの世界は、ゲームが開始するたびにランダムに生成されます。サイズは、各プレーヤーの100x100六角形タイルです。つまり、3人用のゲームでは、90.000のタイルが作成されます。現在は、マップをレンダリングするためのJavaScript配列を作成しています。 これはレンダリングには問題なく機能しますが、マップを操作する場合は、タイルを所有するプレーヤー、その上に構築する構造の種類、現在の価格などを保存する必要があります。最初は、少なくともプロトタイプについては、MySQLを使用したかったのですが、いくつかのテストの後、それは私が望むほど正確ではありません。たぶん、MongoDBのようなオブジェクトストアは、SQLテーブルではなくタイルデータを格納するのに適しています。それとも何か他に? 地図を表示する 私が目にするもう1つの問題は、マップ内を移動することです。現在、ビューポートにない場合でも、タイルごとにCraftyエンティティを作成しています。Craftyはビューポート内のタイルのみをレンダリングしますが、保存し、各レンダリングイベントですべてのタイルを反復処理する可能性があるため、これは低速です。私が現在持っているのは、移動が非常に遅く、動きが途切れる、描画された生成されたマップです。これを再生可能にしたいと思います。 私の最初のアイデアは、ビューポートにあるタイルの表示されたサブセットをロードすることでした。しかし、プレーヤーがビューポートを空白の領域に移動する場合、サーバーにクエリを送信して応答が返されるのを待つ必要があります。そうしないと、マップをレンダリングできません。これはネイティブアプリケーションでは問題ありませんが、Webゲームでは遅延します。 マップからスムーズなパフォーマンスを得る方法は、タイルのより大きなサブセットをJavaScript配列にプリロードし、それをキャッシュとして使用することです。プレーヤーにはいくつかの画面が「キャッシュ」されており、ビューポートを移動すると、JSの「キャッシュ」により多くのタイルがロードされます。 私は正しい方向に向かっていますか?同様のことをした人からもっと情報をもらいたいです。私はゲーム開発に不慣れですが、ここ数週間にわたって多くの情報源を経験してきました。


1
私はこのコンポーネントアーキテクチャで正しい軌道に乗っていますか?
私は最近、深いクラス階層を取り除き、構成可能なコンポーネントで置き換えるために、ゲームアーキテクチャを刷新することを決定しました。私が置き換える最初の階層はアイテム階層です。私が正しい方向に進んでいるかどうかを知るためにいくつかのアドバイスをお願いします。 以前は、次のような階層がありました。 Item -> Equipment -> Weapon -> Armor -> Accessory -> SyntehsisItem -> BattleUseItem -> HealingItem -> ThrowingItem -> ThrowsAsAttackItem 言うまでもなく、乱雑になり始めており、これらは複数のタイプである必要があるアイテムに対する簡単な解決策ではありませんでした(つまり、一部の機器はアイテム合成で使用され、一部の機器はスロー可能です)。 次に、機能をリファクタリングして基本アイテムクラスに配置しようとしました。しかし、それから私はアイテムが未使用/余分なデータをたくさん持っていることを指摘していました。現在、私は他のゲームクラスに実行する前に、少なくとも私のアイテムに対して、アーキテクチャのようなコンポーネントを実行しようとしています。 これが、コンポーネントのセットアップについて私が現在考えていることです。 次のようなさまざまなコンポーネントのスロット(つまり、機器コンポーネントスロット、ヒーリングコンポーネントスロットなど、および任意のコンポーネントのマップ)を持つ基本アイテムクラスがあります。 class Item { //Basic item properties (name, ID, etc.) excluded EquipmentComponent* equipmentComponent; HealingComponent* healingComponent; SynthesisComponent* synthesisComponent; ThrowComponent* throwComponent; boost::unordered_map<std::string, std::pair<bool, ItemComponent*> > AdditionalComponents; } すべての項目コンポーネントは基本のItemComponentクラスから継承し、各コンポーネントタイプは、その機能を実装する方法をエンジンに伝える責任があります。つまり、HealingComponentは、アイテムをヒーリングアイテムとして使用する方法を戦闘力学に指示し、ThrowComponentは、アイテムをスロー可能なアイテムとして処理する方法を戦闘エンジンに指示します。 …

3
優れたクロスプラットフォームのC ++ベクトルグラフィックスライブラリはありますか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 5年前休業。 ゲームを作っていて、ベクターグラフィックスを使用したいと考えています。Cairoを使用して再コーディングを開始しましたが、パフォーマンスは恐ろしいものです。だから、私は別のライブラリを探しています。C ++とクロスプラットフォーム(Direct2Dなしなど)に対応している必要があります。このように前に誰かが尋ねた別の質問がありますが、適切な回答がありませんでした。何かがあるはず…?
9 c++  graphics  vector 

3
どのくらいの頻度で永続的なオンラインゲームでプレーヤーの状態を保存しますか?
オンラインゲームでは、ユーザーはいつでもログオンとログオフを好みます。通常、ゲームの実績はサーバーにシームレスに保存されます。それを達成することはそれほど難しいことではありませんが、理にかなった効率的な方法で、どのようにして規模を拡大できるのでしょうか。 プレイヤーの座標と状態を送信するたびに保存することは理にかなっていますか?私のnode.jsサーバーは応答をブロックせずにそれを簡単に行うことができます。Mongoデータベースを使用したいのですが、1秒に1回、サーバー全体のイベントで一度にすべてを収集する方が適切でしょうか。

2
画像を介してぼかしを偽造することは可能ですか?
私はAndroidゲームにlibGDXを使用しています。私の知る限り、ぼかし用のAPIはありません。 ウィキペディアで読むと、各ピクセルのRGB値を隣接するすべての値の平均に設定することによってぼかしが形成されているようです。これはlibGDX-ピクセルデータの設定では簡単に実現できないようです。 だから私の質問は簡単です: 画像のみを使用して偽の(まともな)ぼかしを行うことはできますか? 複数の(数、透明度、タイプの)画像をオーバーレイできる可能性があります。しかし、このような説得力のあるぼかしを作成できますか? 私は「いいえ」と言いたくなりますが、おそらく他の誰かが同様のことを達成したのかもしれません。明確にするために、ぼかしのような効果を生成するために、任意の画像の上にレンダリングできる1つ以上の一般的な画像のセットが必要です。

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