私の息子(15)は、ゲームプログラマーとしてのキャリアを追求したいと考えています。私は彼が簡単なゲームで今始めなければならないと言った。彼にはまだプログラミングの経験はありませんが、私はプログラマーです(ゲームではなくビジネスアプリ)ので、プログラミングを教えることができます。最初は、彼の熱意を維持するために、迅速な結果を提供できるものを探しています。
何を提案しますか?
私の息子(15)は、ゲームプログラマーとしてのキャリアを追求したいと考えています。私は彼が簡単なゲームで今始めなければならないと言った。彼にはまだプログラミングの経験はありませんが、私はプログラマーです(ゲームではなくビジネスアプリ)ので、プログラミングを教えることができます。最初は、彼の熱意を維持するために、迅速な結果を提供できるものを探しています。
何を提案しますか?
回答:
XNAは、かなり自信のあるプログラマーに適したソリューションです。将来的に目指すことは良い目標です。
Unrealの開発キットには、はるかに迅速かつ容易に結果を得るための方法であり、開始するには良い場所かもしれません。コメントでは、UDKは実際にはかなり悪い代替手段であることが示されているため、お勧めできません。
Unityは代替手段であり、UDKではできないことを携帯電話で実行します(私の知る限り)。それで、彼が携帯電話用のゲームをプログラミングすることに興味があるなら、おそらく団結が良いでしょうか?
私も15歳ですので、助けになると思いますか?:P
私は最近Pythonを学び始めました(1年ほどC ++をやっています)。C++よりもずっと簡単に学ぶことができます。落とし穴ははるかに少なく、画面上に何かを表示するためのコードはほとんど必要ありません。
また、グラフィックサイドにはSDL / OpenGLを介したPygameやPygletのようなラッパーがあります。
彼がシンプルなゲームを作り始める前に、少なくとも数ヶ月は言語を学ぶことをお勧めします。(もちろん、数字を推測するゲームや絞首刑執行人のようなテキストベースのゲームは、この期間中は良い練習です
ここでの非正統的な答えのビット:
Starcraft II Galaxy Editor。
Starcraft 2でほぼすべてのゲームを作成できます。
また、GUI中心の方法で、ループやifステートメントのようなほとんどのプログラミング構成を教えます。
彼が基本に自信がついたら、スクリプトを作成してもらうことができます。
彼はそれが得意で、これが面白いと思うなら、彼は適切なゲームプログラミングが大好きです。
私はゲーム開発ツールを大きく3つのカテゴリに分類します。
プログラミングの経験がない人のために、私は通常、最初のカテゴリーから始めることをお勧めします。与えられたオーサリングツールに満足しているが、制限がメリットを上回っているように感じている場合は、次のカテゴリで何かを学ぶ時が来ました。
私はこれがやや時代遅れになることを知っていますが、成長してP-Robotsを本当に楽しんでいました。本当にシンプルな目標(他のロボットに勝つ)、シンプルなAPI、そしてコードの変更から結果を見るまでの短い時間があります。AI、設計パターン、さらには大規模なコード構造にまで分かれています(これらのロボットの一部はかなり大きくなる可能性がありますが、ロボット間でコードを共有するのはどうですか?)。似ているがより新しいものを見つけることができるなら、「プログラミングを始めよう」の部分を手に入れる良い方法でしょう。提案:
それが終わったら、本当にシンプルな2Dスクロールシューティングゲーム、プラットフォーマー、または同様の「アーケードスタイル」ゲームに行くことを検討してください。SDLまたはXNA、または最も馴染みのあるものを使用できます。でもピンポンクローンを取得し、これらの中で実行されていることではありません完全に些細な。これにより、「ゼロから」何かを構築することがどのようなものであるかの小さなエコーが得られます。
この後、探索してください:既存の3Dゲーム(新しいオブジェクト、ボット、または何か)のmodを使用して、より大きなエンジンについて少し洞察してください。
私が見たものから、キーは次のように思われます:
私のアドバイスは、ウェブベースのゲームを作ることです。どうして?まず第一に、JavaScriptはプログラミングの基本的な概念をすべて教えてくれる美しい言語であり、実際にJavaScriptを使用して優れた有能なクロスプラットフォームゲームを作成できます。ゲームを作るだけでなく、もっと多くのことをする資格が彼に与えられます...何らかの理由で、息子がWeb開発に参加したくない場合は、PyGameと呼ばれるモジュールでPythonを使用することをお勧めします。私もその経験があり、素晴らしいことではありません。私が提案しないのは、C / C ++で始めることです。それは私がやったことであり、ひどいものであり、彼がプログラミングのすべてをやる気にならないかもしれません。
別の注意として、あなたはおそらく素晴らしい父親です、おめでとうございます!
マインドストームロボットは本当にクールです。私たちはNXTを学校に持って行き、先週、ラインに従うなどのプログラミングから始めました。簡単に結果を得ることができます。
また、私は少し前にwww.3dgamestudio.deを見つけました。私はそれ以上は知りませんでしたが、本当に面白かったです。lite-Cでプログラムできます:
Lite-Cはマルチメディアアプリケーションおよびコンピューターゲーム用のプログラミング言語であり、C ++プログラミング言語のいくつかの要素とともにCプログラミング言語の構文サブセットを使用します。
でhttp://tutorial.3dgamestudio.net/あなたはそれに入ります。また、レベル、モデル、地形エディターもあります。
ps:私は16歳で、友人がWebサイトをプログラミングし、プログラムされたゲームサーバーをカスタマイズすることから始めました。だから、これは彼にとっても面白いかもしれません。
私はこれを十分に提案することはできませんが、お気に入りのお気に入りのゲームのために彼自身のレベルを構築しています。
その年齢/スキルレベルの人は、好みのゲームエンジンでレベルを構築することから始めなければなりません。
多くの優れたゲームには、多くの自由度を可能にするレベルエディターが付属しています。
RPG: 黒曜石のNWN 2電子ツールセットシリーズ、エルダースクロール
RTS: ウォークラフトIIIのレベルエディタ幻想的なRTSエディタであっても、それ自身のスピンオフゲーム(伝説のリーグと newerthの英雄)。
FPS:半減期2のハンマー。カウンターストライクはもともと半減期のmodでした。
ここから始めてください。お気に入りのゲームのレベルを構築することは、おそらく開始するのに最適な場所です。
ここにあるすべての情報は役に立ちますが、STEM Challenge(ホワイトハウスとESAが推進する全国大会)にはプラットフォームに関するいくつかの提案があります。http://www.stemchallenge.org/about/Default.aspx
Gamestar Mechanic、Gamemaker、Kodu、Scratch、PBS KIDS Ready To Learnストリーム
特に、STEMに関連するこれらのプラットフォームに関するコミュニティリソースがあると感じています。
pythonとpygameについてのこの優れたチュートリアル(オンラインブックでもあります)も参照してください。http://inventwithpython.com/chapters/ ここに、特にpygameについての本の続編のPDFがあります-games-with-python-pygame /
更新:こちらがスラッシュドットディスカッションです。http://ask.slashdot.org/story/11/12/27/152228/ask-slashdot-tools-for-teaching-high-school-kids-how-to-make-games
Game Makerは、プログラミングの経験がない人に最適です。無料版と比較的安価な有料版があります。ドラッグアンドドロップインターフェイスでゲームをすばやく作成できますが、より高度なスクリプトのサポートが含まれています。
Martinが言及したように、UDKはおそらくAI、モデル、豊富な本などの非常に多くの既成のものが付属しているため、何かを機能させる最も速い方法です。非常に優れたマップエディターを備えており、言語はJava風(およびECMAスクリプトのような)です。
別の方法は、FlashまたはSilverlightでゲームを試してみることです。簡単な2Dゲームから始めます。彼が好きなゲームのジャンルが何であれ、ツールキットが決まります。
14歳から来るこのアドバイスは役に立つかもしれません。プラットフォームを選択する最良の方法は、目的に最も適したプラットフォームだと思います。私はこれまで何度もこの投稿をしました。
Redditから-
目的に合った言語を選択してください。ほとんどのゲーマーは、ゲームのプログラミング言語を気にしません。ゲームをプレイできるかどうかを気にします。彼らはそれが自分のコンピューター上で高速に動作するかどうか気にします。ゲームのサイズが10ギガバイトではない場合、彼らは気にします。exeでもjarでも構いません。
Minecraftなどのゲームを見てください。確かに、ゲーム開発業界で非常に小さな市場シェアを持つ言語であるJavaで書かれています。消費者は気にしますか?いいえ。彼らは機能性を気にします。
ただし、あなたの息子にはプログラミングの経験がないため、Pythonなどのコーディングが速い言語を習得するか、XNAなどの既存のプラットフォームを使用することをお勧めします。個人的には、Slick2D with Javaが大好きですが、それが私の好みだと思います...
私は若い年齢(15歳未満)でプログラミングを紹介され、父はVB(1.0)を使用することにしました。タイマーオブジェクトとGDI描画を使用して、ピンポンのツイストバージョンを作成しました。空白のキャンバスから始めて、何かを楽しくしようとしている間にプログラミング構造の基本を学ぶことができたので、それが好きでした。
今日、私はXNAを選択し、シンプルな2Dゲームを選ぶと思います。C#とXNAはかなり単純であり、十分な成長の余地があり、無料です。
ゲームを作りたいだけの場合は、XNA、Unreal、Unityなどを使用する必要があります。ゲームプログラマになりたい場合は、最初にC / C ++とOpenGL / SDLまたはD3Dを学ぶ必要があります。
XNA、Unreal、Unityなどはゲームの作成には適していますが、あまりにも多くのことを行うのは本当に苦手です。私はこれについて人々が私に反対すると確信していますが、これらは基本的にあなたを怠intoなプログラマに変えます.C ++でポイントのようなことを学ぶときが来ると、より簡単なオプションを最初に使ったのでより難しくなります。
あなたがゲームプログラマーになりたいかどうかを学ぶための最初の言語として、他のC / C ++を提案することはありません。主な理由は、あなたがC#/ XNAを学んでも、ゲーム開発者になることを真剣に考えているなら、誰かがあなたを雇わないので、ある段階でCまたはC ++を知る必要があるからです。ですから、彼らが職業について真剣に考えているなら、あなたはあなたに期待されることを学ぶのを遅らせるだけです。