質問

ビジネスアプリやリファレンスアプリの開発に慣れています。今度はiPhoneゲームをやらなければなりません。次の点について役立つヒントを共有していただけますか?

  1. プロジェクトの範囲を理解する
  2. 成果物の定義
  3. ゲームプレイやその他のパラメータを指定する
  4. 開発労力の見積もり
  5. ゲームをテストする

大きな疑問ですね。ありがとう!

役に立ちましたか?

解決

特にモバイルデバイス上の業務アプリやゲームの主な違いは、パフォーマンスの重要性です。おそらく、ユーザーの入力のためのフォームを置き、待機アプリはその間に何もしていません。一方、ゲームループは、すべての時間に行くと、おそらくたくさんやっています。ビジネスのプログラマは、これらの用語で考えることに使用されるが、ゲームがバッテリ電源をドローダウンして、それを信じるかどうかされていない、あなたはそのバッテリーがダウン描かれているどのように迅速に大きな影響を持つことになりますあなたのゲームを実装する方法について説明します。

だから、一つの質問は、あなたが開発「しなければならない」このゲームは何ですか?それは数独であれば、心配ありません。それはリアルタイムの3D空間の戦いだ場合、それはまた別の話です。

あなたのビジネスのアプリはiPhoneにあった場合、あなたはおそらく100%のObjective-Cを使用していました。 (あなたがデスクトップ上でC#やJavaアプリケーションをしていた場合は、ご自身のメモリを管理する歓迎。)のObjective-Cのランタイム型管理は複雑なゲームのために遅すぎるということ。あなたに教えてくれる人たちがあります。人々は確かにCocos2Dや他のエンジンとそれを使用して、[OK]ゲームを作るが、やはりそれはゲームによって異なります。唯一のC ++、あるいはストレートCで動作しますプロの開発者があります。

他のヒント

私の答えは、あなたが探していたウォーターフォール手法の応答に従っていないということです。計画、設計、実装、テストを行う前に、ゲーム プログラミングのスキルを学ぶ必要があると思うからです。ゲーム プログラミングは、ビジネス プログラミングやそれ自体が他の分野とはまったく異なります。

ゲームのプログラミングの経験が不足しているため、iPhone でゲーム期間をプログラムする前に、ましてや iPhone でゲーム期間をプログラムする前に、いくつかの概念を学ぶ必要があります。

これらのことの一部は、3D ゲームをプログラミングしているか、2D プラットフォーム スタイルを採用しているかによって異なります。

OpenGL ES最初に学ぶ必要があるのは、 OpenGL ESプログラミング言語. 。これは基本的に、3D プリミティブの描画を可能にする 3D API です。GPU を使用して高速化するため、2D ゲームをコーディングする場合でもこれを使用する必要があります。Google には優れたチュートリアルがいくつかありますので、まずはそこから始めてください。

ベクトル数学3D で何かを行う場合は、3D ベクトルの計算について学ぶ必要があります。ベクトルは基本的にゲーム内のあらゆるもの、カメラの視線方向、キャラクターの位置、速度、衝突検出などに使用されます。2D ゲーム プログラミングには、2D ベクトル (x,y) から z 成分を引いたものが依然として必要です。

衝突検知ボールが壁にぶつかったことをどうやって知ることができますか?答えは衝突検出です。球同士の衝突検出など、さまざまな形式の衝突検出が存在します。 AABB, OOBB, 、凸包、三角形メッシュなど。

AI敵にプレイヤーキャラクターを攻撃させるにはどうすればよいですか?人工知能は、NPC/敵にインテリジェントな決定を下す能力を与えるために不可欠なもう 1 つの大きな分野です。AI は if else ステートメントなどの単純な場合もありますが、通常は効果を発揮するには有限状態マシンまたはファジー ロジックが必要です。

経路探索敵や移動障害物を避けながらキャラクターをポイント A からポイント B に移動したい場合は、経路探索アルゴリズムを使用する必要があります。スター (A*) は最も人気のあるものの 1 つです。

シーングラフ一度に 10 ~ 20 人以上の敵を画面上に表示したい場合は、動的な描画、ロジック、リソースの作成と削除を管理するシーン グラフをコーディングする必要があります。ポリモーフィズムが何なのかわからない場合は、ゲーム オブジェクトが準拠することが不可欠であり、シーン グラフと関連しているため、ポリモーフィズムを知る必要があります。

物理位置、速度、加速度、重力、光線はすべてベクトルを使用して表現されるため、ゲームをコーディングするには物理数学をブラッシュアップする必要がある場合があります。ニュートンの運動の第 2 法則 F=MA (力 = 質量 * 加速度) から始めます。Bullet、ODE、Newton、Tokamak などのオープンソースの物理エンジンを使用すると作業が簡単になります。つまり、これらの物理ルールを自分で作成する必要がなくなります。

客観的C++これはオプションですが、推奨されます。C++ を知らない場合は、これは基本的に C++ と Objective-C の混合物です。C++ の速度と C++ でのサードパーティ ライブラリの可用性のため、私はコア ゲーム エンジンとプログラミングに C++ を使用することが多いです。

サウンドが必要な場合は、Apple が提供するシンプルなオーディオ フレームワークを使用できますが、3D 位置オーディオには、より優れたものが必要になります。iPhone 用の FMOD SDK を学習することをお勧めします。@Stowelly が述べたように、FMOD は商用配布にはライセンスが必要ですが、ロイヤリティフリーのものを探すことができます。


ゲームエンジンを使用する現時点では iPhone で利用できるゲーム エンジンがあり、これを使用するとゲームを簡単に開始できます。あなたの場合はより速くなりますが、上で述べた概念を学ぶ必要があります。

私が知っているゲームエンジンは次のとおりです。

Unity3Dおそらくこれが私が知っている中で最も人気のあるものです。Unity は、Mac 上でコードを記述し、Windows/Linux/Mac OS X 用にコンパイルできる PC/Mac ゲーム エンジンです。iPhone の構築が他のプラットフォームと直接互換性があるとは思えません。新しいプロジェクトを開始した場合、iPhone に限定されると思います。ただし、このエンジンの商業展開コストは 199 ~ 399 ドルかかります。

ココス2D これはオープンソースの 2D ゲーム エンジンで、多くのゲームに役立つ可能性があります。一見の価値があります。Google コードでホストされています。

他にもチェックすべきものは次のとおりです。

iPhone用ストン3D

ウーロンエンジン

SIO2エンジン

2D ゲーム用の iTGB

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top