オープンソースゲームのソースコードをダウンロードしたいので、ゲームアーキテクチャに慣れることができます。ソースコードが読みやすく、簡単に理解できるゲームを知っている人はいますか?
編集:少し考えてから、デスクトップまたは2Dグラフィックスを搭載したAndriod電話でプレイできるゲームを作りたいと思います。
オープンソースゲームのソースコードをダウンロードしたいので、ゲームアーキテクチャに慣れることができます。ソースコードが読みやすく、簡単に理解できるゲームを知っている人はいますか?
編集:少し考えてから、デスクトップまたは2Dグラフィックスを搭載したAndriod電話でプレイできるゲームを作りたいと思います。
回答:
どのタイプのゲームを求めているのかわかりませんが、c ++で書かれたOpenTTDという名前のオープンソースゲームがあります。良いサンプルとして使用できると思います。
このゲームをユニークにするいくつかの機能:
-編集-
ちょうど今日、私は彼らのコードを最初から読み始めました。彼らが書いたものを理解するには、まともなCおよびC ++プログラマーである必要があります(ただし、コードは十分にコメントされています)。両方の言語の構造を使用しているため、両方の言語のマスターである必要があります!プログラミングスキルについて十分に自信がない場合は、そのコードに近づかないでください。それは私が今まで見た中で最も汚いコードです!(そして、私は自分自身は汚いコーダーですが、彼らは別のものです!)
私はあなたにsupertuxコードをチェックすることを提案できると思います。それはプラットフォーマーゲーム(スーパーマリオのような)であり、これまでのところコードは本当にきれいに見えます(マイルストーン1.3を確認しました)。そのコードにはコメントがありますが、混乱する可能性のある場所についてのみです。
おそらく、あなたが好きなゲームを選んで、そのようなオープンソースのゲームをチェックするのが良いアプローチだと思います。オープンソースゲームのクローンのリストは、おそらく最後のステップ、多くのを助けることができます。
Quake 3のような主力品があります。または、もっとシンプルな(そして2Dで)必要な場合は、インディーズゲームGishをご覧ください。どちらもOpenGLを使用し、クロスプラットフォームでもあります。
ただし、ギッシュは少し厄介です。
最初に、3Dパイプライン、物理学、AIなどについて学習したいゲームアーキテクチャのタイプに焦点を絞ることをお勧めします。
ゲームプログラミングの良い例に対する一般的な要求があると、スペースインベーダーglは、コードをきれいにし、ゲームプレイとインターフェイスをオープンにし、物事をかなりシンプルに保つので、打ち負かすのは難しいと思います。
乾杯
コードを読むことは有用ですが、ドメインの初心者であれば、何も学びません。特にQ3AやOpenTTDのような大きなプロジェクトのコードを見る場合。それらはチーム全体で作成され、各人は異なるコーディング慣行、物を作る方法に関する異なるアイデアを持っています。あなたは全体像をつかむだけで、すべてを結びつける小さな詳細は得られません。
良いと思われるものを見つけるまで開発し、失敗し、再試行し、再び失敗し、すすいで、良いものが見つかるまで繰り返します。開発者が異なれば、ものを実装する方法についてのアイデアも異なります。良いゲームを作ったCarmack / Anyの有名な開発者によってコーディングされたからといって、パンをスライスして以来最高のものであるとは限りません。
あなたができる最も重要なことの一つは、プレイを楽しむゲームを選ぶことだと思います。これにより、興味を持ち続けることができ、コード自体がプレーヤーの観点にどのように変換されるかをよりよく理解できます。
そのゲームを選択したら、それがどれだけ大きいかに関係なく、コードのすべての行がどのように機能するかを把握する必要はありません。その一部を選んでそれを見てください。たとえば、プレーヤーデータの保存方法やメニュー項目の描画方法などを把握してください。
次にできることは、前のビットと同様に、何かを変えようとすることです。(最初は)巨大なものではなく、ゲーム内で単純で目立つものです。メニューのボタンのテキスト、メニュー項目の追加、ダメージ計算の変更などの単純なものです。彼らは何か違うことをすべきだったと思うかもしれません。自分で変えてみてください。
ゲームの開発に初めて興味を持ったとき、2DオンラインRPGに夢中になりました。そこで、あるオンラインのソースを見つけて、その上に構築し始めました。独自の機能の追加や調整、バグの修正など。それは数年前のVB6でのことでしたが、今ではC#とXNAを使用して、ゼロから独自のゲームを記述しています。私はゲームを楽しんでいたので、それを改善したい、それをやりたいと思いました。偶然にも、これは私が今日、gamedevに関係のない仕事で使用するプログラミング、デバッグ、問題解決のテクニックの多くを学んだ方法でもあります。
また、ゲームにmodderのコミュニティがあり、質問したり、ヘルプやサンプルを入手したりできる場合にも役立ちます。しかし、再び、それが存在しなくても、あなたはすでにここにいて、私たちは助ける準備ができています。
スクロールのゲーム開発キット2は、あなたが実際に2Dのゲームを作成し、コードを記述せずにGUIを使用してそれらを再生することができます。ただし、ゲームの背後にあるフレームワーク/エンジンを表すプロジェクトに埋め込まれたコードを表示および編集することもできます。ほとんどのコードはGUIを介して公開されますが、その一部はスプライトの配置場所と作成するマップに基づいて生成されたコードです。ただし、プロジェクトを生成し、結果のファイルをVisual C#Expressで開くと、このコードも表示されます。プログラム全体(IDE)自体もオープンソースです。OpenTKライブラリ(C#のOpenGLとのインターフェイスに使用)に基づいて構築されており、これもオープンソースです。