「ゲーム作りたい」と思うまで

どの言語を選べばいいのか

 これも沼にハマる問題だった。始めるときは「ゲームを作ろう」ということは(無理だと思っていたので)頭になかったので、なにか使えそうな言語ないかなーという感じだったので余計に沼った。

 私はWindowsとAndroidでちょっとした便利ツールを自作できればカッコイイかな?くらいの目的だったので「C#」を選んだ。明確な目的があるならそこから逆算して言語を選べばいいんじゃないかと思う。

 仕事でステップアップしたいとか就職に使えるとか、そういうのを求めている人は将来性とかで決めればいい。そういうことを解説してくれている動画やブログはたくさんある。挫折しないように学びやすそうな言語から始めても何も問題はないと思う。

 プログラミング言語の選択に関しては人それぞれ意見が分かれるが、よく見かける意見に「なにから始めても一緒だから、なんでもいいから始めろ」というのがある。少し乱暴に聞こえるがそのとおりだと思う。

 私自信C#を始めてからしばらくしてProgateで他の言語の基礎をひととおりやってみた事がある。多少の違いはあるもののやっている事はほとんど一緒だった。ひとつの言語を深く学んでいれば大丈夫なんだと思えた。

 どの言語を使うのかという問題よりも、プログラムを使ってどういう手順や方法で処理を行うのかという問題のほうがはるかに大切だ。プログラミング言語にも出来ることの向き不向きはあるだろうが、使う人間がどういう処理を組み立てるかの方が影響は大きいと思う。

出だしはどうやって「勉強」したのか

 言語を選んだらさっそく開発環境を準備してなんでもいいから打ち込んでみよう。私はC#という言語を選んだのはHTMLとCSSを始めるときに「Visual Studio」をインストールしていたのでC#でもその環境を続けて使っている。

 開発環境には詳しくない(というかVisual Studioしか使ったことがない)し、これも考え出すと沼にハマってしまうので、選択した言語に適した開発環境をググってインストールすればいいと思う。Visual Studioはプログラムを打ち込むときに候補が出てきて楽だし、打ち込んだコードが古ければ新しい書き方を教えてくれる。邪魔なこともあるけれども初心者にはありがたかった

 さて「なんでもいいから打ち込め」と言われても何を?となるだろう。結局のところ”Hello World“になるのだ。どこを見ても調べても”Hello World”が最初のコードだし、どんな有能な開発者もここから始めたと思えば少し感動する。

 私も始めた当初はC#を紹介しているサイトで勉強をしていた。他の言語でも初心者向けに解説してくれているサイトはたくさんあるので、ありがたく利用させてもらおう。しかし、ある程度まで学習を進めるとある不安がふつふつと湧いてくる。いま自分が打ち込んでいるコードは正しい文法なのだろうか?という不安である。

 もちろんちゃんと動いているし結果も答えの通りに表示されている。情けないことに私は昭和人間なので結局はちゃんとした教科書が欲しくなってしまったのだ。いろいろとコードを漁っていると「汚いコード」「きれいなコード」というチラチラと目につくようになってくる。次第に「汚いコード=>汚いおじさん=>おじさん汚い」と脳内変換されてもうダメだと限界だと思った。サイトの説明だけでは腑に落ちないところがポロポロと出てきたという事情もあり、平易(へいい←と読むの知らなかった)な文章で分かりやすく書かれた参考書を探すことにした。

 ウェブのレビューや試し読みをいろいろと読んでみた結果「新・標準プログラマーズライブラリ なるほどなっとくC#入門 著:出井秀行」を購入することにした。「はじめに」の部分に書いてある「筆者が初心者プログラマーだった頃を思い出しながら、丁寧でわかりやすい説明を心がけるようにしました。」の通り、本当に丁寧でわかりやすい名著だった。これでいつでもC#を始めるにあたって基本的な文法や知識を確認できるようになった。C#を始めようという方にはぜひオススメしたい本である。

 こういう本にはたいてい各章の末尾に演習問題とか付いているのだが、つい「これが解けるまで次には行かない」とやってしまう。私も最初はそうしていたが、途中から全然わからなくて傷つくし学習が進まなくなるので適当に切り上げることをオススメする。

 なにはともあれ、私はこの本をゆっくり3ヶ月ほどかけて少しづつC#を学んでいった。この本を1冊終わらせたからといってC#を理解できたわけではないし、何かアプリを開発できるようになったわけでもない。もっというとこの本に書いてあるプログラミングにおいて基本的なことさえ完全に理解できていない。しかし1冊やりきったという満足感と少しの自信を手にした私は何か作ってみたいなと思い始めたのだ。