[Перевод] Как Pizza Tycoon симулировала трафик на процессоре с частотой 25 МГц
Я работал над Pizza Legacy — опенсорсным воссозданием игры 1994 года Pizza Tycoon для DOS. В игре есть вид на улицы города, при скроллинге которого игрок наблюдает постоянный поток машин. Это примерно 20-30 маленьких спрайтов, однако они едут по дорожной сети, создают очереди на перекрёстках и в целом выглядят как о...
Я работал над Pizza Legacy — опенсорсным воссозданием игры 1994 года Pizza Tycoon для DOS. В игре есть вид на улицы города, при скроллинге которого игрок наблюдает постоянный поток машин. Это примерно 20-30 маленьких спрайтов, однако они едут по дорожной сети, создают очереди на перекрёстках и в целом выглядят как оживлённый город. Да, симуляция иногда глючит, машины проезжают друг через друга, но этого достаточно, чтобы придать карте ощущение жизни. И всё это на процессоре 386 с частотой 25 МГц.Когда я приступил к реализации своего проекта в 2010 году, то первым делом создал этот вид улиц, но мне понадобилось ещё четырнадцать лет, прежде чем машины начали двигаться по нему так, как это меня устраивало; за эти годы я совершил множество попыток, но каждый раз сталкивался с проблемами и заходил в тупик из-за создания переусложнённой системы.В 2017 году я попробовал сделать так, чтобы каждый тайл отслеживал занятые позиции, а каждая машина запрашивала разрешение, прежде чем двигаться вперёд, резервируя и освобождая слоты в процессе перемещения. По сути, это превратилось в систему блокировок, необходимую для того, чтобы всего лишь перемещать несколько пикселей; машины и тайлы при этом постоянно пытались синхронизироваться.Всё это время мне не давала покоя одна мысль: если оригинальная Pizza Tycoon работала на процессоре с частотой 25 МГц, то почему мои версии всегда оказывались столь сложными?Наконец, я решил заняться ассемблерным кодом (на медленное понимание и документирование которого я уже потратил много лет), чтобы разобраться, что же происходит в оригинале; кроме того, я воспользовался помощью LLM, которые на тот момент (пару лет назад) были новой и увлекательной технологией, способной разбираться в ассемблерном коде лучше, чем я.
Связанные теги
Компании и люди
Линия сюжета
Продолжить следить за темой
Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.
Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес
Привет, Хабр! Меня зовут Влада Ларионова, я продуктовый дизайнер в ОТП Бизнес, работаю в трайбе Corporate & SME и отвечаю за продукты для клиентов, ведущих внешнеэкономическую д...
Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader
31 марта 2026 года ThreatLabz/Zscaler опубликовали разбор последних версий XLoader. Начиная с версии 8.1, авторы трояна переработали механизм связи с управляющим сервером: в бин...
Room или SQLite? Как не писать SQL запросы вручную на Android
Каждое Android-приложение, которое хранит данные на устройстве, рано или поздно сталкивается с базой данных. Встроенная SQLite — надёжное решение, но работа с ней через SQLiteOp...
Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора
Не испытываете радости от взаимодействия с эйчарами? Они тоже от всего этого не в восторге: по данным опроса Happy HR Report, треть из них находится в состоянии выгорания или бл...
Обновление бесплатной утилиты Easy Disk Checker — ещё больше опций восстановления данных и тестов HDD, SSD и флешек
Приветствую Хабравчан. С момента выходов этого и вот этого материалов прошло немало времени, которое не было потрачено зря. В последнем апдейте бесплатной многофункцональной ути...
Внедрение VMware Horizon на крупном предприятии глазами инженера, часть 3
Привет, Хабр! Это — третья часть «Внедрения VMware Horizon глазами инженера». В этот раз разберёмся с сетевой связностью, из чего вообще состоит Horizon и как именовать весь это...
Страницы сущностей
Рекламный слот
Встроенный блок в статье
Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес
Привет, Хабр! Меня зовут Влада Ларионова, я продуктовый дизайнер в ОТП Бизнес, работаю в трайбе Corporate & SME и отвечаю за продукты для клиентов, ведущих внешнеэкономическую д...
Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader
31 марта 2026 года ThreatLabz/Zscaler опубликовали разбор последних версий XLoader. Начиная с версии 8.1, авторы трояна переработали механизм связи с управляющим сервером: в бин...
Room или SQLite? Как не писать SQL запросы вручную на Android
Каждое Android-приложение, которое хранит данные на устройстве, рано или поздно сталкивается с базой данных. Встроенная SQLite — надёжное решение, но работа с ней через SQLiteOp...
Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора
Не испытываете радости от взаимодействия с эйчарами? Они тоже от всего этого не в восторге: по данным опроса Happy HR Report, треть из них находится в состоянии выгорания или бл...
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес
Привет, Хабр! Меня зовут Влада Ларионова, я продуктовый дизайнер в ОТП Бизнес, работаю в трайбе Corporate & SME и отвечаю за продукты для клиентов, ведущих внешнеэкономическую д...
Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader
31 марта 2026 года ThreatLabz/Zscaler опубликовали разбор последних версий XLoader. Начиная с версии 8.1, авторы трояна переработали механизм связи с управляющим сервером: в бин...
Room или SQLite? Как не писать SQL запросы вручную на Android
Каждое Android-приложение, которое хранит данные на устройстве, рано или поздно сталкивается с базой данных. Встроенная SQLite — надёжное решение, но работа с ней через SQLiteOp...
Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора
Не испытываете радости от взаимодействия с эйчарами? Они тоже от всего этого не в восторге: по данным опроса Happy HR Report, треть из них находится в состоянии выгорания или бл...