もくじ
本ビデオ教材の特長
Learn To Create An RPG Game In Unity
Game development made easy. Learn C# using Unity and create your very own classic RPG!
学習難易度:初級
ゲーム数:RPGゲーム1つ
ジャンル:2Dゲーム
最新更新年月:2020年9月
Unityバージョン:2018.2
ビデオ数:Sectionは18まであり、全部で117個
ビデオ再生時間:合計18h程度
言語:英語
価格:通常で約9,500円(セール時の最安価格は1,300円ぐらい。)
学習期間:1日1h~2h程度の学習で約3週間(※私の場合)
評価:4.5
概要
本講座は、Unityで2DのRPGゲームを作成するチュートリアルとなります。ゲーム素材として利用するグラフィックや音楽ファイルはチュートリアル内で提供されます。解説に使用しているUnityバージョンはUnity 2018.2となっているので少し古いですが、2Dの基本的な機能のみ利用しているので最新のUnityバージョンでも問題なく学習できると思います。
私の使用したUnityバージョンは、Unity 2021.3.2f1です。
学習内容
本コースで学習する主なゲーム機能を以下にリストアップしましたので参考にして下さい。
NPC会話ダイアログシステム
NPCとなるキャラクターオブジェクトに会話メッセージを保存し、ゲーム実行中にそれを参照するという方法を取っています。NPCにBox Collider 2Dを割り当てておいて、プレイヤーキャラクターが近くにいる状態を判定しダイアログの表示をコントロールします。仕組みとしては簡単なものなので、自由度はそれほどないと思います。
アイテムインベントリ管理
アイテムの種類としては道具・武器・防具が設定可能で各アイテムのステータス情報も保持できるようになっています。アイテム数は最大40個となっていますが、表示領域を工夫すれば増やすことは可能でしょう。ただ、実装にC#スクリプトのコンポーネントを使っているので拡張性については自分で工夫する必要があると思います。
ショップ&アイテム売買システム
ゲーム内にショップを設置します。ショップは追加マップとしてショップ用のシーンを作成し利用します。ショップで表示されるメニューはCanvasを使ったUnity UIで作成します。メニューのデザインはステータス表示のデザインと同一です。ショップではアイテムの売り買いができます。
セーブ・ロード機能
セーブはマップ画面から呼び出すステータスメニューから実行可能とし、ロードはタイトルマップから選択できるようになっています。保存するのは各プレイヤーのステータス値、アイテムの種類、個数、マップの位置などです。UnityのPlayerPrefsを利用しています。
レベルアップ機能/3人制パーティー機能
レベルアップするために必要な経験値の情報はInspectorから設定します。自動設定ではなく手動設定です。レベルアップの演出はなかったです。
また、本サンプルゲームではプレイヤーキャラクターとして3人まで設定および管理が可能です。
クエスト機能
NPCとの会話ダイアログをトリガーにしてクエストを発生させることができます。また、クエスト用のオブジェクトとして任意のアイテムやゲームオブジェクトを設定可能です。
マップ切替システム
本コースではマップはシーン単位で作成し、特定の場所で別のマップ(シーン)へ移動できるように指定します。例えば、TownマップではCountrysideマップとShopマップへ移動できるように設定しています。マップ切り替えをシーン固定の切り替えで行いますので、それほど複雑ではないロジックです。
マップの作成にはTilemapを利用します。
バトルシステム
オーソドックスな2D RPGゲームのターンベース&コマンド型の戦闘システムとなっています。バトルシステムの作成に本コースの2割程度の時間を費やしました。
チュートリアル完了後の感想
サンプルゲーム完了までに作成するC#スクリプトの総数は36個までになりました。ゲームで使用するグラフィック素材は既に作成されたものが用意されているので、本コースはC#スクリプトの作成がメインの学習と言えるかもしれません。コーディング学習が18時間程度続きますので、内容的には初級レベルですが、何かしらプログラミングに耐性がないと最後まで学習を続けるのは厳しいかもしれないです。
本コース講師の作成するC#スクリプトは全体的にどうしても冗長的な部分が目立ちますが、あくまでも初級者向けとしてわざと易しいコーディングをしていると好意的に捉えれば良いでしょう。ただ、コース後半になるまで、コルーチンやリスト、クラスすら使わずにIf文オンリーで進めていくような勢いですので、辛抱が必要なコーディング学習が続きます。
初級レベルのコーディングでも十分に見映えの良いRPGゲームが作成できるというサンプルだと認識すれば、本コースの意義が見えてくる気がします。きちんとC#を学習するためには本コースの内容では不十分だと思いますが、個人でゲーム開発するという前提であれば、本コースは十分に有用なゲームの作り方を学習できる機会と言えるでしょう。