Как стать автором
Обновить

Комментарии 74

Помню, играл в Human Resource Machine и много друзей подсадил, даже тех которые не увлекались программированием. Сидели на парах, на листках составляли код и потом обсуждали его. Игра дает хорошее представление о низкоуровневом программировании. Узнаешь как на самом деле устроены циклы и ветвления.
А потом эти люди устроятся си-решёточниками и будут из управляющих конструкций признавать только if и goto =)
Добавил смайлик, чтобы было понятно, что это шутка.
Хе-хе. Вы не поверите, какой я код пишу на C# (исключительно для себя, ничьи глаза не плачут от вида той лапши) :)
Я не программист, поэтому не знаю, как без goto и стека сделать нормальный (и производительный) поиск с возвратом.
Возможны побочные эффекты
image
Танцующий Линк для меня всё же сложный, поэтому я готов к последствиям.
В HRM редактор неудобный, хорошо что экспорт\импорт в текст есть. Задания на мой вкус простоваты (ага, написано от 3 до 6 лет, а я за две недели собрал). Большой плюс — арт от Kyle Gabler, саундтрек теперь у меня в фонотеке вместе с World of Goo и Little Inferno.
Именно что на Ваш вкус. Большинство игроков — не программисты, высшую математику тоже вряд ли знают. Обычно — ещё в школе учатся.
Ну и да, задачи решить легко. Сложнее перевести в алгоритм и реализовать его. А чтобы оптимизировать его и выполнить достижения — вот тут уже ад начинается.
Да претензия даже не к простоте, а к их, заданий, шаблонности. А в копилку игр вот ещё bug brain. Жаль только заброшена.
А в чём шаблонность? Для меня там прослеживается прогресс от простого к сложному с применением уже выученных методик.
Сначала туториальные задания, обучающие новым командам, а потом их комбинирование. Ну и их так мало, поэтому ими можно решить малый круг задач и не умереть от старости, пока пишешь код мышкой\пальцем.
Для меня довольно быстро процесс создания решения стал подкорково — подгоночным. Но моё мнение тут не показатель, если начинающим нравится, то это очень хорошо, я сам считаю, что ранний опыт (квази)ассемблера чрезвычайно полезен программисту.
Мне с точки зрения оптимизации понравилась задача про разложение на простые множители. Если в более простых задачах оптимизация зачастую сводилась к угадыванию одного-единственного авторского решения, то тут был простор для фантазии. В итоге лучше всего оказалось следующее решение: сначала вручную составил таблицу простых до девятнадцати включительно. Потом каждое входящее число проверялось на равенство простым числам от 11 до 19, в случае равенства — сразу же отправлялось на выход. Если этот трюк не срабатывал, то уже стандартная факторизация с заранее вычисленными простыми.
А почему угадывание? Скорее, там просто авторы задачи нашли какое-то своё решение, показавшееся им наиболее оптимальным и включили его результаты в достижения. И какое удовольствие найти решение, которое лучше, чем в условиях.
Тут любое мнение показатель. Особенно для новичков, которым есть куда стремиться и на кого равняться.
Спасибо за обзор!
А можете посоветовать игры «для программистов» под iOS/Android? Может быть какие-то из уже упомянутых есть под мобильники?
К сожалению, не могу, с мобильным геймингом у меня отношения как-то не сложились. Но есть вероятность, что на запах свежего кода в комментарии забредёт человек, способный вам помочь.
Под андроид есть SpaceChem из первого поста.
Hacked

SpaceChem есть под Android, насколько я помню.

Да, я прошел Human Resource Machine как раз на мобильнике.
На iOS есть Swift Playgrounds. Как ни трудно догадаться для изучения Swift.
Если «для», а не «про» программистов, то Factorio тоже стоит упомянуть!

Кстати, там тоже моды на Lua.

Вспомнил, какой игры ещё не хватает в списке (уже не первый раз про неё пишу в комментариях к подобным статьям): Great Permutator.
Сам автор даже писал о ней на Хабре.
И даже в комментариях к первой части :)
Вот никак до неё не доберусь, не иначе как из-за диавольских ухищрений.
Ну и Robot Odyssey заодно.

Пресвятой Ктулху, какая аццкая жесть о_О
Кажется, я знаю, чем скоротать долгие осенние вечера.

