以下の内容はhttps://raspberly.hateblo.jp/entry/unity1weekOnlineMeetup19より取得しました。


【勉強会レポ】: unity1week online共有会 #19

勉強会のレポート(メモ)です。
参加したのはこちら「unity1week online共有会 #19

u1w-sharing.connpass.com

ハッシュタグ : #u1w共有会



 

アーカイブはこちら

www.youtube.com

 

unity1week共有会とは

unity1weekでいろんなゲームを遊んでいると
「どういう実装をしているんだろう」「どんな人が作っているのか」など気になることがいっぱい!

それら気になることを直接聞けばいいじゃん!というのがunity1week共有会の始まりで、
みんなで学んで成長することが趣旨です。

unity1weekについてはこちら

Unity 1週間ゲームジャム | フリーゲーム投稿サイト unityroom

今回は8人の発表者にトークしていただきました。

 

過去回はこちら

lycoris102.notion.site

 

 

 

 

 

 

以下各LTの感想とか簡単なまとめ

 

LT1 : 太陽系制覇への道のり~『GEOCENTER』の作り方

GEOCENTERの作り方の紹介をされました。

  • キャラクターデザインに惑星の性質や歴史を元ネタにしている
  • UIやシーン構成にSF的表現を使っている
  • 各惑星との試合に個性をつけ差別化を目指す
  • ゲームは8連戦するので、プレイヤーが飽きないよう必ず「30秒」で決着がつくようにする
  • BGMも30秒で終わるようにしているが短期決戦は難しくし、30秒間戦って判定勝ちできるような調整をしている(BGMをフルで聞いてほしいため)
  • BGMはゲームの進行に合わせて段階(4段階)ごとにメロディーを分類、各惑星ごとにアレンジをつける

 

 

LT2 : 企画・世界観・シナリオの自己流ビルド ~ChatGPTを添えて~

今まで企画やシナリオを書いてきた知見を話されました。

 

コンセプト、テーマ:お題発表前はメンバー間で好みや作風を、発表後はお題についてブレストして決める

ストーリーの大目標:フォーマットを作成しChatGPTに相談、そこから改良をする

ゲームシステム:過去に遊んだシミュレーションゲームから分析し、嗚呼タマに丸投げ

世界観&キャラ:コンセプト+大目標+ゲームシステムから舞台設定など考え、世界観ができたらアートとサウンドに渡す(イメージを共有したまま作業できるので早めに行う)

仕上げ:設定不足や辻褄合わせをChatGPTに校正してもらう

シナリオ:短さを意識しテンポをよくする。セリフは少な目にする

 

 

LT3 :  1週間でノベルゲームは作れるのか?

もしもし、しんゆう」で苦労した知見の共有。

ステートマシン

今回は分岐が多いノベルゲームなので、シナリオの進行状態をステートで管理しました。
「自動進行」と「選択肢による進行」「フラグによる条件進行」を行う。条件進行を忘れていたので苦労した。
小規模な作品なら自作でもいいが、それ以上の規模ならライブラリを使った方がよさそう。

話の作りこみ

起承転結の転が難しい。
まず承に遊びごたえを作る、条件進行を使って適切な選択を選ばせる。

ノベルゲームっぽくする

