Giter Club home page Giter Club logo

yetanotherzombiehorror's Introduction

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


GitHub deployments GitHub Workflow Status (branch) GitHub repo size GitHub package.json version GitHub

Download

git clone https://github.com/UstymUkhman/YetAnotherZombieHorror.git

cd YetAnotherZombieHorror

pnpm i

Develop

pnpm run setup

pnpm start:web

pnpm start:app

Lint

pnpm lint:js

pnpm lint:css

Build

pnpm build:web

pnpm build:app

pnpm serve:web

Distribute

pnpm pack:app

  • Linux: pnpm dist:app -l

  • Windows: pnpm dist:app -w

Settings

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.

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:

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

yetanotherzombiehorror's People

Contributors

dependabot[bot] avatar ustymukhman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

yetanotherzombiehorror's Issues

Update Menu Screen

Add menu scene with idling enemy.
Move camera on transition to / from the Settings screen.
Move AudioScene & LevelScene to scenes folder.
Make the enemy scream on play.

Precompute Rifle Coordinates

Create a configurable array (10 as default) of pre-calculated LevelCoords on game load to randomly spawn rifle and prevent freezing during gameplay.

Add Settings Screen

Create Settings manager to read / write custom data to local storage (IndexedDB).
Create configurable Settings menu screen to save / reset custom game settings.
Add and describe Settings section and options in Readme.

Change Weapon Event

Add change weapon event on mouse wheel:

  • Wheel Up -> Previous Weapon
  • Wheel Down -> Next Weapon

Update Readme Controls table.

Small Changes to Existing Functionalities

  • Update default environment settings & Readme description
  • Add custom mouse pointer SVG icon based on favicon
  • Update Pause screen with Continue & Menu buttons
  • #33
  • Update camera position in non-aiming TPS mode

cannot build/run because of missing assets file

Hi,

looks like the assets dir is empty?

ERROR in ./src/characters/Enemy.js
Module not found: Error: Can't resolve '@/assets/characters/enemy.glb' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/characters'
 @ ./src/characters/Enemy.js 12:0-51 35:81-87 45:81-87
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

ERROR in ./src/characters/Enemy.js
Module not found: Error: Can't resolve '@/assets/characters/enemy.json' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/characters'
 @ ./src/characters/Enemy.js 11:0-52 35:89-95 45:89-95
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

ERROR in ./src/characters/Player.js
Module not found: Error: Can't resolve '@/assets/characters/player.glb' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/characters'
 @ ./src/characters/Player.js 8:0-52 29:80-86
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

ERROR in ./src/characters/Player.js
Module not found: Error: Can't resolve '@/assets/characters/player.json' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/characters'
 @ ./src/characters/Player.js 7:0-53 29:88-94
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

ERROR in ./src/weapons/Pistol.js
Module not found: Error: Can't resolve '@/assets/weapons/1911.glb' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/weapons'
 @ ./src/weapons/Pistol.js 6:0-47 24:80-86
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

ERROR in ./src/weapons/Pistol.js
Module not found: Error: Can't resolve '@/assets/weapons/1911.mp3' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/weapons'
 @ ./src/weapons/Pistol.js 7:0-46 37:34-39
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

ERROR in ./src/weapons/AK47.js
Module not found: Error: Can't resolve '@/assets/weapons/AK47.glb' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/weapons'
 @ ./src/weapons/AK47.js 6:0-46 24:78-83
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

ERROR in ./src/weapons/AK47.js
Module not found: Error: Can't resolve '@/assets/weapons/AK47.mp3' in '/home/arpu/Work/githubsources/another-dumb-zombie-game/src/weapons'
 @ ./src/weapons/AK47.js 7:0-46 38:34-39
 @ ./src/managers/Game.js
 @ ./src/ui/Game.svelte
 @ ./src/main.js

Add Weapon Light

Add pulsing light to AK-47 when it's spawned on stage.
Add weapon on player's back when it's picked and not equipped.

build problem with shaders

Hey,

this looks awesome, on first test i get

[vite-plugin-glsl] ENOENT: no such file or directory, open '/home/arpu/Work/githubsources/YetAnotherZombieHorror/src/taylorInvSqrt.glsl'
file: /home/arpu/Work/githubsources/YetAnotherZombieHorror/src/shaders/fog/main.frag
error during build:
Error: ENOENT: no such file or directory, open '/home/arpu/Work/githubsources/YetAnotherZombieHorror/src/taylorInvSqrt.glsl'
    at Object.openSync (fs.js:476:3)
    at Object.readFileSync (fs.js:377:35)
    at /home/arpu/Work/githubsources/YetAnotherZombieHorror/node_modules/vite-plugin-glsl/dist/loadShaders.js:51:35
    at String.replace (<anonymous>)
    at loadChunk (/home/arpu/Work/githubsources/YetAnotherZombieHorror/node_modules/vite-plugin-glsl/dist/loadShaders.js:41:25)
    at /home/arpu/Work/githubsources/YetAnotherZombieHorror/node_modules/vite-plugin-glsl/dist/loadShaders.js:51:20
    at String.replace (<anonymous>)
    at loadChunk (/home/arpu/Work/githubsources/YetAnotherZombieHorror/node_modules/vite-plugin-glsl/dist/loadShaders.js:41:25)
    at /home/arpu/Work/githubsources/YetAnotherZombieHorror/node_modules/vite-plugin-glsl/dist/loadShaders.js:51:20
    at String.replace (<anonymous>)

any idea ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.