Брайан Олдисс - «Если», 1994 № 01
«…и как только я вышел из гиперпространства, смотрю — Клинтонов штук пять, а с ними еще и Ромулан. Дай, думаю, не снимая защиты, врежу им всем фотонными торпедами, а надо-то было сразу бить фэйзером — близко они стояли… Потом еле до базы добрался, но только вошел в док — атаковали и базу…»
Романтика звездных сражений настолько увлекала, что в определенный момент кто-то из нас начинал мечтать о своей собственной игре «StarTrek». Не всем удавалось воплотить эту мечту в новую работающую программу, но многие до сих пор безуспешно ищут на персональных компьютерах свой старый «игровой идеал».
Не устоял перед искушением написать собственный «StarTrek» и я — и он оказался моей первой игровой программой, на которой я ощутил всю необыкновенную прелесть такой работы. Программа имела специальный генерационный файл данных, содержащий около пятисот параметров, относящихся к различным объектам игры, с вероятностными критериями их поведения. Это гарантировало невозможность точного предсказания дальнейшего развития событий в любой игровой ситуации даже для автора, что и придавало игре привлекательность в моих глазах.
Звезды и планетные системы зарождались и умирали, подчиняясь сложным параметрическим законам с вероятностными критериями: взрывались сверхновые, отказывало оборудование космического корабля, а поведение экипажа и врагов могло оказаться совершенно различным в сходных ситуациях. Наконец на каком-то этапе разработки стало возможным предоставить игру самой себе на длительный промежуток времени, например на ночь, и, вернувшись утром, узнать, как развивались события. Примерно в это же время я решил добавить в программу возможность одновременной работы с нескольких терминалов для разных участников одной и той же игры, и на этом этапе (примерно через год после начала работы) разработка закончилась.
Итоги были подведены мной значительно позже и, честно говоря, обрадовали и даже немного испугали. Я был рад, что написал большую и сложную программу, в полном объеме выполнив поставленную задачу. Но одновременно стало ясно, что на сей раз я соприкоснулся с чем-то большим, чем обычное программирование. Я приобрел некоторый опыт, который совершенно не предполагал получить в процессе работы и сделал некоторые выводы, не имеющие прямого отношения к программированию в общепринятом понимании этого слова.
Во-первых, мне довелось на практике убедиться в справедливости концепции, носящей название «Лучший из миров». Суть этой философской и физической концепции, как известно, заключается в том, что мы живем в «лучшем из миров» в том смысле, что наша Вселенная является устойчивой в силу вполне определенного соотношения значений таких физических констант, как скорость света, постоянная Планка, заряд электрона и т. п. Соответствующими расчетами показано, что лишь в очень небольшой области изменений мировых констант множество вселенных, в которых они существуют, остается устойчивым. В случае больших отклонений значений этих констант материя превращается в хаос или, что то же самое, вовсе не может организоваться из первичного хаоса. Так что нашей Вселенной повезло…
Как я уже говорил, моя игра имела около пятисот параметров, включая вероятностные характеристики их отклонений от стандартных значений. В процессе проектирования и настройки выяснилось, что возможные устойчивые игровые вселенные также занимают очень небольшой объем в многомерной области допустимых значений всех параметров. А при выходе одного или нескольких параметров за границы этого объема игровая Вселенная начинает стремительно деградировать и становится однородной и неинтересной для играющего. Например, сверхновые звезды вспыхивают слишком часто и сжигают все вокруг себя, новые звездные системы зарождаются слишком редко или слишком часто, враги вымирают или уничтожают друг друга в братоубийственных конфликтах, оборудование корабля становится ненадежным, а команда то бунтует и плохо выполняет приказы, то проявляет излишнюю самостоятельность… Таким образом понятие «Лучший из миров» здесь приобрело сугубо практическое значение, и мне пришлось выбирать его аналитически, интуитивно, а также на основе множества проб и ошибок. Более того, стало особенно важным попасть в один из «самых лучших миров» для того, чтобы игровая Вселенная могла самостоятельно существовать без моего участия.
Когда я впервые задумался над этим, то, к сожалению, уже не имел доступа к тому компьютеру, на котором создавал игру. Поэтому не имел и возможности попытаться дополнительно запрограммировать эти черты их «личности» и посмотреть, что же получится на практике (а на сегодняшний день, имея дело с персональными компьютерами, я вынужден почти всю их память использовать под графику и в первую очередь думать о красивом и правдоподобном отображении информации на экране в ущерб программированию «личностных» характеристик персонажей, иначе на игру никто и смотреть не захочет). Однако чисто теоретически эта задача не представляется мне особенно сложной, учитывая опыт разработки обучаемых программ, синтезирующих связный русский текст с расширяемым в процессе обучения запасом понятий и оперирующих морально-этическими категориями. Ведь развитой язык понятий — один из основных критериев степени уровня интеллекта и его знаний об окружающем мире.
ВОПРОСЫ ТВОРЦУДальнейшие размышления на эту тему привели меня к некоторым неожиданным религиозно-философским аналогиям. Я задавал себе вопросы и пытался отвечать на них. Итак:
— Зачем я создавал эту программу? Отчасти ради самого удовольствия от процесса ее создания и предвкушения удовольствия от дальнейшей игры с ней. Отчасти для увеличения разнообразия окружающего меня мира. Отчасти для удовлетворения чувства творца, живущего в каждом человеке.
—Почему я вынужден был искать для этой игры свой «Лучший из миров»? Потому что хаос неинтересен. Мне нравится уменьшать энтропию, идти от хаоса к упорядоченности.
—Зачем «живут» мои персонажи? Для того чтобы, изменяя в бесконечных сочетаниях и вариациях свой мир, доставлять мне постоянную радость исследования и познания.
— Как я отношусь к самоуничтожению своих персонажей? Резко отрицательно. Любое «самоубийство» персонажа, с моей точки зрения, есть невыполнение возложенных на него надежд на участие в игре.
(adsbygoogle = window.adsbygoogle || []).push({});