ofb/level-designing-from-sammy.md

2.1 KiB

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.