How To Make Aim Assist (and a security question to go along with it)

Hello, everyone!

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.

Thanks for any advice on this topic! :slight_smile:

4 Likes

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.

4 Likes

Good point, Kampfkarren. :slight_smile:

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)

A bit shaky on this, but you could probably use Camera:ViewportPointToRay to do that.

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.

Wouldn’t this cause network issues? I’d constantly be sending over the mouse.hit location.

I think it would be better to have it be on the client, so it’s 100% accurate of the time, unless Player 1 or Player 2 are lagging.

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.

3 Likes

Alright. :slight_smile:

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.

1 Like

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.

2 Likes

That sounds like a better & easier idea to do. :slight_smile:

I consider aim assist to be a great weapon against aimbotters because it puts normal players on a more level playing field to aimbotters.

Given that we’re talking about guns here, there’s always the trivial way of abusing the game, that is, standard aimbot.

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.

2 Likes