Канал в IRC
RusNet: #cmt
Сравнение движков
Здесь я попробую рассказать о том как отличаются движки 3D шутеров, все их плюсы и минусы которые я заметил. Это лично МОЁ мнение и возможно где-то я буду неправ, если что вам кажется не так, то пожалуйста напишите.

Итак, начнём-с:

Half-Life

В картах я не очень силён, но, как я знаю размеры карт весьма ограничены, что является большой проблемой, если вы хотите создать мод где будут большие открытые пространства. Но если большинство карт - это различные помещения, подземелья и т. д. то сам бог велел вам использовать данный движок. К сожалению, в Халфе нет таких эффектов как дымка или туман, облака которые будут бегать из стороны в сторону по небу, зеркальные поверхности, и т.п. а ведь с помощью таких эффектов можно довольно легко приукрасить любую даже весьма некрасивую карту. Вобщем с картами данный движок весьма недалеко отошел от Quake 2.

Теперь про модели. В сфере моделей игра на данный момент мне кажется лидером так как для создания моделей под Халф есть куча различного софта и утилит, плюс весьма много различной документации и примеров, вобщем создавать модели под эту игру очень легко. Также в моделях применена скелетная анимация, которая не занимает кучу памяти и при этом можно создавать очень большое количество различных анимаций для одной модели. Тем самым модели можно делать очень красивыми. Также в моделях есть множество различных эффектов, таких как: воспроизведение спрайтов в различных частях моделей (к примеру вспышки от выстрела), смена текстур (к примеру если человек получил более 50% повреждений то текстуры меняются на "кровавые"), модель может-быть разделенна на несколько отдельных частей которые можно заменять другими (к примеру модель разделенна на две части - голова и тело, и вы начинаете игру и покупаете к примеру каску, то в вашей модели мужичка вместо простой головы отображается подмодель головы в каске, если каску не купили то отображается подмодель просто головы. Короче говоря есть 2 подмодели: головы в каске и без неё, и в зависимости от ситуации можно отображать либо первую подмодель либо вторую). Вобщем про модели уже все, добавить могу лишь то, что если модели делать с умом, то можно сделать почти любую модель и любую анимацию какую вам хочется, даже добавить персонажу некоторую мимику, моргание глазами и т.д.

Немного про код. Сам движок игры весьма сильно закрыт от различных издевательств, и, к примеру, добавить новые функции или эффекты типа зеркальных поверхностей, вам не получится, вы сможете изменять или добавлять только монстров, режимы игры, предметы, оружие и т. д. НО после выхода FullSDK 70 метров, писать синглплеерные моды под халф стало намного легче и лучше. Так как в SDK есть намного больше исходников с монстрами и различными эффектами, также много различных моделей в формате MAX (причём некоторых моделей в стандартной игре нет и их сделали спешиал фор ю, в смысле для модостроителей всяких). В общем, запрограммировать вы сможете всё что угодно, но движок при этом потрогать не сможете, так что халф, как был халфом, так он им и останется, чтобы вы там не меняли.

Quake 3 Arena

Честно говоря считаю этот движок непереспективным, да да. Во-первых, совсем выбросили синглплеер, при этом лишились весьма много любителей кваки, которые не играют по сети, а в основном гоняют в одиночную игру. Могу в пример привести вот такую историю: есть у меня один знакомый товарищ, он старше меня лет примерно на 33-35, и вот я там рассказываю что нарыл кваку 3 хотите посмотреть, только она у меня тормозит немного, ну вообще так нормально пашет.... потом рассказываю, что вот из игры синглплеер отрубили и включаю комп. В общем, когда человек понял, что там боротся только с ботами или живыми людьми в сетке, то реакция была примерно вот такая - "Тьфу, бред какой-то. Можешь и не включать кваку". Так что вот вам один минус.

Модели анимируются также как и во Quake 2, тоесть в каждом кадре анимации записанны положения каждой вершины модели. Это НЕ скелетная анимация если кто еще не просёк. Так вот данный принцип анимаций имеет некоторые свои плюсы, но всё же довольно сильно уступает скелетной системе, так к примеру в халфе можно было смешивать две скелетные анимации вместе и при этом игра еще могла сама управлять некоторыми костями, к примеру костями рта если модель говорит в данный момент. А в кваки такого нельзя делать и вобще там довольно мало анимаций так как они жрут много памяти. НО разработчики, а точнее ID Software сделали небольшой прорыв в моделях, а точнее модели разделенны на 3 назависимых друг от друга подмодели, а точнее голову, торс и ноги. Чем это грозит? Вопервых теперь можно крутить головой и торсом если поворачиваешся куда-либо; во-вторых, можно стрелять и бежать одновременно, так как эти подмодели анимируются отдельно. Вобщем не всё так плохо, но всёже в сфере моделей Ку3 Арена подходит больше под такойже мясной мод, как и сама игра.

