Журнал «Компьютерра» № 5 за 7 февраля 2006 года - Компьютерра. Страница 27

Опись градоначальникам

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

М. Е. Салтыков-Щедрин, «История одного города»
Журнал «Компьютерра» № 5 за 7 февраля 2006 года - _625c19k1.jpg

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

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

После того как площадка расчищена, можно переходить непосредственно к градостроительству. Этот режим называется режимом мэра и является в игре основным (хотя в любой момент вы можете вернуться в режим бога и сделать с природным ландшафтом еще что-нибудь хорошее – метеорит, например, уронить).

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

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

О корени происхождения SimCity

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

М. Е. Салтыков-Щедрин, «История одного города»

Общеизвестно, что Уилл Райт (Will Wright) пришел к идее SimCity случайно. Он работал над созданием уровней для игры Raid on Bungeling Bay, когда у него мелькнула мысль, что строить ландшафты гораздо интереснее, чем бомбить их. Для игровой индустрии середины 1980-х гг. идея была нетривиальной, и Уиллу понадобилось два года, чтобы найти инвестора, столь же миролюбивого, как и он сам. Показательно, что им стал новичок, ранее не вкладывавший деньги в рынок компьютерных игр. В 1986 году Райт и Джефф Браун (так звали инвестора) организовали компанию Maxis, а еще через три года на прилавках появилась первая версия SimCity.

Отличительными чертами новой игры было отсутствие четкой цели и заранее прописанных сценариев. Почти все события в SimCity являлись реакцией на действия пользователя. Под видом игрушки потребителю продали пусть упрощенную, но довольно честную динамическую модель с обратной связью. Несмотря на некоторое внешнее сходство, между редактором уровней и SimCity – пропасть.

Понятно, что разработать такую модель с нуля очень трудно. Не пытаясь умалить новаторство Райта, Лобо попытался разобраться, кто был источником вдохновения для дизайнера, и пришел к выводу, что на создателя SimCity повлияли идеи исследователя из МТИ Джея Форрестера (Jay Wright Forrester) и, в частности, его книга «Городская динамика» («Urban Dynamics», 1965).

Самого Форрестера градостроительство интересовало постольку поскольку. Для него город был всего лишь удобной моделью для обкатки своих идей в области системной динамики. После «Urban Dynamics», вызвавшей раздражение людей, разбирающихся в городском управлении, Форрестер написал «Мировую динамику» (World Dynamics), в которой размышлял уже о глобальных мировых проблемах. На основе его разработок в начале 1970-х гг. была создана компьютерная модель «Мир-3», результаты обсчета которой изложены в отчете Римского клуба «Пределы роста» («The Limits of Growth», 1972), также получившем изрядную долю критики – но уже от политиков и футурологов.

Часть критических замечаний была вызвана неточностью предсказаний, сделанных по компьютерным моделям Форрестера (скорее всего, причиной ошибок была нехватка статистической информации, но и построить правильную модель сложных реальных процессов тоже очень непросто). Кроме того, Форрестер предложил отказаться от линейного подхода (проблема – действие – результат) в пользу нелинейного, когда любое действие не только решает проблему, но и изменяет состояние системы в целом, влияя таким образом на наши будущие решения. Мысль эта кажется очевидной и не слишком-то революционной, однако на практике зачастую применяется именно линейный подход. В качестве классического примера Форрестер в «Urban Dynamics» приводит реальный случай борьбы с безработицей в Бостоне, когда власти решили помочь нуждающимся и стали строить больше дешевого жилья. Разумеется, этот шаг только усугубил положение на рынке труда.

Еще один – непосредственно следующий из вышесказанного – вывод Форрестера состоит в том, что источником проблем системы, как правило, является сама система, а не загадочные внешние обстоятельства непреодолимой силы (здесь самые впечатляющие примеры относятся к корпоративному менеджменту – на своих моделях Форрестер показывает, что фиаско компании зачастую можно предсказать еще тогда, когда все внешние условия, казалось бы, исключительно благоприятны). С этим тоже трудно спорить, хотя склонность Форрестера рассматривать систему в целом, не отвлекаясь на частности, для реальных приложений не очень подходит – и с этим позднее пришлось столкнуться даже разработчикам SimCity.

Если разработки Форрестера помогли Райту понять, как построить компьютерную модель города, то труды британского архитектора и математика Кристофера Александера (Christopher Alexander) оказали влияние на облик города. Роль Александера переоценить трудно, поскольку этот архитектор повлиял не только на Райта, но и на софтверную индустрию в целом, одним из первых заговорив об использовании шаблонов (паттернов) при проектировании (книги «Timeless Way of Building» и «A Pattern Language»).

Однако шаблонами присутствие Александера в SimCity не ограничивается. Еще в 1965 году он написал эссе «Город не дерево» («A city is not a tree» [Сам Лобо цитирует Кристофера в заголовке своей статьи]), в котором критиковал искусственные модернистские подходы к планированию городов и превозносил классические модели. Под деревом в данном случае понимается связный граф без циклов, под классической моделью – структуры без обязательных для деревьев ограничений (полурешетки).