ダンジョンズ&ドリルス新作、公開まで後少し

ダンジョンズ&ドリルス 〜漢字読み取り編〜 紹介画像

モバイル対応型学習ゲーム、ダンジョンズ&ドリルスの新作、「ダンジョンズ&ドリルス 〜漢字読み取り編〜」(仮称)の開発がいよいよ佳境に入ってまいりました。

ダンジョンズ&ドリルス 〜漢字読み取り編〜 紹介画像

スマホやタブレットで遊びながら勉強できる、モバイル対応型の学習ゲーム「ダンジョンズ&ドリルス 〜漢字読み取り編〜」は、まなゲーらんどの既存学習ゲーム「漢字王の王国」の後継ゲームとして開発が進められています。

小中学校で習う全ての漢字を網羅

小学校から中学校までで習う全ての漢字の読み(音読み・訓読み)に関する問題2839問(うち小学校漢字に関するもの1555問、中学漢字に関するもの1284問)が収録されており、これ一本で義務教育範囲の漢字の読みをバッチリ勉強・習得可能です。

236種類のモンスターがお出迎え

膨大な学習範囲に楽しくチャレンジしてもらうために、迎え撃つモンスター達も大量に準備しました。大ボス・中ボス級の大型モンスターだけでも51種類、小ボス・雑魚キャラ用にはそれとは別に、185種類を準備。合計236種類のモンスター達がプレイヤーを歓迎(笑)します。

コンピュータが楽しい勉強をサポート

CAI(コンピュータによる学習支援)機能もますます充実、全ての問題を正答率などによってランク付け、一人一人の学習者の得意・不得意に応じて出題やヒントの有無、ゲーム難度などが自動的に調整されます。

「ダンジョンズ&ドリルス 〜漢字読み取り編〜」は、2019年2月中旬の公開を目指して開発進行中です。

今後、公開までの間も随時情報公開を行っていきます。お楽しみに!!

ダン&ドリ同音異義語編(β版)宝栄小2018ver.を公開

こんにちは、まなゲー池田です。
大阪市立宝栄小学校の6年生の皆さんがデザインしてくれた「勉強モンスター」達を取り込んだ、「ダンジョンズ&ドリルス同音異義語編(β版)宝栄小2018ver.」を公開しました。

封じ込められたキャラクター達を解放

ゲームをスタートすると、下のようにズラーっとロックされたアイコンが並びます。

初期状態で、鍵を一つだけ持っているので、どれか1体だけ選んで解放してあげることができます。

なぜか戦闘に突入・・・

せっかく解放してあげた「お勉強モンスター」ですが、閉じ込められていたことに腹を立てているのか、それとも何か「試練」的なものなのか、「同音異義語バトル」に突入してしまいます。

見事、一定数の正解を果たし、お勉強モンスターを鎮めることに成功すると、またひとつあらたな鍵が手に入りますので、それを使ってまた新しいモンスターを解放。というようにゲームを進めていきます。

ひとつ一つのキャラに振り分けられた問題はそう多くありませんが、キャラクター数が結構ありますので、順々に解放していくうちに、あれよあれよと数百問の「同音異義語問題」を解いていくことになります。

解放したキャラクターがプレイヤーを助けてくれる

最初は一人ぼっちでの戦いですが、何体か解放するうちに、戦闘中、画面下方に解放済みキャラクターが表示されていることに気がつきます。

ミスをしてダメージを受けた時に、彼らをタッチしてみてください。プレイヤーを回復して助けてくれますよ。

今は回復だけですが、いずれは「ヒントを出してくれる」などのサポートも実装したいと思います。

お勉強モンスターの紹介(4) – けしごむマン –

けしごむマン

こんにちは、まなゲー池田です。
出張授業をさせてもらう時、子ども達に学習ゲーム内に登場する「勉強モンスター」のデザインに挑戦してもらっています。

この取り組みの狙いや趣旨など
(初めてご覧になる方はあらかじめ第一回目をご覧ください)

今回紹介するのはこのキャラクター

勉強モンスター:けしごむマン

けしごむマン

【キャラクターの設定】
(デザインした児童生徒自身が記入したもの)

