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

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


playground:playground

Различия

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

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

playground:playground [2013/08/14 11:27]
f00nt
playground:playground [2018/01/28 16:39] (текущий)
cybermax
Строка 1: Строка 1:
-** Новые энтити ​**+====== 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?​ 
-| [[:​XashXT/​Entities/​ambient_music|ambient_music]] | [[:​XashXT/​Entities/​env_counter|env_counter]] | [[:​XashXT/​Entities/​func_clock|func_clock]] | [[:​XashXT/​Entities/​trigger_bounce|trigger_bounce]] |  +A. По ряду причин. Во первых Xash3D поддерживает ряд разрешений ​экрана, которых нету в GoldSource, но которые очень актуальны в наше время нетбуков с их нестандартными матрицами. Во вторых в Xash3D исправлено множество ошибок оригинального GoldSource, которые там, понятно,​ никто исправлять не собирается. В третьих Xash3D имеет лучшую оптимизацию и как следствие - более высокий FPS, что актуально для тех же нетбуков. В четвертых движок не имеет привязки к Steam, которая зачастую создает больше проблем,​ нежели удобства. В пятых движок непрерывно развивается и у вас есть уникальная возможность попросить добавить какую-либо новую фичу, которая с большой долей вероятности появится уже в следующей версии. Понятное дело что в случае с GoldSource это невозможно. В шестых движок имеет открытый исходный код и распространяется под лицензией LGPL, что позволяет изучить любимую игру изнутри,​ а возможно - и модифицировать её для собственных нужд.
-| [[:​XashXT/​Entities/​generator|generator]] | [[:​XashXT/​Entities/​env_customize|env_customize]] | [[:​XashXT/​Entities/​func_light|func_light]] | [[:​XashXT/​Entities/​trigger_changeparent|trigger_changeparent]] | +
-| [[:​XashXT/​Entities/​hud_sprite|hud_sprite]] | [[:​XashXT/​Entities/​env_dynlight|env_dynlight]] | [[:​XashXT/​Entities/​func_monitor|func_monitor]] | [[:​XashXT/​Entities/​trigger_command|trigger_command]] | +
-| [[:​XashXT/​Entities/​info_compile_parameters|info_compile_parameters]] | [[:​XashXT/​Entities/​env_local|env_local]] | [[:​XashXT/​Entities/​func_physbox|func_physbox]] | [[:​XashXT/​Entities/​trigger_gravity_field|trigger_gravity_field]] | +
-| [[:​XashXT/​Entities/​info_portal_destination|info_portal_destination]] | [[:​XashXT/​Entities/​env_model|env_model]] | [[:​XashXT/​Entities/​func_platform|func_platform]] | [[:​XashXT/​Entities/​trigger_impulse|trigger_impulse]] | +
-| [[:​XashXT/​Entities/​info_texlights|info_texlights]] | [[:​XashXT/​Entities/​env_particle|env_particle]] | [[:​XashXT/​Entities/​func_portal|func_portal]] | [[:​XashXT/​Entities/​trigger_inout|trigger_inout]] | +
-| [[:​XashXT/​Entities/​item_generic|item_generic]] | [[:​XashXT/​Entities/​env_projector|env_projector]] | [[:​XashXT/​Entities/​func_screenmovie|func_screenmovie]] | [[:​XashXT/​Entities/​trigger_lightstyle|trigger_lightstyle]] | +
-| [[:​XashXT/​Entities/​train_setspeed|train_setspeed]] | [[:​XashXT/​Entities/​env_rain|env_rain]] | [[:​XashXT/​Entities/​func_traindoor|func_traindoor]]| [[:​XashXT/​Entities/​trigger_onsight|trigger_onsight]] | +
-| [[:​XashXT/​Entities/​scripted_trainsequence|scripted_trainsequence]] | [[:​XashXT/​Entities/​env_rainmodify|env_rainmodify]] |   | [[:​XashXT/​Entities/​trigger_playerfreeze|trigger_playerfreeze]] | +
-| [[:​XashXT/​Entities/​momentary_rot_door|momentary_rot_door]]| [[:​XashXT/​Entities/​env_sky|env_sky]] |   | [[:​XashXT/​Entities/​trigger_sound|trigger_sound]] | +
-| [[:​XashXT/​Entities/​monster_target|monster_target]] | [[:​XashXT/​Entities/​env_spritetrain|env_spritetrain]] |   | [[:​XashXT/​Entities/​trigger_startpatrol|trigger_startpatrol]] | +
-| [[:​XashXT/​Entities/​multi_switcher|multi_switcher]] | [[:​XashXT/​Entities/​env_static|env_static]] | +
-| [[:​XashXT/​Entities/​multi_watcher|multi_watcher]] | [[:​XashXT/​Entities/​env_warpball|env_warpball]] | +
-| [[:​XashXT/​Entities/​physboxmaker|physboxmaker]] | +
-| [[:​XashXT/​Entities/​player_keycatcher|player_keycatcher]] | +
-| [[:​XashXT/​Entities/​pushablemaker|pushablemaker]] |+
  
