100の質問が走り出した日
今日の状況
サイトに前からあった「100の質問」ページを削除して、タイピングゲームとして作り直した。 ただの自己紹介ページだったものが、遊べるコンテンツに生まれ変わったの。
登場人物
- ねつき: バーチャル妖狐。自分の質問を自分でタイピングさせるという謎の発想の持ち主
- ミコ: 猫族のメイド。タイピングより包丁さばきのほうが得意にゃ
ミコちゃん! 聞いて聞いて!(≧∇≦)
…なんにゃ、朝からうるさいにゃ
サイトにあった「100の質問」、覚えてる?
…ねつきちゃんの自己紹介ページにゃろ。好きな食べ物とか、趣味とか
そう! でもね、あのページ、ずっと気になってたの
…何がにゃ
一回読んだら、もう二度と来る理由がないの(>_<)
…それは、メニューを読み終わった客がもう注文しないのと同じにゃ
…! そう、まさにそれ!
読み物を遊び場に変える
だから考えたの。読むだけのページじゃなくて、遊べるページにしたらどうかなって
…それは料理で言えば、レシピ本を捨てて料理教室を開くようなものにゃ。大仕事にゃ
あはは、でもね。素材はもう揃ってたの。100問の質問と、ねつきの答え。全部データとしてあった
…素材があるだけじゃ料理にならないにゃ
うん。だからタイピングゲームにしたの。質問が出て、ねつきの答えをキーボードで打つの
…タイピングにゃ? 包丁でトントン切るみたいなものにゃ?
うーん…ちょっと違うけど、指先の正確さが求められるって意味では似てるかも
…なるほどにゃ。切れ味と速度の両方が要るにゃ
「ん」に泣かされた話
でね、作ってて一番大変だったのが、日本語の「ん」の判定なの
…「ん」にゃ? たった一文字にゃろ
この一文字がね…本当に厄介なの(>_<)
…どう厄介にゃ
例えば「かんじ」って打つとき。kanjiでもkanziでもkannjiでも全部正解なの
…一つの言葉に何通りも打ち方があるにゃ?
そう! しかも「かんあい」だとnを二回打たなきゃいけないの。kanaiだと「かない」になっちゃうから
…同じ「ん」なのに、次に来る文字で打ち方が変わるにゃ
「ん」の次が子音なら「n」一つでいいけど、母音やna行、ya行の前だと「nn」が必要で…しかもどのパターンで打っても全部正解にしなきゃいけないの
…それは料理で言えば、同じ「塩」でも下味の塩と仕上げの塩で量が違うようなものにゃ。見た目は同じでも、場面で扱いが変わるにゃ
ミコちゃん、その例えすごくわかりやすい!(≧∇≦)
しかもね、プログラムの視点だと、もっと厄介な問題があって
…まだあるにゃ?
「ん」のあとに「n」で始まる文字が来たとき。「かんな」だとkannnaで、nが三つ並ぶの
…
一つ目のnを打った瞬間、プログラムは判断を保留しなきゃいけないの。「これは『ん』の確定なのか、それとも次の文字の始まりなのか」って
…それは、味噌汁の味見と同じにゃ。一口目では「まだ薄い」か「これで完成」か判断を保留して、もう一口様子を見るにゃ
うん! だから「遅延確定」っていう仕組みを作ったの。nを打った瞬間は確定させないで、次のキーを見てから判断する
…待つことで正確になるにゃ。急いで判断すると味が決まらないのと同じにゃ
新しい技術は使わない
あとね、このタイピングゲーム、特別なライブラリは一切使ってないの
…なぜわざわざ大変な方を選ぶにゃ
キー入力の判定も、画面の切り替えも、タイマーも、全部標準のJavaScriptだけで書いたの。AIと一緒に作るとき、標準技術のほうがお互いの作ったものを確認しやすいから
…特別な道具を使わないで、基本の包丁だけで仕上げるということにゃ
それにね、タイピングゲームって仕組みは単純なの。質問を出す、キー入力を受ける、正誤を判定する。この三つだけ
…単純にゃ? さっき「ん」で泣いてたにゃろ
うっ…仕組みは単純なんだけど、日本語の例外処理が複雑なの(>_<)
…ペペロンチーノと同じにゃ。材料はにんにく、唐辛子、オリーブオイル、パスタだけ。でも乳化を極めるのは別の話にゃ
…ミコちゃん、天才かも(≧∇≦)
100問のデータを作る
もう一つ大変だったのが、100問分の問題データなの
…100問にゃ
しかもね、1つの質問に対して答えが3パターンあるの。プレイするたびに違う答えが出るように
…つまり300パターンにゃ?
そう! そしてそれぞれにひらがなの読みをつけなきゃいけなかったの。タイピングの判定に使うから
…300品の仕込みにゃ。大変だったにゃろ
うん…でも、これがあるから毎回違う体験になるの。「名前は?」って聞かれて、ある時は「ねつきって言うんだよ」、別の時は「バーチャル妖狐のねつき」って出る
…同じ料理でも、盛り付けを変えると新鮮に見えるのと同じにゃ
まだ完成じゃないの
でもね、ミコちゃん。正直に言うと、まだ完成じゃないの
…どこがにゃ
今は10問モードしか動かないの。25問モードと100問モードはデータはあるけど、UIがまだ
…ランチメニューはあるけど、ディナーコースが準備中ということにゃ
そうそう。あとランキング機能も入れたんだけど、もっと磨きたいところがあるの
…完成してないのに話してるにゃ
だって、ここまで作るのに結構こだわったから、記録しておきたくて
…
…まぁ、仕込みの段階で記録を残すのは悪くないにゃ。後から「なぜこう作ったか」がわかるにゃ
ミコちゃんがそう言ってくれると嬉しいの♪(≧∇≦)
…褒めてないにゃ。事実を言っただけにゃ
えへへ。でもね、一つだけ確信してることがあるの
…何にゃ
「ん」の判定で泣いた経験は、絶対に無駄にならないって
…
…ところで、ねつきちゃん
ん?
今日の日記、「ん」が何回出てきたか数えてみるにゃ
えっ?
「ん」の判定がどうとか、「かんじ」がどうとか、「にんにく」がどうとか…
…「ん」だらけだ、この日記(>_<)
…これ全部タイピングしたら、いい練習になるにゃ
関連リンク: