Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
1週間でノベルゲームはつくれるか
Search
かくひと
August 30, 2025
0
25
1週間でノベルゲームはつくれるか
ノベルゲームを1週間で作った知見を共有します。
1. ステートマシン
2. 話作り
3. ノベルゲームぽくすること
かくひと
August 30, 2025
Tweet
Share
More Decks by かくひと
See All by かくひと
等身大のゲームづくり
kakuhito
0
58
クッキークリッカーは1週間で作れるか?
kakuhito
0
260
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
What's in a price? How to price your products and services
michaelherold
246
12k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Rails Girls Zürich Keynote
gr2m
95
14k
Balancing Empowerment & Direction
lara
4
650
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Unsuck your backbone
ammeep
671
58k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Transcript
1週間でノベルゲームはつくれる? かくひと
自己紹介 ⚫ パズル/ノベル好き ⚫ unity1weekは7回参加 (@kaku_suke_33) かくひと
⚫昔の親友を花火大会に誘いたい けど、どこか変わっていて ⚫電話で興味を「ひく」ゲーム つくった作品: 『 もしもし、しんゆう 』 うすいしおさんとの 共同作品
⚫ ここまで分岐が複雑なものははじめて ⚫ 工数の見積もりが甘く、けっこう苦労した ⚫ その知見を共有できたら...... ノベルゲームつくった
1. ステートマシン 2. 話作り 3. ノベルゲームぽくすること 難しかったこと
ステートマシンが難しい
ノベルゲームにおけるステートマシンとは? 今回複雑な分岐が多かったので 必要だと判断 ⚫ シナリオ進行状態を管理する ⚫「ステート」と「矢印」で構成 冒険に行くの じゃ YES No
好きなポ〇モン を選ぶのじゃ
ノベルゲームの進行はこの3つでできる(はず) 1. 自動進行 2. 選択肢による進行 3. ...? 1,2のみ実装して進めていった
最初のコード 結構いいのでは? async UniTask RunGameLoop(StateMachine sm, CancellationToken cancellationToken) { while
(true) { var (chatLines, canAuto) = sm.Enter(); // ステートに入る await ProcessChat(chatLines, cancellationToken); // チャット進行 // ①自動進行 if (canAuto) { sm.MoveByAuto(); } // ②アイテム選択による進行 else { var selectedItem = await WaitForItemSelection(cancellationToken); sm.MoveByItem(selectedItem.Value); } } }
後々のコード なにか、へん......(最終的に3,4百行に) async UniTask RunGameLoop(StateMachine sm, CancellationToken cancellationToken) { while
(true) { var (chatLines, canAuto) = sm.Enter(); // ステートに入る await ProcessChat(chatLines, cancellationToken); // チャット進行 if (A1についた) { if (Flagを通ったことがある) C1に行く; else B1に行く; } if (A2についた) { if (A3についた) { if (A4についた) { : : // ①自動進行
3が足りなかった 1. 自動進行 2. 選択肢による進行 3. 条件進行 この3つが揃えばステートマシンで ノベルゲーム進行できる(はず) •
フラグ達成による進行 • 一度読んだ文章を短縮版に差し替え
所感 ⚫ 小規模作品であれば自作でもできそう ⚫ これ以上複雑になるならライブラリを使ったほうがよさそう
話の作りこみが難しい
起・転・結はわりとすぐできた 旧友に電話をかけよう ゲーム部分 夏も終わるし花火大会に行きたい うまくいかなかったりうまくいったりする エンディング 電話でうまいこと興味をひく 起 転 結
承
「承」が難しい ⚫一番長い、かつゲームとして遊ぶ部分 ⚫何書いてもいいがゆえに自由すぎてつらい
「承」に遊びごたえをつくる ⚫ 選択進行と条件進行を使いたおしたい ⚫『逆転裁判』にならい、特定のアイテムを出すタイミングをつくる カラオケよく 行ってたな オオカミ娘 好きだったよね SNSで見たけど 花火大会の会場で
ライブするんだって! 特定アイテム 次の話題選び 大事かも...! この流れを軸にして、メインの話、サブの話を作っていった
「制約をつくって探索」をくりかえす Discordのようす 何の話題で興味をひく? Q. 制約:過去と今で価値観かわってそうなもの 親友が好きだった「食べ物 / ゲーム / 音楽」
具体的に何にする?(固有名詞も) Q. 制約:オオカミやケモノ関連 「肉 / ジャングルマスター / オオカミ娘」
ノベルゲームぽくすることが難しい
ノベルゲームぽくする機能 文字送り トランジション ⚫ TMPに1文字置く→待つ(UniTask.Delay)の繰り返し ⚫ 終わるまで文字送りの音をループし続ける ⚫ フラッシュ:上に白画像おいて透明度イージング ⚫
(もうちょっと凝りたかった)
その他アニメーション(うすいしおさん作) 雲 アイテム獲得 2枚の画像でループ ⚫ 透明度を濃くする + ひょこっ ⚫ ひょこっ:Rotate
+ Yoyo
おわりに
⚫ 小規模にノベルゲームをつくれて経験になった ⚫ ステートマシンの勉強になった ⚫ ノベルゲームとしての機能部分をつくる経験になりました ⚫ ライブラリ使ったり自作で作ったりしてみたい ⚫ 共同制作楽しかった
⚫ 絵がとてもかわいかった ⚫ ストーリーや実装を いっしょにわいわい作れてよかった 感想
Thank You For Listening!