tgoop.com/kantor_ai/552
Last Update:
Игра, в которой программируешь робота-фермера 
Недавно друг, знакомящийся с программированием, стримил, как играет в Farmer was replaced - игру, где нужно на почти Python программировать дрона-фермера, который сажает растения, поливает, удобряет и собирает урожай. Кто помнит "веселую ферму" в ВК - вот это примерно оно, только для всех действий пишешь код. 
Мне стало интересно самому посмотреть на игру поближе, и это правда оказалось очень здорово. С одной стороны, возможности языка открываются постепенно и снабжаются понятными объяснениями. С другой стороны, это не было профанацией, когда соединение квадратиков выдается за обучение программированию. Так что очень рекомендую тем, кто только знакомится с программированием (и взрослым, и детям).
Ну а самое приятное - это было интересно и весело, даже когда умеешь программировать, и вот почему:
👷♂️ Игра дает приятную ностальгию по чувству «я у мамы инженер». Вы же не будете даже в игрушке писать код так, будто вам по нему проходить код-ревью? Будете? Ну ладно-ладно, а я поговнокодил вдоволь (не как на скриншоте из Steam, но тоже у внутреннего ревьюера миллион вопросиков). Чем это приятно? Тем, что возвращает дух инженерного авантюризма из детства: «я это сделал, оно работает, где-то я по пути набажил, но работает всё равно приемлемо, потом перепишу». Такой раздолбайский подход, который на работе как правило был бы непозволительной роскошью и заявкой на вылет, в игре добавляет веселья.
👨💻 Когда у тебя на экране на поле N x N в реальном времени показывается анимация как робот выполняет написанный тобой код, это создает неведомую до сих пор мотивацию оптимизировать код. Одно дело - когда ты сдаешь задачу на leetcode и не проходишь по времени или когда в проде нужно уложиться в X миллисекунд на инференс, чтобы не портить пользовательский опыт. Совсем другое - ждать блин пока вам покажет анимацию всех действий робота 
📈 Можно с детства понимать, что квадрат растет быстрее линейной функции, но когда с ростом размера фермы разница между сложностью решений становится настолько наглядна, что то, что было приемлемым решением полчаса назад, теперь становится невыносимо медленным, задумываешься о многом. И о том, как здорово, что знаешь, как оптимизировать. И о том, зачем в IT компаниях на собеседованиях спрашивают алгоритмы, которые потом требуются раз в три года. В комментах на Steam разумеется есть жалобы на то, что «игра быстро превращается просто в долгое ожидание исполнения кода» от тех, кто про алгоритмы и сложность не слышал. И ведь что интересно: людям не приходит в голову погуглить про оптимизацию решений. Кто не знаком с самой концепцией, и правда не знает, что искать. Поневоле наводит на мысли, что ваш потенциал в любом начинании сильно зависит от уровня знаний как у вас, так и у партнеров и коллег, о том, что на свете бывает. Есть те люди, кто может оптимизировать процесс в разы или вообще на порядки, а есть те, кто будет говорить, что работать просто надо больше и делать однотипные операции изо дня в день.
🐍 В игре все не ограничивается фермерством и ближе к концу дерева технологий открываются лабиринты и игра в змейку, тоже с исполнением роботом написанного вами кода. А для самых рьяных автоматизаторов можно написать код не только выполняющий задачи, но и самостоятельно открывающий дерево технологий и проходящий игру.
В общем, я прекрасно провел вечер, процесс игры одновременно и медитативный, и забавный и поучительный. Поделитесь в комментариях другими играми, которые вызвали у вас похожие чувства :) Кажется, что жанр игр с образовательным флером хоронить рано, и это прекрасно ❤️

