私はゲーム プログラミングの初心者で、通常はエンタープライズ ソフトウェアをプログラミングしています。
私の質問は、これらのゲームを作成するためにどの数学を学ぶ必要があるかということです
- スネークゲーム
- テトリス
- ソリティアなどのカードゲーム
このゲームを作成するのに役立つ参考文献/本は大歓迎です
どうもありがとう。
リストや「2 次元」配列などの基本的なデータ構造を処理する方法を知っていれば、それらのゲームに多くの数学は必要ありません。
編集: さらに、その種のゲーム ロジックは、おそらくゲーム内のコードのごく一部で構成されています。残りはユーザー入力、グラフィックス、サウンド、時間などを処理することであり、これを適切に行う (プログラムに優れたアーキテクチャを持たせる) ことは、より困難な作業です。一方、これらのことの少なくともいくつかは、既製のゲーム エンジン/フレームワークに委任できます。
単純なゲームのプログラミングに必要な唯一の数学は、画面上のどこにオブジェクトを描画/アニメーション化するかをコンピューティングに伝えることができるように、非常に基本的な空間推論です。したがって、この場合、数学のバックグラウンドが不足していることを心配する必要はありません。より複雑なゲームを書くときは数学が必要になるかもしれませんが、ゲーム開発を自由に探求し、必要に応じて数学的にブラッシュアップすることをお勧めします :)
あなたは特に単純なゲームについて尋ねたので、あなたが説明したゲームのために解決しなければならない数学の問題の種類のいくつかの例を以下に示します:
ソリティア ゲームをコーディングしていて、カードのw
幅がそれぞれピクセルで、水平に配置され、それぞれがピクセル単位で区切られているとしp
ます。n
番目のカードは ( w
+ p
) * nの位置にあると推測する必要があります。
テトリスをプログラミングしているとしましょう。ブロックをm
ミリ秒ごとに次のグリッド セルにスムーズに移動させたい場合があります。それでは、[grid cell size] * 1000 / (m * [frames per second])
フレームごとに各ブロックをピクセル単位で移動する必要があります。
一般的なガイドラインとして、数学の問題を解くためにプログラミングを使用していない限り、おそらく「どの数学を学ぶ必要があるか」について心配する必要はありません.
単純なゲームのプログラミングのようなものでは、データ構造とアルゴリズムをよく学び、クリーンで正確で保守可能なコードを設計および実装できることがはるかに重要です。2 つの異なる実装を比較しようとしない限り、通常、数学は問題になりません。その場合でも、必要なものに対して十分な速さを構成するものを直感的に理解するだけで十分です。