ソウルライクの作り方
2018/05/12 Sat. 13:28 [edit]
prime videoでなんとなく見たシュタインズゲートが面白く、
原作がゲームということを知ってsteamで買ってプレイしました。
GWの2日を捧げましたがとても楽しめました。
個人的な感想としては、最初はタイムリープものと知って、
あっと驚くストーリーに期待したのですが、
キャラクターを好きになるゲームだと思いました。
特に主人公が好きになりましたね。
ゲームクリア後にアニメも最後までみましたが、
結論からいうと、自分にはアニメで十分かなといった感じでした。
ただ、アニメは駆け足な感じはあって、エンディングも1種類しか見れないので、
先にゲームをクリアしてしまったのは良かったと思います。
さて、タイトルですが、
特にコンシューマ向けもそうですが、
いよいよソウルライクがジャンルとして認識されつつある中、
ソウルライクのアクションゲームを個人開発するためには、
結局何が必要だったか、語ろうと思います。
読者想定層としては、・・・
3Dアクション アクションゲーム 個人 作り方 制作 unity ダークソウルのような ソウルライク
などのキーワードで検索するような人とします。雑ですが。
ちなみに、初めてここに来た人用に、・・・
私が制作したのは『NOSE』というソウルライクアクションゲームです。(→ふりーむDL)
完全無料なので、ぜひ触ってみて下さい。
↓続きを読む
原作がゲームということを知ってsteamで買ってプレイしました。
GWの2日を捧げましたがとても楽しめました。
個人的な感想としては、最初はタイムリープものと知って、
あっと驚くストーリーに期待したのですが、
キャラクターを好きになるゲームだと思いました。
特に主人公が好きになりましたね。
ゲームクリア後にアニメも最後までみましたが、
結論からいうと、自分にはアニメで十分かなといった感じでした。
ただ、アニメは駆け足な感じはあって、エンディングも1種類しか見れないので、
先にゲームをクリアしてしまったのは良かったと思います。
さて、タイトルですが、
特にコンシューマ向けもそうですが、
いよいよソウルライクがジャンルとして認識されつつある中、
ソウルライクのアクションゲームを個人開発するためには、
結局何が必要だったか、語ろうと思います。
読者想定層としては、・・・
3Dアクション アクションゲーム 個人 作り方 制作 unity ダークソウルのような ソウルライク
などのキーワードで検索するような人とします。雑ですが。
ちなみに、初めてここに来た人用に、・・・
私が制作したのは『NOSE』というソウルライクアクションゲームです。(→ふりーむDL)
完全無料なので、ぜひ触ってみて下さい。
↓続きを読む
-- 続きを読む --
まず手っ取り早く、ソウルライク 3Dアクションゲームを作るために必要な素材を挙げてみます。
上から優先順位が高いつもりです。
◇必須素材
1. プレイヤーと武器の3Dモデルとテクスチャ
2. エネミーの3Dモデルとテクスチャ
3. モーション
4. 効果音(足音、武器を振る、ヒットする、回復する)
これだけあれば、unityで統合することで
twitterで数個いいねがつく見栄えのするものが作れます。
マップは?地形のテクスチャは?オブジェクト(壺樽宝箱)は?・・・
と思うかも知れませんが、ソウルライクの本質は上の4つです。
たった4種、・・・ですが、自分で用意するにはハードルは高いです。
そこでAssetStoreだ!!無料のものだけでも上はそこそこまかなえます!
今はいい時代になりました!
とか調子の良いことを言う人が最近多いですが、
先を見えずに走ってしまうと必ず頓挫します。
まずは冷静に、「自分がどこを作りたいか」を考えて下さい。
人によって色々パターンはあると思います。
A:インテグ派
とりあえず素材はあり物でいいから、ソウルライクっぽいのを作ってみたい。
B:デザイナ派
あり物の素材とかありえない。自分で世界観を表現したいので素材から全部作るのさ。
C:ハイブリッド派
ある程度素材は自分で用意するけど、限界があるから、それはAssetを使うよ。
私の場合は、Bに限りなく近いCでした。
ちなみに、Bの人はAの人の出すものがSNSで高評価されてると、
だいたい嫉妬すると思います。
まずソウルライクをB派でするのは、はっきり言って
かなり大規模な開発体勢を用意しないと、99.9%頓挫します。
10年以上かけて作るのもありですが、10年後には古き良きゲーム扱いです。
そして開発体勢を大きくするには、「カネの繋がり」が必要です。
人によってパターンはあるなんて都合の良いことを言いましたが、
完全なA派(すべて素材はありものを使う)もだいたい頓挫すると思います。
なぜなら、assetは充実しているように見えて、たかだかassetな部分があるからです。
特に、モーションですね。最近はasset storeのものも多少マシになりましたが、
一番作っていて本家ソウルシリーズとの差に挫折感を覚えるのは
間違いなくモーションです。そもそも、数あるコンシューマゲームの中でも、
ソウルシリーズのモーションの品質は特に高いと個人的には思っていて、
それと比べるのはおこがましいくらいです。
モーキャプだからリアルだとかそういう問題ではない。
もっさりしているからspeedを上げればいいとかそういう問題ではない。
アクションゲームには、それ用に設計すべきモーションがあります。
長くなりましたが、結論を言うと、
モーションは作れるようになっておくべき
です。そのためには、
3Dソフトを使えるようになっておくべき
です。
つまり、必須素材の効果音以外は、
配分の差こそあれ、とりあえず自分で用意できるようになる必要があります。
いきなりめちゃくちゃハードルの高いことを書きましたが、
逆に言うと、3Dソフトを使えて、モーションが作れたら、
ソウルライクゲームを自作できるんですよ。これはすごいことだと思います。
NOSEのゲーム紹介欄に開発期間3年半と書いてありますが、
この内の2年弱は3Dソフトの使い方習得と、モーションの練習です。
ここだけ聞くと、ソウルシリーズが好きすぎて
頭がおかしくなった人に見えるかも知れませんが、
全然努力したとかそういう気持ちはなくて、
ちょっとずつできるようになってくる快感でいつの間にか到達した感じがあります。
特にBlender(無料の最強3Dソフト)の使い方は一見さんお断り感がとてつもなく、
私も最初の3ヶ月で挫折しました。挫折した後、asset使いながらインテグを進めて行くうちに、
やっぱりBlenderなしではやっていけないことに気づき、
2回目の挑戦でついにBlenderとの和解に成功しました。
Blender攻略の最大の鍵は「体で覚える」です。
この話をすると長くなりそうなので、ここではやめておきますが、
やはり個人開発者向けにはBlenderができるようになってまず間違いはないです。
なお、3Dテクスチャに関しては、substance painterや3D coatを使うのが良いです。
Blenderはテクスチャ塗るのにはあまり向いていなくて、限界があります。
私は学生時代に3D coatの学生版を買い、今もそれを使っています。
4の効果音に関しては、ありがたいことに、asset意外にも様々な
無料素材サイトが存在し、これらを組み合わせることでそこそこ
違和感がないものに仕上げることはできます。
ただし、あえてここに全力を注ぐととんでもない作品ができそうな気もします。
さて、必須素材を用意できるようになったら次は
限りなく必須に近い、任意素材です。
◇任意素材
5. 地形モデル
6. 地形テクスチャ
7. UIテクスチャ
8. 追加武器モデル/テクスチャ
9. 8用のモーション
地形モデルはいわゆるマップとか、
広義ではレベルとも言うかも知れないです。
例えば、高低差のないダンジョン
をひたすら進んでいく感じのマップであれば、
Assetのダンジョンキットを買って組み立てれれば良いと思います。
また、unityのterrainツールで地形をもりもり作って、
木々を配置していくのも初心者にはやりやすくて良いと思います。
私の場合は高低差・探索感を出すためには、上記のいずれでもダメでしたので、
せっかく使えるようになった3DソフトBlenderですべてのマップを作成しました。
地形のテクスチャは、assetでも金を出せば満足に手に入りますし、
外に言って写真をとって加工すれば、自前でも用意できます。
私はお金はたくさんあったので、GameTextures.comというサイトで購入しました。
見栄えがリアル過ぎず、自分の用意する素材にある程度マッチしていたのが理由です。
UIですが、ソウルシリーズであれば、シンプルなものでもそこそこ見栄えがしますので、
inkscapeやgimpで自分で用意するのが良いと思います。assetで探すのもOKと思います。
追加武器のモデルはasset storeでたくさん手に入ります。
私はこだわりがあって、武器や盾、装備のモデルはすべて自分で作りました。
一方で、同じ種類の武器なら良いんですが、違う種類だと、
それ用にモーションを用意する必要がありかなり大変です。
ちなみにNOSEの武器種は全部で20弱。
各武器基本的に2つの弱攻撃モーションと、1つの強攻撃モーションを用意したので、
プレイヤーの攻撃モーションだけで全部で60個作りました。
すごく大変でしたが作業はとても楽しいですよ。
武器を使った攻撃モーションの難しさは、
「物を相手に作用させる動作」であるという点です。
魔法杖みたいにかざして適当に振るだけである程度、様になるわけではなく、
槍なら槍、斧なら斧、ハルバードならハルバードの作用点、作用角度があり、
さらに武器の長さも違ってくると、他モーションの流用はほぼできません…
そこが難しいところであり、かつ、モノになったときに快感を生み出す原点でもあります。
これも話すの長くなるので中断します。
さて、以上の素材が用意できれば、
後はunity(または私は使えませんがUE4)で組み立てるだけです。
素材を作るのも楽しいですが、だんだん自分の作ったものが一つのゲームに
形をなしていく瞬間は何事にも代えがたい感動があります。
unityではC#などでスクリプトを書くこと等で以下の処理をする必要がありますね。
1. インプット制御(コントローラーの入力制御)
2. 1の入力値を使用したplayer挙動の制御
3. 1の入力値を使用したcamera挙動の制御
4. ステータスの実装
5. 攻撃判定、当たり判定の実装
6. ゲーム進行の制御(ゲームオーバー等)
7. UIの制御
8. エネミーのAIの制御
これらを実装していくことになりますが、
初心者はこれだけでやる気を失ってしまいそうですね。
安心して下さい。
だいたいgoogleで検索すれば、誰かのメモがヒットしますので、
それを参考に写経→アレンジを繰り返せばいいだけです。
こちらも徐々に自分の思い通りの処理が実現できて楽しいですよ。
あと、難しそうに聞こえてるだけで実際やってみると大したことがないことが
非常に多いです。
例えば、8のエネミーAIなんて、すごく難しそうに見えますが、
プレイヤーに近づいてきて攻撃を繰り出せば、
それだけで立派なAIです。初心者でも1時間あればできます。
ちなみに上の8つの中だと、一番難しいのは3のカメラ制御です。
特に、障害物を避けるカメラは初心者にはなかなか手ごわいですよ。
ロックオンとか実装しだすと、その処理も必要ですし。
(もちろん8のAIも突き詰めればとても難しい分野になりえますが、
あくまで趣味開発の範囲でいうと、ということです)
そこから、更に必要な処理があれば、その都度自前で用意することになります。
以上、ざっくりと作り方を述べましたが、
どうです?できそうでしょう?
最後に、参考までにすごくざっくりとNOSEのワークフローをご紹介します。
番号書いてますが、実際は結構バラバラだったり、
気が向いたものから手を付けたりしてます。
①プレイヤー3Dモデルを作製(Blender)