-**Новое у стандартных энтить Half-Life**+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.
  
-Разумеется,​ и о назначении энтить упомянуто не будет, поскольку они привычны всем мапперам под ​Half-Life и Counter-Strike ​1.6.+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 будет постепенно пополняться при появлении новых актуальных вопросов.
  
-^ Новое у стандартных энтить Half-Life ^^^^ 
-| [[:​env_beam|env_beam]] | [[:​func_button|func_button]] | [[:​trigger_auto|trigger_auto]] | [[:​gibshooter|gibshooter]] | 
-| [[:​env_fade|env_fade]] | [[:​func_conveyor|func_conveyor]] | [[:​trigger_camera|trigger_camera]] | [[:​info_player_start|info_player_start]] | 
-| [[:​env_funnel|env_funnel]] | [[:​func_door (func_door_rotating)|func_door (func_door_rotating,​func_water)]] ​ | [[:​trigger_changetarget|trigger_changetarget]] | [[:​info_target|info_target]] | 
-| [[:​env_laser|env_laser]] | [[:​func_plat (func_platrot)|func_plat (func_platrot)]] | [[:​trigger_multiple|trigger_multiple]] | [[:light (light_spot,​ light_environment)|light (light_spot,​ light_environment)]]| 
-| [[:​env_render|env_render]] | [[:​func_pushable|func_pushable]] | [[:​trigger_once|trigger_once]] | [[:​momentary_door|momentary_door]] | 
-| [[:​env_shooter|env_shooter]] | [[:​func_rotating|func_rotating]] | [[:​trigger_push|trigger_push]] | [[:​momentary_rot_button (momentary_rot_door)|momentary_rot_button (momentary_rot_door)]] | 
-|   | [[:​func_tank (func_tankrocket)|func_tank (func_tankrocket,​ func_tankmortar,​ func_tanklaser)]] | [[:​trigger_relay|trigger_relay]] | [[:​monster_alien_grunt|monster_alien_grunt]] | 
-|   | [[:​func_tankcontrols|func_tankcontrols]] | [[:​trigger_teleport|trigger_teleport]] | [[:​monster_barney|monster_barney]] | 
-|   | [[:​func_trackautochange|func_trackautochange]] |   | [[:​monster_generic|monster_generic]] | 
-|   | [[:​func_trackchange|func_trackchange (func_trackautochange)]] |   | [[:​monster_human_grunt|monster_human_grunt]] | 
-|   | [[:​func_tracktrain|func_tracktrain]] |   | [[:​multisource|multisource]] | 
-|   | [[:​func_train|func_train]] |   | [[:​multi_manager|multi_manager]] | 
-|   ​| ​  ​| ​  | [[:​path_track|path_track]] | 
-|   ​| ​  ​| ​  | [[:​player_weaponstrip|player_weaponstrip]] | 
-|   ​| ​  ​| ​  | [[:​scripted_sequence|scripted_sequence]] | 
-|   ​| ​  ​| ​  | [[:​weapon_cycler|weapon_cycler]] | 
-|   ​| ​  ​| ​  | [[:​worldspawn|worldspawn]] | 
playground/playground.1376479625.txt.gz · Последние изменения: 2013/08/14 11:27 — f00nt