web-dev-qa-db-ja.com

ゲーム開発はプログラミングを学ぶ最良の方法ですか?

私は最近、ゲームを開発することがプログラミングを学ぶための最良の方法であるとインストラクターのメンティノンを聞いた。すべてをコードで作成する必要があるという事実に加えて、OOPを完全に体験してプログラムに実装できるようになると言います。つまり、ゲームで作成するものはすべて、文字通りのオブジェクトです。技術的にも概念的にも、この仮定をしても安全ですか?それともプログラミングを学ぶときに常に例外はありますか?

.net/xna/c#開発向けです。

21
Edward

ゲーム開発は、私の意見では、最も難しい開発の一部です。一人称視点のシューティングゲームを作成する1人が知っておくべきすべての概念を見てみましょう。

  • グラフィックス
    • 3D計算
    • 速度の最適化
    • グラフィックハードウェアとのインターフェース
  • ゲーム
    • データ構造
    • 保存するファイル形式
    • 一般的なデザイン、または機能を追加することが不可能である混乱を作成します
    • ゲームがマルチプレイヤーの場合のネットワーク知識
  • AIアルゴリズム
    • パスファインディング
    • バトルファイティング
  • 出版
    • インストーラーの動作などのOSの知識
    • おそらく言葉を広めるためのウェブ開発

1つのゲームでlotの領域を同時にカバーできます。これは、時間を費やしてそれを良くすることをいとわないのであれば、優れた学習ツールになります。

OOPに関しては、それはうまくいく1つのパターンです。ゲームを学習ツールとして使用して、優れた設計手法を実践できます。

しかし、あなたの質問に答えるには、プログラミングを学ぶ唯一の方法ではありません。中間の開発者になると、ゲームを作成することで、プログラミングの多くの概念とレベルに触れることができます。しかも楽しい!

25
Michael K

トートロジーではありませんが、プログラミングはプログラミングを学ぶための最良の方法です。コンピュータゲームに興味がある場合、プログラミングゲームはプログラミングを学ぶのに最適な方法です。

私はゲームは好きではありませんが、数学が大好きなので、私の学習プロジェクトの多くは本質的に非常に数学的なものでした。

つまり、コードに関する問題を解決する方法を見つける必要があり、ゲームは多くの人にとって機能します。

46
Eric Wilson

aプログラミングを学ぶ方法などです。コードを書くとき、物事を学びます。さて、それはthe最善の方法ですか?わからない.

少なくとも、先生から与えられた2つの理由は無効です

  • "すべてをコードで作成する必要があった":ビジネスアプリを作成するとき、yoは実際にコードを作成しています。魔法では書かれません。はい、自動生成されたコードを使用できるようにするヘルパーがあります。いいえ、使用する必要はありません。ちなみに、自動生成されたパーツは、一般的にプログラミングの最も煩わしい部分です(Windowsフォームコントロールにコントロールを追加することによって、エキサイティングで便利なものを学習できるわけではありません)。

  • "あなたは本当に完全に体験し、OOPをプログラムに実装することができます":誰かがこれがゲームにのみ有効であり、他のものには無効である理由を私に説明する必要があります。 OOPを理解しており、使用したい場合は、ビジネスアプリケーションでも使用できます。入手できない、または使用したくない場合(たとえば関数型プログラミングの使用を好む場合)、ゲーム開発は変更を強制しません。

だが:

ゲームの開発は楽しいかもしれません。ほとんどの若者はゲームが好きなので、ビジネスアプリを書くのではなく、ゲームを開発することを楽しんでいます。これを見て、教師は実際にゲームがプログラミングを学ぶ最良の方法であると信じ始めることができ、それから彼らはその論理的な説明を見つけようとします。

そうは言っても、これらの教師はゲーム開発をビジネスアプリの開発と同じくらい若者にとって退屈なものにすることで終わります。ゲームをする必要があると生徒たちが信じる場合〜するために学ぶOOPなどなど、生徒はまったく面白くない種類のプロジェクトを実行するように求められます。これは私が大学にいたときの私の教師の最大の過ちの1つでした。彼らは非常に頻繁にコンソールモードでエイダで書くゲームプロジェクトを与えました。グラフィックなし。楽しくない。ユーザーエクスペリエンスはありません。私の人生とキャリアの中で、これほど退屈なプロジェクトを見たことはありませんでした。

13

ゲームプログラミングは、ゲームプログラミングを学ぶための最良の方法です。 Web開発を学びたい場合はそれを行い、システムプログラミングを学びたい場合はそれを行います。

ゲームプログラミングはやりがいがあり、多くのことを教えてくれる可能性が高いです(マイケルは答えで多くを指摘し、それらの多くは非常にやりがいがあり、外部のゲームでも使用できます)。 RPGや大物(または類似のゲーム)を作成すると、OOPの設計がパラダイムに非常に適しているため、設計について多くのことを学びます。パフォーマンスの考慮事項についても多く学ぶことができます。グラフィックスや物理学の複雑さに応じて、ゲームなどのいくつかのハードコア数学。

これは良い方法であり、いくつかのことを学ぶための最良の方法ですが、プログラミングを学ぶための優れた方法ではありません。プログラムしたゲームがいくつあっても、オペレーティングシステムの作成方法がわからない可能性があります。時間があれば、ほとんどの開発者は、プログラミングの主な専門分野としてそれをしなくても、ゲームを開発することで何かを稼ぐことができると思います。

7
Anto

質問:プログラミングを学ぶための最良の方法は何ですか

回答:実際に行う方法

