このところ4日ほどかけて iOS の Shortcuts.app で連続引き算ゲームを作ってた。
きっかけは「脳を鍛える大人のNintendo Switchトレーニング」だった。
久々に脳年齢チェックをやったところ、脳年齢が 48 才と出たのだ。
短期記憶をチェックするための「連続減算テスト」のクリアタイムが遅かったことが足を引っ張った。
連続減算テストの画面はこちらを参照:
www.nintendo.com
最近は自分でも頭の動きが鈍くなってきている感覚はあったが、
頭の動きが鈍いと「このままだとまずいな」という危機感さえ湧いてこないのが厄介なところ。
それが脳トレゲームをしてスコア化されたことで一気にその危機感が湧いてきた。
以前は余裕で 20 才のスコアを出せていたこのゲームから、そんな年齢結果を突きつけられて悔しくなり、
連続減算能力を鍛えようという気になった。
早速 App Storeで似たようなゲームを探したが、
こんなちょっとしたゲームのために広告付きのアプリを入れるのも面倒な気持ちになり、
「そうだ、自分で作ればいいじゃないか。それ自体も脳トレになるし」
と思い立ったのがコトの経緯。
「こんな単純なゲーム、1時間半ほどで作れるだろ」
と高を括っていたが、場当たり的に処理を足していくことでやはりそれなりのバグが生まれ、
その修正に翌日、翌々日の仕事後の時間を使うことになった。
iPhoneのGUI上で処理を並べていくことも、処理の流れを掴みにくさにつながっていた。
(のちにコメントブロックを随所に足すことでわかりやすくなった)
少しずつ自分のイメージしたものが出来上がっていく営みは楽しかった。
ここ2年ほどほとんどコードを書いていなかったこともあり、
プログラミングの楽しさを思い出すことができて嬉しかった。
出来上がったプログラムは誰かに見せたくなるもの。
妻にシェアして遊んでもらったところ、いくつかフィードバックをもらった。
- クリア時に成功・不成功が出るだけだと素っ気ない
- 「100点でした!」のような「褒め」はないのか?
- 得点を出すなら「ミスした分は減点する」仕組みはないのか?
たしかにそうだ。
それらのフィードバックは考えてみればどれも基本的なことだ。
なぜ思い至らなかったのだろう?
フィードバックを通じて、20年ほどのエンジニア人生の中で自分がゲームを作ったのはこれが初めてだったことに気がついた。
あまりゲームをやってこなかった人生だし、ゲーム性というものへの関心が低かったように思う。
そんな自分でも、こんな小さなゲームの中にも「ゲームデザイン」を見出すことができた。
驚いた。楽しい。面白い。
それまで興味のなかったゲーム作りを、初めて楽しいと思えた。
見るとやるとじゃ大違いだ。
フィードバックに対する修正を盛り込む上でも少し頭の体操は必要だった。
- 得点計算ロジックをどうするか
- 減点ロジックをどうするか
- 減点の幅はどのぐらいが適正か (大きすぎても小さすぎても楽しさが減ってしまう)
それっぽいロジックを考えて実装した。
ホーム画面にアイコンを置いて、毎日起動して鍛えられるようにした。
自分が欲しいものを自分で作って自分好みに調整できるこの感覚が久しい。
この営みがまだ楽しいと思えてよかった。
今日もまた機能改善として、完了後のアクションとして「もう一度やりますか?」を尋ねて、
最初からやり直せるように改修しようかと思ったが、Shortcutsだと処理のまとまりを関数として囲み出すことができないので諦めた。
ただ、1回限りのサイクルに留めるだけでも、プログラミング初学者のよい題材になりそうだと感じた。
