News Grower

Независимое покрытие AI, стартапов и технологий.

[Перевод] Как Pizza Tycoon симулировала трафик на процессоре с частотой 25 МГц

Я работал над Pizza Legacy — опенсорсным воссозданием игры 1994 года Pizza Tycoon для DOS. В игре есть вид на улицы города, при скроллинге которого игрок наблюдает постоянный поток машин. Это примерно 20-30 маленьких спрайтов, однако они едут по дорожной сети, создают очереди на перекрёстках и в целом выглядят как о...

[Перевод] Как Pizza Tycoon симулировала трафик на процессоре с частотой 25 МГц

Я работал над Pizza Legacy — опенсорсным воссозданием игры 1994 года Pizza Tycoon для DOS. В игре есть вид на улицы города, при скроллинге которого игрок наблюдает постоянный поток машин. Это примерно 20-30 маленьких спрайтов, однако они едут по дорожной сети, создают очереди на перекрёстках и в целом выглядят как оживлённый город. Да, симуляция иногда глючит, машины проезжают друг через друга, но этого достаточно, чтобы придать карте ощущение жизни. И всё это на процессоре 386 с частотой 25 МГц.Когда я приступил к реализации своего проекта в 2010 году, то первым делом создал этот вид улиц, но мне понадобилось ещё четырнадцать лет, прежде чем машины начали двигаться по нему так, как это меня устраивало; за эти годы я совершил множество попыток, но каждый раз сталкивался с проблемами и заходил в тупик из-за создания переусложнённой системы.В 2017 году я попробовал сделать так, чтобы каждый тайл отслеживал занятые позиции, а каждая машина запрашивала разрешение, прежде чем двигаться вперёд, резервируя и освобождая слоты в процессе перемещения. По сути, это превратилось в систему блокировок, необходимую для того, чтобы всего лишь перемещать несколько пикселей; машины и тайлы при этом постоянно пытались синхронизироваться.Всё это время мне не давала покоя одна мысль: если оригинальная Pizza Tycoon работала на процессоре с частотой 25 МГц, то почему мои версии всегда оказывались столь сложными?Наконец, я решил заняться ассемблерным кодом (на медленное понимание и документирование которого я уже потратил много лет), чтобы разобраться, что же происходит в оригинале; кроме того, я воспользовался помощью LLM, которые на тот момент (пару лет назад) были новой и увлекательной технологией, способной разбираться в ассемблерном коде лучше, чем я.

Связанные теги

Компании и люди

Линия сюжета

Продолжить следить за темой

Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.

Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес

Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес

Привет, Хабр! Меня зовут Влада Ларионова, я продуктовый дизайнер в ОТП Бизнес, работаю в трайбе Corporate & SME и отвечаю за продукты для клиентов, ведущих внешнеэкономическую д...

Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader

Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader

31 марта 2026 года ThreatLabz/Zscaler опубликовали разбор последних версий XLoader. Начиная с версии 8.1, авторы трояна переработали механизм связи с управляющим сервером: в бин...

Room или SQLite? Как не писать SQL запросы вручную на Android

Room или SQLite? Как не писать SQL запросы вручную на Android

Каждое Android-приложение, которое хранит данные на устройстве, рано или поздно сталкивается с базой данных. Встроенная SQLite — надёжное решение, но работа с ней через SQLiteOp...

Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора

Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора

Не испытываете радости от взаимодействия с эйчарами? Они тоже от всего этого не в восторге: по данным опроса Happy HR Report, треть из них находится в состоянии выгорания или бл...

Обновление бесплатной утилиты Easy Disk Checker — ещё больше опций восстановления данных и тестов HDD, SSD и флешек

Обновление бесплатной утилиты Easy Disk Checker — ещё больше опций восстановления данных и тестов HDD, SSD и флешек

Приветствую Хабравчан. С момента выходов этого и вот этого материалов прошло немало времени, которое не было потрачено зря. В последнем апдейте бесплатной многофункцональной ути...

Внедрение VMware Horizon на крупном предприятии глазами инженера, часть 3

Привет, Хабр! Это — третья часть «Внедрения VMware Horizon глазами инженера». В этот раз разберёмся с сетевой связностью, из чего вообще состоит Horizon и как именовать весь это...

Рекламный слот

Встроенный блок в статье

Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.

Партнерский слот

Похожие статьи

Еще материалы, которые пересекаются по тегам, источнику или категории.

Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес

Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес

Привет, Хабр! Меня зовут Влада Ларионова, я продуктовый дизайнер в ОТП Бизнес, работаю в трайбе Corporate & SME и отвечаю за продукты для клиентов, ведущих внешнеэкономическую д...

Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader

Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader

31 марта 2026 года ThreatLabz/Zscaler опубликовали разбор последних версий XLoader. Начиная с версии 8.1, авторы трояна переработали механизм связи с управляющим сервером: в бин...

Room или SQLite? Как не писать SQL запросы вручную на Android

Room или SQLite? Как не писать SQL запросы вручную на Android

Каждое Android-приложение, которое хранит данные на устройстве, рано или поздно сталкивается с базой данных. Встроенная SQLite — надёжное решение, но работа с ней через SQLiteOp...

Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора

Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора

Не испытываете радости от взаимодействия с эйчарами? Они тоже от всего этого не в восторге: по данным опроса Happy HR Report, треть из них находится в состоянии выгорания или бл...

Еще материалы от Habr

Свежие публикации и продолжение темы от той же редакции.

Открыть страницу источника
Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес

Как доводить сложные задачи до конца, когда всё меняется на ходу — переосмысление международных платежей в OTP Бизнес

Привет, Хабр! Меня зовут Влада Ларионова, я продуктовый дизайнер в ОТП Бизнес, работаю в трайбе Corporate & SME и отвечаю за продукты для клиентов, ведущих внешнеэкономическую д...

Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader

Почему у shuffle privacy есть фазовая диаграмма — и причём тут XLoader

31 марта 2026 года ThreatLabz/Zscaler опубликовали разбор последних версий XLoader. Начиная с версии 8.1, авторы трояна переработали механизм связи с управляющим сервером: в бин...

Room или SQLite? Как не писать SQL запросы вручную на Android

Room или SQLite? Как не писать SQL запросы вручную на Android

Каждое Android-приложение, которое хранит данные на устройстве, рано или поздно сталкивается с базой данных. Встроенная SQLite — надёжное решение, но работа с ней через SQLiteOp...

Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора

Эйчары тоже плачут: почему им (и вам) нужна автоматизация подбора

Не испытываете радости от взаимодействия с эйчарами? Они тоже от всего этого не в восторге: по данным опроса Happy HR Report, треть из них находится в состоянии выгорания или бл...