ゲーム開発

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

15
ターン順による非対称ゲームプレイをどのように排除できますか?
私はプレイヤーがリソースを購入、輸送、販売することで利益を得るターンベースのゲームを設計しています。ターンごとに、マップは特定の数のリソースと異なる場所を生成する必要があり、リソースの価格を更新する必要があります。このため、各ラウンドでは、すべてのプレイヤーが順番を回した後、ゲームの状態を更新する必要があります。リソースは消費/生産され、マップの各セルの価格を更新する必要があります。元々、各プレイヤーが順番に順番を決め、マップが更新され、サイクルが繰り返されるという単純なターン順序が必要でした。同じ順序。しかし、少しテストを行った結果、マップが更新された直後に順番を回すプレイヤーに大きな利点をもたらすことが明らかになりました。他の誰かがチャンスを得る前に、彼らは新しく生産されたリソースを集めることができます。 すべてのプレイヤーのゲームプレイのバランスをとる最も簡単な方法は、各ラウンドの後にターン順をランダム化することです。これはすべての人に公平なチャンスを与えますが、これは戦略から幸運への移行が大きすぎるのではないかと心配しています。 ターン順による非対称ゲームプレイをどのように排除できますか?


15
2Dアート/スプライトの作成に使用するツールは何ですか?[閉まっている]
2Dアートやアニメーションに使用する安価で無料のツールは何ですか? 私はGimpのインターフェイスがあまり好きではありません。Paint.NETは制限されており、GraphicsGaleは古風なものです。Cosmigo ProMotionは良いように見えますが、誰でも使用できますか?$ 78/92で少し高価ですが、もちろんPhotoshopよりも安いようです。 以前はJasc Paint Shop Pro 7が好きでしたが、Corelの新しいバージョンは写真用です。 2D Bonesのサポートも便利です。
66 2d  art 

9
柔軟なバフ/デバフシステムを実装する方法は何ですか?
概要: RPGのような統計を備えた多くのゲームでは、キャラクターの「バフ」が可能です。単純な「25%の追加ダメージ」から「ヒット時に攻撃者に15ダメージを戻す」などのより複雑なものまであります。 各タイプのバフの詳細は、実際には関係ありません。私は(おそらくオブジェクト指向の)任意のバフを処理する方法を探しています。 詳細: 私の特定のケースでは、ターンベースの戦闘環境に複数のキャラクターがいるため、「OnTurnStart」、「OnReceiveDamage」などのイベントにバフが結び付けられることを想定しました。関連するイベントのみがオーバーロードされます。その後、各キャラクターに現在適用されているバフのベクトルを持たせることができます。 この解決策は理にかなっていますか?私は確かに何十ものイベントタイプが必要であることを見ることができます。バフごとに新しいサブクラスを作成するのはやり過ぎだと感じており、バフの「相互作用」を許可していないようです。つまり、25%の追加ダメージを与える10個のバフがあったとしても、250%の追加ではなく100%の追加のみを行うように、ダメージブーストに上限を設定したい場合です。 そして、理想的には制御できるより複雑な状況があります。ゲーム開発者としては望まないかもしれない方法で、より洗練されたバフが潜在的に相互作用する方法の例を誰もが思い付くことができると確信しています。 比較的経験の浅いC ++プログラマー(私は一般に組み込みシステムでCを使用しました)として、私のソリューションは単純であり、おそらくオブジェクト指向言語を十分に活用していないように感じます。 考え?ここで誰かがかなり堅牢なバフシステムを設計したことがありますか? 編集:回答について: 主に詳細と質問に対する確固たる回答に基づいて回答を選択しましたが、回答を読むことでさらに洞察が得られました。 おそらく驚くことではないが、異なるシステムまたは微調整されたシステムは、特定の状況により良く適用されるように思われる。ゲームに最適なシステムは、適用できるバフの種類、分散、および数によって異なります。 ほぼすべての装備がバフの強さを変更できるDiablo 3(後述)のようなゲームでは、バフは単なるキャラクターのステータスですシステムであり、可能な限り良いアイデアのようです。 私がいるターンベースの状況では、イベントベースのアプローチがより適しているかもしれません。 いずれにせよ、私はまだ誰かが私を適用するためにできるようになります空想「OO」魔法の弾丸と一緒に来て願っていますターンあたり2移動距離バフ、ダメージの50%が攻撃者に戻って撮影した取引バフをし、単一のシステムで3つ以上のタイル離れたバフから攻撃された場合、+ 5の強さのバフを独自のサブクラスに変えることなく、自動的に近くのタイルにテレポートします。 一番近いのは私がマークした答えだと思うが、床はまだ開いている。入力してくれたみんなに感謝します。