②武器3Dモデル作製(Blender)

③武器テクスチャ作製(3Dcoat)

④攻撃モーション作製

⑤エネミー3Dモデル作製(Blender)

⑥エネミーテクスチャ作製(3Dcoat)

⑦エネミーモーション作製(Blender)

⑧キャラクタ制御実装/テスト(Unity)

⑨マップモデリング(Blender)


⑩マップ配置 コリジョン/マテリアル設定(Unity)


⑪プレイ画面

プレイヤーの武器を追加する場合は②③をその数だけ繰り返しますし、
エネミーを追加する場合は、⑤~⑧を、
マップを追加する場合は、⑨⑩を繰り返します。
もちろん視覚的に判別できない大量の処理をC#で書いていますし、
ここには載せていませんが、UIの挙動制御、NPCのイベント、
カットシーンなどもけっこう時間をかけて作っています。
そしてその都度、処理が遅くなったりするとprofilerで原因探して、最適化したりして・・・
載せた写真はそれなりに見栄えのするものですが、
一番初期、手探りで初めてBlenderやunityを触ったときはこんな感じでした。


この頃は、ゼルダっぽいのを作ろうとしていた気がします。
SPATZ氏の「リノライトの冒険」に感動して、
これが目標でした。私の当時のスペックは完全に素人。
(ブログの過去の記事を読めば分かると思います)
大学の専門も一切関係なく、デザインもプログラミングも素人です。
NOSEをリリースした今は、それなりに経験のある素人、といった感じです。
ソウルシリーズに対する愛情と根気が取り柄です。
自分語りが入ってしまいましたが、
unityでソウルライクなアクションゲームを作りたい人、
参考になりましたでしょうか?
自分はいつまでも素人ですので、学ぶべきことは多いですし、
unityもどんどん進化していますので、追いかけるのも大変です。
ここに書いたことも、5年後には、うわっこんなことやってたんだ・・・と思うかも。
SNSでは色んな人が色んなゲームを作っていて、
自分のやつよりよく見えて悔しくなったり、
自分のやつよりクオリティ低いのに何故か話題になって悔しかったり、
精神的にも結構タフさが要求されますが、それを含めても
ゲームを作るのはとにかくとても楽しいので、
是非、unity, blender触ってアクションゲーム作って下さい!
ご質問あれば、コメントでなんでもどうぞ。
上から優先順位が高いつもりです。
◇必須素材
1. プレイヤーと武器の3Dモデルとテクスチャ
2. エネミーの3Dモデルとテクスチャ
3. モーション
4. 効果音(足音、武器を振る、ヒットする、回復する)
これだけあれば、unityで統合することで
twitterで数個いいねがつく見栄えのするものが作れます。
マップは?地形のテクスチャは?オブジェクト(壺樽宝箱)は?・・・
と思うかも知れませんが、ソウルライクの本質は上の4つです。
たった4種、・・・ですが、自分で用意するにはハードルは高いです。
そこでAssetStoreだ!!無料のものだけでも上はそこそこまかなえます!
今はいい時代になりました!
とか調子の良いことを言う人が最近多いですが、
先を見えずに走ってしまうと必ず頓挫します。
まずは冷静に、「自分がどこを作りたいか」を考えて下さい。
人によって色々パターンはあると思います。
A:インテグ派
とりあえず素材はあり物でいいから、ソウルライクっぽいのを作ってみたい。
B:デザイナ派
あり物の素材とかありえない。自分で世界観を表現したいので素材から全部作るのさ。
C:ハイブリッド派
ある程度素材は自分で用意するけど、限界があるから、それはAssetを使うよ。
私の場合は、Bに限りなく近いCでした。
ちなみに、Bの人はAの人の出すものがSNSで高評価されてると、
だいたい嫉妬すると思います。
まずソウルライクをB派でするのは、はっきり言って
かなり大規模な開発体勢を用意しないと、99.9%頓挫します。
10年以上かけて作るのもありですが、10年後には古き良きゲーム扱いです。
そして開発体勢を大きくするには、「カネの繋がり」が必要です。
人によってパターンはあるなんて都合の良いことを言いましたが、
完全なA派(すべて素材はありものを使う)もだいたい頓挫すると思います。
なぜなら、assetは充実しているように見えて、たかだかassetな部分があるからです。
特に、モーションですね。最近はasset storeのものも多少マシになりましたが、
一番作っていて本家ソウルシリーズとの差に挫折感を覚えるのは
間違いなくモーションです。そもそも、数あるコンシューマゲームの中でも、
ソウルシリーズのモーションの品質は特に高いと個人的には思っていて、
それと比べるのはおこがましいくらいです。
モーキャプだからリアルだとかそういう問題ではない。
もっさりしているからspeedを上げればいいとかそういう問題ではない。
アクションゲームには、それ用に設計すべきモーションがあります。
長くなりましたが、結論を言うと、
モーションは作れるようになっておくべき
です。そのためには、
3Dソフトを使えるようになっておくべき
です。
つまり、必須素材の効果音以外は、
配分の差こそあれ、とりあえず自分で用意できるようになる必要があります。
いきなりめちゃくちゃハードルの高いことを書きましたが、
逆に言うと、3Dソフトを使えて、モーションが作れたら、
ソウルライクゲームを自作できるんですよ。これはすごいことだと思います。
NOSEのゲーム紹介欄に開発期間3年半と書いてありますが、
この内の2年弱は3Dソフトの使い方習得と、モーションの練習です。
ここだけ聞くと、ソウルシリーズが好きすぎて
頭がおかしくなった人に見えるかも知れませんが、
全然努力したとかそういう気持ちはなくて、
ちょっとずつできるようになってくる快感でいつの間にか到達した感じがあります。
特にBlender(無料の最強3Dソフト)の使い方は一見さんお断り感がとてつもなく、
私も最初の3ヶ月で挫折しました。挫折した後、asset使いながらインテグを進めて行くうちに、
やっぱりBlenderなしではやっていけないことに気づき、
2回目の挑戦でついにBlenderとの和解に成功しました。
Blender攻略の最大の鍵は「体で覚える」です。
この話をすると長くなりそうなので、ここではやめておきますが、
やはり個人開発者向けにはBlenderができるようになってまず間違いはないです。
なお、3Dテクスチャに関しては、substance painterや3D coatを使うのが良いです。
Blenderはテクスチャ塗るのにはあまり向いていなくて、限界があります。
私は学生時代に3D coatの学生版を買い、今もそれを使っています。
4の効果音に関しては、ありがたいことに、asset意外にも様々な
無料素材サイトが存在し、これらを組み合わせることでそこそこ
違和感がないものに仕上げることはできます。
ただし、あえてここに全力を注ぐととんでもない作品ができそうな気もします。
さて、必須素材を用意できるようになったら次は
限りなく必須に近い、任意素材です。
◇任意素材
5. 地形モデル
6. 地形テクスチャ
7. UIテクスチャ
8. 追加武器モデル/テクスチャ
9. 8用のモーション
地形モデルはいわゆるマップとか、
広義ではレベルとも言うかも知れないです。
例えば、高低差のないダンジョン
をひたすら進んでいく感じのマップであれば、
Assetのダンジョンキットを買って組み立てれれば良いと思います。
また、unityのterrainツールで地形をもりもり作って、
木々を配置していくのも初心者にはやりやすくて良いと思います。
私の場合は高低差・探索感を出すためには、上記のいずれでもダメでしたので、
せっかく使えるようになった3DソフトBlenderですべてのマップを作成しました。
地形のテクスチャは、assetでも金を出せば満足に手に入りますし、
外に言って写真をとって加工すれば、自前でも用意できます。
私はお金はたくさんあったので、GameTextures.comというサイトで購入しました。
見栄えがリアル過ぎず、自分の用意する素材にある程度マッチしていたのが理由です。
UIですが、ソウルシリーズであれば、シンプルなものでもそこそこ見栄えがしますので、
inkscapeやgimpで自分で用意するのが良いと思います。assetで探すのもOKと思います。
追加武器のモデルはasset storeでたくさん手に入ります。
私はこだわりがあって、武器や盾、装備のモデルはすべて自分で作りました。
一方で、同じ種類の武器なら良いんですが、違う種類だと、
それ用にモーションを用意する必要がありかなり大変です。
ちなみにNOSEの武器種は全部で20弱。
各武器基本的に2つの弱攻撃モーションと、1つの強攻撃モーションを用意したので、
プレイヤーの攻撃モーションだけで全部で60個作りました。
すごく大変でしたが作業はとても楽しいですよ。
武器を使った攻撃モーションの難しさは、
「物を相手に作用させる動作」であるという点です。
魔法杖みたいにかざして適当に振るだけである程度、様になるわけではなく、
槍なら槍、斧なら斧、ハルバードならハルバードの作用点、作用角度があり、
さらに武器の長さも違ってくると、他モーションの流用はほぼできません…
そこが難しいところであり、かつ、モノになったときに快感を生み出す原点でもあります。
これも話すの長くなるので中断します。
さて、以上の素材が用意できれば、
後はunity(または私は使えませんがUE4)で組み立てるだけです。
素材を作るのも楽しいですが、だんだん自分の作ったものが一つのゲームに
形をなしていく瞬間は何事にも代えがたい感動があります。
unityではC#などでスクリプトを書くこと等で以下の処理をする必要がありますね。
1. インプット制御(コントローラーの入力制御)
2. 1の入力値を使用したplayer挙動の制御
3. 1の入力値を使用したcamera挙動の制御
4. ステータスの実装
5. 攻撃判定、当たり判定の実装
6. ゲーム進行の制御(ゲームオーバー等)
7. UIの制御
8. エネミーのAIの制御
これらを実装していくことになりますが、
初心者はこれだけでやる気を失ってしまいそうですね。
安心して下さい。
だいたいgoogleで検索すれば、誰かのメモがヒットしますので、
それを参考に写経→アレンジを繰り返せばいいだけです。
こちらも徐々に自分の思い通りの処理が実現できて楽しいですよ。
あと、難しそうに聞こえてるだけで実際やってみると大したことがないことが
非常に多いです。
例えば、8のエネミーAIなんて、すごく難しそうに見えますが、
プレイヤーに近づいてきて攻撃を繰り出せば、
それだけで立派なAIです。初心者でも1時間あればできます。
ちなみに上の8つの中だと、一番難しいのは3のカメラ制御です。
特に、障害物を避けるカメラは初心者にはなかなか手ごわいですよ。
ロックオンとか実装しだすと、その処理も必要ですし。
(もちろん8のAIも突き詰めればとても難しい分野になりえますが、
あくまで趣味開発の範囲でいうと、ということです)
そこから、更に必要な処理があれば、その都度自前で用意することになります。
以上、ざっくりと作り方を述べましたが、
どうです?できそうでしょう?
最後に、参考までにすごくざっくりとNOSEのワークフローをご紹介します。
番号書いてますが、実際は結構バラバラだったり、
気が向いたものから手を付けたりしてます。
①プレイヤー3Dモデルを作製(Blender)