文字送り、トランジションをつける(トランジッションは共有会#13を参考)

youtu.be

 

 

 

LT4 : ADV+ミニゲームには工数が沢山

惹き引きカクテルバー」を作った時の振り返り

コンセプトが固まってもゲーム面などをメンバーと深く共有しないで作り始めるとあぶない

ストーリーが曖昧なままで進めると難航する。
話し合いとしておかないと知れ違いや衝突が発生する。

作業割り振りの質問には曖昧に答えないようにしたほうがいい

質問の回答を後回しにしない。
やらないことは「やらない」とハッキリ伝えたほうがいい。

ADVのイベント作成は一気に書いて後でまとめて確認するほうが効率よさそう

セリフの入れ込みが大変、演出など実装自体は難しくないがテストプレイが大変。
一つ追加するごとにテストしていて大変だった。

クレジットを書くときのために事前にまとめておく

フォントなどのライセンスは事前にまとめておこう。

 

 

LT5 : 「ペン先は呼吸を数えている。」の設計

ローグライク設計手法の紹介。MVPを使用しています。

Model

MonoBehaviourを使わないPureC#で作成、衝突判定も自前で実装。
このゲームではArch ECSというライブラリを使用。
Model側の状態管理は全ての状態を1つの構造体で定義。Modelは「状態」と「状態の操作」2つで構成。
ModelのUpdateを呼ばなくすることでTime.timeScaleよりも確実に止めることができる。

Presenter

ゲームループはPresenterで行う。
処理ごとにasyncメソッドとして定義し順番に呼び出す。
VContainer使用し、Model View Presenter全てでミュータブルなstatic変数が存在しないようにした。

 

ECSについてはこちら

youtu.be

 

 

LT6 : インディーゲームのためのCI/CD入門

unity1weekでCI/CDをしてみたお話の紹介。

CI/CDとは、定期的にビルドやテストを実行し(CI)、リリース可能な成果物を作成する(CD)こと。

技術選定

今回は自動ビルド、コードの静的解析、パッケージの配布と展開を行いました。
コード管理はGit、CI/CDはGithubActions、静的解析はdotnet format、デプロイ先はGithubPages。
夜中に定期的に自動ビルドするよう設定、GithubPagesでプレイできるようにする。

やってみた感想

リリース直前に焦ることがなくなった
仕事が多忙でも、ビルドが通っているので安心して機能追加ができた
次回は自動テストとパフォーマンス可視化に挑戦したい

 

 

 

LT7 : 『”ちくわ”修正が間に合わなかったので、黒線を引きまくる話。』を、締め切りに間に合うように作った話。

docs.google.com

面白くて飽きないゲームデザインで魅力的なイラストでチーム制作したゲームでなくても遊んでもらうようにするお話。

遊んでもらうタイミング

締め切りに間に合わせる。
(体感)一番遊ばれるのは、締め切り~週の前半まで。ここを逃さない。

ゲームデザイン

30秒~1分で”競う”ミニゲームを狙う。
ミニゲームなら短い納期でも工夫を詰め込める。
すぐ終わる”競う”ミニゲームは、コアユーザーにもライトユーザーにもやさしい。

絵作り

絵が描けなくても面白い絵面や奇妙な光景は作れる。
今回はフリー素材も活用し、架空漫画風の絵作りをした。

個人製作のこだわり

個人でしか出せない”こだわり”を売りにしよう。
魅力的なゲームとは独自性や新規性などの「ここでしかみられない」もののこと。
魅力を出すには個人がもっている”こだわり”や”興味”などの熱量を武器にしよう。
今回であれば、「ちくわ×磯辺揚げ」の同人誌をこだわって作った。

 

個人開発では、チーム開発で他メンバーに受け入れられないような強烈なこだわりを武器にしよう
”こだわり”を試行錯誤しながら強くなるのにunity1weekはオススメ。

 

 

 

LT8 : 設計から始めよ!高速でゲームを開発するための設計の始め方

ゲームを作る前の設計をオススメするお話。

設計をやるメリット

実装する前に必要な機能を洗い出せる。
完成までのスケジュールの予定と、工数の見積もりのズレを減らせる。
AI生成によるコーディングの質が上がる。

 

(シンプルなゲームでの)設計は、画面遷移図簡易クラス図からはじめるのがおすすめ。

画面遷移図

ゲーム内で必要な画面の一覧を作る、各画面にどのような情報を出すかをあらかじめ決めておく。
おすすめのツールはFigma、手書きでやるのもあり。

簡易クラス図

クラスと関係性を整理した図のこと。
共有のデータ・挙動・固有のオブジェクト・UIを分類し、関係性を矢印で表示。
簡易クラス図をAIに読み込ませるだけで精度の高いスクリプトを作成してくれる。
おすすめツールはPlantUMLとDrawIO。

まとめ

開発前に設計をすると、設計に割く時間を考慮しても全体の工数を減らせる

 

 

 

 

 

感想

どのLTも素晴らしいですが、
個人的によくささったのが「LT6 : インディーゲームのためのCI/CD入門」と
LT7 : 『”ちくわ”修正が間に合わなかったので、黒線を引きまくる話。』を、締め切りに間に合うように作った話。」ですね。

LT6 : インディーゲームのためのCI/CD入門

WebGL向けに開発すると、動かない機能がある、フォントが表示されない、音が出ないなどがたびたび発生します。
使ってるアセットやライブラリがWebGLだと動かなかったり、そもそもビルドが通らないとか...

そのため毎日感謝のWebGLビルドをすることは大事なんですが、なかなかやる余裕がなかったりして、
投稿直前で大慌てしがち。(投稿前に初めてビルドする~とかだと絶対修羅場になる)
そういうのを解決するのにとてもよさそう!

 

「LT7 : 『”ちくわ”修正が間に合わなかったので、黒線を引きまくる話。』を、締め切りに間に合うように作った話。」

いわゆる個人開発時の心構え的なやつ。
チーム開発と個人開発だと、どうしてもチームの方がいいものができる(アイデアの幅とか、開発規模の違いとか、各メンバーの専門性発揮とかによる高いクオリティ)と思いがちですが、個人ならではの熱量とこだわりを武器するという発想はすばらしい!

 

 

 

以上です。




以上の内容はhttps://raspberly.hateblo.jp/entry/unity1weekOnlineMeetup19より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14