А как же Factorio? Это номер 1 должна быть. Может автор про неё не знает?

Автор абстрактно знает, но не играл.
НЛО прилетело и опубликовало эту надпись здесь
У меня просто аллергия на Early Access'ы.
Никакой она не Early Access.
Она уже пару лет как полноценная игра.
Она уже давно в очень хорошем и играбельном состоянии. А ее разработчики каждую неделю пишут «Пятничные факты» и охотно отвечают на вопросы пользователей реддита.

Игра интересная, пока проходятся миссии, а стандартная игра очень уж однообразная — вторая половина игры сводится к часам простоя, когда игроку по сути нечего делать, кроме как ждать и обустраивать новые и новые поля по сбору ресурсов (и километры фабрик по производству электронных плат). 1-2 раза можно сыграть, пока не знаешь, что там за странные технологии дальше, и разок в death world запилить (ну и по желанию ачивки полачить).

Если вам приходится чего-то ждать кроме как в самом начале игры — значит, вы недостаточно автоматизировали производственные процессы. :-)

Ждать технологии, и в конце ракету. Может быть, я еще не умею правильно строить, но какой-нибудь Kovarex Enrichment Process стоит очень дорого и ждать его долго. Сейчас хочу взять сразу 4 ачивки про "Lazy bastard", "Steam all the way", "Raining bullets", "Logistic network embargo", поэтому всюду транспортные ленты крутятся — грусть-тоска (хорошо, что можно игру пустить на заднем плане и оно продолжает работать).

Сколько у вас лабораторий технологии двигают? Я обычно 12 строю и технологии исследуются очень быстро.


Ракету тоже можно быстро построить если сборщиков достаточно. С 20 сборщиками у меня первая цепочка ресурсов собралась пока я третью достраивал.


И да, дронов я использую только для строительства — они слишком медленные, конвейеры быстрее работают.


По поводу Kovarex Enrichment Process согласен — накопление урана-235 ускорить трудно. Но тут помогает заняться чем-нибудь еще.

у меня 10. Проблема их прокормить старшими науками — нужно много красных и синих "плат", которое в свою очередь выжирает огромное количество зеленых, которое в свою очередь требует огромного количества как железа, так и меди.

Ну, вот и занятие на то время пока технология открывается — развивать мощности по производству "плат" :-)

Первый раз ее проходить бесценно. Если Автор вдруг пропадет недели на 2 то видимо решил поиграть

Space Engineers позволяют писать скрипты на С# для управления станцией/кораблем и их модулями, кораблями со связью и т.д. Достаточно интересно с 3D графикой, физикой, и т.д. программировать поведение дронов добытчиков или разведчиков. Внимание, игра в бете уже давно, сырая и проблем у неё хватает.

А она вообще стремится релизнуться, или там всё постепенно глохнет?
Не особо, разрабы пошли по пути бесконечного расширения возможностей, вместо реализации полноценного игрового продукта. Но игра все равно шикарна если вы любите космос, астрономию, физику и программирование. Могу порекомендовать ютуб-канал о решении разного рода астрономических задач, создании автоматических роботов и вообще разных экспериментах в игре. Заодно может заинтересует еще одна игра с программированием — From The Depth, конечно если не слышали.
Между infinifactory и TES проходит грань, как мне кажется. infinifactory — игра, TES — какая-то мрачная часть работы, когда зарываешься в strace'ы по самые уши. Infinifactory — восторг, а TES я сдал обратно, ибо на игру это не похоже.
Тут зависит от того, какая работа. Если клепаешь формочки, то на досуги можно и стектрейсами обмазаться.
Зато можно играть в рабочее время и начальство не заметит. Будет думать — код пишешь и отлаживаешь.
Еще есть царица и богиня игр — Factorio и вечные третьи геройцы
Если обратить взор на WEB, то можно упомянуть:
Creeps — screeps.com
MMO RTS с добыванием ресурсов, настраиваемыми специализируемыми юнитами и написанием скриптов к ним на языке похожим на JavaScript.

