Читаем Жизнь в мире компьютерных игр полностью

– Да, я попал вот в эту цель.

Если же игры плохо синхронизированы, то данные моментально растворяются в споре двух юных братьев.

– Я в тебя попал!

– Нет, ты промазал! – И игра вылетает.

Самое простое решение этой проблемы, которое мы с успехом применили в Gettysburg! – это передавать полные логи состояния игры от одного компьютера другому.

– Мои солдаты здесь, твои солдаты там, я целюсь сюда, ты целишься туда, у меня столько-то очков жизни, у тебя столько-то, я выстрелил из своей пушки.

– Хорошо, я тебе верю.

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

Но даже в упрощенном, по сравнению с основной версией, игровом процессе Civilization Revolution содержала слишком много данных, чтобы передавать можно было все сразу. Нужно было учитывать и расположение армий, и экономические показатели, и уровни счастья населения, и запасы продовольствия, и статусы соглашений о перемирии, и особенности ландшафта… И все это максимум для пяти цивилизаций одновременно. Именно по этой причине предыдущие версии многопользовательской Civilization упрекали в медлительности и отсутствии баланса: полусекундное зависание и разворот армии на 45 градусов было простительной помехой, но 10-секундное зависание и прыжок армии на другой континент – уже нет.

Но единственный альтернативный вариант таил в себе серьезные риски.

– Мои солдаты здесь, твои – там.

– Да. Мы передвинули одного в сторону Севера.

– Мы передвинули одного в сторону Востока.

– Мы потеряли одно очко здоровья.

– Мы приобрели два очка продовольствия.

– Мы передвинули одного на Запад.

– Подождите, вы не могли бы повторить?

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

У случайно генерируемых чисел есть одна интересная особенность: на самом деле они не случайны или, по крайней мере, не настолько случайны, как мы вам об этом говорим. Когда результаты действительно случайны, люди начинают проигрывать гораздо чаще, чем рассчитывают. Из определения слова «средний» следует, что у большинства из нас именно такие способности, но нам-то хочется думать, что мы лучше других – это подтверждается хотя бы тем, что мы вообще стали играть в видеоигру. Быть магнатом, королем, капитаном корабля – все это не для средних людей, как и все остальные иллюзии величия, которые мы предлагаем игрокам. И все же они берут коробку с игрой, читают текст, напечатанный на оборотной стороне, и говорят себе: «Конечно, с этим я справлюсь». Этот далекий от реальности, но зато устремленный к веселому времяпрепровождению образ мысли заложен в большинстве форм развлечений. Рэмбо всегда расправляется с плохими парнями, а Шерлок Холмс разгадывает тайну. Единственная сфера, где мы ожидаем, что большинство окажется в роли проигравших – это профессиональный спорт, но даже там аутсайдеры регулярного сезона в следующем получают преимущество в драфте. И участвуя в событии, и наблюдая за ним, фанаты требуют справедливости, иначе они не получат от зрелища чувства удовлетворения. А ведь случайность – полная противоположность справедливости.

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

Перейти на страницу:

Все книги серии МИФ. Креатив

Похожие книги