8
ゲーム開発をどこから始めますか?[閉まっている]
stackoverflow.comのこのスレッドで以前にこれを尋ねました。初期のコメントの1つは、私をここでgamedev.stackexchange.comにリダイレクトしたため、ここに再投稿しています。 関連する質問を検索すると、いくつかの非常に具体的な質問が見つかりましたが、具体的には私にとっては役に立たないことがわかり、Googleで4時間経過した後、私は当初ほど近づいていないので、コミュニティに手を差し伸べることができると感じました順番に。 第一に、私の目標:私はこれまでにゲームを作ったことがありませんでしたが、その可能性を何度かいじっていました。私は最終的に座ってゲームのコーディング方法、ゲームエンジンの使用方法などを学び始めることにしました。そうすることで、いつか(できればすぐに)機能的な(単純ではあるが)ゲームを作ることができます。後で複雑さを追加し始めることができます。今のところ、キーボード制御のカメラを3Dの世界で動かして、それ以上のやり取りはしなくてうれしいです。 私の経歴:PHP、C ++、Java、ASMなど、いくつかのプログラミング言語で働いてきました。私は、新しい言語に固有の新しい構文または制限の学習に伴う課題を恐れていません。ただし、私の過去のプログラミング経験はすべて厳密に非グラフィカルであり、通常は実行中にほとんどまたは非常に簡単なやり取りがありました。論理的および数学的な問題を解決するためだけでなく、グラフ作成の問題のために、広範で素晴らしいアルゴリズムを作成しました。ただし、どの場合でも、入力はファイルで定義されるか、HTMLフォームから渡されるか、コンソールに入力されます。ユーザーとのリアルタイムのやり取りは経験のないものです。 私の質問:ゲームを作るにはどこから始めればいいですか?さらに良いのは、キーボードで操作可能な3D環境を作成しようとするとき、どこから始めればいいですか?オンライン検索で、ゲームエンジン、グラフィックエンジン、物理エンジンにリンクするリソースをいくつか見つけました。以下は、私が試したいくつかのエンジンでの私の経験の簡単な要約です。 Unreal SDK:チュートリアルビデオでは、3Dモデリング、グラフィックエンジン、アニメーションなどの詳細な知識があることを前提としています。「Getting Started」ページでは、ゲーム開発の正式な説明はありませんが、Unrealがプロセスを合理化する方法について説明しています。すでに慣れています。SDKをダウンロードして起動し、ツールが主張するほど直感的かどうかを確認した後、約60個のボタンと3Dモデリング用の空白が表示されました。「基本的なキューブを追加しようとする」「ボリュームを追加」をクリックすると、30のオプションのメニューが表示されました。パニック、エディターを閉じました。 Crystal Space:このWebサイトはかなり情報量が多く、Crystal Spaceはグラフィックス専用であり、コンパニオンソフトウェアであるCELがゲームを作成するためのエンティティロジックを提供していることを説明しています。デモゲームが提供されました。これは、ゲームプログラミングの知識がない人向けのシンプルなツールである「CELStart」を使用して構築されました。ゲームを立ち上げて、作成するのが楽しみなものを確認しました。それは数回凍結し、メニューにはバグがあり、数千のグラフィカルな不具合があり、敵はダメージに反応せず、ゲームを閉じたときにロックされました。そのエンジンをあきらめた。 IrrLicht:このチュートリアルでは、Visual Studio 6.0(Visual Studio 2010を持っている)を想定しています。彼らの指示に従って、ライブラリをVisual Studioに適切にインポートできず、使用し続けた関数を呼び出すことができませんでした。ヘッダーファイル、クラスファイル、およびDLLをプロジェクトのフォルダーに手動でコピーしました-プロジェクトは正しくコンパイルできませんでした。 明らかに、私は良いスタートを切ることができず、輪になっています。誰かが私を正しい方向に向けることができますか?Blenderのようなプログラムをダウンロードして3Dモデリングを学習することから始めるべきですか、それともグラフィックエンジンの使用方法を学ぶべきですか?包括的なゲームエンジンを探す必要がありますか、それとも自分のゲームロジックをコーディングする方が良いでしょうか?誰かが実際に自分のゲームを作ったのなら、彼らがどのように始めたのか聞いてみたい。 また、私の学校で授業を受けることは選択肢ではありません。何も提供されていません。
65 3d  graphics  career  planning 

