Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
60
クッキークリッカーは1週間で作れるか?
kakuhito
0
280
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
2
200
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Technical Leadership for Architectural Decision Making
baasie
0
180
We Are The Robots
honzajavorek
0
120
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
37k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
26
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Crafting Experiences
bethany
0
21
sira's awesome portfolio website redesign presentation
elsirapls
0
87
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
260
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
72
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!