勉強会のレポート(メモ)です。
参加したのはこちら「unity1week online共有会 #17」
アーカイブはこちら
- unity1week共有会って何?
- LT1 : ドーナツの穴の作り方
- LT2 : 最速3分! ミニマムなアドベンチャーゲームを作る
- LT3 : ライブラリScenarioFlowの使い方(f0rM!sia.S3nd$ignal();の場合)
- LT4 : 2Dアクションゲームにおける非破壊ワークフロー
- LT5 : unityroom-sdkを用いたランキング実装
- LT6 : 短期間のチーム開発でマスターデータ入力タスクを分散したい!
- LT7 : unity1week初参加でわかったことと振り返り
- LT7 : 8番ライクの作り方
- 感想
unity1week共有会って何?
unity1weekでいろんなゲームを遊んでいると
「どういう実装をしているんだろう」「どんな人が作っているのか」など気になることがいっぱい!それら気になることを直接聞けばいいじゃん!というのがunity1week共有会の始まりで、
みんなで学んで成長することが趣旨です。
unity1weekについてはこちら
Unity 1週間ゲームジャム | フリーゲーム投稿サイト unityroom
今回は8人の発表者にトークしていただきました。
過去回はこちら
以下各LTの感想とか簡単なまとめ
LT1 : ドーナツの穴の作り方
ドーナツの穴を作るうえでどういうことを考えていたかというお話でした
開発面でやってよかったこと
- 開発メンバーとの生活リズムが違うのでNotionを使って置手紙式の情報共有をした
- 価値観のすり合わせを大事にした
アイディアの出し方
- マインドマップツール「SimpleMindPro」を活用
- アイディアを出すことは大事だが、スムーズにアイディアを出していける環境も大事
- 共通言語も大事(例え話など)
まとめ
- 個々の能力を活かそう
- アイディアを出しまくろう
- プレイヤーにどう思ってほしいか考えよう
- 軸をしっかり持とう
LT2 : 最速3分! ミニマムなアドベンチャーゲームを作る
実質4日でアドベンチャーゲームを作った方法の紹介
グラフィック
文字には個性がある、ローカライズをしてきた経験から誰にでも伝わる数字をキャラクターにした
影はSpriteを変形して表現する
ゲームシナリオ
複雑でも現実の現象になぞらえた方が理解してもらいやすい(ウェイソンの選択課題)
数字がキャラクターなので組織を舞台に、キャラクターはエージェントに見立てる
謎解きをどうするか
- キャラが数字なので数字パズルに
- メモしなくてもいい仕組みにした
- 論理的に解けるかはChatGPTで確認
- 失敗しても最終的に解説画面は見れるようにする
LT3 : ライブラリScenarioFlowの使い方(f0rM!sia.S3nd$ignal();の場合)
Unityでノベルゲームを作る時にオススメのライブラリ
「ScenarioFlow」の紹介
scenarioflow-lab.dotprologue.com
特徴
ノベルゲームに欠かせない基本的な機能は入っていない
プロジェクトに依存しない機能はScenarioFlowが、依存する機能は開発者が実装すべきという思想に沿っている。
プロジェクトに依存する機能がライブラリ側にあると、改造や理解に時間がかかる。
いらない機能を省くのも大変。そういう経験をした人向け。
よかった所
サンプルがある(基本機能あり)、これを拡張して作るのもよし
個人的につまったところ
キャンセル処理などのトークンコードは逆引き必須
LT4 : 2Dアクションゲームにおける非破壊ワークフロー
AsepriteImporterとTimelineを使って、非破壊ワークフローを作ろうというお話。
従来の破壊的ワークフローは前の工程が終わっていないと次に移れず、前の工程を更新したら後の工程がやり直しになる。
Timelineを使いAnimationClipの再生、当たり判定の設定をし、これらを同時に再生する。
これなら、スプライトが更新されても判定を作り直す必要がなくなる。
Animatorも使いたくないので、PlayableDirectorでTimelineを再生するようにする。
この時、1つのPlayableDirectorだけを使いTimelineAssetを入れ替えるようにするのではなく、
複数のPlayableDirectorを使ったほうが良い。
LT5 : unityroom-sdkを用いたランキング実装
unityroom-sdkの紹介とunityroomのランキング機能について
unityroomのランキング実装にunityroom-client-libraryが使われているが、
それとは別にAnnulusさんがunityroom傘下でunityroom-sdkというライブラリを開発しています。
.NETスタンダードに沿った設計になっていて、パフォーマンスもこちらが上。
今後追加される新しいAPIもこっちでサポート予定。
ほか、具体的な使い方としてupmからのインストールからランキングの送信まで解説されました(動画参照)
LT6 : 短期間のチーム開発でマスターデータ入力タスクを分散したい!
ゲームのマスタデータ管理に、手軽にチーム内で共有できて便利なGoogle スプレッドシートを活用。
Unityへの連携方法として、UniMasterLinkerライブラリを使ったというお話でした。
LT7 : unity1week初参加でわかったことと振り返り
今回メンバー間で決めた目標は、締め切り厳守すること、物理演算を工夫すること、
クスっと笑えるバカバカしさを入れる。
締め切り厳守
メンバー間で合意。しっかり寝ることでモチベーションを維持。
その代わりいくつか考えていたアイデアも、時間の都合でスッパリ諦める。
物理演算の工夫
ハンマーはキャラクターから引力を受けるようにする。
ハンマーの行方を見守りたくなる難易度に。
クスっと笑えるバカバカしさを入れる
和尚とおもちゃのハンマーという普通じゃ考えられない組み合わせと、酔っぱらった人々をモチーフにして絵面を工夫する。
挙動が独特で何度か失敗するような難易度だが、失敗時のテキストを複数パターン用意して自分から失敗したくなるようにしてみる。
反省点
・どういう進め方をするかを決めずに着手してしまった
・操作性の都合上、マウスを画面外に出す必要があるがフルスクリーンを考慮していなかった
・コンセプトの決定、テーマ「ない」をどう落とし込むかなかなか決められなかった
LT7 : 8番ライクの作り方
8番ライクゲームを作るまでのお話。
最初に作っていた「いわし」のゲーム、面白くなる気配が見えなくなったとき、
ちょうど8番出口映画化のニュースが流れてきた。
そこから「8番いわし」を思いついた。圧倒的天啓
8番ライクになることで面白くなったポイント
- 海底に異変を作る。怖い異変ではなくかわいい異変にしてみる
- ただ単にボタンを押すのではなく、海底にいるいわしを見つけて増やす
- いわしが増えると画面が埋められ異変が見つけづらくなるジレンマが生まれた
まとめ
途中でつまらないと思ってもあきらめないで、
途中で間に合わないと思ってもあきらめないで、
どこか(身の回りのニュース)にヒントがあるかも!
感想
どのLTも素晴らしいですが、
個人的にささったのが「LT3 : ライブラリScenarioFlowの使い方(f0rM!sia.S3nd$ignal();の場合)」です。
機能がたくさんあるライブラリではなく、機能を作りやすくするためのライブラリというところがいいですね。
多機能&高性能なアセットは独自機能を追加しようとした途端大変になり、
結局自作した方早くね状態になりがちなんですがScenarioFlowだとその辺大丈夫そう。
(CorgiEngineやTopDownEngineで泣かされた人をたくさん見てきたからね...)
以上です。