Black Player: WASD keys Red Player: Arrow keys I couldn't get the camera to set itself to the average x and y position between the 2 players because of multiple collision errors and seemingly unsolvable bugs. Although I am proud of the version I currently made where it follows the black player mainly and teleports the red player or pushes when it tries to run off screen.
Possibly for a bigger project. The players are NOT equals and the black player has camera priority, as the red just follows. This game contains set-position scripts instead of change-positions, so adding more levels (as clones) is now easy and possible. I used costume bolts to get the sprites to go off-screen (1-pixel big invisible dots on all 4 corners like nails putting up something) and has basic wall, ground, ceiling collisions (and more interactive collisions to prevent screen crushing of the second player) Another thing I added though was an advanced jumping system, instead of setting y-velocity to 12, players will have 4+ y added for every frame you hold down jump, max is 4 frames. Also added coyote time to the jump script, so it's less annoying when jumping off ledges. Coyote time has a 4-frame timer when you are no longer making contact with direct ground. once you been in the air for more than 4 frames, you can't initiate a jump/coyote-jump. I was worried about the red player returning to black having collision bugs, as it is completely separate from the other scripts, but I'm certain it won't cause future problems because the red player always travels to (0,0) and stops when the |x| and |y| coordinates are both under 2, then on top of that it snaps the red player to (0,0) and sets all of its physics variables to default values.