Ок, но это еще не все, умные IDовцы придумали некие Шадеры - это такие скриптики с помощью которых можно залупасить множество красочных эффектов, типа зеркального отражения всяких там бликов и различного кручения верчения цветами. Вобщем всё это красиво но только для мясных и цветастых модов, хотя если постаратся можно и какой-нибудь реалистичный мод даже под квейк3 написать.

Теперь про карты. В Quake 3 arena картах я совсем профан так что скажу мало, а точнее есть весьма красивые вещи такие как сплайновые поверхности, сами карты заметно отличаются строением от Q2 или Q1 причём в лучшую сторону, я имею ввиду не внешний вид а внутреннее строение карты тоесть заметно что некоторые вещи в Q3A есть такие, которые вообще невозможно реализовать в том же Half-Life или Q2.

Unreal или Unreal Tournament

Анрыл весьма обширный движок и понять его разом вам вряд ли получится. Начну с карт: Карты можно делать охер[censored] размеров, вобщем бежать можно очень долго до противоположного конца карты, при этом всё это не сильно загружает процессор, так как в Анрыле применяется некая система с умным названием "LOD" - "Level-Of-Detail" Уровень детализации, если по-нашему. В двух словах, данная штуковина, это некий алгоритм который в зависимости от настроек немного изменяет структуру модели или куска карты. Тоесть к примеру если мы удаляемся от нашего друга Васи Пупкина, то через некоторое расстояние ,при котором модель Василия уже начинает смазыватся, алгоритм берёт работу на себя и при выводе модели некоторые полигоны какбы совмещает и сама модель из 1000 полигонной красавицы превращается в 500 полигонную уродку, при этом вы видите её далеко и вам незаметно что модель както сильно пострадала от данного алгоритма. Брр... надеюсь я понятно обьяснил. Далее, в картах применяется просто туча эффектов таких как: облака плывут по небу, небо само может крутится как угодно, различные зеркальные поверхности и т. д., туман, дымка, блики от солнца, направление гравитации можно менять к примеру в одной комнате вы идёте по полу а во второй комнате вы уже можете ходить только по потолку или по стенам... Это не все эффекты которые есть в игре, я еще её не изучил так хорошо как мне хотелось-бы.

Теперь про модели. В моделях сначала разработчики недалеко ушли от Quake и анимировались модели также вершинами, НО в UT (последней версии) уже не простая анимация а СКЕЛЕТНАЯ, причём осталась еще и старая анимация вершинами. И скелетная анимация в игре сделанна ну очень и очень хорошо, к примеру в отличии от Халфы где в каждом файле модели мужичка кроме самой модели есть все анимации. То есть, даже если в игре 10 моделей с одинаковыми скелетами и анимациями, то, всё равно для каждой будут свои анимации и они будут жрать память. В Анрыле же сделали немного по другому, а точнее если у вас скелет модели такой же, как и у стандартных моделей и анимации будут такие же, то вы просто сохраняете модель без анимаций, а игра уже сама будет воспроизводить анимации которые стандартны как для вашей модели так и для других. Короче память экономят сильно. К сожалению в Анрыле нет такой фишки, как деление модели на несколько частей которые могут потом заменятся другими, как было сделанно в Халфе (см. выше), хотя я точно это еще не проверил, возможно какой-то путь всётаки есть.

Теперь немного про код: В Unreal и UT вопервых хорошо открыт движок, тоесть можно добавлять свои эффекты, менять драйвера рендеринга, и обновлять уже старые эффекты: такие как воду, смог, туман и т. д. Применяется в игре не простой язык C или C++ как в Халфе, Q3A или Q2, а уже свой собственный язык который очень похож на тотже C++ и Java. Это весьма сильно отпугивает некоторых разработчиков так как тут прийдётся немного перестроится на новый язык, и если вы не сильны в программировании, то создать чтото мощное будет весьма проблематично. Но как говорят разработчики данного движка, это улучшает саму игру её скорость и т. д. Так как этот язык программирования заточен исключительно под игру, и никаких совершенно ненужных функций там нету. Сам язык этот называется Unreal C или если кратко то UC, можно провести некие параллели с игрой Quake где был язык QC (Quake C), на котором также можно было писать различные моды под кваку, но QC был весьма урезанной версией языка C.

Автор: yxo

CMT (CS Mapping Tutorials) - © 2006-2011. Created by VM
[ Script Execution time: 0.0009 ]