ofb/level-designing-from-sammy.md

32 lines
2.1 KiB
Markdown
Raw Normal View History

# Level Designing with the way I set things up lol
These are the say that I have set things up, just for consistency. If it sucks or isn't something that we can actually consistently upkeep, feel free to do whatever but just make sure we're all on the same page so the systems work correctly!
(Updated 4/21/23)
## Importing pixel art assets
Make sure to change the filter to *Point (No Filter)* to prevent sprites from being blurry!
## Player
Shouldn't really need to touch the player, I know the scale is small but that will be fixed later. Movement updates still to come as well.
The PlayerController has movement, the *PlayerBehavior* script is where mechanics should go.
BUT if you do make changes to the player, **Please override the prefab, as that's what's used to spawn a new player in if they die**
## Enemies
Use the enemies that already exist as templates, the `range` variable defines the patrol.
Make sure they all have the tag *enemy*.
## Tilemap / Walls
If using the builtin tilemap system, make sure the whole thing has the tag *wall*. I would also suggest looking at the way the tilemap is setup in the grapple scene for specifics on colliders, using the composite collider, and the variable settings on it in the inspector as well. The collider also has to be **manually generated** every time it is edited! This is done to make sure the composite collider is working properly.
Otherwise, make sure that walls / floors / ceilings have the tag *wall*
## Grapple Zones
Any surface that can be grappled to must have the tag *grappleSurface*, a box collider 2D that does not have a trigger, and a circle collider 2D that *is* a trigger that will define the radius where the player can grapple to said surface.
If using the tilemap, this should just be an empty object, but you can also just have an actual object with this tag.
## Death Zones
Death zones should be trigger colliders with the *instaDeath* tag.
## Spawn Points
Spawning system is a WIP, but they will probably just be objects with a trigger collider and the tag *spawnPoint* that will tell the StateController script to update the player's spawnpoint.