秒で使えるタイピングゲームのエンジンを作りました

タイピングゲーム制作キット

 日本語のタイピングゲーム作りたいな~と思った時に、ネット上にチラホラ資料は見つかるものの決定版がなかったので自分で作りました。

 アセットストアのコンプリートプロジェクトやスクリプト系アセットって、たしかにデモの画面は再現できるんだけどいざ開いてみると複雑怪奇な構造をしていて、無駄にスクリプトファイルが分断してたりデモに必須機能が埋め込まれていたりして自分のプロジェクトへの導入に手間取ることが結構あるんですよね。

 その点このアセットはシンプルに作りましたので、秒であなたのプロジェクトにタイピングゲーム機能をぶち込めます。(いるか?)

 ファイル構造はこんな感じ。必要なものは Core に入っている二つの .cs だけです。
 問題データは表示する文字+読み仮名の (string,string) を TypingEngine に渡せばOKで、 Demo では Questions.cs に入ってますが、適当に整備すればOKです。(後述する自作ゲームでは Google Spread Sheet からデータを下ろしてきています)

演出面

 タイピングゲームチュートリアルとかだと「とりあえず入力受け取れればOK」みたいな感じで、現在入力中の文字がどこなのか表示されなかったり、柔軟な入力に対応してなかったり、柔軟な入力をした時に例文のローマ字が変化しなかったりと割と不親切な仕上がりになることも多いですが、デモ動画を見ると分かるようにこのアセットではそういったあたりまである程度対応しています。

 文字入力とかもちゃんとフックできるようになっているので、改造次第で割とリッチな演出もいけます。こういうのって大事ですよね。

 

完成ゲーム例

 で、何を隠そうこのエンジンは去年 unity1week で出したタイピングゲームのエンジンをそのまま分離したものなので、そのままこのゲームが応用例になります。

ためてまわす鳥さんタイピング | フリーゲーム投稿サイト unityroom

 

 他にもあらゆるタイピングゲームが作れると思いますが、例えばタイピングオブザデッドのように複数の目標が出てきてどこからでも倒すことができるようなゲームの場合、TypingEngine を複数作るのがコツです。取り回しも大変楽。

*OnGUI をエンジンに入れ込みたかったので MonoBehaviour になっていますが、OnGUI さえ別の場所から呼んでしまえば MonoBehaviour を外すことも可能です。

 

 

 というわけで、雑にタイピングゲーム作りたくなった人はぜひ焼肉定食をぼくにおごってください。よろしくネ!