タイピングゲームを作ってみた
こちらのサイトを作りました。
自分はe-typingのスコアが510でタイパーの中ではクソ雑魚ですが、手段と目的が逆転する程度にはタイピングゲームをやり込んでいます。なので人生に一度はタイピングゲームを作ってみたかったのですが、理想を詰め込んだサイトを作った結果既存のサイトの凄さを知るという結果になりました。
サイトにWIPと書いてありますが、このまま回収していくとタイピング速度測定そのままになりそうなので凍結してます。
実装上の工夫、思ったことについて書いていきます。
実装上の工夫
タイピングゲームを作ってみたかった理由の9割9部はお題のひらがなに対してローマ字入力をどう受け取るかです。
これについては、Google日本語入力のローマ字テーブルを見ながら必要なところを抜き出し、タイピングゲームで入力を受け付けるローマ字テーブルを作成しました。このテーブルはひらがながキー、ローマ字が値だったので、それを逆転させた転置インデックスを作成し、バッファ中のアルファベットと一致するものがあれば変換するようにしました。
転置インデックスの存在によりひらがな→ローマ字、ローマ字→ひらがながともにできるようになったため、スコアの計算等にも活用しています。
ミスの扱いについて思ったこと
既存のタイピングゲームではミスの扱いに差があり、必要以上に気を使ったり、兎に角無視して入力したりといった作戦を立てる必要がありました。また、ミスをしてもスコア上でペナルティがあるだけでbackspaceを入力させるタイピングゲームは見かけません。見かけないというかあるにはあるのですが、ローマ字からの変換をゲーム内で実装せず、inputタグで入力を直接受け付けているサイトが多いという印象です。
そこで、このサイトではミスした箇所を赤で表示してユーザに消させているのですが、タイピングの爽快感がかなり損なわれます。
既存のタイピングサイトがミスをスコアだけで受け取っているのにはこういった背景があるのかと思いました。
感想
後は結構理想通りにできたのかなと思います。結構気持ちよく遊べるのですが、タイピング速度測定に似過ぎる気がしてWIPを外すのはやめました。
きちんと基本を抑えたタイピングゲームを作れたことは良かったと思います。