Всем привет. Последние дней 10 я не только старался больше отдыхать, но и потихоньку занимался проектом Build Engine Games Web Showcase - для которого портировал в браузер все ключевые классические игры-шутеры на движке Build Engine и дополнения к ним. Собственно поэтому было так мало новостей. Энтузиастам тоже нужен отдых)
Всё началось с моих браузерных портов Blood и Redneck Rampage, которые вы уже видели. и я решил проверить как далеко смогу зайти так как список игр на данном движке не особо то и большой. Сегодня я хочу представить браузерный ланчер со всеми этими играми. Во всех поддержка широкоформатного изображения, 60fps и современное управление WASD.
Можно поиграть в 14 оригинальных портированных мной игр и 9 дополнений к ним: Duke Nukem 3D: Atomic Edition Дополнения: • Duke Caribbean: Life's a Beach • Duke it out in DC • Nuclear Winter • Penthouse Paradise Redneck Rampage Дополнения: • Rides Again • Suckin' Grits on Route 66
Blood NAM (Napalm) WWII GI WW2 GI: Platoon Leader Powerslave Liquidator 3D Quest For Hussein Quest For Al-Qa'eda Plunder & Pillage William Shatner's TekWar Witchaven Witchaven II
Благородный воин Ло Ванг вынужден вновь обнажить лезвие меча, поскольку над миром нависла угроза. Ему необходимо спасти дочь лидера якудзы из вражеской лаборатории.
Уровни стали нелинейными, а игра теперь напоминает Borderlands. После взятия задания, оно добавляется на карту миссий в меню, где можно его начать. После завершения становится доступен новый вариант свободного прохождения.
Каждая миссия имеет случайно сгенерированный дизайн и контент, в том числе позиции противника, рельефы местности, здания и погодные условия. В игре используется процедурная система повреждений, которая позволяет игрокам отрезать и взрывать вражеские конечности и части тела.
Если в первой части Ванг увеличивал навыки через татуировки, то теперь это делается через карточки. В наличии повышение урона и придание оружию дополнительных эффектов, в виде воспламенения, яда и тому подобных.
Можно улучшать стволы, стрелять с двух рук, менять режим огня. Видов оружия довольно много - луки, катаны, бензопилы, гранатометы, дробовики, пистолеты и автоматическое оружие.
К минусам можно отнести реализацию мультиплеера, недалёкий сюжет и чересчур "толстых" врагов на высоком уровне сложности. Плюсы - разнообразие оружия, модель повреждения, красивая для своих времён графика, разнообразие врагов и неплохие шутки в стиле Дюка Нюкема.
В апреле 2023 года мы запустили необычный для нас проект - ремонтный сервис нового формата. Первого клиента нашли только в начале лета, но уже с первого проекта удалось достичь запланированной прибыли. Расскажу, как мы создали современную компанию для поколения "новых денег", которые не готовы к тому, что прораб будет класть половину стоимости ремонта себе в карман, а сроки растягиваются без ограничений и почему это оказалось прибыльным бизнесом.
Как всё начиналось
Конец 2022 года. Я работал менеджером проектов в крупной IT-компании, мой друг Антон - тимлидом в другой известной технологической компании, а Дима занимал позицию backend-разработчика в третьей. У всех стабильные зарплаты, интересные проекты - жизнь шла своим чередом, пока Антон не решил купить квартиру в новостройке.
После долгих поисков он остановился на 85-метровой квартире в ЖК около метро Саларьево - современный комплекс с подземным паркингом и зелёным двором. Как типичный программист, к поиску ремонтников он подошёл педантично: изучил десятки предложений, провёл собеседования с кандидатами. В итоге выбрал бригаду с Авито с "15-летним опытом работы".
Денис (это я:) - один из создателей сервиса
За время ремонта у Антона мы с Димой часто приезжали к нему - помочь, посоветовать, и просто поржать над очередными косяками строителей. У нас обоих за плечами был серьёзный опыт управления командами, внедрения процессов, автоматизации и контроля качества. И знаете что? Нам казалось, что главное в ремонтном бизнесе - это грамотный менеджмент и организация процессов. И на самом деле, все примерно так и есть.
День когда мы решились
Если честно, мысли о собственной ремонтной компании появились у нас задолго до этого случая. В IT-тусовке часто шутят, что в России есть три верных пути: вебкам, айти и стройка. И мы, насмотревшись на хаос в ремонтной сфере, не раз обсуждали возможность открытия своей “фирмы”.
Мы выделили основные проблемы, которые должны были исправить с помощью своего сервиса
Первое - это постоянно растущие сметы и "задранная стоимость" на работы. Ну вы серьезно? Почему для меня ремонт в квартире должен чем-то отличаться от заказа носков на Вайлдберриз? Почему-то там нет такого, что цена носков может вырасти в 2 раза за время доставки. А тут начальная смета в 1 миллион превратилась почти в 1,7! И каждый раз это "ой, тут стены кривые", "ой, а тут придется докупить", "ой, а это мы не учли".
Второе - это бесконечно растущие сроки. Это еще хуже. Как люди с опытом в менеджменте, мы прекрасно знали, что растущие сроки – это всегда раздолбайство управления и ленивые рабочие. Но тут было чуть посложнее, об этом чуть позже. У Антона обещали сделать за 4 месяца, а в итоге растянули на 8.
Третье - хитрые прорабы. Это вообще отдельная история. Когда прораб говорит "давайте я сам закуплю материалы, у меня скидки", знайте - он накинет сверху процентов 30-40. А еще есть "срочные работы", которые почему-то не были учтены в смете. И конечно, вечная классика - экономия на материалах: заказываешь одно, а привозят что-то попроще, но по той же цене.
Целевая аудитория
А параллельно с этим мы определили нашу целевую аудиторию. Чтобы выделиться на конкурентном рынке, мы решили ориентироваться на молодых IT-специалистов и представителей “современных” профессий, живущих в Москве в возрасте 30-40 лет. Тех, кто покупает квартиру в новостройке и привыкших к хорошему сервису. Кто не готов, что его будут водить за нос и разводить на деньги.
Что с ценой?
При этом очень важно было держать цены НИЖЕ, чем у других компаний, иначе на рынке просто не выжить. В премиум сегмент нужен "пропуск" в виде большого количества работ для определенного типа клиентов, поэтому нам было понятно, что "брать" много - пока что, непозволительно. Но мы нашли способ: автоматизация процессов, прямые поставки материалов, четкое планирование работ и никаких скрытых накруток. Но несбыточной мечтой это покажется только обывателю: на самом деле сервис и правда должен быть таким, вообще любой.
История первого заказа летом 2023 года
А теперь самое интересное - наш первый заказ. Это была отдельная эпопея. Начало лета 2023, звонок от потенциального клиента.
Первый клиент оказался прямо "в яблочко" - тоже айтишник (пришедший из первой контекстной рекламы в яндексе запущенной на 20 тыс.), работал в крупной компании, купил двушку в панельке 80-х годов. Причем достаточно убитую - стены местами с дырками, старый паркет, трубы помнящие еще Горбачева... Но нам, если честно, даже повезло что первый объект был не новостройкой. На старом фонде учиться легче - там хотя бы есть на что посмотреть, в отличие от новостроек, где все "сюрпризы" спрятаны в голых стенах.
Дырка в стене была ДО демонтажа. Клиент купил квартиру с "убитым" ремонтом подешевле, в надежде сэкономить
Как мы мастеров искали
Начали с поиска бригады. Вот тут был первый холодный душ - оказалось, что найти классных специалистов без своей наработанной базы очень сложно. Мастера хорошего уровня либо уже при деле, либо просят космос. А те, кто сразу соглашается - ну, вы понимаете. За две недели провели больше 10 собеседований (назовем их так😊). Причем процесс собеседования мы сразу сделали "как в айти" - тестовые задания, проверка портфолио, разбор технологий работы. Бригадиры были в шоке - некоторые прямо уходили с собеседований, когда мы начинали распрашивать про технологии укладки плитки и показывали фотографии косяков с объектов с форумов.
В итоге нашли бригаду - два брата, которые до этого работали в крупной ремонтной компании, но ушли потому что устали от "серых" схем – по отношению К НИМ ЖЕ. В основном - задержки з/п и прорабы.
В том же санузле, но уже после демонтажных и некоторых черновых работ. Братья очень помогли нам с первым ремонтом, кроме этого, они дали нам контакты проверенных рабочих, которые впоследствии делали ремонт вместе с ними
Купили первый комплект инструмента - это отдельная история на 100 тысяч рублей. Ещё сразу купили свою тепловую пушку - это из необычного. Большинство компаний привлекают "потолочников" на субподряд. Мы захотели сразу начать формировать свой инструментарий для будущих сотрудников. Зато потом эта закупка очень помогла - не зависели от того, что принесет с собой бригада. Позже, когда начали расширяться купили свою штукатурную станцию. Это, на удивление, было самой выгодной покупкой.
Первые сложности
Начали ремонт. И тут поехало... Первый сюрприз - когда начали снимать старую штукатурку, оказалось что стены буквально рассыпались. Плюс под старым линолеумом в коридоре нашли деревянный пол с насыпью под ним.
Тут был первый серьезный разговор с заказчиком. Объяснили ситуацию, показали все фотки, рассказали что сколько будет стоит в соответствии с прайс-листом. Тут очень помогло то, что мы сразу взяли за правило - фотографировать вообще все. Каждый этап, каждый слой, каждую трубу.
С материалами тоже было весело. Первый месяц я лично объездил все крупные строительные магазины в радиусе 30 км. Искал поставщиков, договаривался о скидках. Помню, как чуть не купили партию плитки по "супер-выгодной" цене, а потом выяснилось что это условно "второй сорт" - брак, который продают через "серые" схемы.
Cделали систему закупок: (Первый заказ полностью сделан из материалов, купленных в Петровиче и на маркетплейсах). Бригада присылает список - мы проверяем цены у 3-4 поставщиков и заказываем где дешевле.
Мы сразу внедрили систему ежедневных фото-отчетов и еженедельных созвонов. Плюс сделали чат в телеграме, куда скидывали все чеки, все накладные, все фотки. Такая прозрачность очень помогла - клиент видел, что мы не химичим с ценами и не пытаемся на нем нажиться.
В итоге сделали.
Братья советовали нам недостающих специалистов по ходу ремонта и постепенно, укладываясь в срок мы сдавали клиенту новый и новый этап. Честно, это было не так сложно как казалось в начале, но нужно понимать, что на самом деле, проблем по ходу ремонта и мелких трудностей было ОЧЕНЬ много, просто мы как люди привыкшие, понимали что сейчас это и есть наша работа , за которую нам платит клиент - взять на себя все заботы по ремонту. Но серьезных форс-мажоров не возникало, максимум понервничали, когда внесли предоплату потолочникам, которых нашли по объявлению, после чего они явно начали задерживать сроки, но в итоге, все обошлось. Нам и до этого было ясно, что чем быстрее мы соберем свой , хотя бы, небольшой штат, тем лучше и выгоднее. Но для этого надо быть уверенным в постоянном потоке заказов, что мы на тот момент, не могли себе позволить.
Главное - мы поняли как надо и как не надо. Все закупки только через нас. Все договоренности - только в письменном виде.
По деньгам первый проект получился условно в ноль - не считая наших вложений в инструмент и рекламу. Но мы получили бесценный опыт, наработали связи с поставщиками (если это можно назвать так пафосно) и главное - поняли, что наша модель рабочая, хотя на тот момент не были в этом до конца уверены. Наши сомнения развеяло лето 2023 года.
1/5
Наша первая работа, которую нам помогли закончить "братья", советуя недостающих мастеров на каждый этап работ. Цена работ для заказчика вышла 750 000 рублей. Летом 2023 года, за аналогичный объём работ авитовские бригады просили до миллиона(!)
Сайт и маркетинг или как мы общаемся с клиентами ещё до первого звонка
Кстати, про сайт. Первую версию мы сделали за пару вечеров на Тильде - максимально простую: фотки, цены, контакты. Знаете что? Он у нас до сих пор такой – но с значительно изменённым UI/UX. Я иногда ловлю себя на мысли - вот мы же, можем сделать что-то крутое, с личным кабинетом, онлайн-сметами... Но потом смотрю вордстат, статистику и думаю - а зачем? Клиенты находят нас, звонят, все работает. Иногда лучшее решение - самое простое.
1/2
На главной странице "в лоб" о том кто мы, наши конкурентные преимущества, специализация и примеры работ
1/2
Сразу "ярко" заявляем о действующих скидках. Кроме этого, простым текстом пытаемся общаться с клиентом и убедить его в нашем сервисе, пока что, не общаясь с ним лично - конверсия в лиды увеличилась значительно, но важно, чтобы все предложения были реальны
А вот ворд стат. За последний месяц нас искали 680 раз не считая статистики переходов по прямой ссылке. Доказательство того, что дорогой сайт не нужен. Наш стоит 6 000 рублей в год, а сделан за 20 часов
Примеры лучших работ как маркетинговый инструмент
1/4
Оставляли подобные фото с примерами работ и вотермаркой в отзывах к жилым комплексам. Отличный маркетинговый инструмент - сразу определяем нужную ЦА и бесплатно заявляем о себе. Точно знаем, что минимум один клиент был из отзывов яндекс - поэтому работает
Как мы масштабировались и разбирались в проблемах ремонта
Теперь про то, как мы начали разбираться в проблемах ремонта и потихоньку расти. Знаете, за этот год мы много думали - почему вообще ремонтные компании задерживают сроки и не могут сделать работу по первоначальной цене? И нашли несколько интересных моментов.
Первое - сроки. Тут даже копать глубоко не пришлось - сам рынок сформирован так, что клиенты просто привыкли к задержкам. "А, ну это ремонт, тут всегда так" - классическая фраза. Благо тут нам помог опыт организации процессов из айти. Четкие спринты, ежедневные отчеты, календарный план. Работает как часы, если не филонить.
Второе - вечно растущая цена. Вот это было сложнее. В новостройках еще можно точно посчитать, а во вторичке... Но благодаря наработкам этот вопрос стал гораздо яснее. При правильно организации процессов, непредвиденные работы лучше оплатить из своих средств, чем терять клиента. Только так и делается сервис.
Третье - больная тема - воровство на материалах. Тут мы конкретно закрутили гайки. Завели строгий учет, до последнего мешка штукатурки. Прорабам сразу сказали - любая жалоба от клиента на нечестность - это конец сотрудничества. Знаете что самое смешное? Когда начали работать честно, оказалось что маржа все равно хорошая. Просто многие привыкли что надо обязательно накручивать еще и еще.
Неприятные особенности прозрачного сервиса
Большинство компаний, которые начинают работать честно, быстро сдуваются. Потому что сам потребитель привык к плохому сервису. Приходишь к клиенту, говоришь "мы все сделаем четко по смете и в срок", а он смотрит с недоверием - "да ладно, так не бывает". Сейчас в 2024-м ситуация получше, но рынок все еще очень консервативный.
Продвижение или как мы брали “Новую Москву”
Наш любимый Прокшино в Новой Москве - в 2024 году, это самый перспективный район в котором покупатели - наши потенциальные клиенты
Расти начали потихоньку. Сначала сделали специальные цены для новой Москвы - там как раз много новостроек, где мы хорошо научились работать. Потом пошли заказы по рекомендациям. Когда я говорю “пошли” заказы нужно понимать, что это 1-3 заказа в месяц стабильно, что на самом деле, тогда казалось не мало. С рекламой экспериментировали забавно - оставляли визитки в подъездах (да, просто старые добрые визитки!), ставили рекламные ящики у офисов продаж в дни выдачи ключей.
Был случай, когда на одном ЖК поставили такую стойку, а через неделю риелтор оттуда сам позвонил и предложил взять себе процент, если клиент пойдет к нам.
Сейчас берем 2-5 заказов в месяц, (летом было 5 в месяц, если разделить). Большинство клиентов приходят по рекомендациям. Штат за год работы постепенно собрали свой. Трудоустроено 14 сотрудников. Если их не хватало (как летом), привлекали мастеров с которым уже работали раньше, по договору ГПХ. Просили всех регистрировать самозанятость или ИП – это было тяжело, но зато честно платим налоги по Доходы – расходы.
Как устроен процесс
Знаете, что самое сложное в ремонтном бизнесе? Нет, не поиск клиентов и не работа с материалами. Самое сложное - это выстроить систему, которая будет удовлетворять запросы клиента и при этом позволит компании зарабатывать. Мы долго думали над этим и придумали несколько интересных решений.
Начнем с оплаты. Если посмотреть на московский рынок, там забавная система - вроде бы без предоплаты, но это только за первый, самый дешевый этап. А потом - бац, и клиент должен внести 50% от всей суммы. И попробуй не внеси - бригада уйдет на другой объект. Мы сделали иначе: разбили весь ремонт на этапы (их получилось 12 для капитального ремонта), и берем предоплату только за текущий этап. То есть клиент всегда понимает, за что именно платит, и может контролировать процесс.
С договорами тоже интересно получилось. Сначала делали один стандартный, а потом поняли - люди разные, запросы разные. Сейчас у нас три варианта: просто на работы (для тех, кто сам хочет закупать материалы), на работы плюс материалы (самый популярный), и полный пакет с дизайн-проектом. Кстати, про дизайн - мы не держим штатных дизайнеров, работаем с фрилансерами. Так получается и дешевле для клиента, и качество выше - каждый дизайнер специализируется на своем стиле.
Первый образец договора, который ставили на сайт
Расчёт стоимости
Расчет стоимости работ - отдельная история. Когда начинали, было очень сложно. На рынке нет четких цен - один мастер берет 3 тысячи за квадрат стяжки, другой - тысячу, третий вообще говорит "ну давайте посмотрим по факту". Сначала работали по среднему прайсу, но часто уходили в минус по отдельным этапам - то бригада дороже встанет, то материала больше уйдет. Сейчас, когда появились постоянные сотрудники, стало проще - мы точно знаем их расценки и можем давать фиксированную цену.
Материалы
Выяснилось, что в крупных магазинах часто дешевле в сравнении с рынками стройматериалов, особенно если ловить акции. Плюс появились маркетплейсы - там вообще красота по ценам. И главное - полная прозрачность, клиент сам видит все позиции. Если находим материал дешевле - возвращаем разницу. Был случай, когда на керамограните сэкономили клиенту почти 30 тысяч - просто потому что, нашли ту же плитку в другом магазине по акции.
Как работаем сейчас
Сейчас берем 2-5 заказов в месяц, зависит от сезона и сложности объектов.
Процесс обкатан до мелочей: сначала выезд на замер, потом предварительная смета. Если клиента все устраивает - детальный расчет и договор. Дальше начинается самое интересное - согласование материалов, закупки, работа.
Особенности продвижения и подводные камни
С продвижением интересно получилось. Сначала, как все, полезли на Авито. И знаете что? Не зашло. Там своя специфическая аудитория и конкретно у нас, с Авито “ не пошло”.
Свежий пример страницы с авито в категории "Ремонт квартир". Как клиенты определяются с подрядчиком среди тысяч однотипных объявлений - хороший маркетинговый вопрос, который мы решаем, после чего полноценно "зайдём" на авито
Пробовали контекстную рекламу яндекс - тоже так себе результат. Клики дорогие, конверсия низкая. Зато отлично зашла таргетированная реклама в Instagram* (*запрещен в РФ) и реклама в районных пабликах ВКонтакте. Особенно в группах новостроек в ТГ - там как раз наша целевая аудитория.
Но главный канал - сарафанное радио. Причем работает оно интересно. Всегда знаешь , от кого пришли заказчики и проще выстраивать коммуникацию. Есть клиент - он доволен, рассказал коллегам - и понеслось. За три месяца получили еще два заказа от сотрудников той же компании. Выходит такой “корпоративный ремонт”)))
Были, конечно, и провалы в продвижении. Пытались работать с риелторами - предлагали им комиссию за клиентов. Не пошло - у них свои схемы, свои бригады. Пробовали давать рекламу в лифтах, входных группах - тоже мимо, ни одного обращения, но тут скорее из-за того что эта реклама буквально на день.
ИТОГ
Сейчас мы существуем уже чуть больше года и в целом смотрим на ремонтный рынок не так, как раньше. За это время мы сделали несколько важных заметок для себя:
Оказывается, большинство проблем в ремонте - это не технические сложности, а банальная организация процессов. Когда все четко спланировано и каждый знает что делать - даже самый сложный ремонт идет как по маслу.
Мы поняли, почему многие компании "химичат" с ценами и сроками - просто потому что не умеют нормально считать и планировать. Когда все процессы выстроены правильно, можно работать честно и все равно оставаться в плюсе.
Самое сложное - это не найти клиентов или научиться делать ремонт. Самое сложное - это переломить привычку рынка работать "по-серому". И заказчики, и исполнители настолько привыкли к непрозрачным схемам, что честный подход вызывает удивление.
Мы до сих пор учимся. Каждый объект - это новый опыт и новые вызовы (особенно по части коммуникаций с клиентами). Но главное - мы видим, что наша модель работает и пока что, нам удается держать ценник немного ниже рыночного, за счёт того что до сих пор не имеем в найме маркетологов, IT, отдела продаж и менеджеров по продажам. Стараемся нанимать именно рабочих, все остальное можно отдать на аутсорс.
Уважаемые пикабушники, были рады составить для вас эту статью! С любовью, СК Комната
В 1997 году на прилавках появилась Shadow Warrior – один из самых противоречивых и недооценённых шутеров своего времени. Игра была действительно крутой: бодрая стрельба с большим, сносящим крышу арсеналом оружия, что превращало недругов в кровавые ошмётки, харизматичный главный герой, уровни, полные интерактивных элементов, и море драйва и адреналина! Вот только из-за долгой разработки и постоянных переносов она не попала в нужный момент. Выйди хотя бы годом раньше – скорее всего, стала бы хитом, а так – просто затерялась среди себе подобных. Но в 1997-м рынок был перенасыщен шутерами на Build-движке: Duke Nukem 3D, Blood, PowerSlave, Redneck Rampage… И очередной «пиксельный мясной боевик» народ просто не заметил... А зря! Ведь несмотря на это, Shadow Warrior действительно выделялась и запоминалась своим стилем и тем самым безумным духом 90-х, который сейчас уже не встретишь.
Да, в 2013 году вышел ремейк – и он получился более чем достойным, но сегодня речь пойдёт не о нём, а о той самой, первозданной Shadow Warrior из 90-х. О той, что запускали через DOS с серой болванки без обложки, зачастую даже не зная, что именно скрывается за её лаконичным названием.
История создания
Разработка Shadow Warrior началась в 1993 году, когда проект ещё носил название Ninja.exe и представлял собой эксперимент Джима Норвуда в жанре приключенческого экшена с элементами восточной мифологии. Вдохновлённая фильмами о ниндзя, игра задумывалась как серьёзная и даже атмосферная история: без огнестрельного оружия, с акцентом на ближний бой, магические заклинания и традиционных противников. Однако вскоре вектор разработки радикально изменился. Спустя восемь месяцев после старта команда получила в распоряжение Build Engine, разработанный семнадцатилетним вундеркиндом Кеном Сильверманом – на тот момент один из самых мощных движков в индустрии. Он позволял делать то, что было недостижимо на Doom Engine: многоуровневая архитектура, интерактивные объекты, сложные скрипты и псевдотрёхмерная графика. Чтобы по-настоящему оценить масштаб новаторства Build Engine и амбициозность студии Apogee/3D Realms, рекомендую заглянуть в мою статью о Duke Nukem 3D. Там вы найдёте массу интересных деталей – о самом Кене, о внутренней кухне 3D Realms, об их дерзких решениях и о том, почему в девяностые они казались настоящими рок-звёздами геймдева!
Всё, что было создано в рамках Ninja.exe, в итоге отправилось в корзину: архитектура Build Engine оказалась несовместимой с предыдущими наработками, и разработку пришлось начать заново – уже под названием Shadow Warrior 3D. Новый курс потребовал не только пересмотра механик, но и стилистики – удары ногами и руками убрали, а на смену прежнему сеттингу пришла смесь киберпанка и боевика. Официальный релиз планировали на 1994 год, но эти планы быстро рассыпались в прах, а проект ещё не раз пришлось кардинально переделывать, меняя его стилистику…
Перед вами фотографии из различных альфа и бета версий проекта
Олдфажный факт: а вы знали, что имя главного героя – Lo Wang, это очередная провокация? Ведь звучит оно как жаргонное Low Wang, что означает «мелкий пенис». Этот герой был специально создан таким, чтобы провоцировать скандалы и обсуждения в прессе, не только из-за своего имени, но из-за различных пошлых и расистских шуточек, что он произносит во время игры.
От старой задумки остались лишь отголоски – восточный колорит, отсылки к японской культуре и катана. Вместо магии пришли взрывы, арсенал стал куда брутальней, а юмор – резче. Курс на динамичный, вызывающий шутер был принят сознательно: студия 3D Realms стремилась повторить успех Duke Nukem 3D, который к тому моменту уже стал знаковым. Основной упор теперь делался на разнообразие оружия, секреты, неполиткорректную сатиру и максимальную интерактивность уровней – всё то, что по оригинальной задумке Джима Норвуда попросту не планировалось. Грустно, но человек отказался от работы в Id Software, благодаря которой мог бы стать одним из разработчиков Doom 1 и 2 или Quake, в надежде создать игру своей мечты. Но в итоге, под нажимом руководства, она кардинально поменяла свой вектор, попала в производственный ад и в итоге провалилась в продажах…
Кстати, оцените цитату самого Джима о том, как он нашёл работу в Apogee (она же 3D Realms). Вы только представьте, это было время, когда ты мог взять, найти номер в справочнике и позвонить лично главе достаточно популярной компании, чтобы попросить у него исходный код понравившегося тебе проекта))))
«В то время я разрабатывал игры с боковой прокруткой – это было довольно популярное направление, и однажды я увидел Commander Keen, выпущенную Apogee (разработчиком была id Software, Apogee выступала издателем – прим. ред.), и был поражён тем, насколько плавно в ней реализовано движение экрана! Настолько впечатлён, что – по юношеской наивности – просто набрал номер Скотта Миллера из Apogee и спросил, можно ли получить исходный код технологии. Естественно, он отказал, но этот звонок стал началом нашего знакомства, а когда Скотт узнал, что я сам рисую всю графику для своих игр, он заинтересовался ещё больше и попросил прислать примеры моих работ. Я отправил ему несколько растровых изображений, и они им понравились! Так я получил свою первую работу в игровой индустрии – создавал фоны для оригинальной Duke Nukem с боковой прокруткой и для некоторых других игр. Они даже купили мне новый компьютер для работы, и в тот момент я чувствовал себя королём!», – Джим Норвуд, геймдизайнер и автор идеи.
Создатель Shadow Warrior Джим Норвуд за своим рабочим местом в 1997 году
Shadow Warrior стал одной из первых игр на Build Engine, где появились такие новшества, как воксельная графика для объектов и оружия, реалистичная прозрачная вода, лестницы, по которым можно было подниматься, и даже управляемые транспортные средства. Всё это потребовало нестандартных решений: Кен Сильверман (автор движка) напрямую в проекте не участвовал, поэтому многие функции приходилось внедрять с нуля. К примеру, чтобы реализовать прозрачную воду, программисты прибегли к хитроумным трюкам с наложением спрайтов, а лестницы создавались как движущиеся сектора. Одной из самых трудоёмких (и, как мне кажется, сомнительных) задач стало внедрение техники: чтобы заставить её корректно работать в условиях ограниченного движка, понадобилась значительная переработка внутренней логики. Дополнительные сложности возникли с производительностью: из-за воксельной графики игра тормозила на многих конфигурациях того времени, и оптимизация стала постоянной головной болью для программистов. При этом нужно было сохранить зрелищность, ведь Shadow Warrior должен был стать настоящим адреналиновым блокабастером!
Параллельно техническим задачам команда переживала постоянные изменения в концепции. Изначально игра задумывалась как более серьёзный проект с уклоном в восточную философию и атмосферу, однако под влиянием успеха Duke Nukem 3D креативный курс сместился: добавили демонов, фантастические элементы, абсурдный чёрный юмор и Ло Вэнга – главного героя, что придумал и навязал команде Джордж Бруссард, глава 3D Realms.
Изменения нередко происходили не по инициативе самих разработчиков, а по требованию руководства, и то, что вчера считалось финальной версией уровня или сценария, уже на следующий день могло быть полностью переделано. Надо ли говорить, что это вызывало серьёзную усталость в коллективе и люди покидали команду? Что, конечно же, ещё больше замедляло и без того долгую разработку. Проблем добавляло и то, что большую часть разработки игру делали буквально 2–3 человека. Только ближе к концу производственного цикла проект начали масштабировать – нанимать новых специалистов, привлекать дизайнеров и программистов из других команд 3D Realms, лишь бы наконец довести его до релиза.
Разработчики Shadow Warrior
Создание Shadow Warrior заняло несколько лет, за которые он прошёл путь от почти медитативного симулятора ниндзя до бешеного боевика в духе 90-х – с кровью, взрывами и цитатами, ставшими мемами задолго до появления самого термина «мем». Несмотря на технологические достижения, «Shadow Warrior» не стала громким хитом, как «Duke Nukem 3D». Причин тому было несколько. Во-первых, игра вышла в 1997 году – когда рынок уже был и без того насыщен шутерами, а революционный Quake, выполненный в 3D, поднял планку визуала на новый уровень. Да и других FPS на движке Build к тому моменту вышло огромное количество. Во-вторых, юмор и образ главного героя – смесь стереотипов о Востоке и черного юмора – воспринимались неоднозначно, особенно на фоне нарастающей политкорректности в индустрии. То, что казалось весёлым и вызывающим в начале 90-х, позже стало предметом критики, но в том и суть эпохи: она была дерзкой, резкой и искренней.
Сюжет
Сюжет оригинального Shadow Warrior – это типичный для 90-х микс восточной стилистики, чёрного юмора и безудержного экшена. Мы играем за Ло Ванга – мастера боевых искусств, наёмника и бывшего телохранителя в корпорации Zilla Enterprises. Когда глава корпорации решает захватить Японию с помощью армии демонов и кибернетических чудовищ, Ло Ванг отказывается участвовать в этом безумии и объявляет войну бывшим работодателям. Его история продолжается в аддонах: в Twin Dragon Ло Ванг сталкивается со своим зловещим братом, стремящимся к мировому господству, а в Wanton Destruction он отправляется на охоту за остатками армии корпорации Zilla. Несмотря на простоту подачи, история Shadow Warrior отлично справляется с задачей: она даёт мотивацию к действию и создаёт запоминающийся образ главного героя – дерзкого, смертоносного и с доброй долей самоиронии. Здесь активно используются элементы восточной мифологии и футуристического киберпанка, что придаёт игре особую атмосферу. Диалоги наполнены иронией, каламбурами и стёбом над западными стереотипами о Востоке.
Олдфажный факт: среди менее известных продуктов франшизы были два печатных романа о Воине Теней – «Только для мёртвых глаз» и «Ты умрёшь только дважды». Эти книги, вышедшие в октябре 1997 года, представляли собой пародии на шпионские романы Яна Флеминга о Джеймсе Бонде, с тех пор не переиздавались. Но при желании их всё ещё можно найти =)
Геймплей
Shadow Warrior (1997) – это классика шутеров на движке Build, и по геймплею он одновременно напоминает Duke Nukem 3D и в то же время уверенно идёт своей дорогой. Одной из фишек проекта стала катана, и, в отличие от многих FPS того периода, где холодное оружие служило разве что запасным вариантом, здесь этот традиционный японский меч – полноценный инструмент уничтожения. Быстрая, смертельная и зрелищная, она позволяет сэкономить патроны и красиво расправляться с врагами, особенно на коротких дистанциях. А за счёт того, что механика ближнего боя в игре неплохо проработана, каждый удар ощущается весомо и приносит настоящее удовольствие.
Оружия в игре действительно много – и оно не просто разнообразное, а местами откровенно безумное. Помимо привычных дробовиков, УЗИ и ракетниц, есть настоящие шедевры дизайнерской фантазии: например, голова Хранителя, способная выпускать огненные атаки в трёх режимах, которыми герой управляет, нажимая пальцами на разные участки мозга. Или сердце Риппера, призывающее фантомную версию главного героя, стреляющую из рельсотрона. При этом каждый образец имеет альтернативный режим стрельбы, благодаря чему можно подстраивать стиль игры под текущую ситуацию, а не полагаться на один универсальный способ. В итоге Shadow Warrior не превращается в простую беготню с зажатой кнопкой стрельбы – игра поощряет экспериментировать и находить собственный стиль прохождения.
Уровни – ещё один сильный аспект игры. Они нелинейные, полны секретов, интерактивных объектов и скрытых комнат. Местами нужно проявить смекалку, чтобы пройти дальше, и игра не ведёт тебя за руку, что, впрочем, часто встаёт проекту боком. Например, первый же этап сразу встречает вас пусть и не очень сложной, но головоломкой, решение которой не для всех было очевидно. От чего очень многие геймеры тех лет, психовали и бросали игру, так и не преодолев даже одного уровня! И вот, с одной стороны, загадки – это разнообразие, не позволяющее заскучать от постоянных перестрелок, а с другой, уж больно они сбавляют геймплейный темп и временами раздражают. К слову, тогда ещё начинающий геймдизайнер, ответственный за многие уровни Shadow Warrior, а позже глава крупной игровой студии Gearbox Software – Рэнди Питчфорд, как-то признавался, что это была большая ошибка: «Я вставил туда головоломку, которая стопорила прохождение буквально в самом начале. И многие игроки просто бросали игру, так и не разобравшись, что от них требуется».
Та самая головоломка первого уровня, об которую сломало копья огромное количество геймеров в те годы
Каждую локацию в Shadow Warrior стоит исследовать тщательно – не только ради бонусов, но и ради того самого ощущения удовлетворения, когда в конце уровня, как в каком-нибудь Doom, на экране статистики гордо красуется: все секреты найдены. Проект поощряет вашу внимательность, и наградой нередко становятся не просто какие-то банальности вроде патронов или аптечек, а забавные пасхалки и отсылки к поп-культуре 90-х, которые невольно вызывают улыбку. Да и само окружение активно участвует в происходящем геймплее, позволяя взрывать стены, активировать ловушки, плавать и использовать технику. В целом, Shadow Warrior остаётся на удивление свежим в плане геймплея даже спустя десятилетия. Он дерзкий, разнообразный, не боится экспериментировать и позволяет играть так, как тебе хочется – с катаной наперевес, с дробовиком или с арсеналом безумца, используя демонические сердца и ядерные боеголовки. Это и делает игру по-настоящему добротной и уникальной среди ретро-шутеров.
Как вам такая пасхалка на Лару Крофт?
Звуковое сопровождение
Звуковое сопровождение в Shadow Warrior – это один из тех элементов, которые идеально подчёркивают антураж, но не дух проекта. Саундтрек написал Ли Джексон, известный по работе над Duke Nukem 3D, и в этот раз он сделал упор на восточные мотивы. В композициях чувствуется смесь синтетических звуков, гонгов, флейт и перкуссии, придающих каждой локации атмосферу азиатской экзотики, но без лишнего пафоса. Но едва ли это хорошо сочетается с бодрым экшеном и юмористическим тоном игры. Да, музыкальные темы не пытаются быть эпичными или навязчивыми – они больше фоновое сопровождение, которое создаёт настроение, а не отвлекает, но хотелось бы и побольше драйва!
Ну и конечно, голос Ло Ванга – вишенка на торте. Его реплики, произносимые с характерным акцентом, полны сарказма, двусмысленностей и пародий на восточную философию. Он то подшучивает над врагами, то комментирует происходящее, а иногда просто пускается в странные рассуждения. Это один из немногих героев 90-х, у которого был свой голос и характер (хоть и спорный) – и большая заслуга в этом именно у актёра озвучки Джона Галта, сделавшего Ло Ванга незабываемым.
Олдфажный факт: во время разработки Shadow Warrior актёр Джон Галт настолько разошёлся в озвучке Ло Ванга, что к финалу проекта накопилось огромное количество реплик – и большинство из них были яркими, запоминающимися и по-настоящему харизматичными. Композитор Ли Джексон, прослушивая записи, заметил, что многие фразы отлично рифмуются и ложатся в ритм, так родилась идея создать своеобразный «рэп» из уже готовых реплик. Он не записывал ничего нового – просто мастерски смиксовал фразы, добавил бит и получил Lo Wang Rap – забавную композицию, которая в итоге прозвучала во время финальных титров игры.
Дополнения и моды
Оригинальный Shadow Warrior вышел в 1997 году и распространялся по популярной в то время shareware-модели: первый эпизод был бесплатным, а чтобы получить доступ ко всей игре, нужно было приобрести полную версию. Позднее появились два официальных аддона: Twin Dragon и Wanton Destruction. Первый добавлял новый сюжет, уровни, врагов, а также кооперативный режим; интересен он тем, что изначально разрабатывался фанатами, но после одобрения 3D Realms получил официальный статус. А вот с Wanton Destruction история куда запутаннее – его разработку отменили на финальной стадии, и долгое время он считался утерянным, пока в 2005 году не был случайно найден и бесплатно выпущен. В аддоне появились новые карты, оружие, кат-сцены, но при этом он сохранил дух оригинала и отлично вписался в основную игру. В 2013 году компания Devolver Digital выложила оригинальную Shadow Warrior в Steam и GOG, адаптировав для работы на современных операционных системах. Эта версия получила поддержку широкоформатных экранов, но без серьёзных изменений – чистая классика.
Несмотря на наличие официальной бесплатной версии Shadow Warrior в Steam, лучшим способом познакомиться с классической игрой по сей день остаётся Shadow Warrior Classic Redux – переиздание, также вышедшее в 2013 году. Эта версия получила улучшенный рендер, поддержку геймпадов, возможность сохраняться в любом месте, а также включает оба официальных аддона и ряд других полезных улучшений. Redux считается «золотым стандартом» для тех, кто хочет окунуться в оригинал без возни с DOSBox и настройками. И именно эту версию я подготовил для вас у себя в Телеграмм канале, выложив две готовые сборки. Первая — с удобным инсталлятором для самостоятельной установки, а вторая — полностью готовая Portable-версия, которую можно просто скачать и сразу запускать без лишних танцев с бубном!
Олдфажный факт: в британской версии Shadow Warrior сюрикены были заменены на дротики. Причина кроется в местном законодательстве того времени – в Великобритании действовали строгие ограничения на демонстрацию определённых видов оружия в медиа, включая нунчаки и сюрикены. Восточное вооружение считалось потенциально опасным и нежелательным для популяризации в массовой культуре. В Shadow Warrior Classic Redux разработчики учли этот момент – и в настройках можно выбрать, какое оружие использовать: классические сюрикены или «цензурные» дротики.
Фанатская сцена у Shadow Warrior тоже остаётся активной, пусть и не такой бурной, как у какого-нибудь Skyrim. Одной из важных вех в её истории стал SWP (Shadow Warrior Port) – один из первых фанатских портов, добавивший поддержку OpenGL и нормальное управление мышью. И хотя проект давно заброшен, именно он стал отправной точкой для дальнейших инициатив. Позже эстафету подхватил VoidSW – современный порт на базе EDuke32, обеспечивающий стабильную работу игры на современных системах, включая Linux. Ну а для ретро-энтузиастов существуют целые сборки с улучшенной графикой, новыми картами и поддержкой пользовательских модов. Среди самых заметных – The Last Warrior, который предлагает совершенно новые уровни, немного иную атмосферу и уникального босса, а также Shadow Warrior High Resolution Pack, добавляющий обновлённые текстуры и спрайты при сохранении оригинальной атмосферы.
Заключение
Shadow Warrior – это по-настоящему уникальное явление, смело смешивавшее восточную эстетику с кровавым экшеном, циничным юмором и бешеным темпом, создавая на выходе нечто, что в 90-х воспринималось дерзко, свежо и с вызовом. Да, Ло Ванг, безусловно, уступал Дюку Нюкему в харизме и местами явно пытался играть на его поле, но за счёт самобытного подхода, острых реплик и безумного арсенала он всё же стал отличной пародией на героев боевиков – в меру гротескной и при этом по-своему запоминающейся.
Несмотря на свой почтенный возраст, игра продолжает жить, а Redux-версия позволяет без лишней возни запускать её на современных машинах. Если вы никогда не запускали оригинальный Shadow Warrior – самое время попробовать. А если играли – повод переиграть. Она всё ещё бодрая и весёлая, особенно если вы не против шуток ниже пояса и разлетающихся конечностей. В эпоху перенасыщенных сюжетов и кинематографичности, Shadow Warrior – это чистый, честный, олдскульный адреналин.
Я играю в игры больше 25 лет и запомнил их именно такими: душевными и затягивающими, с увлекательными механиками и интерактивностью, без внутриигровой валюты и попыток быть чем угодно, но не игрой. В моём Telegram канале тебя ждут не только обзоры на игры, но и актуальные новости, а также рассуждения о геймдеве. Присоединяйся к сообществу олдфагов!
Статья подготовлена при поддержке компании TimeWeb Cloud.
Так иногда хочется вернуться в прошлое, когда игры не пытались обобрать геймера до нитки, не стремились быть толерантными и понравиться всем. В этой небольшой подборке вы познакомитесь с 10 старыми шутерами и их ремейками, в которые стоит сыграть в 2025 году. Никакой монетизации, никакой политкорректности, никаких сюжетных «соплей» — только захватывающий и зубодробительный геймплей!
The Ultimate DOOM — это полное издание легендарного шутера 1993 года. Погрузитесь с головой в симулятор кровавой бойни: пули вырывают куски плоти, взрывы разбрасывают внутренности по стенам, а от мощных выстрелов дробовика враги буквально разлетаются на куски, оставляя после себя лишь кровавые ошмётки. Настоящая феерия кровавого безумства!
Quake II Enhanced
Автор: id Software
Недалёкое будущее. Человечество успешно осваивает космос, пока в один роковой день не сталкивается с расой кибернетических пришельцев — строггов. Эти безжалостные создания, сочитающие органику и робототехнику, развязывают войну на истребление человечества. Колонии людей уничтожаются одна за другой, и кажется, что надежды больше нет. Игроку предстоит остановить захватчиков, используя обширный арсенал оружия и праведную ярость.
Black Mesa (Half-Life: Remake)
Автор: Valve и Crowbar Collective
Если вы в своё время пропустили один из лучших шутеров начала 2000-х, а позже не решались прикоснуться к легенде жанра из-за устаревшей графики или других предубеждений, то Black Mesa — идеальная возможность наверстать упущенное. Благодаря скрупулёзной работе энтузиастов со всего мира приключения Гордона Фримена на секретной правительственной базе обрели второе дыхание. Уничтожайте инопланетных захватчиков и военных, попутно раскрывая тайну неудачного эксперимента в обновлённой версии культового шедевра.
Clive Barker's Jericho
Автор: MercurySteam
Что получится, если автор популярных литературных произведений в жанре ужасов возьмётся за создание игры? Конечно же, Clive Barker's Jericho! Шутер про секретный правительственный отряд спецназовцев, призванный бороться с проявлением паранормальных явлений, шокирует своей жестокостью: враги отвратительны, уровни отдают эхом прошлого, а смерть не означает Game Over. И хотя на 2025 год игровые механики могут показаться слегка устаревшими, атмосфера и визуальный стиль игры до сих пор не имеет себе равных.
F.E.A.R. 2: Project Origin
Автор: Monolith Productions
Когда F.E.A.R. 2: Project Origin только вышла, фанаты первой части не оценили её по достоинству. Но, пройдя игру пару месяцев назад, я могу уверенно заявить: они ошибались. Перед вами один из последних качественных мистических шутеров, где хоррор и экшен идеально дополняют друг друга, а противники, особенно на высоком уровне сложности, представляют реальную угрозу, заставляя продумывать каждый свой следующий шаг. Благодаря революционному на момент выхода игровому движку Lithtech Jupiter Extended, даже в 2025 году шутер выглядит потрясающе. Так что не проходите мимо, игра действительно того стоит!
Shadow Warrior
Автор: Flying Wild Hog
Безумный самурай возвращается, чтобы вновь надрать пятую точку преступным синдикатам и прочей паранормальной нечисти. Погрузитесь в мистический экшен, полный чёрного юмора и жестокости, где от ваших навыков будет зависеть будущее всего человечества. Боевая система, основанная на сочетании холодного и огнестрельного оружия, до сих пор даст фору многим современным шутерам. А захватывающий сюжет, обширные локации, умные враги и эксцентричный юмор главного героя не дадут заскучать до самых титров. Эталон жанра классических FPS в новой стильной обёртке, в который не стыдно сыграть и сегодня.
Painkiller: Hell & Damnation
Автор: The Farm 51
Painkiller: Hell & Damnation — это ремейк культового Painkiller, выпущенного студией People Can Fly в далёком 2004 году. Добавив современной графики и ещё больше хаоса, разработчикам из The Farm 51 удалось повторить формулу успеха оригинала: безумные сражения с ордами демонов и гигантскими боссами под тяжёлую музыку, приправленные обширным арсеналом оружия и запредельной жестокостью. Что ещё нужно для идеального олдскульного шутера?
Crysis 2 — Maximum Edition
Автор: Crytek
Сюжетная кампания Crysis 2, повествующая о противостоянии бравого морпеха инопланетным захватчикам, увлекает с первых минут игры. Да, из-за ограничений игровых приставок шутер потерял в масштабах, но благодаря обновлённому костюму тактические возможности и перестрелки вышли на совершенно новый уровень. Чего только стоит улучшенный режим невидимости с возможностью пробивать стены! Враги тоже поумнели: они научились обходить игрока с фланга, вызывать подкрепление и впадать в панику. В остальном перед нами всё тот же культовый шутер, впечатляющий графикой и динамичным геймплеем, но уже в декорациях разрушенного Нью-Йорка. Заслуженная бронза нашего импровизированного топа.
Bulletstorm: Full Clip Edition
Автор: People Can Fly
Bulletstorm — игра, которую по праву можно назвать недооценённым шедевром. Сюжет? Грубый, похабный и при всём этом великолепный в своём повествовании. Главные герои — отбросы космоса, вынужденные объединиться в отчаянной попытке спасти свои жизни. Забудьте про укрытия и тактику: главное — эффектная и бескомпромиссная жестокость. Отправляйте врагов в небытие, превращая их в фарш с помощью крюка-кошки или эффектного пинка на заострённые шипы. Чем безумнее и изощрённее убийство, тем больше очков. И пусть игра не сыскала коммерческого успеха, она заслуживает того, чтобы её помнили.
Far Cry 3: Blood Dragon
Автор: Ubisoft Montreal
Что получится, когда профессиональным разработчикам, выросшим на фантастике 80-х, выпадает шанс сделать шутер мечты? Конечно же, Far Cry 3: Blood Dragon — безумный в своём стиле и исполнении шутер, пропитанный ностальгией по эпохе VHS. Главный герой, сержант Рекс, живая легенда и воплощение всех культовых киногероев, отправляется на новое задание, чтобы наказать негодяев! Его ждут неоновые джунгли, кибердраконы, безумные диалоги и море крови.
Вопрос. Что вы думаете о потенциале воксельных движков, таких как VOXLAP, сегодня? Voxelstein 3D был скорее технической демонстрацией, но всё равно довольно интересным экспериментом. Как вы думаете, у таких игр есть будущее?
Ответ. Когда вы говорите "как VOXLAP", я предполагаю, что вы имеете в виду маленькие воксели, а не большие, которые вы могли видеть в Minecraft / Roblox. Воксельные объекты хорошо работают на 3D-дисплее и их легко генерировать из кода (например в EVALDRAW). Они не имеют особого смысла, если вы ищете реалистичные пейзажи. Воксели плохо масштабируются при увеличении разрешения. Неважно, сколько бит вы в него бросаете — вы всё равно видите блоки. Конечно, вы можете скрыть это с помощью интерполяции, но это дорого вам обойдётся, во всяком случае если вы не используете GPU.
Вопрос. В настоящее время Cheello работает над своим масштабным проектом Voxel Duke Nukem 3D, целью которого является воссоздание каждого спрайта в игре. Вы видели другие работы Cheello: Voxel Doom, Voxel Blood?
Ответ. Да. Очень здорово видеть, как 2D-спрайты преобразуются в воксели и вручную редактируются до такого уровня точности. Это действительно выглядит аутентично в отношении оригинальных игр.
Вопрос. Есть ли какая-то функция, которой не было в движке Build (до перехода проекта в открытый доступ) и которую вы хотели бы реализовать?
Ответ. Конечно. Вам стоит проверить Build 2. Вот несколько самых важных функций, которые я бы хотел видеть в Build:
* Полноценный взгляд вверх / вниз.
* Нативная поддержка комнаты поверх комнаты.
* Необычное освещение.
* Drop-in networking (прим. пер.: термин, определяющий взаимодействие различных беспроводных и проводных сетей связи с целью передачи данных между устройствами).
Вопрос. Если не секрет. Почему вы решили уйти из крупной игровой индустрии? Коммерческой. Есть ли шанс, что вы вернётесь в неё может быть, даже к чему-то, связанному с Duke, или к новой игре на основе Build, как бы маловероятно это ни было, если кто-то попросит?
Ответ. В 1997 году я наблюдал как моя роль в команде из одного человека по разработке движка быстро вытесняется. Было множество новых конкурентов. Даже тогда я знал, что разработка нового движка займет много лет... возможно, не 14 лет ;-P. Я не хотел переезжать в Техас на постоянной основе и я не рассматривал другие компании. В 2015 году Gearbox спросили, могу ли я как-то поучаствовать в ремейке Duke 3D, который позже стал изданием DN3D 20th Anniversary. Я не знал, как я могу внести свой вклад, чтобы это было справедливо по отношению к моему времени. Запись звуковых эффектов может занять несколько дней. Создание карт или песен может занять несколько недель. Но написание нового движка может занять годы. Позже я понял, чего они на самом деле хотели, а именно порт на несколько консолей, вместе с несколькими настройками. Я никогда не занимался программированием для консолей, так что, полагаю, ситуация сложилась к лучшему. Что касается возвращения в игровую индустрию, то я не вижу к тому предпосылок. К тому же, делать трёхмерные дисплеи веселее ;-).
Вопрос. Вы когда-нибудь представляли себе Build 2 как что-то большее, чем просто учебный проект для летнего лагеря? С какой игрой по-вашему он мог бы работать лучше, чем, скажем, EDuke32? Что побудило вас выпустить Build 2 в 2018 году, почти через 10 лет после того, как вы перестали над ним работать?
Ответ. Поскольку я вложил в него много усилий, было бы неплохо увидеть полноценную игру, сделанную с его помощью. Я полагаю, что никто не хочет использовать неполный движок, полный неуправляемого, ассемблерного кода. Я выпустил его, потому что почему бы и нет. Он был чем-то крутым, что больше не имело для меня никакой ценности. Мне следовало выпустить его на несколько лет раньше.
Вопрос. Что за история скрывается за таинственным Ken's Labyrinth II? Похоже, что проект находится в разработке с 2007 года, но у него почти не было рекламы. Вы участвуете / участвовали в нём каким-либо образом, кроме лицензирования персонажей? Разве не разочаровывает, что игра использует GZDoom, а не Build или другой ваш движок?
Ответ. Я никогда ничего не лицензировал. Всё, что я сделал, это сказал что-то вроде: "Конечно, это нормально" в ответе по электронной почте. Ken's Labyrinth был по сути кучей спонтанной ерунды, упакованной в форму демо-версии движка. Мне лестно, что кто-то хочет сделать игру на его основе. Некоторое время назад ребята попросили меня записать несколько звуковых эффектов для их игры, что я и сделал. Я понятия не имею, будут ли они на самом деле это использовать. Кроме того, я не имею никакого отношения к проекту.
Вопрос. Кен, вы упоминаете свою любовь к картографии и картам и среди текстур стен в Ken's Labyrinth есть изображения карты США. Было ли это вашим хобби, полезным для проектирования карт для Ken's Labyrinth, или для каких-либо других аспектов дизайна игры / движка?
Ответ. Не совсем. В детстве мне нравилось рисовать и переписывать (но никогда не калькировать) карты. Я до сих пор могу нарисовать довольно хорошую карту пятидесяти штатов по памяти. Я не думаю, что это имеет большое отношение к дизайну движка, но могу сказать, что они оба подразумевают большое количество визуализации, в чём я всегда был хорош (кстати, Энди Коттер разработал большинство карт для Ken's Labyrinth).
Вопрос. Можете рассказать, чем вы сейчас занимаетесь, какие проекты вас интересуют. Делаете ли вы сейчас какое-либо программное обеспечение для создания игр?
Ответ. Я работаю в Voxon Photonics уже более 10 лет. Мы делаем трёхмерные дисплеи. Моя работа в основном заключается в низкоуровневом программном обеспечении, но я также занимаюсь проектированием печатных плат. Я написал SDK, который включает в себя несколько простых демо игр. К сожалению, я давно не обновлял свой сайт, потому что был очень занят своей работой в Voxon.
Вопрос. Вы играли в Ion Fury? И если да, то что вы думаете об этой игре? Считаете ли вы её достойным духовным преемником Duke Nukem 3D? Считаете ли вы, что должно выйти больше игр, подобных Ion Fury?
Ответ. Конечно. Я считаю, что игра отличная. Мне понравились новые и очень детализированные карты. Воксельные объекты были хорошо сделаны. Приятно видеть, как моя работа с POLYMOST находит практическое применение. Кроме того, поезда с дробовиками — это весело ;-).
Вопрос. Какие-нибудь слова напоследок для наших читателей?
Ken Silverman - создатель Build, а также ряда иных решений, вроде VOXLAP, на основе которых в последующем были созданы игры в диапазоне от Duke Nukem 3D (1996) и Blood (1997) до Ion Fury (2019), а также Electric Highways (2015) и Voxelstein 3D (2008) в отдельности. Домашняя страница - Ken Silverman's Official Home Page.
Вопрос. Что-то вдохновило вас на создание движка Build? И, касательно вашего участия в разработке конкретных игр, возможно вы могли бы упомянуть несколько интересных фактов?
Ответ. Конечно - Doom. Я начал публиковать информацию и скриншоты об их следующей игре как раз тогда, когда я закончил Ken's Labyrinth (1993) в начале 1993 года. После того, как я потратил почти год на копирование Wolfenstein 3D (1992), он, очевидно, привлёк моё внимание. Ваш второй вопрос немного общий. Как насчёт того, чтобы прочитать остальную часть интервью? ;-)
taufan99 спрашивает: "С тех пор, как я поиграл в Ken's Labyrinth и другие ваши программы, я влюбился в формат KSM. Однако я хотел бы узнать, можете ли вы выпустить конвертер в формат General MIDI, потому что, хотя я и признаю, что AdLib — хорошая звуковая карта, я сам больше поклонник General MIDI".
Ответ. Если вы не против небольшого редактирования, то вы можете использовать мою программу KS2.EXE для преобразования данных музыкальных форматов. Ищите её на моей домашней странице, в разделе утилит. Вам придётся вручную выбирать инструменты MIDI и полностью переделывать перкуссионный трек с помощью инструмента лассо. При некоторой настойчивости вы сможете получить хорошие результаты. Да, KS2 давно не обновлялся и он имеет свойство мерцать в современных версиях Windows. Я мог бы это исправить, если бы у меня было достаточно мотивации и времени.
vyruss спрашивает: "Во время экспериментальной стадии создания Build, что привело к окончательному решению использовать именно порталы среди других технологий того времени? Я знаю об их преимуществах по сравнению с другими технологиями рендеринга того периода, а также об ограничениях основного пользовательского оборудования — был ли проведён значительный анализ различных подходов для измерения их сильных и слабых сторон, или идея началась в одной итерации как движок, не связанный конкретно с Build, а затем органически выросла из этого подхода? Я спрашиваю об этом, потому что мои (смутные) воспоминания демонстрируют разные уровни возможностей между чем-то вроде Ken's Labyrinth, плавно переходящим в Duke Nukem 3D и другими громкими именами того времени".
Ответ. Когда у меня возникала идея, я писал прототип на QuickBasic, так как в этой среде было очень легко писать код и проводить тестирование. Мой самый ранний прототип того, что должно было стать Build, назывался PICROT4.BAS, который просто транслировал лучи в месиво из стен. Очевидно, что это слишком медленный подход для большой карты. Моей следующей идеей было использовать сетку, где каждая ячейка содержит список всех стен (линий в 2D), которые её касаются. Это решало две проблемы: грубую сортировку стен в порядке от начала к концу и исключение всех стен, которые выходили за пределы пирамиды видимости. Можно было обставить этот вопрос с помощью дополнительного кода для уточнения сортировки, но в то время я не знал, как это сделать. По сути это был алгоритм не слишком подкованного художника и он был полон визуальных глюков.
Затем в декабре 1993 года Apogee попросил меня позвонить Джону Кармаку. Как и ожидалось от такого холодного звонка, он умолчал о многих темах, не объясняя их подробно. В конце концов ему пришлось ответить на звонок более предметно. Например я помню, как спрашивал его об одной из самых сложных вещей в Build Engine того времени — как растеризовать или заполнить потолки и полы. Он описал свой метод как простую "заливку", что не имело для меня особого смысла. Для меня заливка всегда была медленным алгоритмом, как инструмент рисования в Microsoft Paint. Или в Basic вы могли видеть, как он фактически выполняет свой рекурсивный поиск, наблюдая за ним на многих кадрах. Очевидно, что это не так. Так что у него было другое определение того, что означает заливка, на сколько я могу судить.
Ещё я помню, как он дал мне идею и название для "сектора", который представляет собой структуру для хранения информации о потолке и поле для списка общих стен. Это не решило моих проблем с сортировкой стен, но заставило меня понять, насколько нелепо был спроектирован мой старый движок на основе сетки. Я хранил информацию о потолке и поле вместе с каждой стеной! Это не только тратило существенное количество памяти, но и дополняло движок множеством визуальных сбоев — например, когда структура стены не соответствовала её соседу в том же секторе.
Чтобы исправить сортировку стен, мне нужно было выучить немного новой математики: двумерные точечные и векторные произведения. Я узнал об этом во время моего первого семестра математики в Брауне. Я был удивлен, что они не преподают это в старшей школе. Теперь с моим новым алгоритмом сортировки у меня был способ сортировать стены без сбоев. У меня не было доказательств, но я не мог найти никаких контрпримеров в моей тестовой программе... если только стены не пересекались, то есть... но это в любом случае не считалось применимым случаем.
Интересное отступление: много лет спустя я подумал, что могу расширить эту идею сортировки идеальной стены (теперь полигональной) до полного 3D. Я назвал её KENVEX — мое имя + выпуклость. Оказалось, что я ошибался, или, по крайней мере, это было намного сложнее, чем я себе представлял ранее. У движка было и множество других проблем. Я понятия не имел, как сделать нормальный редактор.
DNSKILL5 спрашивает: "Build во время разработки первого Blood. В сети есть некоторая противоречивая информация об этом периоде. Иначе говоря похоже дела с этим тайтлом пошли не так как ожидалось. Не могли бы вы немного рассказать нам о специфике работы над этим проектом?".
Ответ. Вы говорите о GEORGE.TXT, тираде Питера Фриза, написанной в июне 1995 года. Программисты Blood переопределяли мои внутренние (намеренно недокументированные) функции Build Engine своими собственными версиями. Полагаю они не могли дождаться появления новых функций. Проблема была в том, что всякий раз, когда я что-то менял в движке, это ломало их код и тогда им приходилось заново проводить обратную разработку (прим. пер.: reverse engineering) своих хаков. По сути почти как редактирование исполняемого файла в шестнадцатеричном формате. Практика переопределения функций может быть очень контрпродуктивной. Очевидно, мне нужно было что-то изменить в движке, чтобы улучшить его и исправить ошибки.
Я уверен, что их система кэширования была лучше в то время. Проблема в том, что меня бомбардировали множеством других высоко приоритетных задач от других команд. Вам не нужна идеальная или даже хорошая система кэширования, чтобы тестировать игру во время её разработки. Если у вас недостаточно памяти, то ваш жёсткий диск работает немного дольше. Это раздражает, но что с того. У меня была примитивная система кэширования в то время, которая просто удаляла самые старые вещи, что можно было реализовать с помощью простого FIFO. Она была неэффективна в выборе наиболее подходящих вещей для последующего удаления. Позже, в 1995 году, я всё-таки написал улучшенную систему кэширования.
О, я полностью согласен с комментариями Питера о центрировании спрайтов — это было ошибкой.
Что касается моих навыков разговора по телефону — да. Я не собираюсь лгать во спасение и обещать что-то сделать, когда я никогда раньше не слышал об этой концепции. Мне следовало бы сказать: "Конечно, я подумаю над этим". Но я был застенчивым 19-летним парнем с небольшим опытом разговоров. Я не очень хорошо соображал, что говорить в таких случаях. По сей день я предпочитаю давать интервью в текстовом формате ;-) Кстати, когда мы с Питером встретились лично несколько месяцев спустя, мы прекрасно поладили.
The Legend of the Seven Paladins 3D (1994).
Вопрос. The Legend of the Seven Paladins 3D (1994) считается первым коммерческим проектом, основанным на Build. Кроме того, в отличие от последующих работ, он основан на ранней версии Build. Тем не менее, сама его история остается в тумане. Можете ли вы пролить свет на этот необычный проект?
Ответ. Всё, что я знаю, это то немногое, что мне рассказала Apogee, а именно, что игра была выпущена нелегально. Это было до 2020 года, когда я получил спонтанное электронное письмо от какого-то парня по имени мистер Лин. Судя по всему он и группа из двух других парней из Тайваня посетили Скотта Миллера как раз перед Рождеством 1993 года. Он сказал, что всё закончилось через несколько месяцев из-за языкового барьера. Что касается того, почему они продолжали работать без надлежащего контракта, то не знаю.
Вопрос. На вашем сайте я заметил название Fate от Capstone, что интересно, потому что я никогда не слышал, чтобы они делали ставку именно на Build. Corridor 8: Galactic Wars, который должен был стать продолжением Corridor 7: Alien Invasion (1994), в конечном итоге использовал движок Doom. Можете ли вы немного рассказать об этом этой игре?
Ответ. Всё, что я знаю, это то, что так называлась третья игра Capstone, планировавшаяся после после Witchaven (1995) и William Shatner's TekWar (1995) и на сайте игр JonoF есть её демоверсия.
Вопрос. Порты, являющиеся производными от ZDoom, поддерживают формат вокселей .kvx (и только его), делая этот древний формат из эпохи Blood единственным, неоспоримым стандартом вокселей для сообщества Doom, которое, как известно, является самым живучим (есть, конечно, DelphiDoom, который может поедать .vox, но он экзотичен и имеет кучу своих ограничений). Существует множество форматов и редакторов вокселей. Но для того, чтобы поместить воксели в Doom, вам нужно пропустить их через редактор-конвертер в .kvx. Там вы можете опционально подкрасить и отцентрировать их. Подобный редактор — ваш редактор SLAB6, программного обеспечения 2011 года, давно валяющегося неподалёку. У SLAB6 есть ограничение на размеры модели вокселей 256x256x255 пикселей.
Mastermind, например, мог бы вместиться. Но если вы промасштабируете его, то он больше не впишется в имеющиеся рамки, или, по крайней мере, такое складывается впечатление. Более современных альтернатив на горизонте не видно и, похоже, не предвидится - создаётся плохой синдром, когда что-то современное привязано к древней, заброшенной инфраструктуре.
К слову говоря. Обойти ограничение можно через вашу утилиту POLY2VOX. Но для этого нужна шизофреническая схема преобразования воксель-модель-воксель с довольно грязными хаками в 3D-редакторе для центрирования. Что тоже не есть хорошо.
Длинное вступление заканчивается, и образуется вопрос. Планируете ли вы выпустить более современную версию SLAB6?
Ответ. Вам следует рассмотреть PND3D как преемника SLAB6 и VOXLAP. Редактор менее функционален, поскольку им никто не пользовался, но он хорошо работает как быстрый просмотрщик и конвертер форматов. К сожалению, PND3D в настоящее время не сохраняет в формате .KVX. Я мог бы добавить эту деталь, но возникнут некоторые проблемы, такие как квантование цвета и ограничения по размеру.
KVX был разработан для Build Engine, который использовал 8-битную палитру цветов. Он не нуждался в поддержке огромных моделей и всегда отображался вертикально (где вертикальный RLE имеет смысл). В дизайне KVX есть некоторые странные вещи, такие как флаги видимости, которые определяются только для каждого слэба и смещения, которые относятся к абсолютному положению файла. Кроме того, KVX ограничен 256 вокселями в высоту и, хотя вы и можете расширить x и y за пределы 256, при этом вы рискуете столкнуться с проблемами. Если спрайт недостаточно сжимаем, то различные вещи могут переполняться и поэтому это не очень хорошая идея. Если вам нужны большие модели, вам следует рассмотреть возможность использования KV6. Единственный недостаток KV6 в том, что он не сжимает 8-битную палитру спрайтов так же хорошо, как это делает KVX.
Кроме того, относительно POLY2VOX, пробовали ли вы опцию /s#? Она предназначена для исправления как постоянного масштаба, так и центрирования в анимациях.
Duke Nukem 3D (1996).
ck3D спрашивает (прим. пер.: здесь перевод был обставлен как условно дословный, изначальная формулировка оказалась довольно своеобразной / сложно поддающейся однозначному переводу): "По сей день Build выделяется своей необычностью в общем ландшафте игровых движков, которые, чаще всего, разрабатываются с учетом довольно неизбежных проблем практического применения. В особенности, современные игры, как правило, полагаются на фотореализм гораздо больше, чем игры 90-х годов, для погружения пользователя и понятности ему, иногда в ущерб более креативным, альтернативным подходам. Такие игры, как Duke Nukem 3D, не упустили ни одного из этих параметров и каким-то образом сумели продвинуть правдоподобные среды, при этом технически внедряя трюки, искажающие реальность: "сектор на секторе" (что позволяет потенциально бесконечно накладывать невозможные пространства поверх общих координат) и стены, переписывающие своё положение во время исполнения, — это особенности, благодаря которым, помимо того, что он является инструментом, предназначенным для обслуживания разработки, Build также можно рассматривать как собственную мини-среду, и, как правило, для большинства старожилов в картографических сообществах он таковым и является.
Насколько эта творческая свобода была преднамеренной и, возможно, важной для вас при проектировании? Вы надеялись (или даже ожидали), что эти необычные и относительно экспериментальные функции будут приняты его пользователями? Знали ли вы о том, какой посыл они в итоге принесут и что, в конечном счёте, будут влиять на некоторые нишевые школы дизайна уровней? Или вы не задумываясь развлекались и всё ещё не знали, насколько негибкими станут игры, как только появятся следующие несколько тенденций в их развитии?
Подвопросы, которые также связаны с этим. Хотя общепринятым каноном является "реализм" как сильная сторона Build, я бы склонен не согласиться с этим и утверждать, что в действительности это основано на тех или иных предположениях, а очевидная привлекательность большинства уровней в Build на самом деле достигается за счет методов работы с поверхностями, что приводит к более абстрактному дизайну уровней и креативным идеям в расположении объектов на таковом. Этот факт во многом полагается на маскировку, дабы привести игроков в ситуации, в которые они обычно не попадают, потому что указанные ситуации обычно довольно технические (и поэтому, как это ни парадоксально, для картографов их очень весело придумывать). Что вы думаете на этот счёт?".
Ответ. Очевидно, я мыслю на более низком уровне, чем вы. Я занимаюсь алгоритмами и оптимизацией языка ассемблера. Я не беспокоился о том, как широкая публика воспримет те или иные вещи. Многие вещи, которые я делаю, являются результатом эволюции. Я пробую что-то. Если это хорошо, я это сохраняю. Если нет, то до свидания. Это хорошо работает, когда дело касается оптимизации. Это также работает для изменений в вопросе дизайна. Проблема в том, что идей всегда больше, чем времени. Чтобы решить, над чем работать, я бы использовал такую простую формулу: крутость, деленная на сложность реализации. Конечно, я обычно в конечном итоге делал то, над чем мне хотелось работать в тот момент, что обычно было ненужной оптимизацией ;-).
Ключ к играм на Build Engine, имеющим этот предполагаемый "фотореализм", заключался в том, что большие части редактора работали в 3D-режиме. Насколько мне известно, Build был первым, где имелась подобная составляющая. Возможность просматривать и изменять игровую среду напрямую, не тратя время на создание BSP или что-то в этом роде, экономила массу времени (по той же причине я бы использовал QuickBasic для прототипирования вместо C, а сегодня это был бы EVALDRAW вместо C).
Идея трёхмерного редактора пришла мне в голову во время работы над движком на основе сетки в середине-конце 1993 года. В то время редактор назывался EDITBORD.BAS и был написан на QuickBasic. Предварительный просмотр в 3D исходно начинался как наспех сделанный хак. Я добавил параметр командной строки в трёхмерный просмотрщик, который у меня был на C, он переопределял начальную позицию. Мой редактор QuickBasic мог затем создавать исполняемый файл из любого места, где находился курсор мыши.
Конечно, компиляция программы каждый раз, когда вам нужен предварительный просмотр, не было самым быстрым способом запуска. Я знал, что мне придётся портировать редактор из QuickBasic в C. Как только у меня появился 2D-режим, работающий в программе на C, я понял, что было бы круто иметь возможность редактировать что-то прямо в 3D. Проблема была в том, что мне нужен был способ определить, над какой стеной / потолком / полом / спрайтом находится курсор мыши. В то время у меня ещё не было функции сканирования попаданий (в то время никто ещё не делал игр; они просто игрались в моих ранних редакторах карт и графики). Я придумал способ обнаружения попаданий во время процесса рендеринга — сравнивая каждый горизонтальный или вертикальный промежуток с местоположением курсора мыши во время рендеринга. Неказисто, но достаточно легко в вопросе реализации. Как только эта часть была готова, я начал перемещать как можно больше вещей в трёхмерных редактор. Всё, что связано с отображением текстур, лучше всего работало в режиме 3D. Поднятие / опускание потолков / полов отлично функционировало в трёхмерном редакторе.
Вопрос. Каков был ваш опыт работы с 3DR над Duke Nukem 3D (1996) в отношении отзывов, которые вы получали напрямую от дизайнеров уровней? Вы подходили к своей задаче создания игрового движка исключительно с точки зрения кодирования / математики в соответствии с тем, что было нужно разработчикам, или вы активно смотрели на это так, как это сделал бы дизайнер уровней / игрок? Дизайнеры уровней быстро поняли, как использовать редактор, или вам было трудно найти общий язык / показать им свою точку зрения?
Shadow Warrior (1997).
Ответ. Дизайнерами уровней из Duke, которых я знал лучше всего, были Аллен Блум и Ричард Грей. Несколько дизайнеров карт были добавлены для завершения издания Duke Nukem 3D: Atomic Edition (1996), но к тому времени я проводил большую часть своего времени с Фрэнком Мэддином, помогая закончить Shadow Warrior (1997). Конечно, было круто наблюдать за тем, как дизайнеры карт делают свою работу. Я не помню, кто конкретно просил, но некоторые из функций в Build, которые пришли от дизайнеров карт, были такими: Alt+S, чтобы сделать петлю красной, нажатие "V" один раз для текущих текстур или два раза для всех (функция, которую я ненавидел), система тегов, несколько видов копирования и вставки, различные глюки рендеринга.
Не потребовалось много времени, чтобы освоиться с редактором Build. Тогда людям не нужны были замысловатые меню или кнопки. Вы могли написать текстовый файл и чаще всего люди его читали. Если вы не могли запомнить всё написанное в текстовом файле, вы распечатывали его. Изучение трюков Build заняло больше времени, как пример объединение и разделение секторов, без перерисовывания их с нуля.
Вопрос. Флагманские игры на движке Build имели относительно длительные циклы разработки, Shadow Warrior датируется 1993-1994 годами, а движок Build активно развивался все эти годы. Вы играли в каждую сборку Shadow Warrior и Duke Nukem 3D или это было делом команды тестирования?
Ответ. На самом деле, первой командой, которая использовала Build, была команда Blood (1997), которая начала работу в сентябре 1993 года. Тогда они были известны как команда "Horror". Конечно, я играл во многие версии игр. Иногда, когда кому-то нужно было показать мне ошибку, они отправляли мне копию по модему, и я её просматривал. Если я был на месте, мы могли вести тестирование по IPX или нуль-модему. Часто мы играли ради развлечения по ночам. Хотел бы я сохранить копии каждой версии, к которой у меня был доступ. Конечно, для этого потребовалась бы довольно большая коробка дискет!
Вопрос. Вы играли в Shaw's Nightmare (2013)? И если да, что вы о ней думаете? Кажется, что ей нужна некоторая оптимизация производительности.
Ответ. Нет. Видео на YouTube выглядит как уникальное ретро. Возможно низкая частота кадров является намеренной?
Powerslave (1996).
Вопрос. Powerslave (1996) не использует наклонные поверхности ни в одной из официальных карт и долгое время считалось, что версия движка Build, на которой он работает, ещё не имела этой функции. Однако недавно было обнаружено, что Powerslave на самом деле полностью поддерживает наклоны и был создан специальный пакет карт, чтобы в полной мере воспользоваться этой функцией. Поскольку наклонные поверхности кажутся логичным элементом в игре на тему Древнего Египта (к примеру для создания пирамид), сообщество предположило, что 3D Realms могла скрыть информацию о некоторых технических характеристиках, когда она сублицензировала движок Build, чтобы сохранить конкурентное преимущество со своими собственными продуктами. Можете ли вы как-то это прокомментировать?
Ответ. 3D Realms многое скрывали о своих отношениях с небольшими игровыми командами. Я никогда не видел никаких контрактов, которые они заключали, если только я специально не спрашивал о них. Сублицензирование движка не упоминалось в моём первоначальном контракте и они использовали этот факт в своих интересах. Что касается особенностей, то я знаю, что 3D Realms удержали склоны от передачи Capstone. Что касается того, что случилось с Lobotomy, то я не могу сказать. Я помню, как Lobotomy расстроились, когда узнали, что движок поддерживает склоны. Я нахожу этот вопрос очень запутанным. Так что, возможно, вы правы — склоны были удержали от них.
Вопрос. Если бы вы воссоздали что-то эквивалентное Build Engine, используя имеющиеся у вас сейчас знания, вы бы внесли какие-либо изменения в дизайн?
Ответ. Конечно. Я бы это сделал, очистив код. Например больше структур, меньше глобальных переменных, присвоение функциям возвращаемого типа, за вместо "long" почти для всего. Что касается оптимизации, то я не думаю, что я оставил много места для улучшения. Большая часть моих новых знаний касается современных машин, таких как AVX2, многопоточность и 64-битная сборка. Этих вещей нет на 486-DX или Pentium ;-). Смотрите список моих сожалений в моём ответе на двадцатый вопрос.
Вопрос. На рубеже 1997-1998 годов разработчикам компьютерных игр неизбежно приходилось переходить на полноценную 3D-графику. Возможно, вы планировали совершенно новый и по-настоящему трёхмерный движок вместо Build в то время, т.е. до наступления 00-х? Кажется позже Voxlap занял эту нишу.
Ответ. Конечно. POLYTEX (1995) был моей первой попыткой конкурировать с Quake. POLYTEX использовал BSP для сортировки полигонов в порядке от конца к началу. Рендеринг был простым, но в нём было много перерисовки. Затем в 1998 году я начал KENVEX, который должен был стать портальным движком. Я хотел, чтобы он работал как Build, с его идеальным далением скрытых поверхностей, но оказалось, что попытка достичь этого святого Грааля рендеринга полигонов так и не сработала. К сожалению, оба проекта не прошли стадию тестирования. Я понятия не имел, как сделать простой в использовании редактор, работающий в полностью трёхмерной среде.
Вопрос. В продолжение предыдущего. Похоже, вы поклонник вокселей, не было ли у вас соблазна больше работать с традиционным, полным 3D в целом, за исключением рендерера POLYMOST для Build?
Ответ. Есть BUILD2, но это едва ли традиционный вариант и он появился на много лет позже. Нет, мои амбиции в попытке конкурировать с Quake умерли после моей попытки с KENVEX. К тому времени что-то предпринимать было слишком поздно — конкуренция была острой.
drugon спрашивает: "Во второй половине 90-х активно развивалась 3D-графика и в какой-то момент показалось, что шутеры, использующие спрайтовых монстров, канут в лету, уступив место шутерам с 3D-моделями. Сами спрайтовые монстры, очевидно, были техническим компромиссом в то время, позволяя железу хоть как-то адекватно вытягивать игру, не жертвуя детализацией окружения, как те же ранние симуляторы, где использовались простые 3D-модели без спрайтов. Но как часто бывает с популярными играми, стесненными техническими ограничениями, эти ограничения затем становятся стилистическим ориентиром для будущих разработчиков. Спрайтовые объекты в шутерах от первого лица являются ярким примером этого и часто используются в современных ретро-шутерах (Mullet Madjack (2024), Warhammer 40,000: Boltgun (2023), Supplice (2023) и т. д.). Представлял ли Кен на рубеже 90-х и 00-х, что такой приём породит столько последователей и будет актуален по сей день?".
Ответ. Я не фанат картонных спрайтов. Художнику нужно много времени, чтобы их нарисовать, а если вы визуализируете их из 3D-моделей, это много дополнительной работы и ненужной квантизации. Когда я услышал о Quake, использующем 3D-полигональные модели, я попытался придумать своё собственное решение. Я никогда раньше не пользовался программой для моделирования полигонов и мне казалось, что написать свою собственную будет непросто. Поэтому я воскресил старую идею, которая у меня была — воксельные спрайты. Я был рад видеть, что они попадают в игры, даже в ограниченной форме. Было бы приятнее увидеть, как их используют для врагов... но, думаю, для этого он был недостаточно быстр.
drugon спрашивает: "Ещё один конкретный вопрос, если можно. Думал ли Кен, что движок Duke будет использоваться в какой-то степени десятилетия спустя? И не только во многих действительно достойных бесплатных работах фанатов (WG Realms, Duke Nukem Forever 2013 и т. д.), но и в коммерческих релизах?".
Ответ. 30 лет назад я бы больше беспокоился о завершении игр, чем о наследии. Мы знали, что если будем ждать слишком долго, то появится что-то (возможно Quake), из-за чего наши игры будут выглядеть устаревшими.
Вопрос. Что вы думаете о трассировке лучей как об опции? В последние годы ей уделяется много внимания, что также имело место быть и в классических играх, включая Doom. Это просто ещё один проходящий "шум модерна" или что-то из разряда того, что именуют как "real deal"?
Ответ. Трассировка лучей лучше всего работает, когда у вас есть высоко параллельный процессор, например, на современном GPU. К сожалению, я никогда не углублялся в программирование GPU. Теоретически не должно быть никакой разницы в выводе между ними. Все сводится к выбору между использованием пикселя или примитива в качестве вашего внешнего цикла "for". На практике некоторые вещи проще в одном методе, чем в другом. Например отражения реализовать проще с трассировкой лучей. Растеризация обычно происходит быстрее из-за того, что количество примитивов меньше количества пикселей на экране. Этот аспект может измениться, когда у вас больше деталей или другое оборудование. Помимо этого, мне нечего больше сказать по этой теме, кроме того, что я не пробовал общую трассировку лучей.
Вопрос. Если бы в 2024 году потребовалось бы сделать другой движок с нуля, с программным рендерингом, для нового 3D-шутера, в чём были бы основные отличия по сравнению со Build?
Ответ. Лучше спросить: кто был бы настолько сумасшедшим, чтобы "потребовать" подобного безумия? Чтобы ответить на ваш вопрос, моей первой задачей было бы выбрать между воксельным, полигональным или гибридным движком. Полигональный движок мог бы хорошо работать, если бы был элегантный, безошибочный способ выполнять операции CSG на лету. Воксельный движок мог бы хорошо работать, если бы был способ анимировать спрайты плавно, без необходимости делать отдельные кадры анимации. Очевидно, что я бы спроектировал любой новый проект для компьютеров, используя 64-битный режим, AVX2 и многопоточность с самого начала.
Вопрос. Есть ли у вас какие-либо сожаления относительно работы над Build или может быть того, что вы хотели бы сделать по-другому или нет? Это вопрос включает в себя технические аспекты, связанные с Build.
Ответ. Конечно. Вот список:
* Наложение текстур на уклон. Мне не следовало прибегать к использованию инструкций FPU для получения дополнительного целочисленного регистра. Это убивало частоту кадров на 486-SX, когда на экране был уклон.
* Наклоны с наложением текстур. Могло бы работать немного быстрее, если бы у меня было время, чтобы воплотить реализацию наложения текстур в горизонтальном направлении.
* Реальное центрирование: этот флаг в структуре спрайтов никогда не должен был существовать. Вместо этого его следовало предоставить в качестве макроса программисту игры.
* Полы с наложением высот (они же "groundraw"). Я так и не дошел до исправления ошибок деления на ноль. Позже наклоны сделали эту деталь устаревшей.
* Сетевой код. Я мог бы сэкономить всем кучу времени, если бы я просто сделал всё правильно с первого раза. Этот аспект был проделан в играбельной области, а не в движке, поэтому мне пришлось потратить много времени, обучая каждого программиста конкретной игры, как вносить каждое небольшое изменение, которое я придумал.
* Режим "Красный-синий". Должен был быть режим "Красный-голубой". Зелёный канал был потрачен впустую! Да, очень незначительно.
* Архивы. Хотя я сохранил много вещей с тех времен, я хотел бы сохранить ещё больше. В частности больше копий каждой коммерческой игры. Кроме того, было бы неплохо, если бы резервная копия моего жёсткого диска с 1995 года не была уничтожена при перемотке.
Продолжение (десять оставшихся вопросов) в части 3.2 ввиду ограничения в 30000 символов на статью.
В дополнение к браузерному ШтЫрлицу, чтобы было чем заняться на выходных) В комментариях просили Shadow Warrior в браузере. Вот, держите. Управление настроил под WASD и мышку.