②武器3Dモデル作製(Blender)

③武器テクスチャ作製(3Dcoat)

④攻撃モーション作製

⑤エネミー3Dモデル作製(Blender)

⑥エネミーテクスチャ作製(3Dcoat)

⑦エネミーモーション作製(Blender)

⑧キャラクタ制御実装/テスト(Unity)

⑨マップモデリング(Blender)


⑩マップ配置 コリジョン/マテリアル設定(Unity)


⑪プレイ画面

プレイヤーの武器を追加する場合は②③をその数だけ繰り返しますし、
エネミーを追加する場合は、⑤~⑧を、
マップを追加する場合は、⑨⑩を繰り返します。
もちろん視覚的に判別できない大量の処理をC#で書いていますし、
ここには載せていませんが、UIの挙動制御、NPCのイベント、
カットシーンなどもけっこう時間をかけて作っています。
そしてその都度、処理が遅くなったりするとprofilerで原因探して、最適化したりして・・・
載せた写真はそれなりに見栄えのするものですが、
一番初期、手探りで初めてBlenderやunityを触ったときはこんな感じでした。


この頃は、ゼルダっぽいのを作ろうとしていた気がします。
SPATZ氏の「リノライトの冒険」に感動して、
これが目標でした。私の当時のスペックは完全に素人。
(ブログの過去の記事を読めば分かると思います)
大学の専門も一切関係なく、デザインもプログラミングも素人です。
NOSEをリリースした今は、それなりに経験のある素人、といった感じです。
ソウルシリーズに対する愛情と根気が取り柄です。
自分語りが入ってしまいましたが、
unityでソウルライクなアクションゲームを作りたい人、
参考になりましたでしょうか?
自分はいつまでも素人ですので、学ぶべきことは多いですし、
unityもどんどん進化していますので、追いかけるのも大変です。
ここに書いたことも、5年後には、うわっこんなことやってたんだ・・・と思うかも。
SNSでは色んな人が色んなゲームを作っていて、
自分のやつよりよく見えて悔しくなったり、
自分のやつよりクオリティ低いのに何故か話題になって悔しかったり、
精神的にも結構タフさが要求されますが、それを含めても
ゲームを作るのはとにかくとても楽しいので、
是非、unity, blender触ってアクションゲーム作って下さい!
ご質問あれば、コメントでなんでもどうぞ。
スポンサーサイト
category: ゲーム