9
OpenGLに適したGUIですか?[閉まっている]
Superbibleを使用してFreeGLUTでOpenGLを学習し始め、スキルを磨くために基本的なグラフィックスから得た知識を使用しています。 この経験をさらに活用するために、FreeGLUTが使用するものを上書きするためにGUIを統合したいのですが、今私の質問は次のとおりです。 ライブラリのいくつかの特徴: オープンソース マルチプラットフォーム(LinuxおよびWindows) C / C ++ 他に推奨事項がある場合は、私の問題に対する回答とともに自由に投稿してください。

12
試合中盤の後にプレイヤーが自分自身に直面する
私は、あなたが主な悪役としてプレイし始めるjRPGの流れの中でゲームを書いています。あなたはそれを知りません。あなたは主人公を演じており、あなたが成功しているほど、そしてあなたが彼らを強くするほど、彼らはゲームの最後で敗北するのが難しくなると思います。 私の主な関心事は、初期のゲームに多大な努力を注ぐ人なら誰でも罰せられると感じることです。また、ゲームのごく初期からのアクションのために、プレイヤーが最終ボスの挑戦を乗り越えられないと感じる場合も面倒です。彼らが悪役を圧倒した場合、彼らを悩ませる可能性があるという第2幕の早い段階で信号を送ることができる方法はありますか?そして、ひねりが出て、人々が最初からそれをゲームする可能性もあります。さまざまな悪役のプレイスルーに基づいて複数のランを実行させることで、リプレイの価値を引き出したいと思っています。しかし、誰もがひねりを学んだ場合、それは気晴らしです。または逆に、ゲーム内で自分で公開して、誰もが最初から何をしているのかがわかるようにした方が良いでしょうか? 人々を引き離すことなく、潜在的に解放するデザインを維持するにはどうすればよいですか?

2
スーパーマリオブラザーズはどのプログラミング言語で書かれていましたか?[閉まっている]
スーパーマリオブラザーズは間違いなく、これまでに作成された最も有名なビデオゲームであり、40,23百万枚の焼け付くようなコピーを販売しています。http://en.wikipedia.org/wiki/List_of_best-selling_video_games どのプログラミング言語で書かれていましたか?誰かが元のコード参照を持っていますか?
65 nintendo 


6
ビデオゲームで弾丸はどのように機能しますか?
C#でビデオゲームを設計しているときに、この質問に出会いました。 BattlefieldやCall of Dutyなどのゲームを考慮すると、数百または数千の弾丸が同時に飛んでいます。イベントは絶えずトリガーされますが、私が知っている限りでは、これは処理能力を大量に消費します。さまざまなゲーム開発者が(2Dおよび3D)箇条書きをどのように管理し、それぞれにとって最も効率的な方法は何かを知りたいです。 私は質問読ん弾丸はビデオゲームでシミュレートされているどのように?ただし、プログラムの設計の観点からは、箇条書きがどのように機能するかについては触れません。 いくつかのアイデアがありましたが、それぞれに欠点があります。 私が考えることができる最も効率的な方法(2Dゲームの場合): Bulletと呼ばれるクラスを作成し、ユーザーがボタンを長押ししても、0.01秒ごとにBulletオブジェクトが作成されるとします。この箇条書きの内容: 1速度 2ショットの開始位置 3スプライトテクスチャ 4ヒットエフェクト 箇条書きは独自のクラスになるため、描画、移動、およびアクションリスナー自体を管理できます。 インスタンス化されたこれらのオブジェクトの数千個を処理してから破棄するのは、プロセッサ上で難しいのではないでしょうか?RAMスペース? 3Dゲームの効率的な方法-私が考えていたもう1つの考えは: 武器クラスを作成するとしましょう。この武器にはさまざまな機能があり、そのうちのいくつかは次のとおりです。 1武器の照準を検出し、ターゲットを見ているかどうかを判断します 2銃撃のアニメーションをトリガーする 3 doDamage()メソッドがあります。これは、銃が向けられているものからヘルスを差し引くものを示します 4ボタンが押されたときに弾丸アニメーションクラスに通知する 次に、BulletAnimationなどの静的クラスを作成して、それがトリガーされた銃の場所、その銃が向けられている場所(弾丸の宛先)、および弾丸に使用する適切なスプライトと速度に関する情報を取得できます。次に、このクラスは、位置と目的のスプライトの両方に基づいてスプライトを描画し(おそらく新しいスレッドにidk)、銃から発射される弾丸をシミュレートします。 後者はコーディングがはるかに難しいようで、一度に何千もの弾丸に対してこれを行うために静的関数を絶えず呼び出すには、多くの処理能力が必要ではないでしょうか?開始位置と終了位置の両方で絶えず更新を取得することも困難です。 私の質問は、ゲームクリエーターが最も効率的に行う方法は何ですか?この方法は2Dゲームから3Dゲームに変わりますか?

