WikiSort.ru - Комьютерные игры

ПОИСК ПО САЙТУ | о проекте
Xash3D

Официальный логотип движка
Тип Игровой движок (Список)
Разработчик XashXT Group
Ключевой программист Дядя Миша
Дата выпуска 2011 год
Аппаратная платформа IBM PC-совместимый компьютер
Поддерживаемая ОС Microsoft Windows, Linux, Mac OS, Android, iOS, PlayStation Vita
Написан на языке C
Лицензия LGPL
Последняя версия 0.99 (build 4253 beta) / 01.10.2018
Первая игра на движке Paranoia 2: Savior
Последняя игра на движке Ejector / 2016

Xash3Dигровой движок, совместимый с движком GoldSource и написанный на основе открытых исходных кодов Id Tech-движков (Id Tech, Id Tech 2, Id Tech 3), а также некоторых производных от этих движков (DarkPlaces). Позволяет запускать игру Half-Life и практически все её модификации (включая спин-оффы Opposing Force и Blue Shift), но при этом обладает существенным рядом расширений. На текущий момент времени происходит активная разработка движка.

История разработки

Xash3D был написан с целью совместимости с игровыми библиотеками и ресурсами GoldSource. Разработка движка началась ещё в конце 2004 года, и поначалу движок вовсе не планировался как клон GoldSrc.

Изначально совместимость с GoldSource не планировалась совсем. Предполагалось использовать только похожий формат моделей, а всё остальное было бы совершенно несовместимо. При этом движок позиционировался, как очередной Generic Engine многоцелевого назначения. Однако три года разработки в очередной раз показали полную несостоятельность такого подхода, поскольку разработка движка в отрыве от конкретной игры, занятие очень увлекательное, но совершенно бессмысленное. Не имея возможности протестировать движок даже на стабильность 10-минутного геймплея (просто по причине его отстутствия) его код понемногу обрастал багами, выявить которые на паре-тройке тестовых карт не представлялось возможным по определению. В то же время многие пользователи, видя определенное сходство с движком GoldSource (главным образом из-за схожего формата моделей), просили меня переписать исходный код движка таким образом, чтобы движок оказался полностью совместимым с Half-Life и его модами. И вот, в конце апреля — начале мая 2010 года, разработка движка полностью сменила направление и взяла курс на полную совместимость с GoldSource. Положение осложнялось ещё и тем, что исходников GoldSrc не было в свободном доступе. Поэтому воссоздание исходников происходило, опираясь на общеизвестные факты о происхождении GoldSource, построенном на симбиозе Quake, QuakeWorld и Quake II, чьи исходники, как известно, давно открыты и находятся в свободном доступе. Частично пробел помогли восполнить Half-Life SDK с игровой частью кода, частично — Source SDK. Ну и наконец, когда этой информации оказывалось недостаточно, недостающие сведения добывались методом «черного ящика» при помощи оригинального GoldSource. Метод, вкратце, заключается в том, что в движок посылается некий набор данных, после чего возвращается нечто, уже обработанное движком и на анализированнии значений входных и выходных данных делаются предположения о логике работы. Подтверждением того, что я двигаюсь в правильном направлении служили игры, которые выглядели и работали совершенно одинаково, как на GoldSource так и на Xash3D.

Дядя Миша

Происхождение названия

Изначально движок не имел названия вовсе. Его он получил 31 декабря 2004 года[1] и поначалу ориентировался как проект по реализации функционала Half-Life 2 (движок Source) в Half-Life (движок GoldSource)[2].

Когда я выбирал название для будущего движка, хотелось придумать короткое непереводимое слово, по аналогии с SONY. Из нескольких вариантов остановился на Xash. Правда, как потом оказалось, название перекликается с грузинскими блюдами и звёздными войнами, но на тот момент я об этом ничего не подозревал.

Дядя Миша

Совместимость с GoldSrc

Совместимость движка с GoldSource составляет, на текущий момент, приблизительно 90%. Это значит, что подавляющее большинство модификаций и игр под движок GoldSource должны корректно работать под Xash3D без каких-либо доработок, однако из-за протокольной несовместимости, движок не может подключаться к серверам на GoldSource. Под Xash проверено множество одиночных модификаций для оригинального GoldSource, большая часть которых работает абсолютно правильно и идентично тому, как они делают это в GoldSource. Исключение составляют игры, которые были спроектированы под Steam-версию GoldSource, поскольку используют недокументированные особенности движка, что значительно затрудняет их адаптацию (используют библиотеки VGUI2, библиотеки Steam и прочие модули движка).

Движок поддерживает работу Metamod и AmxModX, с его плагинами. Мультиплеерные модификации движок также поддерживает, однако имеется ряд подсистем, которые требуют дописывания или улучшения.

