/315pr1

Primary LanguageJavaScript

315pr1

placeholder repository for CENG315's final assignment.

Installing && Running

  1. Clone this repo to your computer.

  2. Install Node.js and NPM.

(Windows && MacOS)

https://nodejs.org/en/download/

(Ubuntu Linux)

https://linuxize.com/post/how-to-install-node-js-on-ubuntu-20-04/

3. cd into the project root.

cd 315pr1

4. Run the commands below to install dependencies.
npm install cannon-es
npm install parcel
npm install three

5. Start a local server using parcel.
npx parcel src/main.html --port 3000

CTRL + C to terminate it.
If localhost refused to connect, change the port and try again.

6. Open the generated http link in your browser.

7. ???

8. Profit!

Screenshots

Splash Screen Alt Game snippet 1 Alt Game snippet 2 (flung cube) Alt Death/loss screen Alt Win screen Alt

TODO

  • Establish Solid 2D Plane.
  • Get Camera and WSAD Movements.
  • Import 3D Models.
  • Implement Collision Logic.
  • TBD...

Group Members

  • 21050141038 Yousif Harith Suhail Suhail
  • 20050141056 Firuza Rahimova
  • 18050111038 Murat Ergin

Game Description

The game is set in a floating sandbox
The floor is filled with cats and spiders
The player is tasked with the objective of catching all the cats while avoiding the spiders
Failure to do so will result in a "Game Over" screen
Otherwise the Win Exit condition is satisfied

Tech

Three.js and Cannon.js were used to create the sandbox
Cat and Spider models were created personally
Several other assests were found online along with their respective (albedo, roughness, metallic, normal,...) maps
A seamless skybox was used
HemiSphericLight and Spotlight are used to illuminate the world
Entities and Surface objects have fully-integrated physics systems courtesy of Cannon.js
Debug mode showing the wireframe hitbox of entities is included for funsies