Серов Сергей Владимирович : другие произведения.

Бета

Самиздат: [Регистрация] [Найти] [Рейтинги] [Обсуждения] [Новинки] [Обзоры] [Помощь|Техвопросы]
Ссылки:


 Ваша оценка:


Бета

(дневники разработчиков)

  
   1 Предварительное соглашение
   - Заждались? - весело спросил Алексей.
   - Зарплаты заждались, - уточнил Славик.
   - Аты-баты марш солдаты за зарплатой прямо в штаб! - продекламировал Алексей.
   Настроение у него было преотличное. На выставку он уезжал с дурными предчувствиями, неоплаченной арендой и уверенностью, что если "ничего", то "все". А вернулся...
   - С чем вернулся-то, - спросил я.
   - А вот с чем! - Алексей щелкнул в коммуникаторе и вывел на общий терминал документ.
   - Ну, - разочарованно сказал Сашка, - Это же всего лишь договор о неразглашении!
   - Но с кем! Ты смотри с кем! - воодушевленно потребовал Алексей.
   - А с кем?! - возмутился Славик, - Кто это такие?!
   Алексей посмотрел на меня. Я пожал плечами:
   - И название, и логотип вижу впервые.
   Сашка покивал головой:
   - Ничего про такую фирму не слышал.
   - Ох и навешали тебе там лапши, - издевательски заметил Славик.
   Алексей слегка растерялся, но настроения не утратил.
   - Ну и ладно! Не слышали, не видели, - говорил он. - Зато они о нас наслышаны. Солидная заграничная фирма, знаете, какие условия они предлагают?!
   - Какие? - жадно спросил Славик.
   Сложив из пальцев знак "ок", Алексей энергичными движениями обозначил количество нулей в предполагаемой сумме.
   - Круто! - восхищенно сказал Славик.
   Сашка поморщился.
   - А что за проект, какие требования, сроки?
   - Проект зашибись! - поведал Алексей, - Игра класса ААА. Полная проекционная трехмерка. Поддержка второго поколения и-сфер.
   - Стратегия? - с надеждой спросил я.
   - Антитеррористический шутер!
   - У-р-р-р-а-а-а! - потеряв человеческий вид, завопил Славик.
   - Сбылась мечта идиота, - огорченно прокомментировал я.
   - А сроки? - напомнил Сашка.
   - Полгода, - сказал Алексей, - Полгода, после подписания контракта.
   - Вообще-то как для таких требований, сумма не очень-то, - засомневался Сашка. - Модели мы будем делать?
   - А! - Алексей значительно поднял вверх указательный палец. - Модели, анимации и уровни нам предоставят!
   - И их не смущает наш штат в четыре человека? - все еще сомневался Сашка.
   - Ты что?! Когда они узнали, что это мы делали программную часть "Пустот", вопрос был практически решен!
   Сашка не удержался и довольно крякнул. Стасик задрал подбородок, но с этим Алексей мириться не стал.
   - Искусственный интеллект, по их словам, там выше всяческих похвал, - сказал он и мстительно косясь на Славика добавил, - А вот графика - хиленькая.
   - Что?! - завопил Славик, - Да они видели, какие там тени?! А вода?!
   Мы ржали.
  
   2 Подписание контракта
   Неделю, не разгибаясь, изучали документацию, присланную после подписания предварительного соглашения. На двоих с Сашкой мы приговорили три пачки чая. Алексей, который в обсуждениях не участвовал, но видимо сильно переживал, тайком выкинул две пустые кофейные банки. А от Стаськиных бутылочек из-под газированного компотика, просто не было прохода. Они выстроились неровными шеренгами вдоль стен, забрались на столы и забились под них, втиснулись на полки, а одна даже залезла в скульптограф, словом - они были повсюду и мы постоянно спотыкались об них, поминая то Бога, то Черта, то непонятно куда подевавшуюся уборщицу.
   Наконец мы пригласили Алексея. Вердикт оглашал, конечно, Сашка.
   - Пункт первый - контракт можно подписывать.
   - Ну, слава тебе, Господи, - облегченно вздохнул Алексей.
   - Но! - Сашка жестом пресек дальнейшие проявления радости директора.
   - Надо сказать этим чайникам... - встрял Славик.
   - Да помолчи ты! - прикрикнул я.
   - Но есть серьезные сложности - продолжил Сашка.
   - Какие? - спросил Алексей.
   - Они требуют использовать реальную физическую модель мира и при этом очень жестко ограничивают возможности персонажей.
   - Не понимаю, - развел руками Алексей, - Объясните менеджеру.
   - Что тут понимать!
   - Славка, помолчи! - снова прикрикнул я, - Они хотят, чтобы все было как в жизни.
   - Все равно не понимаю, - покачал головой Алексей, - Нас же всегда хвалили за реалистичность.
   - Нас хвалили за то, - объяснил Сашка, - Что у нас все выглядело реалистично. А в программе у нас никакого реализма не было. Гравитация, например, 20 же, персонажи способны десятками ловить пули на грудь, продолжая при этом сражаться, и остальное в том же духе. А они хотят полной достоверности внутри программы, то есть гравитация - 9,8, выстрел в сердце - смерть и так далее.
   - Вот теперь понял, - кивнул Алексей, - А сложность-то в чем?
   - В том, чтобы при таких параметрах играть было интересно! - раздраженно сказал Славик.
   - Неужели вы не сможете? - удивился Алексей.
   - Сможем-сможем, - успокоил его Сашка. - Хотя это будет очень непросто.
   - Ну и ладушки, - обрадовался Алексей.
   - Но это, как говорится, только одна ягодица, - вздохнул Сашка.
   - Чего? - недоуменно спросил Алексей.
   - Это только полбеды, - перевел я.
   - А еще что?
   - Еще они хотят, чтобы мы по окончании работ предоставили им все наши исходные коды: полные тексты программ, ассоциативные алгоритмы, словом - всё.
   - Уроды, - процедил Славик.
   - Это плохо, - согласился Алексей, - Но не смертельно ведь?
   - Не смертельно, - подтвердил Саша, - Однако неприятно и не позволит нам использовать многие трюки.
   - Ребята, - сказал Алексей, - Этот контракт наша последняя надежда. Или мы его берем, или я уволю себя и всех вас, а фирму даже ликвидировать не смогу - денег не хватит.
   - Ну, я же с этого и начал, - напомнил Саша, - Контракт можно подписывать. А что, кстати, там с финансовой стороной?
   - Тридцать процентов выплачиваются поэтапно: альфа, бета, мастер-кандидат. Семьдесят процентов по завершении. Если хоть один этап проваливаем - контракт аннулируется.
   - Кинуть могут, - скривился Славик.
   - Ну, это уже мои проблемы, - пожал плечами Алексей, - Итак, вперед?
   - Вперед! - дружно рявкнули мы.
  
   3 Альфа
   Каждый программирует по-своему.
   Например, Славик. Вначале он долго таращится в стену (в ее молекулярную глубь, в пустоту одним словом), рот приоткрыт, вот-вот слюнка потечет. Потом вскакивает, опрокидывает всё на чем сидел (один раз это был Алексеев стол), и несется к своей и-сфере. Радиус ставит максимальный, залазит внутрь, и давай руками размахивать. Только и слышишь сигналы нераспознанных команд.
   Я так не могу. Мне нужно чаю попить. С расстановкой. С печеньем. Мед приветствуется. Шоколад. И-сферу делаю размером с футбольный мяч, и лениво ковыряюсь в коде указательным пальцем правой руки (в левой - чай). Прихлебываю.
   Питие чая - единственная общая деталь наших с Сашкой стилей программирования. Он пьет чай, просматривая новости. Потом убирает чашку, ставит локти на стол и обхватывает голову руками. Сжимает. Пальцы белеют. Идет время. Наконец он взъерошивает шевелюру и начинает нашептывать и-сфере команды.
   Дурдом в общем.
   Но этап шел на ура. Энтузиазм, а как же. Несколько удивляло, правда, отсутствие какой бы то ни было рекламной компании со стороны заказчика. Впрочем, не нам игру продавать.
   Как и было оговорено в контракте, заказчики прислали нам необходимые ресурсы. Модели персонажей оказались выше всяческих похвал, они уже были анимированы и могли ходить, бегать, сидеть стрелять и многое другое. Теперь нам нужно научить их "видеть", "думать", принимать стратегические и тактические решения, действовать сообща. Модели были великолепны, смутили нас разве что "гуси".
   - Что за гуси? - удивился Алексей.
   - Это мы так роботов на гусеничном ходу прозвали, - объясняю я.
   - И что "гуси"?
   - Очень неповоротливый и медлительный персонаж, который, однако, по задумке заказчиков принимает самое активное участие в освобождении заложников.
   - И что?
   - А то: курица не птица, - бесится Славик.
   - ЕС не заграница, - заканчивает Саша, - Мы не можем заставить "гусей" быстрее двигаться или поворачиваться - все параметры движения специфицированы. В реальности-то роботы участвуют только в уличных боях. А тут заложники. Тяжело будет эффективно использовать подобных персонажей для требуемых целей.
   - А собак проще?
   - Собак проще.
   - Ну, вы уж как-нибудь.
   - Всенепременно.
   К проблеме реализма мы подходили с выдумкой. После согласований с заказчиком, мы "научили" собак запрыгивать в окна первых этажей, разбивая стекла. У "гусей" был по максимуму использован привод заднего хода, что помогло сделать их более маневренными. Спецназовцы смогут подсаживать друг-друга, чтобы преодолевать высокие препятствия. Я уже молчу о механизме сведения изображений с оперативных камер в панорамную стратегическую карту. Работа уже даже не кипела, она испарялась. В итоге альфу мы закончили раньше срока. Невиданное событие.
  
   4 Бета
   В начале этапа заказчики прислали нам свои замечания. На то, чтобы их просто прочесть, мне понадобилось 14 чашек чая. Припух даже. Замечания были все по делу, но слишком уж технические. Тут инерционные моменты неверные, тут сопротивляемость материала завышена. По игровой части претензий практически не было. Недели за две все подправили и двинулись дальше но...
   Славик заваливает свою часть. У него Великая Депрессия. Какой-то его сука-однокурсник позвонил и рассказал, как он лихо устроился на корейском заводе робототехники.
   - Ты прикинь, - убивается Славка, - Это если он столько в месяц получает, то за полгода можно же яхту купить!
   - Вот он там уже год, и что, купил? - язвлю я.
   - Их там пятьдесят человек в подразделении из них тридцать уже миллионеры!
   - И, небось, все тридцать - корейцы.
   - А знаешь, чем они там занимаются? Они делают робота, который может залазить на любое дерево!
   - Ну, хорошо, чтобы робот залез на дерево нужно тридцать человек миллионеров и еще двадцать разнорабочих, а сколько людей нужно, чтобы его оттуда потом снять?
   Славик глядит непонимающе. А чего он хотел? Я тоже новости смотрю. Но - не действует. Славик в тоске. Ну да, это известный факт, программисты, работающие на робототехнику, получают огромные деньги и что? Все равно из нас троих туда устроиться мог бы разве что Сашка. Да и никогда не поедет Славик ни в какую Корею. Очень любит своих родителей, куда он без них? И кому он где нужен со своими депрессиями? Это ж мы терпим. И не в зарплате тут дело: депрессии у него будут случаться всегда - такой человек. Работник он в такие периоды никакой. Слоняется, вяло тычет и-сферу - смотреть тошно. Отправили на длительную конференцию - пусть развеется. Благо деньги за прошлый этап перечислили. Правда Алексей почти все пустил на погашение долгов, но тут кстати вышли испанская и голландская версии "Пустот", и мы свою копеечку получили.
   Славик уехал, и я взялся за его работу. Сашка мне не помощник, у него там мутационные алгоритмы, ему не до меня. Я его не виню, потому что понимаю (его, не алгоритмы) - отвлекаться нельзя, иначе ошибки, ошибки, ошибки. Так оказалось, Славик моделировал в программе ветер! Это притом, что все действие игры разворачивается в закрытых помещениях! Я чуть с ума не сошел, пока это все из кода вытравил. Вот вернется, я ему!
   Вернулся Славик. Ничего я ему. Не на пользу пошла конференция.
   - Все чем мы занимаемся, - говорит, - Прошлый век, мы все - неудачники.
   Ну что тут скажешь? Отправили в отпуск, пусть проветрится.
   Хотели было нанять сессионного программиста, но Алексей сказал, что по условиям контракта - не имеем права.
   Полезли ошибки, которых мы понаделали на предыдущем этапе - вяло все-таки тестировали. Я вообще бросил кодировать что-то новое, все время искал и исправлял баги. О, там такое было! Зависает, скажем, искусственный интеллект у собачки, она, естественно, замирает и стоит как вкопанная (проваливание сквозь пол я уже устранил). И тут же какой-нибудь спецназовец использует ее как укрытие от пуль. Очень реалистично. Стоит собака, а за ней сидит здоровенный жлоб. Или вот еще глюк: спецназовцы, становясь друг другу на плечи залезают в окно седьмого (!) этажа. Реализм в действии. Впрочем, когда кто-то из этой пирамиды падал - разбивался насмерть, базовые вещи уже работали сносно.
   Под конец мы с Сашкой уже ночевали в офисе. Добивали коллективные тактики. Если этап примут - это будет чудо.
  
   5 Мастер-кандидат
   А говорят, их на свете не бывает! Ха! Я чувствую себя героем! Впрочем, вышел из отпуска Славик, и я почувствовал себя идиотом.
   - Кретин! - орет Славик, - Какой это к черту ветер?! Что ты лезешь, если не понимаешь?! Это же сквозняки были! Понимаешь? Скво-зня-ки! Все, козел, повыкидывал, как они альфу приняли?!
   - Ну, хорошо, - примирительно говорю я, - А сквозняки зачем?
   - Совсем плохой? Занавеска колышется, бумаги на столе шелестят, пламя свечи трепещет!
   Какое пламя свечи? Уровни - сплошь индустриальные и офисные помещения. Но я молчу, трепещу. Славик в гневе - Всеслав Брячиславаич, лучше под руку не попадать.
   Славка с остервенением восстановил в программе сквозняки. И тут случилась одна из тех гениальных придумок, которые всегда бывают по ходу работы. Мы нашли отличное практическое применение этим сквознякам: разработали возможность нагнетать усыпляющий газ, через систему вентиляции в контролируемые террористами помещения. Вот так-то. Это вам не трепещущие свечи.
   Где-то в середине этапа объявился обеспокоенный Алексей.
   - Ребята, - говорит, - Тут какие-то слухи просочились. Как бы нас и впрямь не кинули. Нельзя ли как-нибудь исходный код наш защитить.
   - А как его защитишь, если мы его по контракту предоставить должны, - взъярился Славик.
   - Не шуми, - говорит Сашка, - Кода у нас много, можно аккуратненько такое встроить, никто и не найдет. По крайней мере - сразу. Это ж нетривиальная задача, поиск чужих ошибок, а если их еще и с умом сделать!
   Сделали. Юмор да и только. Когда в живых остается последний террорист, освободители (спецназовцы, полиция, "гуси", собаки и прочие) дружно уничтожают заложников. Но только после тридцатого запуска игры. Чтобы тестеры не заметили. Все равно они столько раз не будут запускать, а если и будут - извинимся и найдем "ошибку".
   Шлифовали игру. Больше всего проблем было, конечно, из-за этого реализма в физической модели. Персонажи двигаются как в вате, времена откликов - чудовищные. Пытались сгладить это спецэффектами. Все равно как-то вяло. Тогда я забросил внутреннее тестирование и сделал динамические камеры. Картинка сразу стала живее. Даже Сашка меня похвалил. Приятно.
   Игра получилась так себе, на любителя. Странно, но ее по-прежнему нигде не рекламировали. Может я ничего в маркетинге не понимаю? Алексей тоже говорит, что странно. Наверное, какой-то новый рекламный ход: тишина, тишина: и вдруг раз!
  
   6 Стороннее тестирование
   И все-таки нас кинули. Может они, конечно, и вправду разорились, но что-то не верю я в эти банкротства вскорости после передачи исходных кодов. Алексей хотел подать в суд, но перечитал контракт и бросил эту затею. Остались мы без наших семидесяти процентов.
   А жизнь продолжалась. Вышла китайская версия "Пустот" и мы получили неплохие проценты. Потом Алексей договорился с Университетом, и мы (я, Славка и Сашка) по очереди читали там лекции об игровой индустрии и процессе разработки современных игр. Тоже деньги. Взяли небольшой проект: делаем детскую образовательную игру. Заказчики приводили к нам офис малышей из детского сада, мы их расспрашивали, тестировали, показывали свои работы. Уморы, серьезные такие! Дядя Слава на них неизгладимое впечатление произвел.
   Все шло своим чередом.
   Мы сидели в офисе, Сашка и я пили чай, Славик - свою пузырящуюся дрянь, когда мой коммуникатор запиликал экстренным вызовом.
   - Леха, - пояснил я сослуживцам и перевел вызов на общий терминал.
   - Пятый новостной портал, видео, - как-то нервно сказал Алексей, - Я буду в офисе через 15 минут, - и отключился.
   - Ну и видок у него, - отметил Сашка.
   - Зачем он нам тут нужен? - удивился Славик. Он попытался пристроить пустую бутылку у Сашки под столом, но тот погрозил кулаком и Славик запихал бутылку под кресло.
   Я включил пятый новостной и выбрал видео. Шла трансляция от какого-то супермаркета, террористы захватили посетителей, требования пока не ясны.
   - Совсем Леха плох, - раздраженно сказал Славка, - Думает, если мы делали антитеррористическую игру, то нам интересно эту гадость смотреть?! Сашка, что с тобой?!
   Теперь видок был у Сашки.
   - Внимательно смотрите на задний план, наверняка сейчас еще раз покажут, - сказал он.
   Мы напряженно уставились на терминал. Оператор постоянно мотал камерой, но вот мелькнуло что-то знакомое. И еще.
   - Мама родная, - выдохнул я, - Это ж "гуси"!
   - Н-да, - согласился Славка, - Кто-то стырил дизайн. Один в один ведь!
   Мы с Сашкой переглянулись.
   - Давай-ка, бери камеру, - сказал он.
   Свободных зрительских камер естественно не оказалось, а как же, такое шоу, поэтому пришлось брать на аукционной основе, да по такой цене, что я аж зубами заскрипел.
   - В эксклюзив, арендуй, - командовал Сашка, - Чтоб не перекупили.
   - Если денег хватит, - проворчал я.
   Хватило. Сашка тут же перехватил у меня управление и моментально отыскал одного "гуся".
   - Ну до чего похож! - подивился Славка, - Интересно, кто у кого дизайн украл, наши горе-заказчики у этих борцов с терроризмом, или наоборот?
   - Ты на эмблему посмотри! - севшим голосом сказал Сашка.
   Да, это был логотип нашего обанкротившегося заказчика.
   - Не понимаю, - раздраженно сказал Славка, - Нам, что, игру заказывала фирма делающая роботов?
   - Ты посмотри, как он маневрирует! - закричал я, - Ты видел? Нет, ты видел, как он на бордюр заехал?!
   - Погоди, ты хочешь сказать...
   - Никаких сомнений! "Гусем" управляет Сашкин искусственный интеллект!
   - Вот это да! - восхитился Славик, - Вот это нас кинули так кинули! Это, что же они всю игру заказывали, только ради интеллекта для этих роботов?
   - Вот зачем нужна была им вся эта реалистичность и исходные коды!
   - Лихо! Это ж сколько они сэкономили-то! Вот суки! Слушай, но зачем так сложно? Это ведь, получается через тернии в...
   - В нее родимую. Откуда мне знать? Может у них там законодательство в этом отношении хитрое. Может жадность или глупость. Или секретность. Ведь кто подумает? Игра и игра.
   - Да, - заворожено сказал Славик, - Здорово. Слушай, Сашка, ты единственный, кто не радуется, что нас надули.
   - Я вот думаю, - тихо произнес Саша, - Удалили ли они из кода ту нашу защиту?
   - Думаешь, могли не заметить? - удивился Славка.
   - Там импульсная логика, могли и не заметить.
   - Ну, наша защита вроде к числу запусков программы привязана, - успокоил его я. - А они из программы только ИИ для роботов взяли. Стало быть, все ок.
   - Не ок, - покачал головой Сашка, - Без основной программы наша "защита" будет срабатывать всегда.
   Мы растеряно замолчали.
   - Да ну, не может быть, - возмутился Славик, - Они нас так ловко развели, неужто какую-то там импульсную логику не разобрали. Ерунда это всё. Да и вообще совпадение наверняка. Ну логотип, ну поведение. Может они рекламу своим "гусям" хотели сделать! Какой идиот станет использовать игровой код в настоящих роботах?! Напридумывали вы тут. Это все от чая вашего, мозги плесенью покрываются. Ясно же - совпадение.
   Сашка молчал.
   Я вывел на терминал маленькое окошко с диктором основной камеры. "Пока ведутся переговоры, о штурме речь не идет", - сообщил диктор. И хорошо бы они договорились, подумал я. Совпадение не совпадение, пусть договорятся. Мирно.
   В офис шумно ввалился Алексей.
   - Ребята, я пока тут ехал, подумал: это ж наверняка какое-нибудь идиотское совпадение. Дизайнера там переманили, или еще что.
   - Ну, слава Богу! - заорал Славка, - Еще один здравомыслящий человек, а то с этими чаеманами у самого крыша ехать начинает!
   - Кончайте ваши чаи, я коньяк привез!
   - Вот это дело, это правильно! - восторгался Славик. - А ну марш за стаканами! - тормошил он вяло отбивающегося Сашку, - Чего расселся? Вперед!
   А я сидел и как-то совсем бессвязно думал: хорошо, что мы занялись детскими играми. Черепашки, львята, слоники - и никаких автоматов-пулеметов. Никаких террористов. Это все для взрослых. А детям нужны львята и слоники. И это хорошо. Это правильно.

 Ваша оценка:

Связаться с программистом сайта.

Новые книги авторов СИ, вышедшие из печати:
О.Болдырева "Крадуш. Чужие души" М.Николаев "Вторжение на Землю"

Как попасть в этoт список
Сайт - "Художники" .. || .. Доска об'явлений "Книги"