プログラミング教室に通っている子どもに、このゲームを見せてみた。
自分としては、
「これ、プログラミングの勉強にも良さそうやな」
くらいに思っていた。
マインクラフトを使ったプログラミングもやっているらしいし、興味を持つかもしれない。
返ってきた感想は一言。
「おもしろくなさそう」
そこで会話は終わった。
まあ、画面の半分くらいがコードなので、そう見えるのも分からなくはない。
プログラミングできる農業ゲームが気になって購入
『農家は Replace() されました』は、Twitterか何かで見かけた。
農業ゲームだから気になったというより、プログラミング要素があるゲームという部分に引かれた。
購入価格は1200円。
実際に始めてみると、最初にやることはかなり単純だった。
作物を収穫するために、コードへharvest()と書く。
もう一度収穫したければ、またharvest()を書く。
さらに収穫したければ、また書く。

harvest()
harvest()
harvest()
harvest()
harvest()
力技である。
ただし、ちゃんと動く。
最初はこれでいいのだ。
面倒を体験したあとにwhileが解放される
しばらく進めると、スキルツリーからwhileループを解放できるようになる。

それまで何度も並べていた処理を、ループにまとめられるようになった。

while True:
harvest()
一気に短くなった。スマート!この流れが面白い。
最初から「これはループ処理です」と説明されるのではない。
まずコピペで同じ命令を並べて、面倒くささを体験する。
そのあとにwhileが解放されるので、
「なるほど、だからループ処理が必要なのか」
と実感できる。
仕事というより、専門学校で習ったプログラミングをもう一度追体験しているような感覚だった。
二次元配列やソートまで出てくる
進めていくと、ループ処理だけでは終わらない。
農場を縦横の座標で考えたり、作物の並びを整理したりする中で、二次元配列やソートの考え方も使う。
関数を引数として渡せるのも良かった。
ただコードを書くだけではなく、
「どう書けば作業をもっと効率化できるか」
を考えるゲームになっていく。
自分は一時期、少しずつ機能や生産力を解放していくインクリメンタルゲームにハマっていた。
このゲームも資源を集めてスキルを解放し、できることが増える。
ただし、解放されるのは単なる性能アップではない。
新しいプログラミングの機能が解放される。
インクリメンタルゲームとプログラミング学習の組み合わせは、かなり相性が良いと思った。
一番難しかったのは迷路

宝箱あるところまでドローンが移動できたらクリアみたいなやつ。
ゲーム自体のクリアまでは約20時間かかったが、その中で一番難しかったのが迷路だった。
最初は、いわゆる左手法で攻略した。
左手を壁から離さず、
左、前、右、後ろ
という優先順位で進めば、迷路の出口へたどり着ける。
人間が実際に迷路を歩くなら、説明はこれだけで済む。
しかし、これをプログラムにするとなると話が違う。
左側に道があるのか。
前へ進めるのか。
右を向くべきなのか。
行き止まりなら、どちらへ方向転換するのか。
頭の中では分かっていても、条件分岐として順番に書くと急に難しくなる。
当然、一発では動かなかった。
画面上で農家がどう動くのかを見ながら、少しずつ修正していった。
高速クリア実績のため、迷路を解くのをやめた
左手法で普通にクリアするところまではできた。
しかし、このゲームには迷路をものすごい速さでクリアする実績があった。
普通に入口から宝箱まで探索していたのでは、どうしても時間がかかる。
そこで思いついた。
もう全マスにドローンを置けばよくね?
5×5の農場なら、全部で25マス。
その25マスすべてにドローンを待機させる。
宝箱がどこに出ても、そのマスにはすでにドローンがいる。
迷路を歩く必要がない。

最初は真面目に迷路探索アルゴリズムを組んでいた。
それが最後には、
迷路を速く解くのではなく、迷路を解く必要そのものを消す
という攻略になった。
そして、この方法で高速クリア実績も解除できた。
こういう解決方法を自分で考えられるのが、このゲームの一番面白いところかもしれない。
用意された正解を入力するだけではない。
目的さえ達成できれば、かなり強引なコードでもいい。
全マスにドローンを置くのは、もはや迷路攻略ではない。
でもプログラムとしては正しく動いている。
プログラミング未経験でも遊べそう
内容だけを見ると難しそうだが、説明はかなり親切だった。
プログラミング未経験でも、最初から順番に遊べば進められると思う。
最初は命令をそのまま並べるだけ。
そこからループ、条件分岐、関数などが少しずつ解放されていく。
いきなり複雑なコードを書かされるわけではない。
Scratchや、子どもがプログラミング教室でやっているマインクラフトにも、考え方としては近いものがありそうだと思った。
ただ、実際に子どもへ見せた感想は、
「おもしろくなさそう」
だった。
教育に良さそうなことと、子どもが遊びたがることは別問題らしい。
中盤以降は少し難しい
未経験でも遊べそうではあるが、中盤以降はそれなりに難しくなる。
コードを書いて、動きを確認して、失敗したところを修正する。
この作業そのものを楽しめる人でないと、途中から面倒に感じるかもしれない。
農業ゲームとして、のんびり作物を育てたい人には向いていない。
作物を育てるゲームというより、
作物をどうすれば効率よく育てられるかをコードで考えるゲーム
である。
逆に、効率化や自動化が好きな人にはかなり向いている。
倍速機能は欲しかった
不満というほどではないが、動作の倍速機能はあっても良かったと思う。
苦労して組み上げたプログラムが、ものすごい速さで農作業を処理していく。
それもプログラミングによる自動化の気持ちよさの一つだと思う。
コードが完成したあとは、もっと高速で動かして眺めたかった。
1200円で約20時間、定価でもおすすめ
購入価格は1200円。
クリアまでは約20時間かかった。
値段に対する満足度はかなり高い。
プログラミング経験者なら、昔習ったループ処理や配列、ソートを思い出しながら遊べる。
未経験者でも、説明に沿って進めればプログラミングの考え方を体験できる。
何より、自分で考えたコードが狙いどおりに動いたときが面白い。
迷路の全マスへドローンを置くような、正攻法ではない攻略もできる。
コーディングや効率化が好きなら、定価でもおすすめしたい。
ぜひ一度やってみてほしい。
実際に遊んで分かったこと
- ゲーム名:農家は Replace() されました
- プレイ時間:約20時間、クリア済み
- 購入価格:1200円
- 日本語:日本語表示でプレイ可能
- 難易度:序盤は親切。中盤以降は少し難しい
- 向いている人:プログラミング、効率化、自動化、インクリメンタルゲームが好きな人
- 注意点:コーディングや試行錯誤そのものが苦手だと合わない可能性あり
- 不便だった点:動作を高速化する倍速機能が欲しかった
- 価格に対する評価:1200円で約20時間遊べて満足
- 定価でおすすめできるか:おすすめできる
- 現時点での結論:プログラミング経験者にも未経験者にも、一度遊んでみてほしい


コメント