Особенности и отличия от GoldSource

  • В отличие от движка GoldSource, Xash не использует модульную архитектуру.
  • Xash написан на чистом Си, GoldSrc — на C/C++.
  • Xash умеет как прекэшировать, так и загружать ресурсы «на горячую», GoldSrc — только прекэшировать.
  • Поддержка BSP-карт следующих форматов: Quake 1, Half-Life, Half-Life: Blue Shift.
  • Без привязки к родительскому каталогу — она может быть указана в лаунчере, при необходимости. Благодаря этому, имеется возможность создавать свою собственную игру, независимую от Half-Life.
  • Поддержка фоновых карт (как в Half-Life 2).
  • Не требует наличия тех WAD-файлов, ресурсы из которых не используются на самом деле на загружаемой карте.
  • «Прозрачная» файловая система, благодаря чему для обращения к файлу из архива используются те же методы, что и для файла, лежащего вне архива.
  • Поддержка цветных сообщений в консоли (через тег «^»).
  • Возможность напрямую изменять тип неба на карте, а также его поворот.
  • Поддержка текстур детализации (как в CS:CZ).
  • Поддержка HD-текстур.
  • Выделенные физический и графический интерфейсы для предоставления большей функциональности.
  • Обеспечивает интерфейс для реализации собственного рендера с использованием OpenGL.
  • Использование более эффективной системы отсечения невидимых областей, что увеличивает FPS и уменьшает количество отрисовываемых полигонов.
  • Расширенные лимиты на ресурсы, которые можно изменить под нужды модификации через файл gameinfo.txt. Уменьшение лимитов может сохранить больше оперативной памяти в тех модификациях, в которых не требуется много эдиктов (серверных энтити). Параметр MAX_EDICTS также передаётся с сервера во время мультиплеерной сессии, что позволяет подгонять клиентов под новые условия автоматически.
ЛимитXash3DGoldSource
Максимальное количество серверных энтити (MAX_EDICTS)600 - 4096900 (настраиваемо через конфиг)
Максимальное количество временных энтити (MAX_TEMPENTS)300 - 2048500
Максимальное количество частиц (MAX_PARTICLES)1024 - 81924096
Максимальное количество лучей (MAX_BEAMS)64 - 51264
Максимальное количество видимых энтити в пакете (MAX_VISIBLE_PACKET)512256
Максимальное количество прекэшируемых моделей (включая спрайты) (MAX_MODELS)2048512
Максимальное количество прекэшируемых звуков (MAX_SOUNDS)2048512
Максимальное количество записей для чтения предложений, составленных из слов (MAX_SENTENCES)20481534
Максимальное количество сообщений пользователя (дополнительные сообщения для протокола внутри игры) (MAX_USER_MESSAGES)197128 (в WON-версии)
Максимальное количество загруженных текстур (MAX_TEXTURES)40962048 (загруженных VGUI)
Количество сообщений titles.txt (MAX_MESSAGES)20481024
Максимальный размер индексированных текстур4096х4096512х512
Максимальный размер полноцветных текстур4096x4096-
Максимальное количество моделей на карте (BSP-лимит) (MAX_MAP_MODELS)1024256
Максимальное количество листов карты (BSP-лимит) (MAX_MAP_LEAFS)327678192

Производные движка

Так как движок распространяется под свободной лицензией GNU GPL v3, сторонними разработчиками были предприняты попытки образования форков. На данный момент известны следующие ответвления:

  • Xash3DEx[3] — ответвление от движка с некоторыми исправлениями. Разработка полностью остановлена.
  • Xash3D FWGS (ранее Xash3D SDL)[4][5] — кроссплатформенное ответвление от проекта с использованием Simple DirectMedia Layer, разработанное командой Flying With Gauss. Полностью поддерживаются Linux и Android, присутствует поддержка FreeBSD, Mac OS X, iOS, Emscripten. На данный момент ведётся активная разработка. Получило широкую огласку только после представления портированной игры от Valve (Counter-Strike).
  • vitaXash3D — ответвление, созданное с целью портирования движка на платформу PlayStation Vita. Основано на ответвлении Xash3D FWGS.
  • Xash3D Magenta — проект по переносу кодовой базы движка на C++ и модульную архитектуру. В текущее время не поддерживается.

Игры, использующие Xash3D

Ниже представлена таблица, содержащая список игр и модификаций на движке Xash3D:

Название Дата выпуска Платформа Разработчик Примечание
Paranoia 2: Savior 26 февраля 2015 Microsoft Windows Kunst-Produkt Laboratory
XashXT Group
Сиквел к игре «Paranoia» — однопользовательской модификации Half-Life.
Meanwhile in Russia: Intro 26 октября 2018 Microsoft Windows Shambler Team Первая часть трилогии «Meanwhile in Russia» — игр-пародий на Half-Life, посвящённой ИЦ «Сколково».

Примечания

  1. Forum Half-Life.ru - Xash
  2. Forum Half-Life.ru - Новый проект
  3. Xash3D EX - Github. Xash3D EX.
  4. FWGS/xash3d. GitHub. Проверено 3 декабря 2015.
  5. Xash3D FWGS на Google Play

См. также

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии