たくさんの良い選択肢があります。(私はCS1とCS2、ゲームプログラミングを教えています。)まず、もちろん、コンピューター科学者のように考えることを学びます。概念は本当に普遍的であるため、言語に縛られすぎないでください。
Javaは非常に優れた言語ですが、Javaでゲームを構築するのは少し面倒です。プロセスを少し簡単にする興味深いエンジンがいくつかあります。残念なことに、ゲームエンジンを編集ツールに接続するのは苦痛を伴う場合があります。
FANGエンジンが好きです(残念ながら、まだハイパーリンクを投稿できないので、Googleで調べてみてください)。このプロジェクトの興味深い部分の1つは、オンラインエディターです。これは、Eclipse設定を台無しにすることなく、すぐに開始できることを意味します。
私は実際にはゲームメーカーのファンではありません。GUIは、プログラミングの方法を学びたくない人にとっては問題なく、まともな(しかし素晴らしいとは言えない)プロトタイピングツールです。しかし、それについて私が好きではない2つのことがあります。まず、商用です。それは悪いことではありませんが、無料のオープンソースの代替物が同じくらい良い(そしてある)場合は、最初にそれらを調べる必要があります。ゲームメーカーの大きな問題は、スクリプト言語です。最終的には、GUIから脱却し、実際にコードの作成を開始したいと思うでしょう。GMのスクリプティング言語はかなり後向きです。あなたはCS専攻なので、コードの再利用、優雅さ、明快さ、効率性、モジュール性に興味があります。GM言語はあなたを失望させます。
PythonとPygameが大好きです。(実際、私はそれらについての本を書きました。必要に応じて私のサイトですべてのメモとオンラインビデオを参照してください。本を持っているかどうかに関係なく、これらのリソースを歓迎します。)学ぶのが難しすぎる(特に、プログラミングの方法を既に知っている場合)。Pygameは、人気のあるSDL 2Dエンジンのラッパーです。実際、2つ目のラッパーをpygameに追加して、Flashと同じくらい簡単に作業できるようにしました。
Flashといえば、それだけの価値はないと思います。(あなたが尋ねなかったことは知っています)それは良いプラットフォームですが、モバイルデバイスでどのように動くかについてのコストと不確実性は、それがそれほど素晴らしい学習ツールではないことを意味します。(私はFlashでゲーム開発についての本も書きましたが、それ以上Flashを教えません。)
他にも試してみてください。MITからスクラッチのコピーを入手してください:
scratch.mit.edu
これは子供向けに作られていますが、先送りしないでください。それは絶対に信じられないほどのゲームとアニメーションのツールです。プログラミングではタイルを使用するため、使い始めるのは簡単です。あなたはそれを使って何ができるのかに驚くでしょう。
カーネギーメロンのアリスwww.alice.orgも試してみてください。最新(第3版)は、実際にはJavaの拡張で、Sims2モデルを使用しています。
スクラッチとアリスはどちらも無料です。
調べるべきもう1つの優れたツールはBlender
www.blender.orgです。
3Dモデリングツールですが、多くの人は、ドラッグアンドドロッププログラミングインターフェイスを備えた完全なゲームエンジンであることも知りません。タイルが大きくなりすぎると、Pythonサポートが組み込まれます。
今、私はHTML5に非常に興味を持っています(これはかろうじてHTMLです-これは実際にはHTML、CSS、およびJavaScriptです)。ゲーム開発環境としてはまだありませんが、大きなプレーヤーになると思います。次の本は、HTML5でのゲーム開発に関するものです。
幸運を祈ります。さらに質問がある場合はお知らせください。