Hello everyone, I’m currently trying to make magic, specifically a fireball magic. But my problem is, even after some moderate research, I am still unsure about what method to use.
At first, I started using BodyVelocity, which worked, but I’ve read that it is really laggy to use. I considered TweenService, but people said that using it on the server is also demanding. And finally, I’ve considered raycasting, but I don’t think it would be effective on a fireball as it would be on a bullet.
Also, what should the client and the server handle? This fireball script of mine uses BodyVelocity but handles it all on the server and only the input is handled on the client.
I’ve read that the most effective way is to detect input on the client and fire the remote, then the server receives the remote and handles the hit detection and fires another remote to all the clients to replicate the projectile fired into their own. While I understand this concept, it still leaves me a lot of questions:
Do I need to move the projectile in the client, or both? If I do both, then would they sync up? If we only move the projectile on the client, how would the server handle the hit detection?
If anything, I would like the result of my fireball to be as smooth as Blox Fruit’s Saber Slash, but only smaller. So, to people who are experienced/have worked with magic projectiles/projectiles bigger than bullets, what’s the best way to create these projectiles?