Чтение онлайн

на главную - закладки

Жанры

Журнал «Если», 1994 № 01
Шрифт:

Создание компьютерной программы ближе к акту сотворения живого организма, чем рождение, например, новой научной теории или художественного фильма. И мы имеем право сделать такой вывод в силу того, что граница между «живым» и «неживым» определяется в том числе и степенью сложности самостоятельного поведения того и другого. Конечно, нельзя утверждать, что компьютерная программа является «живой» в полном и привычном понимании этого слова, но ее самостоятельная «жизнь» после отчуждения от автора должна являться предметом внимательного разбора и изучения.

Кроме поведения, компьютерная

программа обладает еще одним свойством «живого» — способностью к размножению. Чаще всего этот процесс совершается опосредованно при участии человека, который «клонирует» объектный код программы при ее перезаписи, но в случае распространения исходных текстов программы, возрастает и число ее «мутаций» — видоизменений, выполненных другими программистами.

Существуют и саморазмножающиеся программы, примером которых является печально известный класс программ-вирусов.

Большинство программ подвержены еще и действию «естественного отбора», опосредованного через человека, при котором лучшие программы вытесняют более слабых конкурентов. При этом долгожители часто задают начальный уровень качества и определяют ключевые идеи, широко используемые в дальнейшем.

Многие программы обладают большими или меньшими способностями к самоорганизации (еще одна особенность, присущая живой материи). Они способны самостоятельно упорядочивать те данные, которые накапливаются в их памяти за время взаимодействия с внешним миром и даже «отчуждать» их в виде отчетов, файлов, баз данных, а иногда и в виде целых «организмов», способных к дальнейшему самостоятельному существованию.

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

Итак, компьютерная программа вообще похожа на живое существо. А компьютерные игры?

«ВСЕ К ЛУЧШЕМУ В ЭТОМ ЛУЧШЕМ ИЗ МИРОВ»

Создавая компьютерную игру, автор определяет законы, по которым существует игровая Вселенная, разрабатывает объекты, подчиняющиеся этим законам, наделяет их поведением, проектирует их внешний вид, трансформации и прочее.

Как уже говорилось, иногда этот мир может быть простым и жестко детерминированным, а иногда весьма сложным, подчиненным вероятностным законам и способным к продолжительной жизни даже без участия играющего.

Объекты, существующие в таком мире, могут, в частности, быть сконструированы и как самостоятельно взаимодействующие друг с другом существа, обладающие сложным поведением, способностью к размножению, смерти, самообучению и многими другими свойствами.

Лет десять назад на «больших» компьютерах был очень популярен целый класс игр под названием « Star Trek » («Звездный путь»). Игры с таким названием писались разными авторами и для разных машин, но в основном под влиянием одного и того же одноименного популярного тогда телесериала. Действие происходило в далеких

мирах, где космический корабль « Enterprise » с большим экипажем на борту под командованием капитана Кирка путешествовал среди звезд, сражался с вражеским флотом, защищал свои Звездные базы, заправлялся энергией и ремонтировался на них, снова сражался и т. д.

Конечно, компьютерная графика в те времена была менее совершенна, чем теперь, и в лучшем случае предоставляла возможность работать с символами на алфавитно-цифровых дисплеях, но все равно « Star Trek » захватывал воображение, и многие из нас ностальгически вспоминают о нем до сих пор. А чего стоили «разборы полетов» с разгоряченными после игры коллегами-программистами по дороге домой в метро! Соседи по вагону с удивлением прислушивались к нашим разговорам:

«…и как только я вышел из гиперпространства, смотрю — Клинтонов штук пять, а с ними еще и Ромулан. Дай, думаю, не снимая защиты, врежу им всем фотонными торпедами, а надо-то было сразу бить фэйзером — близко они стояли… Потом еле до базы добрался, но только вошел в док — атаковали и базу…»