・勉強をしようと思っているけど 眠くて動けない
・行動が遅い

【コメント】(池田)
消しゴムをモチーフに描く子は結構いるんですが、基本的に「お助け」キャラ的に描かれることが多いです。その中でこの「けしごむマン」はやや異色です。

勉強しようと思ってはいるけど・・・
まさに「けど」がこのキャラクターの中心であって、外観はとりあえず何でも良かったという感じが、すごくしてきます(笑)

かと思えば、さりげなくマントなんかも羽織っていたりして、ヒーロー感もちゃんとあって、手だって上向きで、うな垂れ感はありません。ただ目が眠そうなだけ・・・ああ、その辺が「やる気はある」という部分なんでしょうか。勉強に対する微妙な距離感が見える作品だと思いませんか?

子供向け特化のタイピング学習ゲームをつくる(2)

こんにちは、まなゲー池田です。
「子供向け特化のタイピング学習ゲームをつくる」2回目の今日は、問題データを整理していきます。

小学校漢字1006字

小学校で習う漢字は1006文字。読み仮名問題データを作るだけでぞっとしちゃう数ですが、今回はまなゲーらんどで公開中の漢字ゲーム用にずっと以前に作成したcsvデータがありますのでそれをもとに調整していきます。(こういうデータの公開とか共有って需要ありますかね。あったら考えるんですが)

音訓やらありまして1500問以上あるんですが、こいつを先日紹介した「配当漢字チェッカー」を使いながら整理していきます。

この漢字読み仮名データを作った当時は、「習ってない漢字が混ざったってついでに覚えればお得でいいじゃないか」という考え方でした。基本的に考え方自体は変わってないのですが、思うところあって、チェッカーもあることですし、今回は各学年の配当漢字のみでデータを構成していきたいと思います。

配当漢字チェッカーで読み仮名問題データをチェック

早速やってみましょう。配当漢字チェッカーを開いて、調整したいデータをテキストエリアに貼り付け、学年を選んでCheckをクリックします。

すると、チェッカーが作動して、貼り付けたデータ内に含まれる配当漢字と、配当漢字外の漢字を探して列挙してくれ・・・って、あれ?「含まれない配当漢字」が4つもあるじゃないですか!!これまで網羅されていない部分があったことが判明・・・。

※他学年の問題データ間でフォローしあう感じで全体としては1006字網羅されていたようでした;;

過不足分を調整する

不足分を補いつつ、範囲外の漢字を使っている箇所を修正していきます。

例えば下の例だと、「形」(けい)の問題として「形式」を指定していますが、「式」は2年生ではまだ習わないようです。(「チェック範囲」を変えることで、何年生で習うはずか見つけることもできます。)

なので、「形式」以外、2年生までに習う漢字だけで構成できる問題を考えます。今回は「体形」にしました。(「体型」の方が一般的ですかね。間違いではないはずですが、ちょっと気になりますね。※結局「正方形」に変更しました)

という感じで、かなり手間ではありますが、ちまちまと調整していきます。

タイピング向けに作りますので、できるだけ長くなりすぎないようにも配慮しないといけません。今回は、本当にただの報告&配当漢字チェッカーの使い方紹介になってしまいました;;

つづく

配当漢字チェッカー

こんにちは、まなゲー池田です。
小学校の各学年で習う漢字を「配当漢字」と言います。ある文章を子どもに読ませる、あるいは子ども向けに文章を書くとき、学齢に応じた配慮が必要になりますが、その確認を人力でやるのはかなり手間な上に、漏れのリスクが常に残ります。

そこで、任意の文章を与えてやると、その中で指定された範囲の配当漢字がどのように使われているか、あるいは未習の漢字がどのように混ざっているかを調べて回答してくれる「配当漢字チェッカー」を作ってみました。

手元データとリストを照らし合わせてチェックするという作業は、非常にコンピュータ向けの作業ですので、ちょっとしたプログラムをかけるようになれば、このぐらいのものは割とすぐに作れるようになります。もちろん、データを用意し、アルゴリズムを考え、それをコーティングするのには、一定の時間が必要ですが、手作業でやるよりも、専用のプログラムを作る方が結局早い、ということはよくありますし、繰り返し同様の作業を行う可能性があるならば、どんどん作っていくべきだと思います。

