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

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


playground:playground

Различия

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

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

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