Кен Сильвермэн (Ken Silverman) — гуру движков | VRgames - Компьютерные игры, кино, комиксы

Кен Сильвермэн (Ken Silverman) — гуру движков

on сентября 30, 2003 - 00:00

Кен Сильвермэн (Ken Silverman) — гуру движковРано или поздно новейшие достижения устаревают. Им на смену приходят все более новые технологии и решения. Что же происходит с тем, что устарело? Ответ прост — оно становится историей. И когда спустя несколько лет люди обращаются к истории, глядя на все уже с современной точки зрения, они видят, кто стоял за теми или иными открытиями. Эта статья об одном из таких людей. Именно этот человек в свое время написал "движок" под названием Build. Знакомо? Если нет, то напомню всего несколько названий: Duke Nukem 3D, Shadow Warrior, Blood. 
Итак, дамы и господа, представляю Вашему вниманию Кеннета Сильвермэна (Kenneth Silverman).

Расскажите немного о себе, о вашей карьере в мире игр.
Меня зовут Кеннет Сильвермэн и я младший из двух братьев. Родился я в ночь на Хэлоуин (1 ноября 1975). До 1980 года рос в Йорктауне, штат Нью-Йорк, пока отец не стал профессором университета Брауна. Таким образом наша семья переместилась в замечательный домик в Ист Гринвиче (Род Айленд).
Моим первым компьютером стал TI-99/4A (Texas Instruments). Родители купили его за 50$ в декабре 1983 на "постРождественской" распродаже. Поначалу отец как один из основателей и главный технический советник в Sphere Technology, которая являлась компьютерной компанией, говорил, что компьютер — последняя вещь, которую он хочет видеть дома после длинного рабочего дня. Но мы с моим братом хотели иметь такую штуку дома. И вот, лед тронулся!
Наши родители отказались покупать программное обеспечение, поэтому мы начали сами заниматься программированием. Первой появилась игра в стиле Пэк-Мэна под названием Sea Worm (1984). После нее было еще несколько игрушек. Родители одобряли мои начинания, но несколько лет я не получал от них абсолютно никакой помощи. Мне нравились школьные аудитории для занятий — там я мог проводить время, обдумывая программный код. Когда брат поступил в колледж (1990), мое хобби стало чем-то более серьезным. Тогда родились такие игры, как Kentris (тетрис для двух игроков), Sibros (Super Silverbrothers — клон Super Mario Bros.) и Ken's Labyrinth (моя первая игра, попавшая на рынок). В 1993 году, за месяц до того, как начался мой первый семестр в колледже, я подписал контракт с Apogee Software на создание 3D-движка, который впоследствии получил название Build engine. Движок, на основе которого были созданы Dike Nukem 3D и еще несколько игр, стал одним из самых удачных (если не самым) движком на то время. И именно поэтому он лег в основу нескольких игр Apogee/3D Realms.

Мое увлечение программированием отнюдь не сопутствовало занятиям в колледже. Моя учеба в первом семестре была далеко не блестящей. Когда обнаружилось, что я пропустил больше половины занятий, отец поговорил со мной и разрешил работать полный рабочий день в Apogee. Таким образом я провел три года, работая над Build engine. Больше половины из них прошли в Род Айленде, оставшееся же время заняли 10 командировок, в ходе которых я оказывал помощь командам, работающим с моим кодом. После выхода нескольких игр на моем рабочем фронте стало тише. Так как я все еще был молод, то с небольшой помощью родителей было принято решение вновь вернуться в колледж.
Учиться в колледже было весело. По его окончании я (мне уже было 27 лет) вновь вернулся к программированию в сфере развлечений. После того, как я показывал свои демки, многие люди спрашивали меня, какие компьютерные курсы я окончил. Всем им была сказана чистая правда: "Никакие!" Начиная с основ, все, что нужно, было изучено мной самостоятельно. Мое раннее увлечение программированием, а также независимость позволили получить достаточно опыта.
Все члены моей семьи работают в технических областях. Мой отец профессор радиоэлектроники в университете Брауна; мама работает с GTech в проектах распознавания личности для лотерейных билетов. Брат — глава собственной компании Advanced Systems. Когда-то мы с ним были полными профанами в компьютерах. Он таким и остался:), но наши интересы росли в различных направлениях. Для меня программирование не просто интерес или хобби — это моя жизнь.

