Эта статья входит в число добротных статей

Ядерный Ганди

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Пример интернет-мема про «ядерного Ганди»

Ядерный Ганди (англ. Nuclear Gandhi) — персонаж интернет-мемов, а также связанная городская легенда. Согласно легенде, в компьютерной игре Sid Meier’s Civilization существовал баг, из-за которого лидер-пацифист Махатма Ганди на определённом этапе игры становился крайне агрессивным и активно использовал ядерные боеголовки.

Первые упоминания бага появились в 2012 году, через два года после выхода Sid Meier’s Civilization V. Со временем он стал одним из самых известных багов в истории компьютерных игр, а также начал использоваться на курсах информатики как пример целочисленного переполнения. Также «Ядерный Ганди» начал включаться в игры серии Civilization в качестве пасхального яйца. Однако в 2020 году Сид Мейер заявил, что бага в первой части игры никогда не существовало в реальности. По его словам, «Ядерный Ганди» впервые был добавлен в Sid Meier’s Civilization V в качестве шутки.

Описание ошибки[править | править код]

Целочисленное переполнение можно объяснить на примере одометра: на шестизначном одометре нулю предшествует число 999999, а в восьмибитной беззнаковой целочисленной переменной — 255

Согласно мифу, у каждого лидера государства в известной игре 1991 года Sid Meier’s Civilization был параметр, отвечающий за агрессивность и принимающий значение от 1 до 10, где единица соответствует наименьшему уровню агрессии, а десятка — наибольшему[1][2] (по другим источникам, параметр принимал значения от 1 до 12[3]). Индийский лидер Махатма Ганди имел наименьший рейтинг агрессивности среди всех лидеров, равный единице[4], в результате чего он вёл только оборонительные войны[5]. Когда компьютерный игрок менял государственный строй на демократический — предпочтительный строй для миролюбивых цивилизаций[2], — его агрессивность дополнительно уменьшалась на два пункта, что в случае Ганди приводило к отрицательному уровню агрессии, равному −1[6]. Однако поскольку уровень агрессии хранился в однобайтовой беззнаковой целочисленной переменной, которая может принимать значения от 0 до 255 (28−1), происходило целочисленное переполнение и значение параметра становилось равным 255[6] — благодаря чему Ганди становился в 25 раз более агрессивным, чем самые воинственные лидеры в игре[5]. В технологическом древе демократия располагалась недалеко от ядерных технологий, а потому Ганди «сходил с ума» почти одновременно с изобретением ядерного вооружения, что приводило к внезапным ядерным бомбардировкам со стороны Индии[1]. Ошибка была якобы быстро исправлена в первой игре серии Civilization[3][7], однако она до того понравилась разработчикам, что была намеренно повторена в последующих играх в качестве пасхального яйца и шутки[1][8][7]. По другим источникам, исходная ошибка была впервые допущена в Sid Meier’s Civilization II[3].

В действительности, по словам Брайана Рейнольдса, ведущего геймдизайнера Civilization II, у лидеров в первой Civilization было всего три уровня агрессии, и хотя искусственному интеллекту Ганди действительно был присвоен самый низкий уровень, точно таким же уровнем обладала ещё треть лидеров. Кроме того, исходя из своих воспоминаний о структуре кода, Брайан утверждал, что никакой беззнаковой переменной там не было, а у лидеров не было технической возможности вести себя более агрессивно, чем самые воинствующие лидеры игры — даже если у какого-то лидера действительно был бы 255-й уровень агрессии, он вёл бы себя абсолютно так же, как и лидер третьего уровня[5]. По словам Сида Мейера, поскольку целочисленные переменные являются знаковыми по умолчанию как в языке Си, на котором была написана Civilization, так и в языке C++, на котором написана Civilization II, именно такая переменная была использована для хранения агрессивности искусственного интеллекта; кроме того, государственный строй не влиял на уровень агрессии, а потому агрессивность Ганди оставалась равной единице всю игру[3]. Во время войны Индия в Civilization, как и любая другая цивилизация в игре, могла использовать ядерное вооружение, однако Ганди использовал ядерные боеголовки не чаще, чем Авраам Линкольн и другие миролюбивые лидеры[2][3]. Кроме того, все лидеры в игре использовали одни и те же реплики в диалогах, а потому игроки могли получать от Ганди регулярные угрозы ядерных бомбардировок («Наши слова подкреплены ядерным арсеналом!» — англ. Our words are backed with nuclear weapons!), что не противоречило его мирной натуре, так как данная реплика направлена на предотвращение возможной войны[9][3]. При этом, однако, благодаря упору на мирное научное развитие, Индия нередко открывала технологию расщепления атома одной из первых[2][3].

История[править | править код]

Джон Шейфер, сделавший Ганди любителем ядерного вооружения в Civilization V