上の画像は、配当漢字チェッカーでデフォルト入力されている「チェックしたい文章をここに入力」という文を、チェック範囲を1年生に設定してチェックした結果です。ここに含まれる漢字のうち「入文力」の3文字は1年生で習うこと、「章」の字はまだ習わないことなどがわかります。

使ってみて、ご意見などありましたら、ぜひ聞かせてください。

「配当漢字チェッカー」を使ってみる

子供向け特化のタイピング学習ゲームをつくる(1)

こんにちは、まなゲー池田です。
タイピング練習ができるサービスは色々あるみたいですが、どうせならついでに漢字の勉強や復習もしちゃったり、できることなら語彙も増やしたりしたいなぁ、何よりレベルデザインを自分でやりたい!と以前から思っていて、問題や設定を自分で決めたいので、この際だから作ってウチの「まなゲーらんど」で公開しちゃおう。ということで、ハイ作ります!!

ひとまずゲーム云々はおいといて

タイトルも詳細も全く未定ですが、ひとまずゲーム以前にタイピング練習サービスとして必須の機能を作っていきたいと思います。

  • (1)キーボードからの入力を受けて画面に英数字や記号を表示したり変数に格納したり
  • (2)ローマ字正答データと入力されたデータを随時照合して、正誤評価を行う

というイメージで作っていきます。

ローマ字データの手動作成は絶対無理だと気がついた

(1)はサクッと出来ました。

window.addEventlistener(‘keydown’,catchInput);

こんな感じで、キー入力(キーコード)を受け取れるので、受け取ったキーコードに応じた文字・記号をそれ用の変数に入れてやるだけです。

(2)も、とりあえず仮の正答データを作って、キー入力を受け取るたびに、そこまでに入力された回答と正答データ(仮)の同じ文字数の部分までが一致するかどうかを判定して、一致していればそこまでの入力結果を画面に出してやる。という感じで行けたんですが、ここでハタと気がつきました。

これ・・・正答データ作るの超めんどくさいんじゃないか?

かな文字をローマ字に変換する際、例えば「し」はsiでもいいし、shiでもいけます。となると、ローマ字解答データを2つ作っておいて、両方を入力結果と照合しながら、どちらかと一致していればそこまでは正解、という具合に処理していかなければなりません。2種類ずつ、ぐらいならなんとか根性で乗り切ることも可能なのかもしれませんが、例えば「しんぶんし」とかだと、「ん」をnnで入力するパターンとnで済ませるパターンも合わせると…

“sinnbunnsi”, “shinnbunnsi”, “sinbunnsi”, “shinbunnsi”, “sinnbunsi”, “shinnbunsi”, “sinbunsi”, “shinbunsi”, “sinnbunnshi”, “shinnbunnshi”, “sinbunnshi”, “shinbunnshi”, “sinnbunshi”, “shinnbunshi”, “sinbunshi”, “shinbunshi”

たかがひらがな5文字の変換パターンが16種類もあるではありませんか・・・。これは絶対心が折れる、いや、根性以前の問題として、手動では絶対きちんと網羅できそうにない。少なくとも数百問、もしかしたら1000問単位で問題を作るかもしれないというのに・・・っ!

ということで、追加クエスト「(3)ひらがな正答データをもとにローマ字正答データを自動作成できるアルゴリズムを組む」が発生しました。

絶対作っとかないといけないデータを我慢して作る

自動作成アルゴリズムを作ると言っても、「ローマ字早見表」レベルの情報は人が作って与えてやらねばなりません。
こんな感じの微妙な配列データを作成します。

