3Dランゲーム:自主製作ゲーム

OVERVIEW

Unity/C#の独学の成果の一つとしてStandaloneバージョンのランゲームを製作しました。 以下で公開しています。 https://unityroom.com/games/pawn-run

タイトル:PAWN RUN

プラットフォーム:WebGL (unityroom)

ジャンル:チェス駒ランゲーム

ゲームエンジン:Unity2020.3.14

制作期間:1カ月

担当:エンジニア (ゲームシステム・ステージギミック・UI etc)

制作人数:1人 (企画・エンジニア)

試遊リンク:

Github:




■学んだこと

  • Unityにおける3Dゲーム開発の基本(各種コンポーネント、サウンド、入力制御)
  • ライセンス関係(Unityライセンス、MIT)無難なライセンスを選ぶと良いこと
  • シェーダーを書く難しさ。行列、ベクトルの計算より、見た目の再現をコードに落としこむことが難しい。

■ゲームコンセプト

今回目指した内容は以下になります!!

  • 気軽にできる
  • 操作は複雑にしない
  • 直感的にゲームシステムが伝わる
  • 短期間で作成できる

以上の内容で考えて、ランゲームに落ち着きました。マウスがあればいつでも出来、時間がなくてもインゲームにすぐ移れます。


■レベルデザイン

・基本はスコアアタックで、長く走りつづけることでスコアが上がる

難易度は走行距離に応じて上がるが、スコアの上昇率も大きくなる。


・スコアを上げる要素として、進路上の障害物をフッ飛ばすことで大きくスコアを上げられる。

・「避ける」、「吹っ飛ばす」を同一の動作とし、回避or排除の2択を進路の障害物配置から考えさせる。

・単純なスコアアタックでは飽きるので、ハイスコアに応じて小規模ながらスキン解放を設けた。


■苦労したこと

・スキンはシェーダーに手を出して自作しました。凝ったシェーダーではないが、Unity独自のシェーダー言語もHLSLも知らないといけないことが多く、上記動画程度でも大変苦労した。

しかし、この程度であればURPのシェーダーグラフで簡単に作れると思うので、今後3D開発はURPで開発を検討するきっかけになった。


・エリアを消去することで処理落ちに対応しました。

渡り終えたエリアを永遠に残しておくと、その分負荷がかかってカクつくため、渡り終わったタイミングで消去するようにしました。








WEBSITE