Инструменты пользователя

Инструменты сайта


playground:playground

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

playground:playground [2014/01/27 18:02]
127.0.0.1 внешнее изменение
playground:playground [2018/01/28 16:39] (текущий)
cybermax
Строка 1: Строка 1:
-====== ​PlayGround ​======+====== ​Xash3D F.A.Q. ​====== 
 +Q. Что такое Xash3D? 
 +A. Xash3D - это игровой движок,​ совместимый с движком GoldSource от Valve LLC, на котором,​ в частности,​ основана игра Half-Life, Counter-Strike и множество других игр. 
 + 
 +Q. Насколько высока эта совместимость?​ 
 +A. Совместимость движков составляет приблизительно 90%. Это значит что подавлюящее большинство модов и игр под движок GoldSource должны корректно работать под Xash3D без каких-либо доработок,​ просто по факту установки. Исключение составляют игры, которые были спроектированы под Steam-версию GoldSource, поскольку использовали недокументированные особенности движка,​ что значительно затрудняет их адаптацию. Но я надеюсь,​ что к финальной версии это будет успешно преодолено. 
 + 
 +Q. Зачем нужен Xash3D, если можно просто играть в те же игры под GoldSource?​ 
 +A. По ряду причин. Во первых Xash3D поддерживает ряд разрешений экрана,​ которых нету в GoldSource, но которые очень актуальны в наше время нетбуков с их нестандартными матрицами. Во вторых в Xash3D исправлено множество ошибок оригинального GoldSource, которые там, понятно,​ никто исправлять не собирается. В третьих Xash3D имеет лучшую оптимизацию и как следствие - более высокий FPS, что актуально для тех же нетбуков. В четвертых движок не имеет привязки к Steam, которая зачастую создает больше проблем,​ нежели удобства. В пятых движок непрерывно развивается и у вас есть уникальная возможность попросить добавить какую-либо новую фичу, которая с большой долей вероятности появится уже в следующей версии. Понятное дело что в случае с GoldSource это невозможно. В шестых движок имеет открытый исходный код и распространяется под лицензией LGPL, что позволяет изучить любимую игру изнутри,​ а возможно - и модифицировать её для собственных нужд. 
 + 
 +Q. Как создавался Xash3D, если исходников GoldSource нигде нет в свободном доступе?​ Вы утащили сорцы у Valve? 
 +A. Изначально совместимость с GoldSource не планировалась совсем. Предполагалось использовать только похожий формат моделей,​ а всё остальное было бы совершенно несовместимо. При этом движок позиционировался,​ как очередной Generic Engine многоцелевого назначения. Однако три года разработки в очередной раз показали полную несостоятельность такого подхода,​ поскольку разработка движка в отрыве от конкретной игры, занятие очень увлекательное,​ но совершенно бессмысленное. Не имея возможности протестировать движок даже на стабильность 10-минутного геймплея (просто по причине 
 +его отстутствия) его код понемногу обрастал багами,​ выявить которые на паре-тройке тестовых карт не представлялось возможным по определению. В то же время многие пользователи,​ видя определенное сходство с движком GoldSource (главным образом из-за схожего формата моделей),​ просили меня переписать исходный код движка таким образом,​ чтобы движок оказался полностью совместимым с Half-Life и его модами. И вот, в конце апреля - начале мая 2010 года, разработка движка полностью сменила направление и взяла курс на полную совместимость с GoldSource. Положение осложнялось еще и тем, что исходников GoldSrc не было в свободном доступе. Поэтому воссоздание исходников происходило,​ опираясь на общеизвестные факты о происхожении GoldSource, построенном на симбиозе Quake, QuakeWorld и Quake II, чьи исходники,​ как известно,​ давно открыты и находятся в сводобном доступе. Частично пробел помогли восполнить Half-Life SDK с игровой частью кода, частично - исходные коды Half-Life 2 beta. Ну и наконец,​ когда этой информации оказывалось недостаточно,​ недостающие сведения добывались методом "​черного ящика"​ при помощи оригинального GoldSource. Метод, вкратце,​ заключается в том, что в движок посылается некий набор данных,​ после чего возвращается нечто, уже обработанное движком и на анализированнии значений входных и выходных данных делаются предположения о логике работы. Подтверждением того, что я двигаюсь в правильном направлении служили игры, которые выглядели и работали совершенно одинаково,​ как на GoldSource так и на Xash3D. 
 +Примечание. Сам автор движка,​ уже с версии 0.75 начал переодически путаться,​ что же именно у него запущено в данный момент:​ GoldSource или Xash3D :-) 
 + 
 +Q. Как вы приняли решение открыть исходники движка?​ Ведь первоначальные версии были закрыты. 
 +A. В некотором смысле на принятие этого решения повлиял один из участников нашего форума,​ красочно расписывавший будущее движка в случае его открытости. Лично я отношусь к подобным заявлениям с изрядной долей скептецизма,​ но тем не менее принял решение открыть исходные коды движка,​ поскольку там действительно было много интересных решений,​ которые вполне могли бы пригодится,​ например для Quake-коммунити,​ или для портирования Xash3D под другие платформы. 
 + 
 +Q. Какая версия движка последняя,​ на данный момент?​ 
 +A. Последняя версия на данный момент - 0.98. Финальной версии движок достигнет только тогда, когда в нем будет реализован полный набор возможностей из Half-Life. 
 + 
 +Q. Меня заинтерисовал ваш проект,​ могу ли я сделать игру на вашем движке?​ 
 +A. Xash3D унаследовал основные черты своего родителя в плане отсутствия привязок к какой-то определенной игровой папке. Поэтому для создания совершенно отдельной игры нет никаких препятствий. Автор движка (то есть я), точно так же не имеет против этого никаких возражений и готов оказать вам базовую консультацию по техническому устройству движка и его основным возможностям. 
 + 
 +Q. А если я захочу продать свою игру на вашем движке?​ 
 +A. Вопрос достаточно сложный. Поскольку Xash3D распространяется под лизцензией LGPL, то лично мне никаких отчислений делать не требуется. Однако движок использует в своем составе библиотеку vgui.dll от игры Half-Life версии 1.1.0.8 которая является собственностью Valve LLC. При разработке коммерческого проекта вам придется вырезать эту часть кода из движка и игровых библиотек,​ соответственно. Впрочем такого рода вещи лучше обсуждать со штатным юристом компании. 
 + 
 +Q. Меня заинтерисовал ваш проект,​ как я могу ему помочь?​ 
 +A. Например - оформлением документации,​ созданием интернет-ресурса,​ посвященного движку,​ переводом документации на английский язык, бета-тестированием. Либо поддержать автора материально,​ заслав определенную сумму денег на на электронный кошелек за номером 
 + 
 +410011011597633 
 + 
 +в системе Yandex.Деньги. 
 + 
 +либо в системе WebMoney на кошелек 
 + 
 +R921161786039 
 + 
 +Q. Будет ли в ксаш добавлена поддержка GCF-архивов?​ 
 +A. Очень наврядли. Дело в том, что мне никогда не попадались любительские моды, упакованные в GCF, а сам Half-Life легко распаковать,​ 
 +если такая необходимость возникнет. Кроме того Steam предполагает достаточно хитрую иерархию папок и архивов,​ что приведет к путанице. 
 + 
 +Q. Могу ли я использовать полноцветные текстуры совместно с вашим движком,​ чтобы заменить 8-битные?​ 
 +A. Да, Xash3D поддерживает замену 8-битных текстур на полноцветные в формате TGA. Подробнее можно прочитать в этом посте. 
 + 
 +Q. Какие инструменты вы использовали при создании движка?​ 
 +A. Microsoft Visual Studio Enterprise Edition 6.0 + Service Pack5 + Processor Pack. А для редактирования исходников Asm_Ed. 
 + 
 +Q. Почему проект называется Xash? Что означает это слово?​ 
 +A. Когда я выбирал название для будущего движка,​ хотелось придумать короткое непереводимое слово, по аналогии с SONY. Из нескольких вариантов остановился на Xash. Правда,​ как потом оказалось,​ название перекликается с грузинскими блюдами и звездными войнами,​ но на тот момент я об этом ничего не подозревал  
 + 
 +Q. Не могу скомпилить движок под шестой студий,​ возникает ошибка в процессе компиляции,​ почему так? 
 +A. Вам потребуется Service Pack 5 для MSVC 6.0. Почему возникает данная ошибка мне неизвестно,​ но скорее всего это внутренний баг студии. 
 +Если вы обладаете обпределенными навыками в программировании,​ вы можете попробовать немного модифицировать код для её устранения. 
 +Если ваши попытки увенчаются успехом,​ я внесу исправление в оригинальные исходники. 
 + 
 +Q. Как включить отладочную консоль?​ 
 +А. Отладочная консоль включается при помощи параметра командной строки -dev (без аргументов),​ либо при помощи параметра -dev с числом от 1 до 5. -dev 1 полностью аналогичен -dev. От цифры зависит кол-во сообщений в консоли. Рекомендуемый уровень -dev 3. -dev 4 аналогичен халфовской комбинации параметров -dev +developer 2. -dev 5 следует включать только при отправке лога при багрепорте. 
 + 
 +Q. Я добавил -dev в командной строки,​ а консоли всё равно нет. Чёзана???​ 
 +A. Убедитесь что в файле gameinfo.txt нету строчки "​secure"​ "​1"​. Данная строчка запрещает использование консоли,​ равно как и включение dev-режима. Проставьте её значение в ноль, либо просто удалите из файла. 
 + 
 +Q. Как включить лог? Параметр -condebug не помогает. 
 +A. Логгирование включается параметром командной строки -log. При этом в корневой директории движка создается текстовый документ с именем engine.log 
 +--------------------------------- 
 +PS. FAQ будет постепенно пополняться при появлении новых актуальных вопросов.
  
playground/playground.1390845743.txt.gz · Последние изменения: 2014/01/27 18:48 (внешнее изменение)