Hacker News Digest

Тег: #doom

Постов: 2

Doom crash after 2.5 years of real-world runtime confirmed on real hardware (lenowo.org) 🔥 Горячее 💬 Длинная дискуссия

Два с половиной года назад я начал свой самый длинный эксперимент с программным обеспечением в реальных условиях. Прочитав статью о работе движка DOOM, я заметил, что переменная для отслеживания демо-записи продолжала увеличиваться даже после начала следующей демки. Эта переменная сравнивалась с другой, хранящей предыдущее значение. Проблема в том, что каждое увеличение медленно приближало переменную к переполнению. В обычных условиях это никогда бы не произошло, но мне стало интересно, сколько времени потребуется для краха игры.

Я провёл расчёты и получил примерно 2,5 года работы до переполнения. Чтобы проверить это на практике, я запустил DOOM на КПК с питанием от самодельного ИБП на 18650, подключённого к роутеру. Система работала всё это время, и я почти забыл о ней.

Сегодня игра наконец crashed — всего через несколько часов после отметки в 2,5 года. Переменная переполнилась, что подтвердило теорию.

by minki_the_avali • 16 сентября 2025 г. в 21:24 • 412 points

ОригиналHN

#doom#c#integer-overflow#crash-bandicoot#windows-nt#unix-time

Комментарии (178)

  • В игре Crash Bandicoot 3 используется 32-битный счётчик времени, который переполняется через ~2.26 года, вызывая сбои.
  • Аналогичная проблема переполнения счётчика обсуждается в контексте DOOM, Windows NT и других систем.
  • Переполнение знакового целого в C является неопределённым поведением, что может приводить к краху программы.
  • Упоминаются другие примеры из игр (Final Fantasy 9) и систем, где переполнение таймеров вызывает проблемы.
  • Обсуждаются технические детали, такие как использование signed vs unsigned integer для счётчиков.
  • Пользователи шутят о грядущих проблемах в 2038 году из-за переполнения времени Unix.
  • Высказывается уважение к стабильности и инженерному качеству кода старых игр, несмотря на подобные баги.

An IRC-Enabled Lawn Mower (2021) (jotunheimr.idlerpg.net)

В декабре 2020-го я прикрутил IRC-сервер к газонокосилке. Почему? Сломавшийся мотор дал повод полезть в карбюратор, а друзья в Undernet начали шутить: «Привяжи к ней Raspberry Pi и свяжи с EFnet!». Шутка не умерла за пять дней, и я решился.

Что такое IRC
Текстовый чат 1988 года, до сих пор жив. В 90-х через Undernet я познакомился с программистами по всему миру и сам стал разработчиком.

Как подключиться
Сервер lawnmower.* работает на Pi, прикреплённой к косилке.
Адрес: lawnmower.undernet.org:6667
Канал: #lawn

by rickcarlino • 16 августа 2025 г. в 23:48 • 103 points

ОригиналHN

#raspberry-pi#irc#undernet#arm#doom#libera.chat#slack

Комментарии (20)

  • Пользователи восторженно обсуждают проект «газонокосилка с Raspberry Pi и IRC-сервером», признавая его абсурдность и притягательность.
  • Некоторые мечтали увидеть именно IRC-сервер на роботе-косилке, а не просто прикол; ссылки на openmower.de и idlerpg.net подогрели фантазии.
  • Всплыла ностальгия по раннему интернету и Undernet, где люди знакомились по всему миру.
  • Участники спорят, можно ли запустить Doom или IRC-клиент на современных ARM-микроконтроллерах косилок; китайские бренды считаются лёгкой добычей для хакеров.
  • Вопрос «А где хранится форель?» стал внутренней шуткой треда.
  • IRC-2021 жив (libera.chat) и всё ещё считается лучшим инструментом группового чата, в отличие от «IRC-as-a-service» вроде Slack.