01.11.02 | Несколько общих вопросов об основах маперства


Движок Half Life это всего лишь переработаный и сильно улучшенный движок Quake, но переработанный не значит самый современный. Движок Quake 3 или Unreal Tournament намного более современее, но и это не значит что нужно немедленно переходить на мапперство для более современных игр. Тем не менее подобное родство не делает для Half Life ничего хорошего, так что при работе с картами в любом редакторе надо помнить несколько правил:

В связи с тем, что движек Quake создавался для работы с маленькими объедененными помещениями (комнатами), то соответственно и в Half Life должны быть маленькие соеденненые комнаты, и при этом никакого открытого неба или огромных пустынных пространств. Но програмисты постарались на славу, и игра прошла действительно большой путь от своего предка до того, что вы можете увидеть сегодня. Правда то что вы можете сегодня увидеть - это просто "обман зрения". Маперы видят небо просто большой комнатой с натянутой на нее текстурой неба, в нутри которой находится содержимое вашей карты. Игрок думает что он находится на свежем воздухе, а движек думает что игрок находится в большой комнате, и оба ошибаются :).

Есть также еще несколько ограничений связанных с движком, напрмер ограничение на замкнутость уровня. Так как после компиляции не возможно изменить положение брашей (а особенно пограничных), и игровое пространство должно быть заключено в каком то определенном замкнутом пространстве, следовательно на карте не должно быть дырок, так как объекты не должны находиться вне границ мира. Производительность Half Life зависит в основном от того, сколько полигонов вертексов) видит в данный момент игрок. Поэтому, в процессе компиляци создается список потенциально видимых поверхностей, однозначно задающий то, что будет видеть игрок, находящийся в той или иной точке уровня. Без подобных расчетов, движку приходилось бы выводить на экран абсолютно все поверхности на уровне (а их может быть до нескольких тысяч) что привело бы к катастрофически медленному выводу графики. При компиляции определяются границы уровня, все то что находится вне границ уровня отсеивается. Отсюда следует, кстати, что идеально оптимизированный по скорости уровень - тот, на котором сколь угодно деталированные архитектурные изыски или, скажем большие открытые пространства, отделены друг от друга так, что бы игрок не мог видеть их одновременно более двух. В Half Life замерять world_polygon, тоесть количество полигонов которые в данный момент обрабатывает движек, или говоря по другому то что игрок видит в данный момент, можно консольной командой r_speeds. Для этого запустите игру с активированой консолью, далее введите две команды: developer 1 и затем r_speeds 1. В верхнем левом углу у вас появится побегут цифры: 1 - FPS кадры в секунду, 2 - пинг, 3 - wpoly (world_polygon) - количество брашей, 4 - epoly (entity_polygon) - количество активных объектов. Нам нужно 3 значение, так вот на карте не где это значение не должно превышать 800-600.

Маштабирование - это уже проблема начинающих маперов, ведь создавя карту вы должны придерживаться каких то размеров. Все размеры необходимо подстраивать под размер игрока, зачем нам нужен стул, который выше игрока (да ещё и раза в 4). Чтобы таких казусов не случалось, нужно в самом начале разместить на карте info_player_start, это и будет как бы игрок в полный рост, многие монстры как раз и будут соотвецтвовать размеру игрока, так что если вы делаете комнату прикинте, какой высоты сделать потолок. Использование prefab'ов - это не очень хорошее занятие. Префаб - это готовый предмет окружения, который хранится в специальной библиотеке. Вы можете скачать из интернета уже готовый префаб, или использовать уже имеющиеся префабы из редактора WC (world craft). Я бы не сказал что их использование это хорошая идея, по крайней мере использование префабов из WC. Во первых представте себе, что на какой нибудь конкурс группа людей начинает делать карты, каждый старается принести в игру что нибудь свое, что нибудь очень оригинальное, и когда люди начинают играть, они обращают внимание не на ваши нововедения, а на стандартные префабы. Они говорят: "Хм, да это я видел в предидущих 26 картах, опять эти диваны и однообразные компьютеры :(" - и это не есть хорошо. Использование префабов важно лишь в том случае, если вы не можете создавать свои предметы так же красиво, как в готовых префабах из WC. Но тогда желательно тоже не перегружать карту однообразными предметами, попытайтесь разнообразить их, и люди поймут что вы не просто тупо тыкали лампы и стулья на карту, а добавляли к ним что то свое. У игроков это очень дорого ценится.

Особеность движка такова, что если на карте есть много очень больших или маленьких объектов, то ваш r_speeds будет показывать вам "астрономические" числа, а на экране вы увидите слайд шоу. Но не стоит пренебригать мелкими деталями, без них ваша карта будет как бы не обитаемой, на столах должны быть хоть какие нибудь мелкие детали, тоже относится и к другим прдметам интерьера. Если же вы уже перегрузили вашу карту до того, что играть на ней стало просто невозможно из за пресловутого слайд шоу, то не бойтесь удалять все не нужное. Так как если крупными деталями, например космическим кораблем, пренебречь можно с трудом, то мелкие детали можно исключать без особых проблем. Новички, при создании карты постарайтесь не сдерживать себя, если вы хотите сделать космопорт с космическим кораблем - делайте, пускай у вас ничего и не получится, пускай карта не будет компилироваться или будет тормозить, пусть все ваши идеи будут выглядет не красиво. В будующем, когда вы будете професианально работать с редактором, все ваши первые работы будут казаться вам пустяками, но если вы с самого начала будете стараться создавать однообразные коридоры с кучей монстров - в будующем ничего хорошего из этого не выдет, так что не ограничивайте себя. Всем уже надоели однообразные карты в стиле Half Life, так что приносите с собой в маперский мир оригинальные идеи, и успех вам обеспечен.





Сайт создан в системе uCoz