= Технологии =
Дмитрий Литвиненко (aka
Anti)
Стать игроделом
Эту статью я хотел написать давно. Очень давно. Просто все
время как-то руки не доходили, но зато теперь душа моя спокойна
- читайте!
Пролог
Вы
играли в игру. Затем Вы немножко посидели перед компьютером. Вашему
дальнейшему существованию мешало нечто. Оно летало в Вашей голове,
подобно мухе, но Вы никак не могли это схватить. И вот наконец,
когда мысль успокоилась и уселась поудобнее, Вы с размаху прихлопнули
ее. Подняли и стали всесторонне рассматривать распростертое существо,
изредка подергивающее лапками.
И тогда Вы поняли, что это именно ОНО! То, о чем
Вы думали только в подсознании, теперь выросло и сформировалось
в одно большое и огромное ХОЧУ, которое по вечерам томительно глодало
Ваш мозг и заставляло руки тянуться к клавиатуре в попытке что-то
сделать.
Да! Вы поняли это! Вы хотите сделать игру, Вы хотите
сделать красиво, Вы хотите сделать мир, где бы все подчинялось только
Вам! Это желание потихоньку прорастает, и Вы начинаете вдумываться
в термины DirectX, OpenGL и рельефное текстурирование.
Вас прорывает! Вы устанавливаете Visual C++, Вы
звоните провайдеру с целью непременно найти учебник, который магическим
образом научит Вас делать собственный Unreal или собственный Outcast
или собственный Planescape - не важно что. Двигательной силой Вашего
устремления является воспалившееся чувство демиурга! Вы полны энтузиазма!
Сейчас, прямо сейчас Вы начнете делать игры!!!
Эпилог
А вот теперь я возьмусь за огромную кисточку, ведро
краски и намалюю на Вашем искреннем и чистом желании большой и огромный
садистский крест...
И пусть меня теперь бьют, пусть презирают, пусть
на мой сайт будет заходить в день один уникальный посетитель - призрак
веб-мастера. Я буду знать, что выполнил свой долг! Я буду спокоен
в том, что не дал Вам ложных надежд, не поставил на неправильный
путь, не запутал, не напорол чуши.
Тот, кто действительно хочет искать в Сети учебник,
превращающий обычного человека в создателя игр, тот должен перестать
читать эту статью и продолжать свои поиски, ведь кто знает, что
он найдет...
Те, кто все-таки остался, должны понять одну важную
и непреклонную истину: такого учебника нет! Нет, и не было, и вряд
ли будет. Все, кто провозглашает такой лозунг, используют это в
рекламных целях. Вы не сможете сегодня играть в Quake 3, а завтра
сделать Quake 4.
Путь воина
Эта
статья ужасна. Она убивает на корню потенциальных создателей игр.
Она еще ужасней - она губит надежду.
Нет.
Эта статья предназначена для тех, кто созрел для
трезвого понимания того, что надо сделать для того, чтобы люди увидели
Вашу первую игру.
Пункт первый: отбросьте все радужные мысли по поводу
создания хита в самое ближайшее время. Создание игры - очень трудоемкий
процесс и мы будем еще об этом говорить.
Пункт второй: определитесь с Вашими желаниями.
Кем Вы хотите стать? Программистом, художником, руководителем проекта?
Далее я буду ориентироваться на программиста, но и представители
других профессий должны почитать.
Пункт третий: приведите в порядок знания. Подумайте,
что Вы умеете делать? Какой язык программирования Вы знаете?
Отлично, Вы подумали и решили, что Вы не знаете
ничего. Но желание все-таки осталось. Давайте решим, каков же будет
путь Ваших дальнейших изысканий.
Решите для себя один вопрос: как серьезно Вы готовы
заниматься программированием графики? Если Вы готовы посвящать этому
львиную часть свободного времени, не боитесь трудностей и может
даже хотите стать гуру - начинайте изучать C++. Если Вы хотите добиться
быстрого результата, не собираетесь делать ничего глобального, а
всего лишь планируете хорошо провести время, разрабатывая графику,
изучайте Visual Basic - он для этого и был придуман.
После того как вопрос языка решен, приступайте
к изучению самых, что ни на есть основ графики. Научитесь создавать
простое приложение с использованием DirectX или OpenGL, нарисуйте
свой первый треугольник. Вот по этому в Сети учебников предостаточно!
Когда Вы будете способны самостоятельно изобразить
композицию из двух вращающихся кубиков с натянутыми текстурами,
Вы можете начинать вносить в программу некоторые игровые элементы.
Расположите эти кубики в разных частях экрана, научитесь передвигать
их с помощью клавиатуры, сделайте управляемую мышкой камеру. Наконец
загрузите еще одну модель - шарик. Соберите свою первую элементарную
физическую модель. Пусть шарик летает туда сюда, отскакивает от
стенок и кубиков. Поздравляю! Вы сделали свою первую игровую программу!
Теперь Вы понимаете основы графики, Вы понимаете
основы физики и может даже искусственного интеллекта, если второй
кубик управлялся компьютером. И вот только теперь Вы можете самостоятельно
сделать нечто посложнее. Например, изучить анимацию и сделать подобие
Load Runner. Узнав, как делаются системы частиц, Вы добавите к этой
игре классные эффекты. Вы научитесь рисовать текст в трехмерном
пространстве, узнаете про blending и alpha-transparency, придумав
систему скриптов, Вы напишете собственную демку, которую покажете
друзьям и знакомым. Откроете сайт в Интернете, где начнете публиковать
свои наработки.
Наконец, Вы захотите нечто посложнее. И поймете,
что одному Вам не справиться, как только попытаетесь одновременно
работать в Visual C++ и 3D Studio MAX.
Вы поговорите с друзьями, и они познакомят Вас
с девушкой, классно рисующей трехмерные модельки и знающей Photoshop
как собственное отражение в зеркале. Вы договоритесь с ней о том,
что она нарисует Вам некоторую графику для Вашей новой задумки.
Вы начнете делать то, что Вам больше нравится -
писать код и поймете, что необходимо все уже наработанное по вопросам
графики упорядочить в одном месте, чтобы лишний раз не переписывать.
Вы начнете систематизацию, запихнете модуль для загрузки уровней
собственного производства в один файл, загрузчик .x-моделей в другой
и только через некоторое время Вы поймете, что сделали движок. Пусть
и небольшой, пусть и с минимумом возможностей, но он Ваш!
С помощью своих организованных наработок, Вы возьмете
подготовленные модельки и графику, слепите их воедино, организуете
новые правила и результатом окажется вполне красивый трехмерный
ходитель-стрелятель с видом "сбоку".
Вам настолько понравится Ваша работа, что Вы соберете
ее в Wise-инсталлере, попросите друга перевести все тексты на английский
и поместите на заграничный сервер с пометкой Shareware $9.99 И что
самое прикольное, несколько десятков зеленых президентов окажутся-таки
на кредитной карточке папы-бизнесмена Вашего приятеля.
В скорости, на Вашу мыльницу придет письмо с предложением
поучаствовать в организующемся проекте в качестве программиста.
Вы с радостью согласитесь и включитесь в командную работу, принеся
с собой все Ваши готовые наработки, которые будучи разобранными
и собранными вновь с дальнейшими переделками, формирующие новый,
более мощный движок.
Вы работаете. Выполняете задания, поставленные
руководителем проекта и издателем. Ваш менеджер постоянно бегает
туда сюда, пережевывая горсти аспирина и жалуясь на высокие цены
за аренду. Вы больше не живете дома. Вы работаете в специально снятом
и оборудованном офисе, сидите там до поздна, а потом понимаете,
что лучше уже переночевать там, чем идти домой. Вы постоянно совершенствуетесь,
узнаете новые приемы и методы, Вы с ностальгией вспоминаете Ваш
первый треугольник, замечая как неоптимизирована была каждая строчка
Вашей программы...
И вот, в один день, Вы заходите в компьютерный
магазин и видите на полке диск с игрой, которую сделали Вы! Вы и
Ваша команда! Теперь Вы - создатель настоящей игры!!
Путь ученика
Сначала.
После долгих раздумий Вы все-таки решили, что быть
программистом - не Ваша главная задача. Но делать графику все-таки
охота. Вы начинаете делать Ваш первый треугольник. Сделав его, Вы
научились загружать модельки. Многое не получалось, но Вы не сдаетесь.
Наконец у Вас даже получился вполне сносный скринсейвер.
Вы увидели на одном сайте новость о том, что недавно
вышел какой-то движок, с помощью которого можно легко написать игру.
Вы скачали его, немножко поковыряли и поняли, что все это слишком
сложно.
Вы вернулись к скринсейверу. Поковыряв немного,
Вы решили переделать кое-какие вещи, и теперь у Вас много шариков
и все они перемещаются по определенным законам. Вы гений! Ваша программа
нашла отклик в сердцах миллионов пользователей.
Вы сделали это! Вы сами! Теперь Вы - создатель
настоящей игры!!
Пункты
- Большие игры делают большие команды
- Маленькие игры делают один-два человека
- Прославиться могут и те и те
- Бывают красивые, но глупые игры
- Бывают некрасивые игры, но с обалденными правилами
- И логические игры и трехмерные шутеры могут быть успешными
- Крутые игры делают маньяки
- Крутые демки делают маньяки
- Крутой дизайн и art делают еще большие маньяки
- Если Вы не маньяк, то Вы - любитель
- Любители получают от своего занятия удовольствие
- Маньяк получает от своего занятие удовлетворение
Профессионал отличается от любителя тем, что не любит ...
#14(55)/08.05.2001
|