Yet Another Zombie Horror
or simply YAZH [jɑːʒ], is a first / third person zombie survival shooter.

Download
git clone https://github.com/UstymUkhman/YetAnotherZombieHorror.git
cd YetAnotherZombieHorror
pnpm i
Develop
pnpm run setup # Config physics engine and compile shaders
pnpm start:web # Run in development in a default browser
pnpm start:app # Run in development in Electron application
Lint
pnpm lint:js # TS, JS and Svelte files
pnpm lint:css # SCSS, CSS and Svelte files
Build
pnpm build:web # Build for browsers
pnpm build:app # Build as Electron app
pnpm serve:web # Preview builded web version
Distribute
pnpm pack:app
pnpm dist:app -l # for Linux, or:
pnpm dist:app -w # for Windows desktops
Controls
Action |
Desktop |
Move Forward |
W |
Move Left |
A |
Move Backward |
S |
Move Right |
D |
Run |
Left Shift |
Shoot |
Mouse Left Button |
Aim |
Mouse Right Button |
Previous Weapon |
Q or Mouse Wheel Up |
Next Weapon |
E or Mouse Wheel Down |
Reload |
R |
Change Camera |
C |
Change Shoulder |
V |
Settings
Physics
Option |
Type |
Default Value |
Engine |
"ammo" | "bvh" |
"bvh" |
Note: This option can only be changed manually in src/settings/physics.json
before launching the game. Every time this setting is updated, you will need to run pnpm run setup
in order to use the corresponding physics engine in here. If set to:
Visuals
Option |
Type |
Default Value |
Description |
Bullet |
Boolean |
true |
Whether there will be visible projectile meshes. Setting this to false may lead to slightly better performance. |
Bullet Path |
Boolean |
false |
Whether there will be visible bullet's trajectory from the barrel of the weapon to the projectile. Setting this to true may lead to slightly worse performance on low-end devices. |
Bullet Holes |
Boolean |
false |
Whether there will be visible bullets holes on buildings, walls and ground. Setting this to true may lead to slightly worse performance on low-end devices. |
Fog |
Boolean |
true |
Whether there will be fog on the level. |
Volumetric Fog |
Boolean |
false |
Whether to use Volumetric Fog instead of the exponential squared on the level. Setting this to true will lead to worse performance on low-end devices. Can be true only if fog is true . |
Raining |
Boolean |
true |
Whether it will be raining on the level. Setting this to false will lead to better performance. |
Raindrops |
Boolean |
false |
Whether there will be an overlay of raindrops on the camera. Setting this to true will lead to slightly worse performance on low-end devices. Can be true only if raining is true . |
Soft Particles |
Boolean |
false |
Whether to use Soft Particles effect on raindrops on the level. Setting this to true may lead to slightly worse performance on low-end devices. Can be true only if raining is true . |
Clouds |
Number |
0 |
Amount of cloud sprites that will be covering the skybox. Incrementing this number may lead to slightly worse performance on low-end devices. Min value is 0 ; max value is 300 . |
Dynamic Clouds |
Boolean |
false |
Whether clouds will be rotating. Setting this to true may lead to slightly worse performance on low-end devices. Can be true only if clouds is greater than 0 . |
Lighting |
Boolean |
false |
Whether there will be lightning strikes on the level. Setting this to true may lead to slightly worse performance on low-end devices. Can be true only if clouds is greater than 0 . |
Physical Lights |
Boolean |
false |
Whether to use physically correct lighting mode. Setting this to true will lead to worse performance on low-end devices. |