Folder Structure

The following shows the directory structure of the game application after the application was created. Note that, dist/ will not created until you run the npm run build command.

- .git/ - the folder initialized for usage by git
- assets/ - contains the assets for the game
- dist/ - created when you build the application. Used to distribute the app
- node_modules/ - contains the node modules used by your app
- src/ - the src folder of you game
-level1 - the folder for the game level
- camera/ - classes related to camera
- gameplays/ - gameplay objects to create interactions
- collectible/ - contains classes to create collectibles
- gui/ - basic user interface for the game
- inventory/ - classes and configuration to create inventory
- light/ - classes to create and manage lights for the scene
- player/ - classes to create and manage player character
- skybox/ - classes to create and manage skyboxes
- terrain/ - classes and configuration to create terrain
- Gamelevel.ts - The component representing the game level
- index.ts - the script that creates the application object and starts the game
- .gitignore - specifies the files/folders ignored by git
- index.html - the main html file where game is hosted
- package.json - the package.json file for your app
- - Just a readme file for your game
- tsconfig.json - configuration for typescript
- webpack-config.js - cofiguration for webpack

Most of your work will be restricted to the src/ and assets/ folder. Note that a subfolder is created under the src/ folder for every level of the game. If you add additional levels to the game, you will see subfolders named level2, level3 etc. You game level names need not be level1, level2 but any other name you like. The level name should not contain spaces and should have only alphanumeric characters.