『ヒースブログ』の管理人のヒースです。
仕事でExcelのマクロ(VBA)を使い始めて思った通りに動くことに快感を覚え始め、次に数シリーズぶりに『RPGツクールMZ』を購入したことでJavaScriptでイベントやシステムが操作できることに軽く感動し、ついにはUnityでのゲーム作りに本格的に足を踏み入れることとなった。
とはいえ、プログラミングは独学でしかなく、かつかなりの力技で動かしているのが実情だ。そのため、Unityに関しては「Unityも素人」「プログラミング(C#)も素人」である前提に立ち、初心者向けの本でサンプルゲームを作りながら感覚的にまずは慣れていこうと考え、いろいろ調べたところ以下の1冊に落ち着いた。
実際は、Unity自体のチュートリアルであるLEGOから始めたのだが、ほぼ完成しているゲームの一部をいじってゲームを完成させていくという構図は一番最初にやるにはあんまり合わないと感じた(あと、英語なので説明がわかりづらい)
先の『Unityの教科書』は最新版であるUnity2020に対応しており、発行日も2020年8月と比較的新しかったのが決め手となった。また、Amazonのレビューや紹介サイトを確認したので、わかりやすさ重視としては最適じゃないかと思ったのもある。
結果としては、Unityのスタート地点としては個人的には最適であった。苦もなく最後まで普通にやり遂げることがで、全てのサンプルゲームもちゃんと動いた(まぁ、これはあたり前なのだが)
この本ではサンプルゲームを説明通りに作っていくことがメインとなる。
オブジェクトを作る、動くオブジェクトを動かす、オブジェクトを自動生成する工場を作る、ユーザーインターフェースを監督するスクリプトを作るという流れがあり、C#でのスクリプトも単機能から徐々に機能拡張していく流れを取ってくれているので、コードを増やしていく毎に動きがどんどんと変わっていくことがリアルタイムで体験できることが非常にメリットに思えた。
サンプルゲーム自体は単純なものなので、あくまでUnityもC#プログラミングもまったくの未経験者でも作ることができるというスタンスはとてもありがたかった。けど、全部のサンプルゲームを作ったとしても、ひとりでUnityでゲームが作れるかというとそんなことはまったくなく、引き続き初級者用の勉強に進まないとまだまだ何もできない。
そこで次はUnityを学んでいくかC#を学んでいくかどちらがいいかを検討していたところ、KindleUnlimitedで『1週間でC#の基礎が学べる本』が読み放題対象となっていたのでこちらに進むことにした。
こちらの本は1日目の基礎知識編が終わると、2日目以降はサンプルコードと演習問題が続いていくので実にハード。
1日目と2日目は1日で終わらせることができるが、3日目以降はそんなに簡単には終わらない(2日目も結構長い)
試行錯誤しながらコードを組んでいるとそれなりに時間がかかってしまうので、おそらく倍以上程度はかかってしまう気がする。とはいえ、決してまったくわからないというものでもなく、あくまで時間がかかるというだけなのでもちろん進み具合には個人差があるはず。早い人はサクサク進めることができるのだろう。
VBA
↓
JavaScript
↓
C#
独学で力技でコードを組んでいるのに、完全に習得する前に次々と学習する言語が変わっているので、実に混同しやすい。
JavaScriptとC#は文法が似ているので意外と間違えづらいが、VBAがかなり異なる書き方になるので、仕事でVBAに戻ると一瞬頭にハテナが浮かぶ。ifとかforとかのあとに( )を付けないでいいとかが抜けやすい。逆にif〜thenのthenを入れ忘れやすくなってしまった。
VBAでがJavaScriptやC#で使える『+=』とかの複合代入演算子も使えないので、a = a + 1と書くのに違和感が出てきた(a += 1 と書きそうになる)
いずれにしても、社会人がだいぶ長くなってきたところでいきなり未経験のプログラミングを始める形になり、しかしこれが意外と悪くない。なんだかんだちゃんと動かせている。
RPGツクールMZで1日6時間とか集中できていたことを考えるに、プログラミングは好きなんだろうと思う。
独学、かつ隙間時間での学びなので進み具合はあまり良くないけど、やらないよりは少なくとも毎日伸びていると思っている。
延々と続けていけば、Unityでのゲーム作りもサクサクっとできるようになるんだろう……と淡い期待を寄せつつ、今日も今日とてC#プログラミングの基礎学習を続けている。
Twitterではブログに書き切れないことをたくさんつぶやいていますので、ヒースに興味を持っていただければフォローをお願いします。
コメント