- Web
- Game
早打ち決闘
同じ部屋に入った人どうしで、ローマ字タイピングで波動砲を撃ち合うオンライン対戦ゲーム。20打ごとに波動砲が飛び、相手のHPを0にしたら勝ち。CPUとの1対1もできる。

画面に出たお題(ことわざ、四字熟語、日常のひとことなど)をローマ字で打っていくタイピング対戦ゲームです。正しく打つたびに波動砲のゲージがたまり、20打ごとに相手へ波動砲が飛んでHPを削ります。ミスするとゲージが少し減り、ノーミスで40打つなぐと威力の大きい極太波動砲になります。HPが0になったらKOで、最後まで立っていた人が勝ち。90秒の時間切れではHPの多い人が勝ちです。部屋には誰でも入れる「みんなの広場」と、合言葉で入る部屋があり、1部屋に6人まで入れます。全員が「準備OK」を押すとカウントダウンが始まり、試合中は闘技場でお互いの波動砲が飛び交う様子とHPが見えます。3人以上のときは、まだ立っている人のうちHPがいちばん多い相手を狙います。結果には順位、残りHP、与えたダメージ、1分あたりの打鍵数、正確さが出ます。相手がいないときは、強さが4段階あるCPUと1対1で戦えます。「し」を shi でも si でも打てるように、お題はかなで持ち、打てるローマ字をその場で求めています。tsu / tu、ja / zya / jya、「ん」の n / nn、「っ」の子音重ねや xtu など、よく使われる打ち方はどれでも通ります。部屋はCloudflareのDurable Objectsで、WebSocketでつないでいます。お題はサーバーが選んで全員に配ります。波動砲は各端末から「撃った」という知らせと打鍵数だけを受け取り、ゲージがたまっていて人間に打てる速さのときだけ、サーバーが狙う相手とダメージを決めて全員に知らせます。
どの打ち方でも通るローマ字判定
お題はかなで持ち、ローマ字の正解は1つに決めていません。いま打つべきかなの位置から「次に打てるローマ字」の候補をその場で作り、打ったキーで始まる候補が残っていれば正解、なければミスにしています。「きゃ」なら kya のほかに ki + xya のように分けた打ち方も候補に入ります。
「ん」は、次が母音・や行・な行でなければ n 1つで済ませられます。「っ」は次のかなの子音を重ねる打ち方と xtu / ltu の両方を候補にしています。画面には、いま打っている打ち方に合わせた残りのローマ字を出すので、shi と打ち始めても si と打ち始めても案内がずれません。
- shi / si / ci、chi / ti、tsu / tu、fu / hu、ja / zya / jya などに対応
- 「こんにちは」を konnichiha と打っても、2つめの n を「に」の頭として読み直す
- 日本語入力がオンのままだと、切り替えるよう画面で知らせる
部屋と波動砲の進め方
部屋は合言葉ごとのDurable Objectで、全員が「準備OK」を押すとサーバーがお題の順番を決め、開始時刻と一緒に配ります。各端末はサーバーとの時計のずれを直してから、同じ瞬間にカウントダウンを終えます。
端末から送るのは「波動砲を撃った」という知らせと、それまでに正しく打った数だけです。サーバーは、打鍵数が次の1発ぶんたまっているか、人間に打てる速さかを確かめてから、狙う相手(まだ立っている中でHPがいちばん多い人)とダメージを決めて全員に知らせます。最後の1人になるか制限時間になると、HPと与えたダメージで順位を決めて配ります。
画面では、撃った瞬間に光を集める「溜め」を見せ、波動砲が相手まで飛んでいって当たったときにHPを減らします。当たった側は画面が揺れて赤く光り、HPが0になるとK.O.が出ます。