Basic Level Blocking


Implemented a basic design for the game's first level, the lake, using Unity's built-in tilemapping system. The exact scale of the level will very likely be changed later once the game is actually somewhat playable, but the rough layout of the level will remain mostly similar.


As the image shows, the player spawns in the middle of the larger island, while enemies will spawn at the edges of the island instead. The flowers directly south of the player signify where a boss enemy will spawn, once a sufficient number of regular enemies have been defeated.

While not related to the week's main focus on level design, a portion of time this week was also spent on implementing the four main types of guns that will be usable in the game: handguns, shotguns, assault rifles, and revolvers. The scripts for all four guns were based off a modified PlayerShooting script from the tutorials.


The handgun shoots exactly towards the player's mouse, and has no cooldown between shots.


The shotgun fires four bullets at once in a fan shape in the direction of the player's mouse - this was achieved by adding a small float value to the rotation of each bullet.

The assault rifle continually fires bullets as long as the mouse button is held down.

The revolver has a mandatory half-second delay between shots, and players have to wait the entire duration regardless of if they're holding the mouse button or pressing it continuously - this was achieved using a coroutine that sets a 'shootingDelay' boolean value to true upon firing the gun, waits half a second, then sets it to false again.