質問

SDL libでfps-gameを作成する方法を知りたいですか?

例で説明する本はありますか?

役に立ちましたか?

解決

これは、ほとんどの自由回答形式の質問で勝ちます。文字通り本を書くことができます。しかし、正しい方向を指すことに落ち着きましょう...

ステップ1、このようなプロジェクトには優れたデバッグスキルが必要です。 Steve McConnellによるCode Completeを受け取ります。全部読んでください。投資した時間は、あなたが読んだり、実験したりすることのできるものよりも多くを支払うことになります。

ゲームのソースコードを手に入れてください。任意のゲーム。大きくて複雑なものを見る前に、単純なものを確認してください。また、チームが結合した可能性のあるゲームコードを見るときは、これまで以上に時間をかけてください。これのポイントは、コード構造を確認することです。

3D数学のリファレンスを取得します。深さである必要はありませんが、ドットプロダクトの前後を知る必要があります。世界でカメラのマトリックスを作成する方法を理解することができます。など(レンダリングコードの0%を記述している場合でも)

(編集) 3D数学に関する優れた本数学3Dゲームプログラミングおよびコンピューターグラフィックス、第2版(ゲーム開発シリーズ)これは大学で学ぶ種類ではなく、トリガーとより高度な実用的概念のクロスに似ています:自分用のツールボックスを作成する方法単純な物理学、効率的な衝突検出などの

レンダリングとパイプラインについての知識が必要です。 SDLがあなたに足を踏み入れますが、それがしていることの概念を理解していることを確認してください。

実用的なシステム設計について読んでください。さまざまなシステムを連動させる必要があります。よく考えてください。あなたのシステムはCまたはC ++でちょうど良いかもしれません、それはあなたがデータ/コントロールが流れる方法に置かれるTHOUGHTであり、デザインパターンをどのくらい完璧にエミュレートするかではありません/ p>

「本物」ではなくAIの基礎AI、ただし機能的AI;大きな違いがあります。ステートマシンは最初から素晴らしく、単純なFPSには十分です。

推定と計画について少し学びます。 FPSを適切に作成するためにやりたいことをすべて行う時間はありません。トリアージとトリアージの方法の両方を学習する必要があります。それらは2つの別個のものであり、後者は難しいです。ここでは経験が粗いの最高の教師です。 (ただし、伝説のMcConnellにもこれに関する本があります)

レベルにゲームプレイを挿入するシステムを用意します。プログラマとしてあなただけなら、あなたの最善の策は、3DS Maxなどの既存の編集プログラム用のプラグインを書くことです。プログラマにはMayaよりもMaxを強くお勧めします。 Mayaスクリプトは優れていますが、賢い非プログラマー向けです。 3DS Maxは、プログラマーがあなたの世界を作成および編集する方法に沿ってより多くのことを考えると思います。

YEARSを使ってこれを正しく行うためのツールを作ることができるので、素早く正確に編集できるように物事をしたい 独自のエディターを作成する場合は、それをゲームワールドに組み込みます。 あなたの世界が真の3Dではなく、多くのレベルを高速にしたい場合は、レベルデータを次のように保存できます。これにより多くの時間を節約できます Xが壁である場合、他の文字はゲームオブジェクトであり、ダートシンプルパーサーはゲームオブジェクトと世界座標に変換できます

 xxxxxxxxxxxxxxxxxxxxxxxx
 xx..........P..........x
 xxxxxxx...........I....x
 xR....xxx...........E..x
 xx.................0xxxx
 xxxxxxxxxxxxxxxxxxxxxxxx

しかし、それはすべてあなたのゲームに依存します。私のポイントは、「ゲットーコーディング」に頼る必要があるということです。ゲームプレイデータをどのように自分の世界に取り込むかは非常に重要であり、実装するのに高速であり、作業するのに高速である何かを考える必要があります。

それは、ここでの目標は何ですか?絶対に正しい方法で何かをコーディングすることを学ぶのであれば、1か月前にはまともだったように思えたコードを繰り返し処理することにほとんどの時間を費やすことを期待してください。

他のヒント

fileshack でquake 3のソースをダウンロードし、それらから学んでください。

非常に長い投稿は長期的には価値がありますが、画面に物事を表示する適切な瞬間の動機付けを与えていないように感じます。私の意見とともに、いくつかの事実があります

-SDLは2Dグラフィックライブラリです。2DでFPSを記述できないため、DirectXまたはopenGLの3Dライブラリを使用する必要があります

-SDLには「同期」する機能があります。 openGLでは、グラフィックスに使用していますが、そのトピックに関するオンラインヘルプはあまりありません

Lazyfoo.netにアクセスすることをお勧めします。Lazyfoo.netは、SDLを使用したゲームプログラミングのまったく驚くべき初心者向けのリソースです。画面に描画する方法を示しますが、これをプログラミングゲームに適用する方法も説明します。これを経て、テトリスのクローン、または他のほとんどの2Dタイプのゲームを作成できるようになります

この後、3Dの準備が整います(より複雑で、数学をよりよく理解し、より簡単なことをするためにより多くのコードを必要とします)openGLを使用する場合は、NeHeのチュートリアルをチェックしてください。 '現在、OpenGLでSDLを使用して新しいセットに取り組んでいます。古いチュートリアルは価値があるものの、かなりひどくコーディングされており、windows(win32)APIを使用しているためです

ゲーム開発は、あなたが出くわす最も厳しい、そしてやりがいのあるプログラミングの1つです。幸運を祈ります

SDL固有ではありませんが、 NeHe OpenGLチュートリアルは、どのように3Dを実行します。

これがあなたの最初のゲームである場合、おそらくFPSよりも低い目標にしたいと思うでしょう。 SDLを使用して簡単な2Dテトリスゲームを作成すると、そのライブラリについて知っておく必要のあるすべてのことがわかります。

タイトルで「ゲームプログラミングの達人の秘&」と書かれているものは何でもあります。 FPSゲームの作成方法を紹介します。 LeMotheは彼らを愛しています。

編集:それらのタイトルを忘れました。

このサイトはしばらく前に SDL で遊んでいたときに見つけました。 「こちら

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