Xash3D
Xash3D | |
---|---|
Игровой движок (Список) | |
Официальный логотип движка | |
Разработчик | XashXT Group |
Ключевой программист | Дядя Миша |
Дата выпуска | 2011 год |
Поддерживаемая ОС | Microsoft Windows |
Написан на языке | C |
Лицензия | GPL |
Последняя версия | 0.99 (build 4529 beta) / 02.07.2019 |
Первая игра на движке | Paranoia 2: Savior |
Последняя игра на движке | Meanwile In Russia / 2019 |
Страница движка на ModDB |
Xash3D — игровой движок, совместимый с движком GoldSource и написанный на основе открытых исходных кодов Id Tech-движков (Quake, Id Tech 2, Id Tech 3), а также некоторых производных от этих движков (DarkPlaces, qFusion). Позволяет запускать игру Half-Life и практически все её модификации (включая спин-оффы Opposing Force и Blue Shift), но при этом обладает существенным рядом расширений. На текущий момент времени разработка движка полностью остановлена.
Первоначальный код от разработчика, открытый в 2011 году, работал только под Windows. В дальнейшем, движок был портирован энтузиастами с использованием библиотеки SDL на Linux, а затем на Android (в 2015 году)[1][2], что позволило запустить Half-Life на мобильных устройствах[3][4][5] вплоть до умных часов[6].
История разработки[править]
Xash3D был написан с целью совместимости с игровыми библиотеками и ресурсами GoldSrc. Разработка движка началась ещё в конце 2004 года, и поначалу движок вовсе не планировался как клон GoldSrc.
|
Происхождение названия[править]
Изначально движок не имел названия вовсе. Его он получил 31 декабря 2004 года[7] и поначалу ориентировался как проект по реализации функционала Half-Life 2 (движок Source) в Half-Life (движок GoldSource)[8].
|
Совместимость с GoldSrc[править]
Совместимость движка с GoldSource составляет, на текущий момент, приблизительно 90%. Это значит, что подавляющее большинство модификаций и игр под движок GoldSource должны корректно работать под Xash3D без каких-либо доработок, однако из-за протокольной несовместимости, движок не может подключаться к серверам на GoldSource. Под Xash проверено множество одиночных модификаций для оригинального GoldSource, большая часть которых работает абсолютно правильно и идентично тому, как они делают это в GoldSource. Исключение составляют игры, которые были спроектированы под Steam-версию GoldSource, поскольку используют недокументированные особенности движка, что значительно затрудняет их адаптацию (используют библиотеки VGUI2, SDL2, filesystem_stdio, vstdlib, ParticleMan, библиотеки Steam и прочие модули движка).
Движок не поддерживает нормальную работу Metamod и AmxModX, и требует их модификации под него.
Так как движок изначально тестировался только с одиночными модификациями, нормальная работа мультиплеера не гарантируется.
Особенности и отличия от GoldSrc[править]
- В отличие от движка 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-текстур.
- Физический и графический программные интерфейсы для реализации дополнительной функциональности (позволяет использовать PhysX).
- Использование более эффективной системы отсечения невидимых областей, что увеличивает FPS и уменьшает количество отрисовываемых полигонов.
- Расширенные лимиты на ресурсы, которые можно изменить под нужды модификации через файл gameinfo.txt. Уменьшение лимитов может сохранить больше оперативной памяти в тех модификациях, в которых не требуется много эдиктов (серверных энтити). Параметр MAX_EDICTS также передаётся с сервера во время мультиплеерной сессии, что позволяет автоматически подстраивать клиентов под новые условия.
Лимит | Xash3D | GoldSource |
---|---|---|
Максимальное количество серверных энтити (MAX_EDICTS) | 600 - 4096 | 900 (настраиваемо через конфиг) |
Максимальное количество временных энтити (MAX_TEMPENTS) | 300 - 2048 | 500 |
Максимальное количество частиц (MAX_PARTICLES) | 1024 - 8192 | 4096 |
Максимальное количество лучей (MAX_BEAMS) | 64 - 512 | 64 |
Максимальное количество видимых энтити в пакете (MAX_VISIBLE_PACKET) | 512 | 256 |
Максимальное количество прекэшируемых моделей (включая спрайты) (MAX_MODELS) | 2048 | 512 |
Максимальное количество прекэшируемых звуков (MAX_SOUNDS) | 2048 | 512 |
Максимальное количество записей для чтения предложений, составленных из слов (MAX_SENTENCES) | 2048 | 1534 |
Максимальное количество сообщений пользователя (дополнительные сообщения для протокола внутри игры) (MAX_USER_MESSAGES) | 197 | 128 (в WON-версии) |
Максимальное количество загруженных текстур (MAX_TEXTURES) | 4096 | 2048 (загруженных VGUI) |
Количество сообщений titles.txt (MAX_MESSAGES) | 2048 | 1024 |
Максимальный размер индексированных текстур | 4096х4096 | 512х512 |
Максимальный размер полноцветных текстур | 4096x4096 | - |
Максимальное количество моделей на карте (BSP-лимит) (MAX_MAP_MODELS) | 1024 | 256 |
Максимальное количество листов карты (BSP-лимит) (MAX_MAP_LEAFS) | 32767 | 8192 |
Производные движка[править]
Так как движок распространяется под свободной лицензией GNU GPL v3, сторонними разработчиками были предприняты попытки образования форков. На данный момент известны следующие ответвления:
- Xash3DEx — ответвление от движка с некоторыми исправлениями. Разработка полностью остановлена.
- Xash3D FWGS (ранее Xash3D SDL) — кроссплатформенное ответвление от проекта с использованием Simple DirectMedia Layer, разработанное командой Flying With Gauss(ранее SDLash3D). Полностью поддерживаются Linux, FreeBSD, NetBSD, OpenBSD и Android, также присутствует поддержка DOS, Mac OS X, iOS, Haiku, Emscripten и есть возможность собрать и запустить игровой движок на встраиваемых системах вроде Raspberry Pi, AllWinner, Эльбрус и домашних роутерах на архитектуре mips с OpenWRT. На данный момент ведётся активная разработка. Получило широкую огласку только после представления портированной игры от Valve (Counter-Strike); имеется страница в Google Market, а также официальная группа во ВКонтакте.
- vitaXash3D — ответвление, созданное с целью портирования движка на платформу PlayStation Vita. Основано на ответвлении Xash3D FWGS.
- Xash3D Magenta — проект по переносу кодовой базы движка на C++ и модульную архитектуру. В текущее время не поддерживается.
- Xash3DS — порт игрового движка на Nintendo 3DS, Основано на vitaXash3D.
- XashNT — сильно усовершенствованная, но до сих пор закрытая и не вышедшая в свет, ветка оригинального Xash3D, рассчитанная на нужды разработчиков модификаций и без совместимости с HL.
- Afterburner engine — альтернативная реализация игрового движка на основе Xash3D FWGS для игры про James Bond'а от Gearbox — NightFire 007.
Инструменты разработчика[править]
- XashXT — это SDK с расширенными возможностями для разработчиков модификаций под Xash3D.
Игры, использующие 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, посвящённой ИЦ «Сколково». |
См. также[править]
Источники[править]
- ↑ Проект Xash3D Android Project for NDK. на сайте GitHub
- ↑ Приложения в Google Play – Xash3D FWGS (рус.). play.google.com. Проверено 26 февраля 2019.
- ↑ Программист из Казахстана портировал Counter-Strike 1.6 на Android. meduza.io (2016-04-19). Проверено 26 февраля 2019.
- ↑ Богдан Чуб Counter-Strike 1.6 портировали на Android. gagadget.com (2016-04-18). Проверено 26 февраля 2019.
- ↑ Алибек Омаров Как создавался кроссплатформенный Half-Life или «Хедкрабы внутри ваших часов» (рус.). habr.com (2015-10-14). Проверено 26 февраля 2019.
- ↑ Юрий Шелест Видео: Half-Life запустили на часах LG G Watch (рус.). 3DNews (2015-07-27). Проверено 26 февраля 2019.
- ↑ Forum Half-Life.ru - Xash
- ↑ Forum Half-Life.ru - Новый проект
Ссылки[править]
- Форум разработчиков движка (рус.).
- Страница движка на ModDB (рус.).
- Документация по движку (рус.).
- Список однопользовательских модификаций Half-Life, тестированных под Xash3D (рус.).
- Список однопользовательских карт Half-Life, тестированных под Xash3D (рус.).
- Особенности Xash3D v0.95 (немного устарели, актуальная версия - v0.99) (рус.).
Вселенная Half-Life ↑ [+] | |
---|---|
Half-Life |
и дополнения Opposing Force • Blue Shift • Decay • переиздание Half-Life: Source (и Half-Life Deathmatch: Source) • Uplink |
Half-Life 2 |
и продолжения Episode One • Episode Two • Episode Three • сетевая Half-Life 2: Deathmatch • Lost Coast |
Другие игры |
Half-Life: Alyx • Half-Life 2: Survivor • Return to Ravenholm (отменена) • Codename: Gordon (неофициальная) |
Сборники (все) | |
Персонажи |
Гордон Фримен • Аликс Вэнс • G-Man • Барни Калхаун • Адриан Шепард • Пёс |
Противники и союзники |
Альянс • Вортигонты • Обитатели Зена • Раса X • Хедкраб • Организации серии игр Half-Life |
Локации (все) | |
Связанное |
Гравитационная пушка • Гражданская оборона •
Серия Portal |