【農家は Replace() されました】全てを自動化する Fastest Reset に挑む (1:13:46.493)【VOICEROID実況】

ゲーム

概要

  • Fastest Reset

動画版

本編

「農家は Replace() されました」というゲームは、Visualize された農業ゲームをやりながら、Python-like な言語を用いてプログラミングを学習できるというゲームである。私は Python を書いたことがないので、ちょうどよいかもしれない。

最速リセットは、マウスでアンロックする機能すら自動化して、初期状態から、リーダーボードのアンロックまでのタイムアタックを目指すカテゴリ。プログラミングの機能は、徐々にアンロックされていくが、このカテゴリでは、プログラミングの機能はすべて解放されている状態から始まる。

始めは、シングルスレッド気味に書いて8時間。実績コンプするだけならこれで終わりとなる。さすがに消化不良感があったので、もう少し続ける。

ちょっとした並列化と、ヒマワリのパワーを利用して 2 時間 50 分程度。まずは動くものを雑に作って作りたいもののイメージを持ってから、ボトルネックから最適化していくのが、楽にコードを書くコツ。

このゲームの残念な点として、迷路探索の部分が、問題としてうまく機能していないところ。経路探索を真面目にやるより、このようにドローンを集合させて小さい迷路を即解くだけで、それなりに早く動いてしまう。

基本的なアルゴリズムの全探索、貪欲、ランダムでかなりの速度が出る。高度なアルゴリズムを勉強する前に、これらのアルゴリズムを当たり前のように書ける必要がある。

並列化は、領域を正方形分割するプログラムを書いてそれぞれに同じ関数を割り当てると実装が楽。最適化を頑張るなら、コードはコピペしたほうが良いと思う。

難しいアルゴリズムをバリバリと使ってしまったが、1:13:46.493 というタイムが出た。恐竜は面倒だったので、ほぼ全探索のまま。現状でも 20位代なので、手抜きでこれだから十分だろう。

感想

プログラミング学習ゲームはいろいろあるが、「農家は Replace() されました」は学習ゲームとしてかなり高い水準にあると感じた。個々の小さなアルゴリズムを実装するだけではなく、Fastest Reset を実装して、コーディング力を身につけていきましょう。これでも業務レベルと比べたら、かなり小さいコードなので、ちょっとした訓練にしかなりませんけど。