LiquidBounce icon indicating copy to clipboard operation
LiquidBounce copied to clipboard

[FEATURE] deep learning player movement prediction (for other players)

Open greyc45241 opened this issue 8 months ago • 5 comments

Describe your feature request.

this could be very useful for features like bow aimbot because it will just predict the movement of the player more accurately when there is enough traning

Additional context

No response

greyc45241 avatar Apr 02 '25 17:04 greyc45241

Why?

SuicidalEeper avatar Apr 02 '25 17:04 SuicidalEeper

I would say it's stupid to slap deep learning on everything, but for this use-case we might actually be able to predict movement with a good amount of data, instead of just expecting the player to have linear movement, which it currently does here: https://github.com/CCBlueX/LiquidBounce/blob/7f9e07b23458071362a53941b6ca3ad479dd82e9/src/main/kotlin/net/ccbluex/liquidbounce/utils/entity/SimulatedPlayer.kt#L952-L977 I'm not sure what the model would have to look like, what parameters we need as input to get a good result. A noise map of the blocks around the player would be a good start, as well as a list of past movements.

The only module I can think of where this would be most useful is Bow Aimbot, as well as Auto Trap. @superblaubeere27 is doing the work on those modules and can probably say better if it makes sense.

Otherwise, I think it might be more of a gimmick, as it's honestly not that useful in combat. Maybe if we're very far away, a bit like a legit where we aim much further out to make someone walk into our crosshair might be doable, but otherwise it won't do much.

1zun4 avatar Apr 02 '25 18:04 1zun4

Improved bow aimbot would be PEAK current one struggles a lot especially with speed effects

SuicidalEeper avatar Apr 02 '25 19:04 SuicidalEeper

so when this will be added

I would say it's stupid to slap deep learning on everything, but for this use-case we might actually be able to predict movement with a good amount of data, instead of just expecting the player to have linear movement, which it currently does here:

LiquidBounce/src/main/kotlin/net/ccbluex/liquidbounce/utils/entity/SimulatedPlayer.kt

Lines 952 to 977 in 7f9e07b

fun guessInput(entity: PlayerEntity): SimulatedPlayerInput { val velocity = entity.pos.subtract(entity.prevPos)

 val horizontalVelocity = velocity.horizontalLengthSquared() 

 val sprinting = horizontalVelocity >= MAX_WALKING_SPEED * MAX_WALKING_SPEED 

 val input = if (horizontalVelocity > 0.05 * 0.05) { 
     val velocityAngle = getDegreesRelativeToView(velocity, yaw = entity.yaw) 

     val velocityAngle1 = MathHelper.wrapDegrees(velocityAngle) 

     getDirectionalInputForDegrees(DirectionalInput.NONE, velocityAngle1) 
 } else { 
     DirectionalInput.NONE 
 } 

 val jumping = !entity.isOnGround 

 return SimulatedPlayerInput( 
     input, 
     jumping, 
     sprinting, 
     sneaking=entity.isSneaking 
 ) 

} I'm not sure what the model would have to look like, what parameters we need as input to get a good result. A noise map of the blocks around the player would be a good start, as well as a list of past movements. The only module I can think of where this would be most useful is Bow Aimbot, as well as Auto Trap. @superblaubeere27 is doing the work on those modules and can probably say better if it makes sense.

Otherwise, I think it might be more of a gimmick, as it's honestly not that useful in combat. Maybe if we're very far away, a bit like a legit where we aim much further out to make someone walk into our crosshair might be doable, but otherwise it won't do much.

so when this will be added

greyc45241 avatar Apr 11 '25 18:04 greyc45241

so when this will be added

Is that a serious question? There is like zero benefits through this because it cannot read someone elses mind - so why should this have any priority? And it's not known if this will even work.

1zun4 avatar Apr 11 '25 20:04 1zun4