У меня есть еще несколько увлечений. Сюда входят:
Коллекционирование карт: я могу нарисовать границы всех штатов США по памяти. Когда-то в школе я рисовал карты ради развлечения.
Пианино: могу сыграть практически любую песню, что я слышал. Люди говорят, что у меня есть слух.
Музыка: люблю собирать музыкальные темы с телевидения, особенно из фильмом с участием Эла Янковича (Al Yankovic).
Спорт: пинг-понг, волейбол.

Над сколькими проектами вы работали?
Самые известные из игрушек:
Kentris (1991): Tetris для двоих;
Super Silverbrothers (1991): клон Super Mario Bros.
Ken's Labyrinth (1993): первый клон Wolfenstein 3D.
Duke Nukem 3D, Shadow Warrior и Blood: Build engine (1993-1996).
У меня есть еще около сотни программ, но все они останутся на моем жестком диске. Лучшие из них можно скачать с моего сайта. (www.advsys.net/ken)

На что это похоже — работать с такой известной компанией, как Epic MegaGames?Кен Сильвермэн (Ken Silverman) — гуру движков
Работа с ними практически ничем не отличается от того, чем я занимался раньше. У меня нет офиса. Все, что я пишу, — я делаю дома. Основное различие состоит лишь в том, что теперь не нужно периодически ходить в банк или на почту (до начала работы с Epic, Ken's Labyrinth я продавал сам). Давно, в марте 1993, Марк Райн (Mark Rein) из Epic'а посетил мою скромную обитель, чтобы помочь с завершением работы над версией Ken's Labyrinth для Epic. Он бродил по дому в поисках источника вдохновения и эта деревянная собачка попалась ему на глаза. Она стала "Sparky" во втором эпизоде игры.

В книге Extreme Rise of the Triad, я нашел следующее интервью с Томом Холлом (Tom Hall, дизайнер/продюсер игр Triad): Мы работали с кодом Wolfenstein'а. Из его движка и был сделан наш собственный. Марк Дачтерман (Mark Dochtermann), Вильям Скарборо (William Scarboro) и Нолан Мартин (Nolan Martin) кропотливо работали над ним, и с помощью Кена Сильвермана, нашего гуру движков, мы сделали его. Как работалось с Apogee/3D Realms, когда вы пришли к ним, особенно видя, что Вы намного моложе остального персонала?
Наша разница в возрасте наиболее сильно чувствовалась в 1994 году. Тогда мне было 18, а следующим по возрасту был Тод Реплоджл (Todd Replodgle) или Ален Блюм (Allen Blum) — я точно не помню. Им обоим было по 26 лет. С этими парнями было легко работать — они были, как старшие братья. Моложе никого не было. Я проводил в офисе дни и ночи.
Позже были некоторые разногласия с командой Rise of the Triad, но, я думаю, это было больше из-за того, что они работали над конкурирующим проектом, а вовсе не из-за возраста. В 1996 году Apogee наняла Билли Зельснэка (Billy Zelsnack) вместе с его младшими братьями, и я перестал быть самым молодым в компании.

Apogee/3D Realms на своем сайте говорят следующее о твоем движке: Build engine, на котором был создан Duke Nukem 3D, стал одним из самых удачных (если не самым) движком на то время. Он был использован в 12 играх, самые известные из которых: Witchaven, TekWar, Shadow Warrior, Blood, PowerSlave и Redneck Rampage. Ты можешь рассказать, с чего этот проект начинался и как происходила разработка?
В марте 1993 id Software опубликовала несколько скриншотов из Doom. Это было как раз тогда, когда я только начал работать над Build'ом. Я хорошо помню, как изучал те ранние скриншоты Doom'а. И это было интересное состязание. Как, впрочем, большинство проектов, которые были "приговорены" к успеху. В Doom'е был впечатляющий список возможностей. И я решил начать с работы над наклонными стенами. Прототип был написан на QuickBasic (назывался PICROT).
Здесь список наиболее ярких событий, случившихся за время разработки Build engine. В него включено все, начиная от деловых сделок и кончая важными пунктами, добавленными в движок. На моем сайте вы можете найти более подробный список.
05/05/1992 — Релиз Wolfenstein 3D 1.0.
09/06/1992 — Мой брат Алан поселился у компьютера, играя в новую игру под названием Wolfenstein 3D.
16/06/1992 — Я решаю, что могу выиграть его по времени, сделав собственную версию, изначально названную Walken (Walk+Ken).
03/10/1992 — Я изменил название игры на Ken's Labyrinth. Работа над ней успешно продвигается. Мой отец убеждает меня послать письмо в 6 компаний по производству программного обеспечения с просьбой подписать NDA (соглашение о нераспространении). Я согласился и добавил к списку Apogee Software, так как думал, что у них уже есть движок Wolfenstein.
10/10/1992 — Скотт Миллер (Scott Miller) из Apogee Software подписал NDA, чтобы оценить Ken's Labyrinth.
27/10/1992 — Будучи неудовлетворенным ответами, посылаю письма еще в 9 софтовых компаний.
01/01/1993 — Релиз Ken's Labyrinth в Интернете под крылом компании брата Advanced Systems.
13/01/1993 — Отец Кена подписывает соглашение с Epic MegaGames о распространении Ken's Labyrinth.
29/03/1993 — PICROT4.BAS: Моя первая попытка создать движок нового поколения с поддержкой наклонных стен, как в Doom'е. Так как редактора не было, карты приходилось вносить вручную в виде кода. Потолки и полы были сплошного коричневого цвета.
13/04/1993 — У "нового движка" уже достаточно рабочих файлов для того, чтобы создать отдельный каталог. Нужно выбрать название для нее. Помню, как, используя словарь, ищу синоним для слова "construction" (в нем больше 8 символов). Принимаю решение назвать каталог Build.
??/05/1993 — Начал делать свою первую наклонную стену. Изменяю высоту потолка. Карты все еще основываются на концепции сетки. У меня уже есть достаточно материала для впечатляющей демонстрации. И все это еще до выпуска из высшей школы в июне 1993.
13/08/1993 — Во время семейного путешествия в Торонто, Марк Райн (Mark Rein) из Epic MegaGames делает заявку на мой движок (она была отклонена).
24/08/1993 — Я подписываю соглашение о приеме на работу с Apogee Software. Особый пункт контракта говорит о том, что Apogee не может мешать моему обучению.
01/09/1993 — Начался мой первый год в университете Брауна.
??/11/1993 — Я впечатлил инструктора по CS15, Анди Ван Дам'а (Andy van Dam, также автор популярной книги Computer Graphics, Principles and Practice), продемонстрировав движок из Ken's Labyrinth и последнюю версию Build engine. Его вообще-то нелегко удивить.
03/12/1993 — Релиз Duke Nukem II 1.0.
02/01/1994 — Переписал движок для использования идеи "секторов" после разговора с Джоном Кармаком (John Carmack) по телефону.
25/01/1994 — Готовлю документы для ухода из университета (после того, как родители увидели мою первую отчетную карточку).
24/04/1994 — После того, как понял, что сдвигать экран вверх и вниз не слишком несложно, был добавлен "псевдо" взгляд вверх и вниз. Тремя днями позже этот эффект загадочно появился в другой игре Apogee, над которой они работали в то время, Rise of the Triad. Какое совпадение!
02/07/1994 — Первый тест игры на Build по модему.
01/02/1995 — Сделан Doom to Build конвертер. Для начала сойдет.
31/12/1995 — Впервые код перемещения игрока не давал lag'а при игре по сети/модему.
31/12/1995 — Мой рабочий статус в Apogee сменился с наемного сотрудника на консультанта.
29/01/1996 — Релиз Duke Nukem 3D 1.0.
31/12/1996 — Мое соглашение с Apogee было прекращено. Тихо, мирно, по обоюдному согласию.
19/01/1997 — Я вновь вернулся в университет после трехлетнего перерыва.
07/03/1997 — Релиз Blood.
13/05/1997 — Релиз Shadow Warrior 1.0.
20/06/2000 — Публикация исходных кодов Build engine на моем веб-сайте.

Ты создал все вспомогательные программы для работы с Build engine. Когда ты работал над Ken's Labyrinth, ты занимался всем сразу (графика, звук, движок). Как ты все это сделал, где было взято столько времени, чтобы стать таким всесторонне развитым человеком?
Все очень просто: у меня не было общественной жизни. Когда остальные дети игрались в игрушки (или смотрели телевизор), я работал за компьютером. Это было мне интересно. С 6 до 11 лет я брал уроки игры на фортепиано, таким образом развивались мои музыкальные навыки. Что же касается работы с графикой, то на нее уходило очень много времени. Иногда я даже не мог уделить должного времени текстурам и моделям (хотя должен был бы).

Какие приложения ты использовал при работе над своими играми?
Все, кроме операционной системы и компилятора, я писал сам. Сюда входили и редакторы карты (для Build'а), утилиты для работы над внешним оформлением, звуковые редакторы, MIDI секвенсоры, текстовые редакторы. Я даже подумывал написать свой собственный C компилятор и оптимизатор. Все писалось под себя. Именно поэтому я не уделял много внимания внешнему оформлению интерфейса.

Что тебе больше всего нравилось в процессе создания игры?
Вы имеете в виду что-то, кроме самого процесса игры... упс, я имел в виду "тестирования"? Самое лучшее — когда кто-нибудь еще вносит важный вклад в работу над проектом (т.е. работа в команде). Еще интересно наблюдать за людьми, говорящими всякую чушь о чем-то, над чем я работаю.

Было ли чувство сожаления, когда ты оставил Apogee/3D Realms?
Конечно. Мне не хватает тех веселых минут, проведенных за тестированием игры. Но реальность такова, что единственный путь, на котором я бы продолжил сотрудничество с Apogee/3D Realms, было вступление в открытую конкуренцию с Quake. К тому же я решил, что лучше будет, если я вернусь в колледж.

Ты все еще занимаешься 3D программированием?
Пока я жив, я буду заниматься этим делом. Но несмотря на то, что среди интересов 3D графика на самом верху, есть и другие области, где я нашел применение своим знаниям: 2D графика, звук и обработка музыки, утилиты, компрессия, а также оптимизация маршрутов (для AI).
В данный момент я балуюсь с новым воксельным движком под названием Voxlap, но я не знаю, найдется ли ему применение. Тем не менее, уже сейчас он поддерживает воксели, расположенные в любой точке пространства (эта технология позволяет создавать комнату над комнатой); камера имеет 6 степеней свободы.

Что такое воксель и откуда пошло такое название?
Voxel=volume+pixel. Воксель можно представить, как пиксель в объеме. Все объекты строятся на основе трехмерного массива маленьких кубиков так же, как и картинки состоят из двумерного массива пикселей. Это название было взято из какой-то старой книжки по компьютерной графике.

Есть ли планы насчет Ken's Labyrinth 2? Собираешься ли ты участвовать в создании игр в будущем (если да, то работу над какими из них ты предпочитаешь)?
Сейчас думаю над новой игрой того же жанра, что и Ken's Labyrinth (мне все еще нравится бродить по просторным холлам), но вряд ли это будет сиквел. Игры с лабиринтами уже не имеют былой популярности (а следовательно не приносят денег). Мне было бы интересно участвовать в работе над веселыми играми с названиями вроде "Что сделал искусственный интеллект для Хип-Хопа" :). Но у меня больше нет времени на работу над целой игрой в одиночку. Даже над Ken's Labyrinth я работал не один. Энди Коттер (Andy Cotter) помогал мне делать карты. Пока я не найду команду талантливых художников и дизайнеров, маловероятно, что мне удастся создать конкурентоспособную игру.

Назови свои любимые игры под DOS и Windows.
DOS: Duke Nukem 3D, Windows: Quake 3 Arena (начиная с сентября 1999, я много играл в Q3TEST).

Ну и напоследок, если у тебя есть собственные вопросы, которые ты хотел бы добавь, то вперед!
Ну, сами напросились :).

Эй, Кен, почему ты так великолепен?
Отличный вопрос! Если вы знакомы с книгой почета Дюка из начального ролика Duke Nukem II, то, могу вам сказать, мое величие намного больше. Все началось с... Хотя, не имеет значения. В действительности я тихий и скромный человек. Правда, иногда я веду себя, как ребенок. :)

[SG]-=Dread=-
По материалам сайта DOS Games

Интервью № 45
Яндекс.Метрика