scholar_vit: (knot)

Прочитал интересную статью о баге в игре Civilization. В первой версии этой игры, если среди AI был Махатма Ганди и игра доходила до поздней стадии (с атомными бомбами), то Индия устраивала ядерный апокалипсис.

Причина оказалась следующая. У каждого AI был задан уровень агрессии, на который отвели один байт. У непротивленца Ганди этот уровень был равен единице. На поздней стадии игры цивилизации переходили к демократии, и при этом уровень агрессии понижался на два пункта. Но так как переменная была unsigned, попытка вычесть 2 из 1 давала 256-1=255. После чего гиперагрессивный Ганди взрывал к чертовой бабушке планету.

Баг нашли и исправили, но по традиции во многих версиях игры Ганди в определенных ситуациях (например, при поражении на переговорах) сходит с ума и начинает кидаться атомными бомбами. Этакое пасхальное яйцо для старых игроков.

Иногда мне кажется, что ошибки в наших моделях делают последние гораздо реалистичнее.

Profile

scholar_vit: (Default)
scholar_vit

January 2019

S M T W T F S
  12345
678 9101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 20th, 2025 02:01 pm
Powered by Dreamwidth Studios
OSZAR »