I’m wanting to make my game, Redshift: Arena, more enjoyable for console players, and I’m wondering how I can create Aim Assist, and by extension, prevent exploiters from creating aimbots using said Aim Assist.
You’re going to hold yourself back if you focus on this. Hackers will create aimbots whether the feature exists or not. It’s better to just focus on adding aim assist rather than thinking about what hackers will do with it.
As for aim assist, don’t most games just have a ring around your crosshair that locks on if a target is within range of it? You should be able to do that on the client pretty easily.
And while it might be fairly easy to create aim assist, I’m not entirely sure where to start.
I’m thinking about using mouse.Hit and go from there. Is there a way to convert the Mouse’s 2D position to a Vector3 (to detect the distance between the enemy character and the mouse)
You don’t need to do the math on the client. If you do then the client can abuse it. Send whatever information you would need to the server and have the server pretend they were more accurate.
Sending a few bytes every time someone clicks won’t cause network problems. You already are sending information to the server anyway to replicate the shots. The only downside is that the client would need to plot the trajectory of the bullet before the aiming calculation has been done, but you can solve that by displaying the bullet as following the path that it would take if it were aimed perfectly. If you do this, though, then the math has been solved and is available to the client, so manipulating it into an aimbot is possible, but anyone willing to do that could have just done the math themselves.
I’m planning on having two separate things: Bullet Magnetism and Aim Assist. Bullet Magnetism would basically just create a bigger hitbox around the player model, while Aim Assist would bring the player’s mouse to the HumanoidRootPart or Head, depending on what is closer to their mouse.
I have Bullet Magnetism, I’m just not sure about how to do the bullet magnetism to be entirely honest.
I personally find aim assist that just ‘locks’ onto an enemy in games to be a bit cheaty - sort of like a mini aimbot.
Another method you could try and do is reduce the aim sensitivity whilst looking at an enemy, this could help give console players a better chance against M/KB while not making it unfair.
Yes but there will still be latency. It is not ideal to send user input to the server that requires instant feedback and could otherwise be handled on the client.