本記事の構成および論理分析にはAI(人工知能)を使用しています。情報の正確性は、システム管理者(UNIXユーザー)による手動検証済みです。
C言語で作るターミナルタイピングRPG「クムドール・クロニクル」まとめ:道中マップのある冒険と、遊びやすさを整える開発記録 | UNIX Cafe

クムドール・クロニクル:文字だけの画面で、王国を旅するタイピングRPG
このページは、C言語製のターミナルタイピングRPG「クムドール・クロニクル」の紹介記事と、これまでの改善をまとめた記事です。
画面に表示された課題を正確に入力して、敵を倒す。その仕組みに、文字で描いた道中マップや探索イベントを組み合わせ、クムドール王国を旅するゲームにしました。
もともとは「クムドールの試練」という名前で開発していたゲームですが、そこから、訓練場で指の位置を確かめ、マップを歩き、敵と出会い、次の土地へ進む流れへと再構成しています。旅と記録を意識して、名前も「クムドール・クロニクル」に変えました。
マップを歩けるようになると、今度は別のことが気になってきます。移動するたびに画面が揺れる。押しっぱなしにしていたキーが、戦闘の入力欄に入ってしまう。ステージを突破しても、前の画面が残っている。
そうした小さな違和感を、一つずつ直してきた記録でもあります。
このゲームでできること:
- ビッグハンド訓練場で、キーと指の対応を確認する
- 文字で描かれた道中マップを歩き、鍵や宝箱などを見つける
- タイピングで敵を倒し、全20ステージの本編を進める
- ホームポジションから、数字や記号を含む課題へ段階的に練習する
- 成績を確認し、セーブして少しずつ冒険を続ける
この記事では、v1.0.0での再出発から、v1.0.1の画面改善、v1.0.2の入力とステージ遷移の整理までを振り返ります。
先に雰囲気を試してみたい方には、Webお試し版も用意しています。
GitHubでは、kumdor-chronicleという名前で公開しています。
クムドール・クロニクルは、どんなゲーム?
キーボードを剣にして、クムドール王国を旅する
舞台は惑星クムドールです。クム酒の原料になるクムの木が石化し、湖からチャトフィッシュが姿を消し、王都の通信塔にも異常が起きています。
地球でキーボード道場を営む主人公は、救援依頼を受け、クムドール王国へ向かいます。このゲームでは、キーボードが「クムドールの剣」です。課題を正しく打つことが、敵や試練を乗り越える力になります。
物語の始まりには、一文字ずつ文章が流れるプロローグを入れました。句読点で少し間を置き、タイプ音を添えると、ターミナルにも冒険が始まる雰囲気が出てきます。
ホームポジションから、少しずつ使うキーを増やす
ターミナル版の本編は全20ステージです。最初に使うのは、f、j、スペース。そこから練習する範囲を広げていきます。
| ステージ | 主な練習内容 |
|---|---|
| 1〜4 | ホームポジションとホーム段 |
| 5〜7 | 上段のキー |
| 8〜10 | 下段のキー |
| 11〜13 | 数字 |
| 14〜20 | 大文字、Shift記号、短い通信文、全キー混合 |
各段は、左手、右手、両手の順に進みます。同じキーの繰り返しだけでなく、短い単語やスペース入りの課題も出てきます。
判定では、大文字と小文字、スペース、記号も区別します。表示された課題をよく見て、そのとおりに入力することが基本です。
まずはWebお試し版で遊んでみる
ターミナルでのビルドに入る前に、ブラウザでゲームの雰囲気を試すこともできます。
Webお試し版には、プロローグ、ビッグハンド訓練場、第1章序盤5ステージを収録しています。道中探索と遭遇戦を体験でき、BGMは右上の音符ボタンで消音できます。収録内容はゲームの紹介記事でも案内しています。
ターミナル版の全20ステージとは収録範囲が異なりますが、「文字だけのRPGは、どんな感じなのか」を知る入口として遊んでみてください。
訓練場から探索、バトルへ
ビッグハンド訓練場で、指の位置を確かめる
いきなり本編に入る前に、キーと指の対応を確認できるのが、ビッグハンド訓練場です。
真ん中の列、上の列、下の列、数字を、左手、右手、両手に分けて練習できます。担当する指とキーの対応図も表示します。
訓練場では、入力を間違えてもHPは減りません。まず手の位置を確かめたい場合は、ここで少し練習してから本編へ進めます。
道中マップを歩く
本編では、アスキーアートのマップを歩きます。ターミナル上での基本操作は、次の3つです。
| キー | 操作 |
|---|---|
f | 向いている方向へ進む |
| スペース | 右を向く |
j | 目の前を調べる |
対話端末では、この操作にEnterは必要ありません。キーを押すと、そのまま移動や方向転換ができます。
マップには、鍵の K、宝箱の C、回復、罠などがあります。鍵を見つけて宝箱を開けたり、回復を探したりしながら進みます。イベントの配置も変わるため、周囲を確かめる楽しみを持たせています。
課題を入力して敵を倒す
歩いている途中で敵に遭遇すると、タイピングの課題が表示されます。ここでは文字列を入力し、Enterで確定します。
通常の遭遇戦は、1問成功すると1体撃破です。敵を10体倒すと、そのステージを突破します。入力を間違えると反撃を受け、HPが0になると敗北です。
後半には、入力文字が見えなくなる暗闇や、Backspace/Deleteで戻せなくなる修正不可なども加わります。毒状態では正解が毒の解除に使われることもあり、いつも同じ調子で進めるとは限りません。
ステージを突破したら、成績を確認して次へ進みます。探索、戦闘、結果の確認という区切りを作り、練習を続けやすい流れにしています。
ここまでで、ゲームはどう変わったか
開発の流れは、大きく3つに分けられます。
| 区切り | 主な変更 | 遊ぶときに変わったこと |
|---|---|---|
| v1.0.0 | タイトルを変更し、旅として再構成。プロローグ演出を整備 | 王国をめぐる冒険として出発する形になった |
| v1.0.1 | マップ表示、鍵と宝箱、イベント配置、戦闘開始表示を改善 | 探索中の情報が見やすくなり、マップを歩く楽しみが増えた |
| v1.0.2 | 残った入力への対策と、ステージ突破後の画面遷移を整理 | 戦闘の入力を始めやすくなり、結果を確認して次へ進めるようになった |
最初は、道中を歩きながら物語を進める形を整えました。その後は、実際の操作で気になるところを直しています。
画面に情報が出ていることと、ゲームをしながら必要な情報が読めることは別なので、その辺りを整理すると遊びやすさにつながります。
まずどこから読むべきか
ゲーム全体を知りたい場合は、v1.0.0の紹介記事から読むと分かりやすいです。画面や入力の工夫に興味がある場合は、更新記事とその追記から読めます。
| 読者の目的 | おすすめの記事・箇所 |
|---|---|
| 世界観やゲームの仕組みを知りたい | v1.0.0の紹介記事 |
| 文字送りの演出に興味がある | 紹介記事の「プロローグをタイピング風にする」 |
| マップの見やすさや探索の改善を知りたい | v1.0.1の更新記事 |
| キーの押しっぱなしへの対策を知りたい | 更新記事の追記1 |
| 結果画面とステージ間の操作を知りたい | 更新記事の追記2 |
| 先に遊んでみたい | Webお試し版、または本記事の起動手順 |
紹介記事と開発記録
v1.0.0:道中マップを使うゲームへ再編成
「クムドール・クロニクル」としての出発点を紹介した記事です。
訓練場で指の位置を確認し、道中マップを歩き、敵に遭遇して課題を入力する。ゲーム全体の流れと、タイピングの練習をどう組み込んだかを書いています。
プロローグの文字送りも、この紹介記事で扱っています。日本語の文字を途中で分割しないように表示し、句読点で間を取る。素朴な文字出力でも、少し手を加えると物語の導入になります。
- 紹介しているもの:世界観、訓練場、道中マップ、20ステージの練習、セーブ
- 読みどころ:タイピングの仕組みを、探索と物語のあるゲームへ組み直す考え方
v1.0.1:道中マップとバトル画面の遊びやすさを改善
マップを歩けるようになると、操作を繰り返すうちに表示の揺れが気になってきました。そこで、ヘッダやログの行数をそろえ、画面の位置が動きにくくなるようにしました。
HPや所持金などはマップ下部にまとめています。また、鍵 K で開けられる宝箱 C を追加し、探索中に拾ったものの使い道を分かりやすくしました。
戦闘開始時の表示も短くしています。移動から課題入力へ進むたびに長い説明を読むことになると、繰り返し遊ぶときのテンポが落ちるためです。
- 変えたもの:マップ表示、鍵と宝箱、イベント配置、戦闘開始時のログ
- 読みどころ:繰り返す操作を見直して、画面の落ち着きとゲームのテンポを整える過程
v1.0.1の記事:道中マップとバトル画面の遊びやすさを改善
更新記事の追記1:押しっぱなしのキーが、バトル入力にはみ出す問題
道中ではEnterなしでキーを受け付け、戦闘では文章を入力してEnterで確定します。この切り替えで問題になったのが、移動中に押し続けていたキーでした。
戦闘に切り替わった時点で入力を捨てても、キーを押したままだと、さらに文字が届きます。その文字が課題の入力欄へ入ってしまうことがありました。
そこで、切り替わり直後の入力を一度捨てるだけでなく、入力が落ち着くまで待つ処理を加えています。このガードは戦闘開始時の最初の入力に限り、通常の課題入力を毎回待たせない形にしました。
- 変えたもの:道中から戦闘へ切り替わるときの入力処理
- 読みどころ:表示上は切り替わっていても、入力がまだ届いている問題への対処
更新記事の追記2:ステージ終了後に結果画面を一枚挟む
もうひとつ見直したのが、ステージを突破したあとの画面です。
前の道中や戦闘の表示が残ったままだと、成績が出ても、どこからが結果なのか分かりにくくなります。そこで、対話端末では画面を切り替え、成績を独立して表示するようにしました。
次へ進む操作も整理しています。進行を確認するEnterのあと、さらにEnterを求める流れをなくし、そのまま次のステージの短い物語へ進めるようにしました。
- 変えたもの:結果画面、ステージ間のEnter待ち、画面を消す条件
- 読みどころ:ひとつのステージが終わったことを、表示と操作の両方で伝える工夫
C言語とターミナルで作ってみて、見えてきたこと
タイピング判定の基本は、fgets() で受け取った文字列を、strcmp() で課題と比較することです。プレイヤーや敵、ステージの情報は構造体で管理しています。
そこにマップや演出が加わると、文字列の比較だけでは済まなくなってきます。どの画面を残すか、いつ消すか。Enterなしの操作から、文章を打つ操作へどう切り替えるか。入力が届くタイミングまで考える必要が出てきました。
今回の改善で繰り返し扱ったのは、そうした画面と操作のつなぎ目でした。
マップの表示位置をそろえると、画面のチラつきが無くなります。戦闘開始時の文章を短くすると、課題へ意識を向けやすくなります。結果画面を分けると、ひとつのステージが終わったことが伝わります。
新しい機能を増やすことと同じくらい、すでにある機能を気持ちよく使えるようにすることも、ゲーム作りの面白いところだと思います。
手元のターミナルで遊んでみたい方へ
必要な環境と起動方法
取得にはGit、ビルドにはCコンパイラと make を使います。macOSではCommand Line Toolsが入っていればビルドできます。
課題の記号や指使いの説明は、US配列相当のキーボードを前提にしています。JIS配列では記号の位置などが一致しません。
git clone https://github.com/k1117n-cmyk/kumdor-chronicle.git
cd kumdor-chronicle
make
make runビルド後は、./kumdor_01 でも直接起動できます。
初めて遊ぶ場合は、最初のメニューで遊び方を確認し、ビッグハンド訓練場へ進んでみてください。キーと指の対応を確かめてから、本編を始められます。
セーブして、少しずつ続ける
ステージ突破時には自動セーブします。途中で保存して終了したい場合は、入力欄で :savequit と入力します。
保存だけ行う場合は :save です。データは kumdor_save.txt に記録されます。
再開は保存対象ステージの入口からです。道中マップ上の位置や、そのステージで倒した敵の数、途中の状態異常は保存されません。
音や色を調整する
ターミナル版のBGM再生はmacOS向けの機能です。BGMとプロローグのタイプ音を止めて起動する場合は、次のようにします。
KUMDOR_NO_BGM=1 KUMDOR_NO_TYPE_SOUND=1 ./kumdor_01ゲーム中は :bgm または :mute でBGMを切り替えられます。ただし、KUMDOR_NO_BGM=1 で起動した場合は、ゲーム中の切り替えも無効になります。
カラー表示を使わない場合は、次のように起動できます。
NO_COLOR=1 ./kumdor_01詳しい操作や設定は、GitHubのREADMEにまとめています。
よくある疑問
タイピングに慣れていなくても遊べますか?
本編は f、j、スペースから始まります。タッチタイピングに慣れていない場合は、先にビッグハンド訓練場を使ってみてください。後半になると数字や記号も出てくるので、少しずつ練習する形で構いません。
Webお試し版で、全20ステージを遊べますか?
Webお試し版の収録範囲は、第1章序盤5ステージまでです。全20ステージの本編は、ターミナル版で遊べます。
C言語の学習としても読めますか?
構造体、文字列の比較、ファイル入出力に加え、端末の入力や画面表示の扱いが出てきます。C言語の基本を少し触ったことがあり、動くものを作ってみたい方には、それぞれの処理がゲームの中でどう使われるかを見ながら読める内容です。
「クムドールの試練」とは、どのような関係ですか?
「クムドールの試練」で作ってきたタイピングRPGをもとに、道中探索や物語を組み直して進めているゲームです。名前を変え、v1.0.0として区切り直しました。
小さな戦闘プログラムから始まった経緯に興味がある方は、「クムドールの試練」の開発記録第1回から読むと、クロニクルにつながる土台を追えます。
おわりに:マップを歩きながら、遊びやすさも育てる
「クムドール・クロニクル」では、タイピングの戦闘に道中マップを組み合わせ、王国をめぐる旅として遊べる形にしました。
その後の更新では、画面の揺れや入力のはみ出し、ステージ間の余分な操作を修正しています。どれも小さな変更ですが、何度も繰り返す操作だからこそ、遊んだときに違いを感じる部分でした。
文字を表示する、キーを受け取る、音を鳴らす。ひとつひとつは素朴な仕組みでも、組み合わせ方を考えると、ターミナル上に体験を作れます。
ゲームの雰囲気が気になった方はWebお試し版から、実装に興味がある方は紹介記事やソースコードから、のぞいてみてください。