//かな >> ローマ字変換用データ
var listRoman = [
[“あ”,[“a”]],[“い”,[“i”]],[“う”,[“u”]],[“え”,[“e”]],[“お”,[“o”]],
[“か”,[“ka”]],[“き”,[“ki”]],[“く”,[“ku”]],[“け”,[“ke”]],[“こ”,[“ko”]],
[“さ”,[“sa”]],[“し”,[“si”,”shi”]],[“す”,[“su”]],[“せ”,[“se”]],[“そ”,[“so”]],
[“た”,[“ta”]],[“ち”,[“ti”,”chi”]],[“つ”,[“tu”,”tsu”]],[“て”,[“te”]],[“と”,[“to”]],
[“な”,[“na”]],[“に”,[“ni”]],[“ぬ”,[“nu”]],[“ね”,[“ne”]],[“の”,[“no”]],
[“は”,[“ha”]],[“ひ”,[“hi”]],[“ふ”,[“hu”,”fu”]],[“へ”,[“he”]],[“ほ”,[“ho”]],
[“ま”,[“ma”]],[“み”,[“mi”]],[“む”,[“mu”]],[“め”,[“me”]],[“も”,[“mo”]],
[“や”,[“ya”]],[“ゆ”,[“yu”]],[“よ”,[“yo”]],
……
];

単純作業が死ぬほど苦手なので、これだけでもう心が折れそうなんですが、歯を食いしばってカチカチ入力しました。

ひらがな → ローマ字変換アルゴリズムを考える

ひらがなで与えられた任意の文字列データを、ローマ字データへと変換するには、
si、shiなどのAltな変換に加え、「拗音」「促音」「発音」を含む文字列への対策を施さなければいけません。

「拗音」対策

「ゃ、ゅ、ょ」を含むやつです。「きゃ」とか「ちょ」とか、セットで扱われようとしてくる困ったやつら。「1文字ずつ変換だというとろーが!」と叫びたくなりますが、ぐっとこらえて、「先に次の文字を確認して、そこに拗音が見つかったら2文字セットで変換候補を探す」というルールを作ります。

「促音」対策

「っ」を見つけたら、「っ」があったぞ!という情報だけをキープしておいて次の文字へ進みます。で、次の文字を変換・追加するときに、最初の子音を2重にすることで対策としました。

「撥音」対策

「ん」ですね。nnかn。「n」だけで大丈夫なケースも多いですが、次の文字が「あいうえお」「なにぬねの」のいずれかの場合は「nn」としておかないと、「こんいちは」みたいなことになります。(今、入力してみて気づいたんですが「こんいちは」と打とうとしても勝手に「こんにちは」になおしてくれました。タイプミスが減ったのだと思っていたら、こっそりPC側でフォローしてくれてたのか。)

これらの、拗音・促音・撥音対策を施しつつ、複数の変換候補を持つ「かな」が出てくるたびに、場合分けして、正解となりうるローマ字変換パターンを網羅していきます。

しばらくウンウン唸って、かな文字列を与えられたら、ローマ字変換パターンを網羅して返す関数(80行ほど)をひねり出しました。

こうして数時間の格闘の結果、ひとまず動くようになったのがこちら。

まなゲータイピング(仮)ver.00

かな文字が問題。グレーがローマ字正答例。黄色が入力済みの部分です。
正答例がひとつしか表示されませんが、zikannをjikannなどとしてもちゃんと正解になるはず。

サンプル問題20問ほどしか入っていませんので、ちょいちょい同じのが連続で出ちゃいますが、ひとまず動きます。(ゲーム性どころか、得点も評価も、終わりすらありません;;)

あちこち調整が必要になるかもしれませんが、必須な部分はだいたい出来ましたので、次から評価など行えるようにしつつ、遊びっぽさを加えていきたいと思います。

この程度でも、書いたプログラムが狙い通りに動くと、じわっと脳から何かが出る感じがしますね。
シミュレーション系のゲームの攻略や、クラフト系ゲームで狙い通りに行った時に通じる気持ちの良さがあります。
しかも、書いたコードをあらためて見てみると、配列やら文字列操作の基本がええ具合に網羅されてて、教材にするのもいいなぁと思うったりして、一石二鳥の制作となりました。

つづく

敢えてテキストだけで作った教材用ゲームが楽しくなってきた

こんにちは、まなゲー池田です。
技術系の専門学校でプログラミングの授業をいくつかもたせてもらっているんですが、初学者向け学習用の教材があんまり堅いと、学生の目がどんどん死んでいくので、大事なことを盛り込みつつ、楽しめる教材を作ろうということで、テキストのみで構成されたRPGゲームを作ってみたんですが、作ってるうちにだんだん自分が楽しくなってきてしまい、必要以上に作りこんでしまいそうな気配。

