Started to write a documentation on GoldSource APIs, mostly figured out by reading Xash3D, Half-Life SDK and a lot of decompiled code.
(I'm not the best technical writer, but you still can support me by donating at https://boosty.to/a1ba)
For now, there isn't much of it, only client.dll exports and initialization process is described, but I plan to make it into a proper book through the course of this year, explaining the engine functions set, the way how prediction and lag compensation works, the SDK additions GoldSrc got, the engine behavior mods rely on, so in theory some advanced Quake fork might be able to implement it without resorting to reading decompiled code.
In the future, I want to be able to use this to drop Xash3D dependency on proprietary Half-Life SDK header files.
It is published at https://github.com/FWGS/xash3d-fwgs/tree/apidocs/Documentation/api
(I'm not the best technical writer, but you still can support me by donating at https://boosty.to/a1ba)
For now, there isn't much of it, only client.dll exports and initialization process is described, but I plan to make it into a proper book through the course of this year, explaining the engine functions set, the way how prediction and lag compensation works, the SDK additions GoldSrc got, the engine behavior mods rely on, so in theory some advanced Quake fork might be able to implement it without resorting to reading decompiled code.
In the future, I want to be able to use this to drop Xash3D dependency on proprietary Half-Life SDK header files.
It is published at https://github.com/FWGS/xash3d-fwgs/tree/apidocs/Documentation/api
👍3
Потихоньку начал писать документацию по API голдсорса, выученного по коду Xash3D, Half-Life SDK и куче декомпила.
(Технический писатель из меня так себе, но вы всё равно можете поддержать меня на Boosty, ссылка в описании группы)
Пока что ничего кроме описания экспортов и порядка инициализации client.dll не описано, но я планирую за этот год превратить это в полноценную книгу, объясняя функции движка, работу предиктинга, прочие обновления SDK, поведение движка на которое полагаются моды, чтобы в теории какой-нибудь продвинутый форк Quake мог сделать свою реализацию без оглядки на сдекомпилированный код.
В будущем, я бы хотел этим воспользоваться чтобы заменить им проприетарные заголовочные файлы, которые сейчас использует Xash3D.
Опубликовано в https://github.com/FWGS/xash3d-fwgs/tree/apidocs/Documentation/api
(Технический писатель из меня так себе, но вы всё равно можете поддержать меня на Boosty, ссылка в описании группы)
Пока что ничего кроме описания экспортов и порядка инициализации client.dll не описано, но я планирую за этот год превратить это в полноценную книгу, объясняя функции движка, работу предиктинга, прочие обновления SDK, поведение движка на которое полагаются моды, чтобы в теории какой-нибудь продвинутый форк Quake мог сделать свою реализацию без оглядки на сдекомпилированный код.
В будущем, я бы хотел этим воспользоваться чтобы заменить им проприетарные заголовочные файлы, которые сейчас использует Xash3D.
Опубликовано в https://github.com/FWGS/xash3d-fwgs/tree/apidocs/Documentation/api
GitHub
xash3d-fwgs/Documentation/api at apidocs · FWGS/xash3d-fwgs
Xash3D FWGS engine. Contribute to FWGS/xash3d-fwgs development by creating an account on GitHub.
👍5❤1
To combat an old Half-Life bug with cut-off dlights on overly scaled textures, I've introduced a radius multiplier for dynamic lights, so we can enable lighting on the neighbor surfaces as well.
This however has a problem by actually lighting up too many surfaces that do not receive any lighting, potentially hurting the performance.
... Until I found a fix for that in JoeQuake, which seems has been taken from FitzQuake, which attributes LadyHavoc, best known for DarkPlaces engine. It exactly checks whether the surfaces receive any lighting or not, which turned out to be perfect for my case here.
Below are comparison screenshots. The surfaces that are marked for lighting by flashlight are highlighted with red color.
This however has a problem by actually lighting up too many surfaces that do not receive any lighting, potentially hurting the performance.
... Until I found a fix for that in JoeQuake, which seems has been taken from FitzQuake, which attributes LadyHavoc, best known for DarkPlaces engine. It exactly checks whether the surfaces receive any lighting or not, which turned out to be perfect for my case here.
Below are comparison screenshots. The surfaces that are marked for lighting by flashlight are highlighted with red color.
Чтобы побороть древний баг Half-Life с обрезанными динамическими источниками света на масштабированных текстурах, я добавил параметр множителя радиуса у этих источников света, чтобы пометить для освещения и соседние поверхности.
Однако, такое простое решение имеет крайне серьёзный недостаток, естественно для освещения помечается слишком много поверхностей, потенциально ухудшая производительность.
И такое исправление я бы не добавлял, если в процессе исследования исходного кода JoeQuake я не нашел исправление этого недостатка, которое видимо перетекло из FitzQuake, который в свою очередь приписывает авторство LadyHavoc, разработчике DarkPlaces. Нехитрой математикой они ещё в функции отмечающей поверхности для освещения проверяют насколько они действительно освещены, что идеально подошло для моего случая.
В посте выше прикреплены скриншоты для сравнения. Поверхности отмеченные для освещения этой функции специально выделены красным.
Однако, такое простое решение имеет крайне серьёзный недостаток, естественно для освещения помечается слишком много поверхностей, потенциально ухудшая производительность.
И такое исправление я бы не добавлял, если в процессе исследования исходного кода JoeQuake я не нашел исправление этого недостатка, которое видимо перетекло из FitzQuake, который в свою очередь приписывает авторство LadyHavoc, разработчике DarkPlaces. Нехитрой математикой они ещё в функции отмечающей поверхности для освещения проверяют насколько они действительно освещены, что идеально подошло для моего случая.
В посте выше прикреплены скриншоты для сравнения. Поверхности отмеченные для освещения этой функции специально выделены красным.
👍3
Starting today, Xash3D FWGS master servers located at ms.mentality.rip:27010, ms2.mentality.rip:27010 and ms3.mentality.rip:27010 do not accept servers from versions older than 0.19.2.
Soon it will be reduced to 0.19.4 (tyabus's old engine fork), and after that, all servers running on 48 protocol won't be allowed anymore.
==============================
Начиная с сегодня, мастер-сервера Xash3D FWGS размещенные по адресам ms.mentality.rip:27010, ms2.mentality.rip:27010 и ms3.mentality.rip:27010 больше не принимают сервера с версией старее 0.19.2.
Вскоре минимальная версия для сервера поднимется до 0.19.4 (форка старого движка от tyabus) и в будущем все сервера на 48-ом протоколе будут запрещены.
Soon it will be reduced to 0.19.4 (tyabus's old engine fork), and after that, all servers running on 48 protocol won't be allowed anymore.
==============================
Начиная с сегодня, мастер-сервера Xash3D FWGS размещенные по адресам ms.mentality.rip:27010, ms2.mentality.rip:27010 и ms3.mentality.rip:27010 больше не принимают сервера с версией старее 0.19.2.
Вскоре минимальная версия для сервера поднимется до 0.19.4 (форка старого движка от tyabus) и в будущем все сервера на 48-ом протоколе будут запрещены.
👍5😢2❤🔥1
As an experiment, minimum client version requirement on our master servers has been increased to 0.19.4 (tyabus's old engine fork).
All users are advised to upgrade to latest engine version available at GitHub: https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous
============================
В качестве эксперимента, требование к минимальной версии клиента было повышено до 0.19.4 (форк старого движка от tyabus).
Всем пользователям рекомендуется обновиться до последней версии движка доступной на GitHub: https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous
All users are advised to upgrade to latest engine version available at GitHub: https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous
============================
В качестве эксперимента, требование к минимальной версии клиента было повышено до 0.19.4 (форк старого движка от tyabus).
Всем пользователям рекомендуется обновиться до последней версии движка доступной на GitHub: https://github.com/FWGS/xash3d-fwgs/releases/tag/continuous
🔥8😢5❤3👏1
Не совсем про разработку, тем более мне пока некогда заниматься чем-то крупным, но всё-таки не могу не поделиться этим проектом.
Ребята сделали порт уже на основе нового движка, и хотя он отстает от апстрима на три года, все равно играется довольно неплохо. К тому же есть даже уникальные фичи, типа асинхронной загрузки ресурсов. Сорцов, в отличии от, тоже не пожалели: https://github.com/okhmanyuk-ev/customized-xash3d
Ребята сделали порт уже на основе нового движка, и хотя он отстает от апстрима на три года, все равно играется довольно неплохо. К тому же есть даже уникальные фичи, типа асинхронной загрузки ресурсов. Сорцов, в отличии от, тоже не пожалели: https://github.com/okhmanyuk-ev/customized-xash3d
GitHub
GitHub - okhmanyuk-ev/customized-xash3d: Xash3D FWGS engine
Xash3D FWGS engine. Contribute to okhmanyuk-ev/customized-xash3d development by creating an account on GitHub.
❤🔥4👀2
Forwarded from Пятьдесят Четвёртый 🎮
HALF-LIFE 🎮 : Deathmatch в браузере
Сегодня мы с командой DosZone Team со всей любовью и радостью представляем долгожданное возвращение доработанной браузерной версии классического динамичного шутера HALF-LIFE: Deathmatch. Мультиплеер без заморочек теперь доступен везде и всем!
ИГРАТЬ В HALF-LIFE: Deathmatch🕹
Заходим по ссылке, пишем никнейм, выбираем сервер и сразу в бой!
Особенности проекта:
- Проект полностью сохранил дух оригинала предлагая фанатам чистый экшен без компромиссов, а уважение к наследию серии чувствуется в каждой детали
- Более 10 серверов с аренами до 32 игроков
- Знаменитые карты, такие как Crossfire, Stalkyard и Bounce
- Система достижений
- Рейтинговая таблица лучших игроков
- Работает в браузерах на Windows, Linux, MacOS, iOS и Android
- Сетевые битвы доступны без регистраций, смс, рекламы и прочей не прикольной фигни
Залетаем с двух ног отстреливать админа 🫡
Сегодня мы с командой DosZone Team со всей любовью и радостью представляем долгожданное возвращение доработанной браузерной версии классического динамичного шутера HALF-LIFE: Deathmatch. Мультиплеер без заморочек теперь доступен везде и всем!
ИГРАТЬ В HALF-LIFE: Deathmatch
Заходим по ссылке, пишем никнейм, выбираем сервер и сразу в бой!
Особенности проекта:
- Проект полностью сохранил дух оригинала предлагая фанатам чистый экшен без компромиссов, а уважение к наследию серии чувствуется в каждой детали
- Более 10 серверов с аренами до 32 игроков
- Знаменитые карты, такие как Crossfire, Stalkyard и Bounce
- Система достижений
- Рейтинговая таблица лучших игроков
- Работает в браузерах на Windows, Linux, MacOS, iOS и Android
- Сетевые битвы доступны без регистраций, смс, рекламы и прочей не прикольной фигни
Залетаем с двух ног отстреливать админа 🫡
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤2
Как и планировалось ранее на осень, ограничил на ms.mentality.rip и ms2.mentality.rip все сервера и клиенты ниже версии 0.21.
Удаление поддержки 48-ого протокола запланировано на эту зиму.
Удаление поддержки 48-ого протокола запланировано на эту зиму.
Вообще, давно я тут ничего не писал, да и не сказать что последнее время есть возможность что-то делать по движку, в основном все сделано, протестировано и отлажено нашими как старыми, так и новыми, контрибьютерами:
Из недавнего:
* Задокументировал out-of-band часть протокола: https://github.com/FWGS/xash3d-fwgs/blob/master/Documentation/protocol/02-connectionless.md
* Движок теперь умеет монтировать _hd, _lv, _addon и папки с локализацией.
* В режиме совместимости с GoldSrc протоколом исправлен dproto, работает голосовой чат и кастомные лого.
* Включена по умолчанию поддержка ffmpeg в Windows и Linux x86 сборках. Поддержка опциональная, движок будет работать и при отсутствии дллок ffmpeg
Из недавнего:
* Задокументировал out-of-band часть протокола: https://github.com/FWGS/xash3d-fwgs/blob/master/Documentation/protocol/02-connectionless.md
* Движок теперь умеет монтировать _hd, _lv, _addon и папки с локализацией.
* В режиме совместимости с GoldSrc протоколом исправлен dproto, работает голосовой чат и кастомные лого.
* Включена по умолчанию поддержка ffmpeg в Windows и Linux x86 сборках. Поддержка опциональная, движок будет работать и при отсутствии дллок ffmpeg
GitHub
xash3d-fwgs/Documentation/protocol/02-connectionless.md at master · FWGS/xash3d-fwgs
Xash3D FWGS engine. Contribute to FWGS/xash3d-fwgs development by creating an account on GitHub.
🔥7❤3
Forwarded from XashNT (Михаил Александрович)
Новый трейлер легендарного долгостроя в жанре post-apocalyptic action от Креозота. Игра разрабатывается на Xash3D FWGS.
https://youtu.be/np1ev4dfJEA
https://youtu.be/np1ev4dfJEA
YouTube
IONIZATION - Announcement Trailer
Stand-alone Half-Life mod - Early Access is available now for free.
moddb.com/games/ionization/downloads/ionization-free-early-access-version-102-engrus
Oktyabrsk, a once-closed town that served as the cradle of scientific and military elites, is now in…
moddb.com/games/ionization/downloads/ionization-free-early-access-version-102-engrus
Oktyabrsk, a once-closed town that served as the cradle of scientific and military elites, is now in…
🔥7👀2❤🔥1
Forwarded from Aynekko
Мод вышел: https://www.moddb.com/mods/diffusion
ModDB
Diffusion mod for Half-Life
You, James Smith (served in SWAT for a decade with no failed ops), on vacation and driving your car to some nice place, to take a break from your usual work routines. Driving on a deserted road somewhere in Utah, the car breaks down. With miles of nothing...
👀1
Forwarded from $_Vladislav's Blog
После долгих лет разработки Diffusion наконец-то вышел!
И это не очередная короткая демка, перед нами действительно полноценная игра, работающая на Xash3D FWGS, не требующая установки Half-Life.
Вы играете за Джеймса Смита, бывшего бойца SWAT, который отправился в отпуск… но его машина сломалась посреди пустынной местности штата Юта.
В поисках помощи герой находит заброшенный перерабатывающий завод и очень быстро понимает, что место это совсем не такое, каким кажется.
Автор проекта - Богдан Макаров (Aynekko), который в одиночку вытащил гигантский хобби-проект, сделав настоящую тотал-конверсию с собственной историей, картами, моделями и атмосферой.
Что внутри:
Полноценная одиночная кампания на 8–12 часов.
Deathmatch-мультиплеер со своими картами и ботами.
Автор использует часть моделей и текстур, найденных в свободном доступе, но открыт к корректировкам и и указаниям авторства.
Игра доступна только на ПК с Windows и Linux.
Страница на ModDB: https://www.moddb.com/mods/diffusion
И это не очередная короткая демка, перед нами действительно полноценная игра, работающая на Xash3D FWGS, не требующая установки Half-Life.
Вы играете за Джеймса Смита, бывшего бойца SWAT, который отправился в отпуск… но его машина сломалась посреди пустынной местности штата Юта.
В поисках помощи герой находит заброшенный перерабатывающий завод и очень быстро понимает, что место это совсем не такое, каким кажется.
Автор проекта - Богдан Макаров (Aynekko), который в одиночку вытащил гигантский хобби-проект, сделав настоящую тотал-конверсию с собственной историей, картами, моделями и атмосферой.
Что внутри:
Полноценная одиночная кампания на 8–12 часов.
Deathmatch-мультиплеер со своими картами и ботами.
Автор использует часть моделей и текстур, найденных в свободном доступе, но открыт к корректировкам и и указаниям авторства.
Игра доступна только на ПК с Windows и Linux.
Страница на ModDB: https://www.moddb.com/mods/diffusion
👍8