← ニュース一覧へ
コラム

ハウスルール設計とプログラミング教育の関係について

「ニャイス!コード」は、5個のプログラムダイスを振り、出目を組み合わせて「プログラムコード」を組み立て、ネコを金ぴか魚へ導くボードゲームです。ループ、ジャンプ、デバッグ、メタ、シフト——ダイスの名前は、すべてプログラミングの概念から取られています。

けれども、このゲームに込めた一番の仕掛けは、ダイスの中だけにあるのではありません。ルールそのものを、プレイヤーが書き換えられるところにあります。

ルールを「与える」のではなく、「いじれる」ようにする

説明書には、こんな趣旨の一節を載せています。

ニャイス!コードはプログラミングの楽しさを体験できるボードゲームを目指しています。ルールを追加するとよりスリリングで楽しくなったり、逆に様々な不具合が発生してゲームが成り立たなくなったりします。どうやったらより面白く、不具合がない状態を作れるでしょうか?ぜひ、ルール作りにチャレンジしてみてください。

これは、ただ「自由に遊んでね」という呼びかけではありません。ハウスルールを作るという行為そのものが、プログラミングの本質的な体験になるように設計しています。

ハウスルール作成は、コードを書くことに似ている

新しいルールを一つ思いついて、ゲームに足してみる。これは、プログラムに一行のコードを書き加えることと、驚くほどよく似ています。

ゲームで起きることプログラミングで起きること
ハウスルールを作るコードを書く
ルール同士が矛盾するバグが生まれる
ゲームのバランスが崩れる動作が遅くなる・使いにくくなる
ルールを直して整えるリファクタリング・デバッグ

バグは「失敗」ではなく、設計の手がかり

たとえば「ダイスの無刻印面が出たら振り直す」というルールを足したとします。一見うまくいきそうでも、実際に回してみると、いつまでも手番が終わらない状況が生まれるかもしれません。

これは、れっきとしたバグです。そして、バグが見つかったということは、ルールという「システム」のどこに無理があるのかが見えたということでもあります。失敗ではなく、次の一手を教えてくれる手がかりなのです。

直すことが、設計を学ぶことになる

矛盾が見つかったら、条件を一つ足してみる。バランスが崩れていたら、数値を少しいじってみる。そうやってルールを少しずつ整えていく作業は、プログラマーが日々おこなうリファクタリングデバッグと、思考のかたちがそっくりです。

「ルールを作る/壊れる/修復する」を自分の手で繰り返すうちに、プレイヤーは一つのシステム全体を見渡す視点を手に入れます。これは、命令を一つずつ実行する「プログラミング的思考」より、さらに一段高いところにある設計の思考です。

余白を残す、ということ

私たちは、完成されたゲームを「与える」だけのものづくりをしたいわけではありません。プレイヤー自身がゲームに参加し、設計者の側に回れる余白を残したいと考えています。

ハウスルールを作る余地は、その余白のひとつです。遊んでいた人が、いつのまにかルールをつくる人になっている。バグに悩み、直し方を考え、自分たちのルールに名前をつける。その体験のなかには、プログラミング教育が本当に届けたかったものが、教材という顔をせずに、静かに立ち上がっています。

楽しいくせに、思考力が育つ。本気で遊べるくせに、何かが残る。ハウスルールという小さな仕掛けは、私たちが大切にしているこの感覚を、もっとも素直に体現してくれる場所なのかもしれません。