Романтика звездных сражений настолько увлекала, что в определенный момент кто-то из нас начинал мечтать о своей собственной игре « Star Trek ». Не всем удавалось воплотить эту мечту в новую работающую программу, но многие до сих пор безуспешно ищут на персональных компьютерах свой старый «игровой идеал».

Не устоял перед искушением написать собственный « Star Trek » и я — и он оказался моей первой игровой программой, на которой я ощутил всю необыкновенную прелесть такой работы. Программа имела специальный генерационный файл данных, содержащий около пятисот параметров, относящихся к различным объектам игры, с вероятностными критериями их поведения. Это гарантировало невозможность точного предсказания дальнейшего развития событий в любой игровой ситуации даже для автора, что и придавало игре привлекательность в моих глазах.

Звезды и планетные системы зарождались и умирали, подчиняясь сложным параметрическим законам с вероятностными критериями: взрывались сверхновые, отказывало оборудование космического корабля, а поведение экипажа и врагов могло оказаться совершенно различным в сходных ситуациях. Наконец на каком-то этапе разработки стало возможным предоставить игру самой себе на длительный промежуток времени, например на ночь, и, вернувшись утром, узнать, как развивались события. Примерно в это же время я решил добавить в программу возможность одновременной работы с нескольких терминалов для разных участников одной и той же игры, и на этом этапе (примерно через год после начала работы) разработка закончилась.

Итоги были подведены мной значительно позже и, честно говоря, обрадовали и даже немного испугали. Я был рад, что написал большую и сложную программу, в полном объеме выполнив поставленную задачу. Но одновременно стало ясно, что на сей раз я соприкоснулся с чем-то большим, чем обычное программирование. Я приобрел некоторый опыт, который совершенно не предполагал получить в процессе работы и сделал некоторые выводы, не имеющие прямого отношения к программированию в общепринятом понимании этого слова.

Поделиться:
Популярные книги

Рота Его Величества

Дроздов Анатолий Федорович
Новые герои
Фантастика:
боевая фантастика
8.55
рейтинг книги
Рота Его Величества

Адептус Астартес: Омнибус. Том I

Коллектив авторов
Warhammer 40000
Фантастика:
боевая фантастика
4.50
рейтинг книги
Адептус Астартес: Омнибус. Том I

Нападающий

Хуанг Ана
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Нападающий

Вамп

Парсиев Дмитрий
3. История одного эволюционера
Фантастика:
рпг
городское фэнтези
постапокалипсис
5.00
рейтинг книги
Вамп

Бестужев. Служба Государевой Безопасности. Книга вторая

Измайлов Сергей
2. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга вторая

Глинглокский лев. (Трилогия)

Степной Аркадий
90. В одном томе
Фантастика:
фэнтези
9.18
рейтинг книги
Глинглокский лев. (Трилогия)

Надуй щеки! Том 5

Вишневский Сергей Викторович
5. Чеболь за партой
Фантастика:
попаданцы
дорама
7.50
рейтинг книги
Надуй щеки! Том 5

Жандарм 2

Семин Никита
2. Жандарм
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Жандарм 2

Барону наплевать на правила

Ренгач Евгений
7. Закон сильного
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Барону наплевать на правила

На границе империй. Том 5

INDIGO
5. Фортуна дама переменчивая
Фантастика:
боевая фантастика
попаданцы
7.50
рейтинг книги
На границе империй. Том 5

Имперский Курьер. Том 4

Бо Вова
4. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Имперский Курьер. Том 4

Эволюционер из трущоб. Том 6

Панарин Антон
6. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эволюционер из трущоб. Том 6

Найти себя. Трилогия

Эс Евгений
Найти себя
Фантастика:
фэнтези
5.00
рейтинг книги
Найти себя. Трилогия

Тайный наследник для миллиардера

Тоцка Тала
Любовные романы:
современные любовные романы
5.20
рейтинг книги
Тайный наследник для миллиардера