ニコニコ生放送のプログラミング放送を見ていると、ゲーム開発に挑戦している初級者の若者が多い。
が、当人の知識・能力・経験に対して、目標が高すぎてゲーム完成までに至らないケースが多いようだ。これを業界用語で「失踪」と呼ぶ。
彼らは、充分な経験値・武器・魔法もなく、いきなりRPGのラスボス(小規模だが、フルスペックのゲーム開発)に挑んで、ひとひねりされているようなものだ。
ゲーム開発をやり遂げるには、プログラミング言語の知識はもちろん、各種データ構造・アルゴリズム・コーディングテクニック・デザインパターン・
コンピュータグラフィックス・ユーザインタフェース・フレームワークなどのコンピュータサイエンス・工学に関する幅広い基本的知識・経験が必要だ。
さらに、ゲームによっては幾何学や微積などの数学や、プロジェクトをどう進めるかといったソフトウェア工学の知識・経験も必要だ。
それらの知識・経験の無い初級者がフルスペックのゲーム開発をやり遂げるのはあまりにもハードルが高く、失踪してしまうのもやむなしである。
そこで、まずは見栄えのよさを諦め、コンソールアプリから作成してみることをお勧めする。
コンソールアプリとはグラフィカルでなく文字のみの画面でできているアプリのことだ。
グラフィカルなものを GUI(Graphical User Interface)と呼ぶが、コンソールアプリのようなものは CUI(Character User Interface)と呼ばれる。
最近の人はそのようなアプリを見たこともないかもしれないが、はるか昔はグラフィック端末などなく、文字だけのアプリが普通だったのだ。
文字だけでは表現力に限度があり、魅力的なアプリが出来そうにないと思われるかもしれない。
が、だからこそ複雑なアプリは作りようがなく、規模も小さくなるので、完成させるためのハードルがぐっと下がる。
コンソールアプリを作るにも各種データ構造・アルゴリズム・コーディングテクニック・デザインパターンの知識は必要であるので、
コンソールアプリを学べば、これらの知識を得、経験を積むことができる。
コンソールアプリは Windows, Mac OS, Linus(Unix) など、どのような環境でも開発・実行することができるのも利点の一つだ。
何事もそうだが、まずは達成可能な目標をたて、それを順次クリアし経験値と達成感を貯めていくていくことが、結局は成功への近道だ。
雑魚キャラや中ボスを数多く倒し、十分な経験値・武器・魔法を習得してからラスボス(フルスペックのゲーム開発)に挑むのが普通で、賢いやり方である。
基本
カード(トランプ)ゲーム:
リアルタイムゲーム
パズルゲーム:
思考ゲーム: