東京に引っ越してから、通勤時間がだいぶ増えた。 混雑した電車内だとノートPCを取り出すのが難しい時があるのと、 ノートPCはオフラインなのでインターネットに繋ってる方がいいなと思い、 携帯をつないで使う形のキーボードを作成する事にした。

グレッグイーガンのSF「ディアスポラ」に、ワンの絨毯という章がある。 知的生命体を探して地球を出発した主人公たちの前に、 成長するタイルでできた絨毯が海に浮んでる星があらわれる。 実はこのタイルはチューリングマシンで、 その中に住んでるやつがいる、というあらすじ。 そのタイルをイメージしてこのパズルを作った。

見た目は単純なジグソーパズルだが、 見た目に反して完成させるのはなかなか難しく作ってある。

良い数独の問題はバックトラックする必要が少ないと聞いた。 では、逆にバックトラックの数を極限まで増やしてはどうか？ そう考えて、このパズルを作った。 あと1枚まで完成したのに、最後の1枚がどうしてもハマらない。 このパズルは良い感じにプレーヤの心を折りにくる。

タイルパターンの生成はRustで書いたコードで行っている。 前にLL言語で生成コードを書いたが遅くて使いものにならなかった。 Rustはヒープの使用を避けられるのが大きいのではないかと思っている。

何人もの友人に試してもらったが、 殆どの人は数時間以上悩む。 しかし、1人だけ、すらすらと解いてしまった人がいた。 このタイルの中に住んでる宇宙人が関係しているのだろうか？

More »