Впервые «ядерный Ганди» появился в Sid Meier’s Civilization V, где Джон Шейфер, ведущий геймдизайнер игры, установил для Индии максимальный уровень предпочтения ядерного оружия — 12. Цель такой настройки искусственного интеллекта была сугубо юмористической: «смешно даже представить, что у индийского политического деятеля, пропагандирующего философию ненасилия, может появиться желание сбрасывать атомные бомбы на своих соседей»; при этом о том, как вёл себя Ганди в первой части игры, Джон ничего не знал. После выхода игры в 2010 году игроки заметили необычную враждебность индийского лидера; ей, в частности, был посвящён один из выпусков комикса Critical Miss, публикующегося в журнале The Escapist[2]. Среди игроков Ганди в Civilization заслужил такие клички, как «Термоядерный», «Разрушитель миров» и «Курчатов»[10].

В июле 2012 года, через 21 год после выхода оригинальной Sid Meier’s Civilization, в вики-проекте TV Tropes пользователем под ником Tunafish была опубликована статья о якобы существовавшей ошибке в первой Civilization, приводящей к повышенной агрессивности Ганди, однако каких-либо доказательств приведено не было[3][2]. В ноябре аналогичная информация была добавлена в Викию[3]. По словам Сида Мейера, следующие два года история распространялась по форумам и среди игроков, а каждый раз, когда кто-то сомневался в её истинности, в качестве доказательства использовалась ссылка на вики-проект[2].

В 2014 году история получила широкую огласку, когда на ресурсе Reddit был повторно опубликован комикс Critical Miss о Ганди в Civilization V, а в комментариях пользователи начали объяснять, почему Ганди был сделан таким агрессивным[2]. Спустя 10 дней на новостном сайте Kotaku была опубликована статья «Почему Ганди такая сволочь в Civilization» (англ. Why Gandhi Is Such An Asshole In Civilization)[6], которую вскоре подхватили другие новостные сайты[2] и блоги[3]. В результате такого всплеска интереса в СМИ и блогосфере об ошибке узнало большое количество поклонников серии, а «ядерный Ганди» стал общеизвестным игровым интернет-мемом и предметом для шуток; кроме того, благодаря эффекту Манделы многие люди вспомнили, как в первых играх серии Civilization им досаждала Индия[2]. Вскоре информация о «Ядерном Ганди» была добавлена на сайт Know Your Meme, однако в качестве игры, в которой баг впервые появился, была указана Civilization II[3].

18 июня 2019 года Кевин Шульц, менеджер по маркетингу компании Firaxis Games, опубликовал твит, в котором сообщил, что пару недель не будет появляться в сети, поскольку улетает по делам в Китай, и предложил за это время поразмыслить над вопросом: «а что если знаменитая история о баге в первой Civilization, из-за которой Ганди якобы стал любителем ядерных бомб, — абсолютная ложь?». Это сподвигло Криса Брайта, бывшего журналиста Eurogamer, работавшего на YouTube-канале People Make Games, начать журналистское расследование[5].

Крис связался с PR-службой издателя 2K с просьбой организовать ему интервью с представителем Firaxis, но получил отказ. Тогда Крис связался с Брюсом Шелли — геймдизайнером, покинувшим MicroProse через год после выхода первой Civilization, — однако тот заявил, что не помнит такой проблемы, поскольку разработка Civilization велась 30 лет назад: «я смутно вспоминаю какую-то проблему, связанную с Ганди, но тут вам надо поговорить с Сидом». Далее Крис связался с Брайаном Рейнольдсом, ведущим геймдизайнером Civilization II, и получил ответ: «с тех пор, как я в последний раз видел код первой Civilization, прошло около двадцати лет. Тем не менее я уверен на 99,9 %, что история про баг с Ганди — абсолютная выдумка». Журналист повторно связался с 2K и лично Сидом Мейером, однако не получил прямого опровержения истории об ошибке: Сид заявил, что не знает ответа на этот вопрос, однако считает, что это хорошо, поскольку «в те времена, из-за того, что технологии были крайне ограничены, игровой процесс первой Civilization во многом происходил в воображении игрока» и «мне не хотелось бы ограничивать их воображение, раскрывая слишком многое». Результат расследования журналист опубликовал на YouTube[5].

Позднее Сид Мейер в интервью изданию Ars Technica подтвердил, что история об ошибке в коде игры выдумана[2], а 8 сентября 2020 года вышла автобиография Сида Мейера, «Sid Meier’s Memoir!: A Life in Computer Games», в которой геймдизайнер подробно рассказал историю возникновения легенды[2][4][11].

Появление в играх[править | править код]

Настройки искусственного интеллекта в Civilization V. В таблице видны высокие значения в категориях «создание ядерного оружия» (Build Nuke) и «применение ядерного оружия» (Use Nuke) у Ганди

