There are a few features that you can utilise in order to make this game better:
-
You may want to use FastCast to simulate your projectile instead of using parts. Parts deend a lot on physics and it might not be suitable for a large amount of projectiles. Using fastcast may increase your performance
Making a combat game with ranged weapons? FastCast may be the module for you! -
You can move more of your actions to the client side so it is less stress for the server, more-over this is probably a single player game at the moment. For example, you can make all the models render at client only.
-
You can try to animate the plants as well or give them skinned mesh
there is one problem that i have encountered: the feedback of this game is not strong enough to make the player feel immersed. You can try to improve on the sound design or utilise particles to make the interactions feel immersive.
Do look into other games if you want to improve yourself.
This is another PVZ gme that you might want to look to in order to improve your own game.
https://www.roblox.com/games/6575728387/Robloxians-VS-Zombies-1-061