4
エントリーレベルのゲームプログラマーの典型的な日々のタスクは何ですか?[閉まっている]
私が知りたいのは、ゲーム業界の職場での大学院プログラマの毎日の義務は何ですか?主にコーディング、分析、設計、または何ですか? ありがとうございました。 PS私は現在大学の2年生で、ゲームプログラミング、特にゲームプレイ、ツール、またはUIプログラミングの専門に取り組んでいます。

6
ゲームを作るための選択肢としてのUnity3Dの長所と短所は何ですか?[閉まっている]
Unity3dで学校プロジェクトを行っています。彼らは前年にShivaを使用していたので(私にとっては恐ろしいことです)、このツールに対するあなたの視点を知りたかったのです。 長所: マルチプラットフォーム、私はグーグルがChromeでそれを実装するつもりだと聞いた 必要なものはすべてここにあります スクリプト言語は、プログラミングの達人ではない人に適しています 短所: マルチプレイヤー? 所有権、あなたは完全に団結とその限界に依存しており、それを拡張することはできません 「ゼロからゲームを作る」ということではありません C ++はクールなものだっただろう この種のツールは本当に面白いと思いますが、3人以上のプログラミング担当者が関与するプロジェクトに学校で使用する価値はありますか?この種のツールを使用することで、プログラミングに関して実際に何を学ぶことができますか(Pythonとjsは大丈夫ですが、C#は嫌いです)?1月から直接xを学習している場合でも、代わりにOgreを使用できます。
64 unity 

8
Javaは深刻なゲーム開発に適していますか?[閉まっている]
私はインターネットを精査しましたが、Javaゲーム開発用のリソースはそれほど多くなく、C ++ほど多くはありません。実際、ほとんどのエンジンはC ++で記述されています。jMonkeyEngineで作成したゲームをプレイしようとしましたが、ゲームが非常に遅く、コンピューターがフリーズするほどでした。他のJavaアプリケーションは実行していませんでした。対照的に、私のコンピューターは最新の3Dゲームのほとんどを簡単にプレイできます。今すぐJavaの学習と改善を続けて、後でC ++を学習する必要があることが判明した場合、切り替えを行うのは難しいかもしれません。 Javaは深刻なゲーム開発に受け入れられる言語ですか?真面目な言い方をすれば、私は現代のコンピューターで大きな遅れのない高品質のグラフィックスを意味します。また、コンソール用のゲームの作成を検討したいと思います。

3
ランダムマップ生成
Javaで2DタイルマップRPGゲームを開始/開始しました。ランダムマップ生成を実装したいです。さまざまなタイル(汚れ/砂/石/草/砂利など)のリストと水タイルおよびパスタイルがあります。問題は、マップをランダムに生成し始める場所がわからないことです。 地形セクションが必要になります(その一部は砂、土などです)。Minecraftでさまざまなバイオームがあり、それらが互いにシームレスに変換される場所と同様です。最後に、これにランダムなパスを追加する必要があります。また、マップ全体で異なる方向に進みます。 私は誰にも私にすべてのコードや何かを書くように頼んでいるのではなく、ただ正しい方向に私をpしてください。 tl; dr-バイオーム、パスを含むタイルマップを生成し、バイオームがシームレスに相互に入るようにします。
63 tiles  maps  tilemap 

10
GPUの代わりにCPUを使用する利点はありますか?
私はプロセッサとグラフィックスカードを研究してきましたが、GPUはCPUよりもはるかに高速であることを発見しました。この記事の 1つで、特定の状況で2年前のNvidia GPUが3.2GHz Core I7 Intelプロセッサーを14倍上回る性能を発揮したことを読みました。GPUがこれほど高速な場合、開発者がゲームのすべての機能にそれらを使用しないのはなぜですか?GPUがグラフィックス以外のことを行うことは可能ですか?
63 gpu  process  gpgpu 

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