つまり、何かを学んだり実行したりするとき、どの方法を選択するかはそれほど重要ではなく、実際に使用する方法です。

ゲームがあなたにとって本当に楽しいと思われるものであれば、それを試してください。あなたが数学の問題をより満足に解くのを見つけたら、それから始めてください。プログラミングにはさまざまな種類があり、それぞれに異なるスキルが必要となるため、最も興味深いと思われるものから作業を開始することをお勧めします。

...しかし、はい、ゲームは数学、並行性、アルゴリズム、おっと、グラフィックスなどを組み込んでいるので、ゲームはかなり幅広いプログラミングを学ぶのに良い方法です。

7
Homde

ゲームを楽しむのであれば、ゲームを書くことは開発に取り掛かるための良い方法ですが、それが最良の方法であるとは言えません。 ベストの方法は、CSの学位コースであり、その後、ジュニアスタッフのトレーニングとメンタリングに投資するソフトウェアハウスでの仕事が続くと思います。

確かにかなり大げさな返答は別として、はい、ゲーム開発はあなたに私が考える良いスキルの多くを教えてくれるでしょう、そしてあなたがコンピュータゲームを楽しむなら、それはあなたが開発プロセスに興味を持ち続けるでしょう。それはあなたが本で見る他の多くのシンプルなアプリよりももっと興味深いものでなければなりません。

4
Steve

コーディングを学ぶ最良の方法は、あなたを楽しくすることだと思います。実際のゲームである必要はありませんが、ある種のゲームです。私にとって、それはアルゴリズムを開発するいくつかの数学の問題を解決して、複雑な問題を可能な限り最速の方法で解決できるようにするゲームです。自分に挑戦することで、問題を解決しようとするたびに、より優れたコーダーになります。問題が難しいほど良い。

コードの学習(ベストプラクティス)に関しては、より大きな課題に取り組む必要があると思います。単一の入出力/出力をはるかに必要とする課題

2
IvoC

HalflifeやCall of Dutyをプレイすることでプログラミングのスキルが身につくという主張は聞いたことがありません。

それらをプログラミングするかもしれませんが、そのようなものをプログラミングすることは、初心者が少しでも試みるべきものではありません。また、特に初心者は、存在しないプログラミング知識で次の大ヒット作を作成できるという印象を受けます。最初にPacManまたはTetrisのクローンを作成するように言うと、彼らはそれが彼らのやりたいことではなく、「私にコズをください」と叫ぶべきだと叫びます。

2
jwenting

本当にそうではない。 aプログラミングを学ぶのに最適なタイプのプロジェクトはありません。最良のタイプのプロジェクトは、あなたの興味に関連するものです。

たとえば、ゲームのプログラミングの学習など、いくつかの異なる方法でプログラミングの学習を試みました。くっつくようには見えなかった。

では、自分の研究で何をしていたのかをプログラムする方法を学ぶ必要があるときはどうなりますか?現在、私は2つの言語を知っていると言うほど快適で、3番目の言語に取り組んでいます。どうして?それは私の興味に関連していたからです。本にある「演習8」よりも、それに固執する理由、学ぶべき理由、そして試すより多くの問題がありました。

ちなみに、これは流行病モデルのプログラミングがプログラミングを学ぶための最良の方法であることを意味しません。しかし、それは私にとって最良の方法でした。あなたのものを見つけます。ゲームかもしれませんが、そうではないかもしれません。

1
Fomite

私自身の経験では、ゲームを作成することにより(開発者の自分の/小さなチームでこれを行うと仮定して)、プログラミングのアルゴリズム的/分析的部分だけでなく、ユーザーエクスペリエンスとデザインについても考えることを強いられます。

それに加えて、それがかなり複雑なゲームであれば、数か月かけてこれに取り組み、すべての作業を文書化することの重要性を理解します。これにより、後でチームのより優れたメンバーになります。

0
rdasxy

これはゲーム開発に関する洞察を与える優れた記事だと思います。

それは焦点を当てるべきいくつかの基本的な領域について話します

  1. ゲーム開発への情熱。
  2. 学習態度。
  3. ゲームを楽しむことは大切です。
  4. あなたのプログラミングスキルの重要性。
0

以外は同意します...

それは、レゴロボット(マインドストーム)の構築とプログラミングがこれまでにあった最初のプログラミング経験と同じくらいありそうです。

一般的な用語「ゲーム」は、ほとんどすべてのプログラミングを網羅するほど大きなカテゴリを定義できますが、元のポスターのコンテキストで使用される場合、常に「ドゥームスタイルのゲームを書く」ことを意味するようです。

前にここで述べたように、プログラミングを学ぶための最良の方法は、プログラムを必要とするあなたが本当に欲しいものを持っていることです。つまり、必要なプログラムを作成してプログラミングを学びます。

最初のWindowsプログラムの1つはMIDIコントローラープログラムでした。私は本当にMIDIコントローラープログラムを望んでいたので、Windowsは完璧なフィット感(スライダー、ボタン、 MIDIなどのSDKサポート)そのプログラムから、Windowsプログラミング(これはWin 3.1時代に戻った)についてたくさん学びました。

ここで述べた理由のために、ゲームプログラミングに夢中になったことはありません。私はそれほど上手く描画できません。そのため、私が作成するゲームは、アーティストのものよりもグラフィックが貧弱になります。 「ゲームビルディングチーム」を管理するのではなく、プログラミングについて学びたいです(称賛に値するが、まったく異なる演習)。

結局、私は先生の発言に全く同意しません。プログラミングを学ぶ最良の方法は、本当に欲しいプログラムを書くことです。

-R

0
Huntrods