PlaceholderGames / 2122-yr2-team-5

CS2S561 2021/22 Team 5
0 stars 0 forks source link

Guide for Basic Level Design #20

Open Bitheral opened 2 years ago

Bitheral commented 2 years ago

Level structure

The structure of the level should be as follows (If unsure about layout - Check "map v2", or ask @Bitheral )

Level
├───TrafficLightNodes
│   └───Point lights
├───Walls
│   └───...
├───Furniture
│   └───...
├───Rooms
│   └───Room Names...
│       └───Collectables...
├───Lighting
│   ├───Reflection Probes...
│   └───Light probe
├───Ceiling
└───Floor

Essential game objects

Every level should have the basic gameobjects - followed by the scripts to bind:

These objects, plus a few others will be prefabs in the next commit by @Bitheral, so ensure you use the prefabs as soon as they are available.

Static objects

Any gameobject that should not move during runtime, for example, walls, floor, ceiling and furniture, should be marked as "Static" (Next to name field), this is so that when it comes to baking lighting and occlusion, everything looks as intended. Ensure that these objects have a collider binded to them.

These objects should also be on the layer "Static" (Ignore this step if the object is a floor or ceiling)

Interactable objects / Collectables

Any gameobject that will be able to be collected by the player must be on the "Interactive" layer and must have either a Primitive Collider script or Mesh Collider script attached to it, and its children - A mesh collider script must only be used if the geometry doesn't match any primitive colliders (Box, Sphere, Capsule, Cylinder)

⚠️ Due to current collection scripting, the interactive layer is still in use for interacting with the collectables. This may change later on after refactoring collection scripts ⚠️

Level floor & level ceiling

The level's floor should be on "Ground" layer, to give the player the ability to jump. The level ceiling should be on "IgnoreView" layer.

⚠️ Due to currently how the minimap works, the minimap will not work as intended for buildings with more than 1 floor. This feature will be worked on when a level that has 2 floors has been added to the game ⚠️

Bitheral commented 2 years ago

I have created prefabs for the UI and GameManager and they have been pushed to the main branch!

To import these prefabs into your branch, create a new pull request (Look at video titled "Pull request demonstration"). This will let me be able check the pull before possibly messing up the branch, you're working on If you are confident in knowing what you are doing, you can simply just merge using git

Once the prefabs are imported into your branch, follow the video titled "Creating a level"

Pull request demonstration

⚠ When selecting the branch for "Base", ensure this is the branch you're currently working on ⚠

https://user-images.githubusercontent.com/11707193/143292596-0b1ef715-182b-43d6-a78f-eb87776790d4.mp4

Creating a level

https://user-images.githubusercontent.com/11707193/143293789-3fce9627-941d-41c3-bbec-5a319d9922b6.mp4