画面はこんな感じで、すべて文字のみで構成されています。いわゆる「ローグライク」型のダンジョン探索RPGで、プレイするたびにランダムにマップが作成され、モンスターやアイテムが配置されます。プレイヤーが移動など何か行動を行うたびに、モンスターたちも行動します。戦闘してモンスターを倒すことも可能ですが、戦っても経験値によるレベルアップなどはないので、戦いは出来るだけさけつつ下階へと向かうのを基本方針としながら、どこまで潜れるかに挑戦するゲームになっています。

先へ進むほどに、フロアは広くなり、モンスターも強くなっていきます。アイテムにはプレイヤーを強化するものもあるので、出来るだけ多くの宝箱を覗きながら進みたいのですが、それだけ多くのモンスターと戦うことになってしまう上に、プレイヤーのステータスとして空腹度が設定されており、何かするたびに減少していき、ゼロになると毎ターンダメージを受けてしまうため、時にはアイテムを取りに行かない判断も必要となります。

プログラムはJavaScriptで書いているのですが、出力先もあえてHTML上ではなく、Chromeのデベロッパーツールのコンソール画面上に出しています。文字だけの極めて貧弱なビジュアルですが、これでも多少見やすいように変換されていて、実際のデータはこんな感じの2次元配列になっています。

エクセルのシートみたいなものをイメージしてもらい、セルごとに一つの数値が入っていると思ってもらうと分かりやすいでしょうか。1が壁、0が通路、6がモンスターで9がプレイヤー、という具合です。

せっかくなので、普通にゲームっぽい画面でも遊べるようにしてみようということで、enchant.jsを使ってマップをキャラクターを描写するようにしてみました。

ここまでくると、分かりやすくゲームっぽくなりますが、それはあくまで見栄えだけの変化であって、本質的には、先にお見せしたような2次元配列上をひとつの世界に見立て、その中を連続的に書き換えていくことによって、メモリ上にオブジェクトたちが相互に干渉し合う系を再現しているわけです。エクセルで家計簿をつけるのも、データベースで販売管理をするのも、ゲームを作るのも、そういう意味ではあまり変わらない行為なんだ、という感じも、伝えられたらいいなぁ、と思っています。

もうちょっと作りこんだら、せっかくなので公開して、遊んでもらえるようにするかも。
ではまた!

100ますダンジョンがgoogle検索「100マス計算 ゲーム」で1位になっています

こんにちは、まなゲーらんど管理者の池田です。

100ますダンジョン

ずいぶん前につくった100ます計算ゲーム「100ますダンジョン」が、
google検索「100マス計算 ゲーム」で今頃になって1位になっているようです。

http://www.19online.net/10x10table/

まぁ、1位になってもそれほどアクセスが増えたりしない訳なんですが、
1つ下にいる101匹わんちゃんの100マス計算ゲームに勝ったのが、なんだか嬉しい(笑)

せっかくなので近いうちにアップグレードしよう。
と思ったら実はこのゲーム、随分前に作ったとかいいながら、いまだにver0.5のままだったりして・・・
せっかくとかそういうのじゃなくてちゃんと完成させないといけませんね;;

プロジェクト進行中【参戦クラス募集!】

現役の先生方と協力して、こんなプロジェクトを進めています。

子ども達がデザインした「勉強ぎらいモンスター」をドリル・ダンジョンに解き放て!

自分が、友達が、デザインしたモンスターたちが徘徊するダンジョンを探索。捕まえたモンスターたちを「モンスター図鑑」にコレクション。コンプリート目指して進むうちに膨大な計算練習が出来てしまうという目論見です。

画像のモンスターたちは、畝傍北小学校・大正小学校のみなさんがデザインしてくれました!すごく個性的でしょう?これは収集欲を刺激されます(笑)

まだ準備段階ではありますが、参戦クラスを募集します。関心を持たれた方は是非お問い合わせ下さい。(コメントはスパムが多いので問い合わせフォームの利用をオススメします)

uk_allin1ts_allin1ts002ukt003ukt004