В Sid Meier’s Civilization V Ганди является одним из самых миролюбивых лидеров, однако параметр его искусственного интеллекта, регулирующий создание и использование ядерного вооружения, на шкале от 1 до 10 имеет значение 12, наибольшее среди всех лидеров (последующие три лидера имеют ядерный рейтинг, равный 8, а у большинства он лежит в диапазоне 4—6)[6]. Чтобы разнообразить игровой процесс в Civilization V, в начале каждой партии параметры искусственного интеллекта случайным образом модифицируются в диапазоне от −2 до +2, однако у Ганди, даже в случае выпадения −2, параметры, отвечающие за создание и применение ядерного оружия, остаются равными максимально возможному значению — 10[12].

Sid Meier’s Civilization VI ввёл для лидеров механику «исторических целей», регулирующих поведение искусственного интеллекта. Каждый лидер имеет две цели: одна является постоянной и прописана для лидера, а вторая выбирается случайным образом в начале партии. Историческая цель Махатмы Ганди — «Миротворец», благодаря которой он не выступает агрессором в войнах, сближается с мирными цивилизациями и недолюбливает агрессоров, однако в качестве второй цели он имеет повышенную вероятность получить цель «Ядерный агрессор»[13][14].

Влияние[править | править код]

«Ядерный Ганди» является одним из самых известных багов в истории компьютерных игр[5], который породил большое количество интернет-мемов[8]. Он также используется как пример целочисленного переполнения на курсах информатики, в том числе в Гарвардском университете[2].

См. также[править | править код]

Примечания[править | править код]

  1. 1 2 3 Ethan Maurice. Why Gandhi Is So Violent In Civilization Games (англ.). Screen Rant (30 июня 2020). Дата обращения: 18 сентября 2020. Архивировано 3 сентября 2020 года.
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 Алексей Афанасьев. История появления мифа о «Ядерном Ганди» — по версии самого Сида Мейера. DTF (16 сентября 2020). Дата обращения: 18 сентября 2020. Архивировано 18 сентября 2020 года.
  3. 1 2 3 4 5 6 7 8 9 10 11 Meier, Sid. Funny Business // Sid Meier's Memoir!: A Life in Computer Games (англ.). — W. W. Norton, 2020. — P. 261—266. — 304 p. — ISBN 978-1-324-00587-2.
  4. 1 2 Dustin Bailey. Sid Meier says Civilization’s nuclear Gandhi bug isn’t real (англ.). PCGamesN (8 сентября 2020). Дата обращения: 18 сентября 2020. Архивировано 19 сентября 2020 года.
  5. 1 2 3 4 5 6 Артемий Леонов. Почему история о баге с «ядерным Ганди» в Civilization, скорее всего, выдумана. DTF (5 сентября 2019). Дата обращения: 18 сентября 2020. Архивировано 26 сентября 2020 года.
  6. 1 2 3 4 Luke Plunkett. Why Gandhi Is Such An Asshole In Civilization (англ.). Kotaku (3 февраля 2016). Дата обращения: 18 сентября 2020. Архивировано 18 сентября 2020 года.
  7. 1 2 James Plafke. What caused Gandhi’s insatiable bloodlust in Civilization (англ.). Geek.com[en] (3 ноября 2014). Дата обращения: 18 сентября 2020. Архивировано 22 июля 2016 года.
  8. 1 2 Angus A. A. Mol. “From the Stone Age to the Information Age”: History and Heritage in Sid Meier's Civilization VI (англ.). Cambridge University Press (20 апреля 2017). Дата обращения: 18 сентября 2020. Архивировано 4 февраля 2021 года.
  9. Ian Walker. Civilization Creator Shoots Down Our Memories Of A Nuke-Happy Gandhi (англ.). Kotaku (9 сентября 2020). Дата обращения: 18 сентября 2020. Архивировано 12 сентября 2020 года.
  10. Михаил Андреев. «Разрушитель миров» Ганди возглавляет Индию в Civilization VI. Overclockers.ru (30 августа 2016). Дата обращения: 21 сентября 2020. Архивировано 2 октября 2020 года.
  11. Дмитрий Рудь. Создатель Sid Meier's Civilization развенчал миф о происхождении «ядерного» Ганди. 3DNews (10 сентября 2020). Дата обращения: 18 сентября 2020. Архивировано 18 сентября 2020 года.
  12. Anton Dizon. In 'Civilization VI,' Gandhi might not be as nuke-happy anymore (англ.). Rappler (14 ноября 2016). Дата обращения: 18 сентября 2020. Архивировано 11 января 2021 года.
  13. Gita Jackson. Gandhi Is Still An Asshole In Civilization VI (англ.). Kotaku (11 августа 2016). Дата обращения: 21 сентября 2020. Архивировано 18 сентября 2020 года.
  14. Михаил Андреев. Сид Мейер опроверг главный миф серии Civilization. Overclockers.ru (9 сентября 2020). Дата обращения: 21 сентября 2020. Архивировано 19 сентября 2020 года.

Литература[править | править код]

Ссылки[править | править код]