Metaprogramming
600 subscribers
94 photos
1 video
148 links
μετά- «между, после, через» (греч.)

Жизнь программиста за пределами программирования: алгоритмы, психология, инвестиции, иное.
Download Telegram
Вкратце про игры для программистов

Тракторист после работы приходит домой и расслабляется в Farming Simulator, экскаваторщик в Excavator Simulator (увы, ещё не вышла, но очень ждём), фрезеровщик в Milling machine 3D, ну а игры для программистов мы сейчас вкратце рассмотрим. За прошедшие годы тут выбор крайне широкий, и в этот пост постараюсь уместить только непосредственно связанное с разработкой программ (т.е. условный Factorio или ещё что отдалённое не рассматриваем), лично рассмотренное и, с моей точки зрения, одновременно полезное и приятное.

1. TIS-100. Программируем многоядерную машину на ассемблере. Скучно, блекло и искусственные ограничения (всего несколько десятков строк кода на каждое "ядро") демотивируют. Но, в целом, классика, которую нельзя не упомянуть.

2. Exapunks. Красочно, ярко, интересно. Уровни разнообразные и сопровождаются симпатичными рисовками. Тоже ассемблер.

3. MHRD. Аскетичный интерфейс и минималистичная сопроводительная история, однако уникальная механика: собираем из отдельных элементарных элементов (в последующих уровнях используются собранные ранее) полноценный микропроцессор. Конечно, упрощённая, но вполне прикольная репрезентация разработки-дизайна интегральных микросхем.

4. The Signal State. Весьма красочная и с прописанным сюжетом. Разрабатываем аналоговые преобразователи сигналов, соединяя их в специальной деке в цепочку. Однако, механика довольно слабая, забирать элементы с предыдущего уровня на следующий нельзя.

#games
Вкратце про бессмертный софт

Какие игры-то красочные были!

Не зря "Герои меча и магии" до третьей части стали не умирающей классикой. Особенно привлекает минимализм, чёткость интерфейса. Все кнопки на своих местах, плотно так упаковано, но при этом не без рюшечек для создания атмосферы (книга заклинаний там какая-нибудь – впрочем, пожалуй она-то как раз худший элемент интерфейса).

Для того, чтобы реанимировать игру и попробовать продлить срок её жизни, энтузиасты движок переписали практически с нуля. Написали на C++ логику, сделали сборки под основные операционные системы.

Подход, думаю, стратегически проигрышный. Через 20 лет опять всё переписывать. В идеале надо разработать специализированный язык, на котором уже следом реализовать саму игру. Язык поддерживать, как ни странно, проще, чем конкретный (сложный) продукт на нём.

По этому пути пошла, например, плеяда квестов на ScummVM. Которые теперь автоматически (с поправкой на принцип "дырявых абстракций", конечно, но это детали) поддерживаются на всех платформах с незначительными доработками.

И всегда будут поддерживаться, пока существует человеческая цивилизация, поскольку техника устаревает мгновенно, обратная совместимость софта прекращается очень быстро, вычислительные архитектуры меняются раз в несколько десятилетий, но языки живут вечно. А реализовать поддержку известного хорошо формализованного языка на любой платформе это всегда довольно просто.

#programming #games