CodeCombat — codecombat.com
Образовательный проект в стилистике RPG. Поддерживается несколько языков. Лично я выбирал Python. Сделано в виде: локация — задача. От простого понимания линейной последовательности выполнения до сложных алгоритмов, сочетающих ветвления, выборки, циклы и т.д. Лично я дошёл до математических формул для рисования фигур. В комплекте РПГ`шные фичи, как прокачка персонажа. Есть «арены», где игроки стравливают своих персонажей и соревнуются у кого код круче.
А можно поподробнее про CodeCombat? Конкретно — про то, что даёт подписка, а что без неё недоступно. Не доверяю я этим фримиумам.
Лично я увидел только то, что в подписке больше локаций => больше задач и есть выбор персов, не только бесплатный «воин», но и «маг» или «лучник». Других различий не видел.
В Screeps язык не «похож» на JavaScript, а является самым настоящим полноценным JavaScript. Runtime-серверы крутятся на Node.js и запускают скрипты игроков в виртуальной машине.

Дисклеймер: я автор игры. Если захотите написать про нее обзор, могу выдать бесплатно ключик на Стим и 30 дней подписки :)
Посмотрите еще такие игры: SHENZHEN I/O и Screeps, но это совсем не killer-time игры. Заставляют напрячься =)
Список игр шикарный, открыл Untrusted —or— the Continuing Adventures of Dr. Eval и просидел пару часов после работы. Огромное спасибо за статью.
Для фанатов PLC и FPGA на ведре есть таймкиллер Circuit Scramble
Проходил. Забавно, но совершенно из другой оперы. Игры в статье (то, что я называю «игры для программистов») — про конструирование либо изменение сложных систем. А Hack RUN — это длинная череда подборов паролей на основании тех или иных подсказок.
Так не в сложности дело, а в элементах кодинга.
Ну, так-то кодить можно и в DF. Насколько я читал, механизмы там тьюринг-полны.
Тогда уж и Minecraft стоило бы упомянуть не вскользь. В нём тоже можно строить тьюринг-полные машины, даже на Хабре несколько статей было.
Пошел искать Hack'n'Slash в стиме… Оказалось, что уже куплен.
Иногда плохо иметь большую библиотеку игр и не иметь времени или возможности ее полноценно освоить.
Кажется, Hack'n'Slash выдавался нахаляву владельцам какой-то другой игры. Таким образом получить его можно было незаметно для себя.
Он был именно куплен году так в 2015м.
По-моему именно для программистов будет интересна игра на checkio.org. Что бы двигаться вперед вам нужно писать программы на Python и теперь еще и на JS. Вам предлагаются заковыристые задачки разной сложности. Для прохождения уровня нужно набрать определенное количество очков. Для этого вы можете решить несколько простых задач или меньшее количество сложных. После этого вы можете открыть задачи на соседних островах-уровнях. Прелесть в том, что задачи предлагаются разными людьми и они очень разные.
Fortresscraft evolved похожа на infinifactory.
Нехорошие у неё отзывы в последнее время, отчего так?
Возможно, потому, что если пытаться пройти её полностью, на каких-то этапах всё становится очень муторно и единообразно. Ну и надо признать, что мягко говоря, до совершенства её не доводили, много идей реализовали, но чтобы в это было приятно играть долгое время, не позаботились.
Только не 'не позаботились'. Разработчик — всего один человек. Которой довольно цинично в своих стримах объяснял про соотношение время на разработку/увеличение продаж. А еще он время от времени вытаскивает на свет отзывы про игру 'дурная игра, играть скучно, делать нечего, контента нет, быстро надоедает'. И этов все от человека, наигравшего 1000+ часов. Да и дешевая она. Своих денег точно стоит.
Интересно, TIS-100 и Мультиклет знают друг о друге?
Многое из этого не видел, в основном знаком с играми только из первого поста. Из новья еще могу подсказать Gladiabots — игра с программированием логики роботов и драк на арене за ресурсы против AI либо других игроков. Знакомился с этим проектом на андроиде на стадии альфы.
Вот что нужно внедрять на уроках информатики.
Вот, кстати, не уверен. По моему опыту, люди делятся на два типа. Одним интересно и голый паскаль ковырять, а другим программирование даже в самой-пресамой игровой форме неинтересно. Не знаю, существует ли промежуточный тип.
Люди делятся на 10 типов: те, кому нравится программирование и те, кому нет.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации