Американские горки Магнат не была самой модной компьютерной игрой в 1999 году. Но если вы заглянете под пиксели — шаткие аттракционы, толпы голодных, жаждущих, блевающих людей (и дворники, швабрящие за ними) — глубоко на уровне кодвы видели мастерство настолько навязчивое, что оно граничит с безумием. Крис Сойер, единственный разработчик игры, написал все на ассемблере.
Некоторые языки программирования, например Питон или Go, или C++, называются «высокоуровневыми», потому что они работают как человеческий язык, написанный командами и идиомами, которые могут вписаться в поэтический турнир. Вообще говоря, какая-нибудь программа, например, компилятор, преобразует это в то, что на самом деле читает машина: блоки единиц и нулей (или, может быть, шестнадцатеричных чисел), которые сообщают реальным транзисторам, как себя вести. Ассемблер, самый низкий из языков «низкого уровня», имеет почти однозначное соответствие с родным языком машины. Он кодируется прямо на металл. Собрать сложную компьютерную игру из сборки — это все равно, что сплести гобелен из сброшенной кошачьей шерсти.
Зачем кому-то это делать? Недавно я спросил Сойера, который живет в его родной Шотландии. Он сказал мне, что эффективность была одной из причин. В 1990-е годы инструментов для программирования высокого уровня существовало не все. Компиляторы работали ужасно медленно. Отладчики — отстой. Сойер мог избежать их, занимаясь своим делом на ассемблере x86, лингва франка Интел чипсы.
Однако мы оба знали, что настоящая причина была не в этом. Настоящей причиной была любовь. Прежде чем заняться американскими горками, Сойер написал на ассемблере еще одну игру: Транспортный магнат. Он возлагает на игроков ответственность за городские дороги, железнодорожные станции, взлетно-посадочные полосы и порты. Я представлял Сойера любителем моделей поездов: он прокладывает каждый участок пути, вручную сшивает искусственный газон, каждая деталь — это выбор и работа. Чтобы перенести эти тщательно обработанные пиксели из растрового изображения на дисплей, Сойеру пришлось полностью раскрыть потенциал чипа. «Американские горки-магнат возникла только потому, что я был знаком с пределами возможного», — сказал он мне.
Работаете в рамках ограничений? Возможно, это чуждая идея в наш век цифрового изобилия, когда вызов одной функции в ИИ Алгоритм обучения может задействовать миллион графических процессоров. С помощью ассемблера вы получаете одно и только одно, и это то, о чем вы просите, даже, как многие программисты усвоили на собственном горьком опыте, если это неправильно. В этом плане сборка жестокая и красивая. Это требует от вас сказать именно то, что вы имеете в виду.
Я сделал сборку создателям медвежья услуга. Они хотели, чтобы все было проще, а не сложнее. Я полагаю, они устали загружать перфокарты и щелкать переключателями на своих стимпанк-левиафанах. Возможно, они мечтали о мире, подобном нашему, где компьютеры смогут сделать так много с минимальным руководством.
2025-10-13 11:00:00
1760372181
#Программирование #на #ассемблере #это #жестоко #красиво #возможно #даже #путь #лучшему #ИИ
Ещё по этой теме

