Йен Белл — соавтор Дэвида Бребена по созданию культовой игры Elite, ставшей в восьмидесятых настоящим культурным и коммерческим прорывом. Проект до сих пор изучают во всем мире как эталон инновационного программирования, механик геймплея и визуального стиля. Йен Белл любезно согласился обсудить историю создания игры, свои взгляды на искусство разработки и актуальные вопросы искусственного интеллекта.
Легенда шлет привет пользователям SE7ENа вместе со своим рыжим компаньоном.

Elite до сих пор поражает воображение тем, как удалось уместить столь сложный код в крайне ограниченные ресурсы «железа» тех лет. Как рождались ваши идеи и как строилось взаимодействие с Дэвидом Бребеном?
Дело было в 1983–84 годах — в доинтернетовскую эру, когда даже электронная почта была фантастикой. Мы полагались исключительно на собственный накопленный опыт работы над простыми проектами. Теоретическую литературу мы открывали крайне редко. Никаких учебников, только практика.
Был лишь один исключительный случай, когда мне понадобился надежный генератор псевдослучайных чисел для процедурной генерации вселенной, который был бы достаточно компактным для процессора 6502 (сердце компьютера BBC Micro). Я отправился в «Хефферс» — главный книжный магазин Кембриджа. В отделе компьютерной литературы, заполненном фундаментальными трудами вроде книг Дональда Кнута, я искал решение. В одной из книг мне попалась фраза: «Последовательность Фибоначчи — крайне неудачный генератор случайных чисел». «То, что нужно», — решил я и, удовлетворенный, положил книгу на полку.
Acornsoft View — легендарный текстовый редактор.

Взаимодействие с Дэвидом происходило дистанционно. Мы обменивались письмами через Королевскую почту: я слал тексты, отпечатанные на старой машинке, он — рукописные заметки, прикладывая к ним флоппи-диски объемом 40 КБ. Позже, с приходом Acornsoft View, общение перешло в формат распечаток с матричных принтеров. Мы распределили задачи, и каждый работал над своей частью проекта — детали этого процесса я описал на своем сайте.
Дэвид Бребен и Йен Белл (справа).

Плавность анимации кораблей в Elite — это визитная карточка игры. Учитывая, что тогдашнее железо не справлялось с плавающей запятой, как вам удалось обойти ограничения, от которых страдали другие игры?
Анимацией занимался я. Пока Дэвид отвечал за отрисовку каркаса корабля, я оптимизировал поворотные движения. Я использовал 16-битную арифметику фиксированной точки, аппроксимируя вращения через линейные рекуррентные соотношения. Ошибки накапливались, поэтому систему приходилось периодически корректировать.
Это позволило избежать ресурсоемкого вычисления синусов и косинусов, заменив их умножением матриц. Даже это было слишком тяжело для процессора 6502 с частотой 1 МГц, поэтому в итоге я перешел на таблицы логарифмов. Это мастерство «заточки кремня» — сейчас оно выглядит архаичным на фоне современного «вайб-кодинга», но именно оно давало нам ту невероятную скорость.

Источник: Digital Antiquarian.
Кто стал «архитектором» процедурной генерации в Elite?
Я экспериментировал с генераторами карт для RPG еще до встречи с Дэвидом, используя мини-компьютер TX9900. Процедурная генерация всегда меня пленяла. Моей первой «опубликованной» программой был листинг на BASIC для генерации случайных диалогов в стиле «Звездного пути».
Дефорест Келли в роли легендарного доктора Маккоя. Источник: Википедия.

Как выглядел ваш путь в программировании?
Начинал я с работы на TX9900 и освоения ассемблера, позже — доступ к Apple IIe, где я совмещал профессиональное ПО для оборудования с написанием версии «Отелло» в свободное время.
TI99, 1981 год.

Влиял ли на вас Flight Simulator?
Мы ориентировались на «Aviator» Джеффри Крэммонда. Но, честно говоря, как только у меня появился свой BBC Micro, я предпочел писать свой софт, нежели тратить время на изучение чужих творений.
Что вы думаете о современном программировании и Elite Dangerous?
Главная беда «Elite Dangerous» — отказ от физической достоверности в угоду мультиплеерным условностям. Оригинальная Elite была революцией своего времени, а современный сиквел пытается прикрыться реализмом, игнорируя базовые принципы релятивистской физики. Суть космической драмы в замедлении времени — они же просто выкинули эту концепцию.
Фрагмент геймплея Elite Dangerous.

Над чем вы работаете сегодня?
Уже двадцать лет я продвигаю использование геометрической алгебры в САПР-системах. Это ключ к эффективному обучению ИИ, хотя убедить в этом корпоративных функционеров бывает крайне сложно. Я все еще интересуюсь дизайном игр, но меня больше всего влечет многомерная математическая геометрия.
Верите ли вы в «ИИ-гений»?
Я был близок к получению докторской степени по ИИ еще в 1985-м. Мой скепсис обусловлен глубоким пониманием того, как это работает на самом деле. Это интересная технология, но ее социальные последствия вызывают тревогу.
Скриншот с сайта Йена Белла.

Совет начинающим?
Подвергайте сомнению свои знания. Переосмыслите саму суть того, что вы делаете. Игнорируйте критиков, если уверены в своем видении — создавайте игру, в которую мечтаете поиграть сами, но которой пока не существует.
Существует ли Raxxla?
Только в вымышленной вселенной и в моем воображении. На классических картах 8 галактик ее нет.
Эмблема, породившая тысячи фанатских теорий.

Напутствие для фанатов в России?
Я хотел бы лишь извиниться за то, что текущие западные политики ведут себя как недальновидные и агрессивные дилетанты.
Дмитрий Баринов, специально для SE7ENа.


