ゲームを作るならプログラミング技術が必要ですが、やったことがなかったので、具体的にどれくらいの知識があれば作れるものなのかもわかりませんでした。
ただ、最近ではプログラムを書かない手法も存在します。
その辺も含め、どれくらいのプログラミングの知識が必要なのかを解説します。
知識量ゼロでもできる?ビジュアルスクリプティング
実は、プログラミングの知識が浅くても、ある程度の処理を実行することは可能です。
「ビジュアルスクリプティング」と呼ばれていて、ゲームエンジンによって名称が異なります。
これらはプログラミング技術を習得する前でも扱うことができるので、どうしてもプログラミングが理解できない場合に使うと良いでしょう。
Unityの基本機能を使う
Unityには「キャラクターコントローラー」などの基本機能のテンプレートも存在します。
これらを操作キャラクターに適用することで、プログラミング技術は使わずに操作キャラクターを作ることができます。
ただ、自分のゲームに必要な仕様とは合わなかったり、基本機能なのに使い勝手が悪かったりするケースもあります。
上記のビジュアルスクリプティングも、この基本機能の一つです。
そもそもプログラミング技術とは何か
今回はUnityに絞って話を進めます。
ビジュアルスクリプティングも悪くないのですが、やはりプログラミングができたほうが良いです。
ただ、一言にプログラミング技術といっても、具体的に何なのかがわからないこともありますよね。
基本はプログラミング言語「C#」
プログラミングは「プログラミング言語」を使います。
言語は沢山の種類がありますが、ゲームエンジンによって固定されていることが多く、Unityを扱う場合は「C#(シーシャープ)」を選択することになります。
ゲームエンジンにプログラミング言語で命令する
C#を扱い、Unityに命令を与えます。
ボタンを押したらプレイヤーがジャンプする、とかですね。
ここでのポイントは「Unityの基本機能はC#で動かせる」ということです。
上記の「キャラクターコントローラー」もC#で出来ていて、プログラミングで管理できるようになっています。
そのため「Unityの使い方を覚える」と「C#を覚える」というのは、実は結構似ています。
先にC#を理解できていると、Unityもより理解しやすくなります。ただ、キャラクターが動いたりする楽しさがUnityにはあるので、交互に勉強するのが良さそうですね。
検索すれば初心者向けの解説ブログなどはたくさんあるので、参考にすれば覚えることができます。
その知識でも十分なので、ゲームを作るだけなら「初級」でも十二分にゲームを作ることができます。
オンラインRPGを作るとなると、中級くらいかも
ですが、オンラインRPGを作るとなると、ちょっとだけコツが必要になります。
これは僕が経験したことなのですが、最初のうちはそれこそ初級の知識で何とかなります。
しかしだんだん実装が充実してくると、「設計ミス」や「仕様の細分化」で首が締まることがあります。
例えば、「採掘で岩を掘る」のと「岩タイプの的にダメージを与える」を「採掘技」に実装するとしましょう。
初級の知識でこれをやろうとすると大変です。
「採掘技」に当たったオブジェクトが敵なのかを確認した後、かつ岩タイプならダメージ、それ以外は無視・・・というような、「もしも・もしも・・・」のプログラムをいちいち書かなければいけなくなります。
問題は更に続きます。
あとから別の岩タイプの敵を追加することになりますが、岩タイプの新しい敵が「採掘技」で回復するならどうしましょう。
そもそもダメージを与える技なので、回復するとなると、それは不可能になってしまいます。
こういった場面は「設計ミスや細分化」が原因で、各所で頻繁に起こることになります。
回避するためにも、C#の「デザインパターン」「インターフェース」などを駆使することになりますが、これはやや中級者向けのプログラミング技術のようです。(あまり詳しくないので、間違ってたらすみません)
まとめ
ということで、ゲームを作ったり「オフラインの”オンラインRPG”」を作るなら、プログラミング技術はそこまで必要ありません。
あとはやりながら必要に応じて技術力を高めていくことで、夢に一歩近づくでしょう。