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

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

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

Ядерный Ганди (англ. 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].

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

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

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

Впервые «ядерный Ганди» появился в Sid Meier’s Civilization V, где Джон Шейфер[en], ведущий геймдизайнер игры, установил для Индии максимальный уровень предпочтения ядерного оружия — 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, но получил отказ. Тогда Крис связался с Брюсом Шелли — геймдизайнером, покинувшим Firaxis через год после выхода первой Civilization, — однако тот заявил, что не помнит такой проблемы, поскольку разработка Civilization велась 30 лет назад: «я смутно вспоминаю какую-то проблему, связанную с Ганди, но тут вам надо поговорить с Сидом». Далее Крис связался с Брайаном Рейнольдсом[en], ведущим геймдизайнером 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 Ганди является одним из самых миролюбивых лидеров, однако параметр его искусственного интеллекта, регулирующий создание и использование ядерного вооружения, имеет значение 12, наибольшее среди всех лидеров (последующие три лидера имеют ядерный рейтинг, равный 8, а у большинства он лежит в диапазоне 4—6)[6]. Чтобы разнообразить игровой процесс в Civilization V, в начале каждой партии параметры искусственного интеллекта случайным образом модифицируются в диапазоне от −2 до +2, однако у Ганди, даже в случае выпадения −2, параметры, отвечающие за создание и применение ядерного оружия, остаются равными 10 из 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 June 2020). Дата обращения 18 сентября 2020.
  2. 1 2 3 4 5 6 7 8 9 10 11 12 13 Алексей Афанасьев. История появления мифа о «Ядерном Ганди» — по версии самого Сида Мейера. DTF (16 сентября 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 September 2020). Дата обращения 18 сентября 2020.
  5. 1 2 3 4 5 6 Артемий Леонов. Почему история о баге с «ядерным Ганди» в Civilization, скорее всего, выдумана. DTF (5 сентября 2019). Дата обращения 18 сентября 2020.
  6. 1 2 3 4 Luke Plunkett. Why Gandhi Is Such An Asshole In Civilization (англ.). Kotaku (3 February 2016). Дата обращения 18 сентября 2020.
  7. 1 2 James Plafke. What caused Gandhi’s insatiable bloodlust in Civilization (англ.). Geek.com[en] (3 November 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 April 2017). Дата обращения 18 сентября 2020.
  9. Ian Walker. Civilization Creator Shoots Down Our Memories Of A Nuke-Happy Gandhi (англ.). Kotaku (9 September 2020). Дата обращения 18 сентября 2020.
  10. Михаил Андреев. «Разрушитель миров» Ганди возглавляет Индию в Civilization VI. Overclockers.ru (30 августа 2016). Дата обращения 21 сентября 2020.
  11. Дмитрий Рудь. Создатель Sid Meier's Civilization развенчал миф о происхождении «ядерного» Ганди. 3DNews (10 сентября 2020). Дата обращения 18 сентября 2020.
  12. Anton Dizon. In 'Civilization VI,' Gandhi might not be as nuke-happy anymore (англ.). Rappler[en] (14 November 2016). Дата обращения 18 сентября 2020.
  13. Gita Jackson. Gandhi Is Still An Asshole In Civilization VI (англ.). Kotaku (11 August 2016). Дата обращения 21 сентября 2020.
  14. Михаил Андреев. Сид Мейер опроверг главный миф серии Civilization. Overclockers.ru (9 сентября 2020). Дата обращения 21 сентября 2020.

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

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