w23 / xash3d-fwgs

Vulkan Ray Tracing fork of Xash3D FWGS engine. Intended to be merged into master at some point in the future.
160 stars 16 forks source link
half-life path-tracing raytracing rtx vulkan

Vulkan plus Ray Tracing (RTX) temporary fork of Xash3D FWGS engine

GitHub Actions Status

TL;DR

Current status

Follow development

This project is 99% developed live on stream. I'm not a graphics programmer, and have no idea what I'm doing. I'm essentially learning Vulkan, game engine renderer development, linear algebra, and ray tracing techniques while getting hands dirty with this. This is all for your amusement.

You can watch me making a fool of myself publicly here:


Regular upstream Xash3D README.md follows.


Xash3D FWGS Engine Xash3D FWGS icon

GitHub Actions Status FreeBSD Build Status Discord Server \ Download Stable Download Testing

Xash3D FWGS is a game engine, aimed to provide compatibility with Half-Life Engine and extend it, as well as to give game developers well known workflow.

Xash3D FWGS is a heavily modified fork of an original Xash3D Engine by Unkle Mike.

Donate

Donate to FWGS button \ If you like Xash3D FWGS, consider supporting individual engine maintainers. By supporting us, you help to continue developing this game engine further. The sponsorship links are available in documentation.

Fork features

Installation & Running

0) Get Xash3D FWGS binaries: you can use testing build or you can compile engine from source code. 1) Copy engine binaries to some directory. 2) Copy valve directory from Half-Life to directory with engine binaries. If your CPU is NOT x86 compatible or you're running 64-bit version of the engine, you may want to compile Half-Life SDK. This repository contains our fork of HLSDK and restored source code for some of the mods. Not all of them, of course. You still needed to copy valve directory as all game resources located there. 3) Run the main executable (xash3d.exe or AppImage).

For additional info, run Xash3D with -help command line key.

Contributing

Build instructions

We are using Waf build system. If you have some Waf-related questions, I recommend you to read https://waf.io/book/

NOTE: NEVER USE GitHub's ZIP ARCHIVES. GitHub doesn't include external dependencies we're using!

Prerequisites

If your CPU is x86 compatible, we are building 32-bit code by default. This was done to maintain compatibility with Steam releases of Half-Life and based on it's engine games. Even if Xash3D FWGS does support targetting 64-bit, you can't load games without recompiling them from source code!

If your CPU is NOT x86 compatible or you decided build 64-bit version of engine, you may want to compile Half-Life SDK. This repository contains our fork of HLSDK and restored source code for some of the mods. Not all of them, of course.

Windows (Visual Studio)

GNU/Linux

Debian/Ubuntu

$ sudo dpkg --add-architecture i386

Building

Windows (Visual Studio)

0) Open command line 1) Navigate to xash3d-fwgs directory. 2) Carefully examine which build options are available: waf --help 3) Configure build: waf configure -T release --sdl2=c:/path/to/SDL2 4) Compile: waf build 5) Install: waf install --destdir=c:/path/to/any/output/directory

Linux

If compiling 32-bit on amd64, you may need to supply export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig prior to running configure.

0) Examine which build options are available: ./waf --help 1) Configure build: ./waf configure -T release (You need to pass -8 to compile 64-bit engine on 64-bit x86 processor) 2) Compile: ./waf build 3) Install(optional): ./waf install --destdir=/path/to/any/output/directory