This project is apart of my Computer Science course and is the final programming assessment. The task is to create a web or desktop game that supports multiplayer. I have decided to create a FPS game working with Three.JS. I am taking heavy inspiration from CS:GO for this project.
Documentation (generated with JSDoc)
To run this project, you will need to add the following environment variables to your .env file. Some of the values that I use in my project we need to be changed to suit your configuration.
FOMART: NAME
- my value for development
MYSQL_HOST
- localhost
MYSQL_DATABASE
- csc
MYSQL_USERNAME
- root
MYSQL_PASSWORD
- pass
MYSQL_PORT
- 3309
ENC_KEY
- crypto.randomBytes(16).toString('hex')
ENC_IV
- crypto.randomBytes(16).toString('hex')
EXPRESS_PORT
- 3000
WS_PORT
- 8999
NODE_ENV
- development
- Light/dark mode toggle
- Fullscreen mode
- Cross platform
If you have any feedback, please reach out to me at newfolderlocation@gmail.com
Todo: Websockets
-
More maps
-
More weapons
-
Skins
Clone the project
git clone https://github.com/s3ansh33p/Computer-Science-ATAR.git
Go to the project directory
cd Computer-Science-ATAR
Install dependencies
npm install
Start the server
npm run start
Note: I am running this on Linux RHEL 8 + NGINX so make sure that you have ssl configured if you are using the example .conf files. You can use certbot to get the letsencrypt certs.
certbot certonly -d yourwebsite
certbot certonly -d socket.yourwebsite
Client: ThreeJS, Bootstrap
Server: Node, Express, MySQL, NGINX
Languages: HTML, CSS, SCSS, JS, EJS, SQL