*** This is a prototype so expect some bugs. Also, if it is not running well in browser try the windows build ***
P.S. It also looks better on windows
Controls & Notes:
• Movement: WASD
• Jump: Space
• Shoot: Left Click
• Start placing tower: 1, 2, 3, 4
• Toggle overview: Tab
• This is multiplayer; grab a coworker and play this!!! It does work fine single player though.
• There are some networking bugs such as gameplay desyncing and with packet loss. (Also we didn't have time to handle players leaving so if a player leaves it can cause issues). This was a four week prototype after all lol
Some Troubleshooting tips for the browser version:
• To pause the game, you will likely have to press escape multiple times (it's a webGL issue unfortunately)
• If the game isn't letting you turn completely click the screen (happens when exiting the game player in webGL)
• If aiming feels laggy, reduce the sensitivity. This happens at low frame rates with high sens
• If the game has low frame rates, try a different browser like OperaGX
• Download the windows version if you are experiencing too many issues in the web version
Designed and implemented our tower system
To create this I used object-oriented programming to create an inheritance structure for towers. A building base class then then expands into attack towers, debuff towers (a subclass of attack towers), and blockings towers. This makes it super easy to add more towers while also allowing me to make changes to the base tower placing for all of them.

Place towers in first person

Place towers in overview
Networked gameplay and our lobby system
I handled the networking for our game which includes syncing health states of enemies/towers/the base, enemy movement, towers, etc. I also created our lobby system to display open lobbies to players.

Networking towers, players, and enemies

Lobby system
Added shaders and effects to sell our various mechanics
For this, I added a dissolve shader when placing towers, a shader for the tower preview (both valid and invalid), and created attack effects for the towers (lightning, ice, fire).

Ice tower effect

Lightning shooting at enemies

Fire tower

Wall blocking enemies with dissolve shader
Handled player movement and the player attack
For the player movement I just reused the Cybershot (another project of mine) base movement and modified it to fit our game better. I also handled the player attack to have a mana cooldown feature. This was to give players a way of feeling impactful by spamming a bunch of shots at once but then having to wait for it to recharge.

Player attacking

Player movement
Assisted with our enemy path finding and attacks
I created a simple way point system for our enemies to follow, made a way for it to detect wall towers, and handled it attacking the base.