Rendered at 23:16:42 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
ralferoo 14 hours ago [-]
It needs some way of clearing all data. I chose "don't know" on calibration because I couldn't be bothered to try to work it out (but my mouse will be on the low end because it's just some random cheap mouse). Then, the training was ridiculous having to move my mouse miles between targets, but there's no way to change the initial calibration step. Not even in settings / data / delete.
I'm not really the target user though. I guess those who are will already know exactly how many DPI their mice are.
"I felt like I may be uniquely equipped to make this problem much more complicated than it needed to be."
Worth it!
dkdbejwi383 15 hours ago [-]
Even with "reduce motion" enabled the background of this page is constantly animating - it's so distracting I just gave up.
pmazumder 15 hours ago [-]
I didn't realize it could be distracting, sorry. It shouldn't happen now
maccard 15 hours ago [-]
I enjoyed this. Does the same theory apply to a gamepad? My intuition says yes but curious what you think
pmazumder 15 hours ago [-]
I imagine it would generalize well to any fine motor control task with a defined tracking objective. The literature I reference mentions that human error when steering cars also roughly follows the same distribution.
tranceylc 16 hours ago [-]
Haven’t had the chance to use it use it yet, but the writeup on it is super cool.
Encourage anyone to check it out
pprotas 15 hours ago [-]
The aiming is very choppy because it feels like my cursor is "on rails", or stuck in some kind of grid. Not representative of any modern shooting game I've played. I think this would teach the wrong habits if someone were to use it as an aiming coach.
pmazumder 15 hours ago [-]
Are you using it on chromium? It's the only browser I get raw mouse events from right now, so other browsers tend to be more choppy.
As for the habits, the point of this program is that it ultimately admits that far domain transfer for aim trainers is difficult regardless of what you do, so it tries to optimize in an absolute sense your motor control over your mouse. That way, regardless of scenario you'll have smoother and more efficient aim.
Firefox is definitely choppy for me renderingwise. I use Vivaldi which is Chromium based and the only choppiness comes from the friction of my sweaty wrist on the gamepad. If I hover my wrist and only let it basically rest on the mouse itself, tracking becomes smooth. Changing my hand motion and stance is definitely part of the training process to become a better player.
Tox46 15 hours ago [-]
So cool! but somehow the simulation does not work on firefox. the crosshair is just stuck in the middle
pmazumder 15 hours ago [-]
It should still work on firefox, but the experience will likely not be as good. Chromium is the only browser engine (as far as I know) that gives me access to raw, unaccelerated mouse events, so it's the smoothest experience.
dminik 14 hours ago [-]
I had the same issue. Linux + Firefox resulted in zero movement. Chrome worked fine.
miguel-muniz 9 hours ago [-]
This seems to suffer from what a lot of vibe coded projects suffer from, which is just a whole lot of unnecessary text everywhere. I find one shot outputs always have a lot of jargon, extra "micro copy" and displays the same information multiple times in multiple places. It makes it difficult at a glance to understand what you're looking at.
I'm not sure what in the training set causes the models to do this, even in my own experience I'll be specific about the feature I'm building and the model will add an unnecessary status message for no reason.
MayeulC 16 hours ago [-]
Interesting project! I am relatively skilled at FPS with a mouse, but would like to improve with my trackball (so that I don't have to change my setup when playing an FPS). This could cone in handy, though I imagine that there aren't multiple "mouse profiles" built-in? It could be useful for players to understand how much of a difference different mice make.
pmazumder 16 hours ago [-]
Hi, thanks for the feedback! Multiple mouse profiles isn't something I considered, but I'll definitely look into it.
I know a lot of FPS gamers are super particular and switch between mice/mousepads/skates constantly, so it would probably help to provide a semi objective measurement of what setup they're doing best on as well
RunSet 10 hours ago [-]
In case anyone likes to play Quake with a gamepad I recently made this add-on which adds Dark Soul III style target lock. (Click L3 to toggle. Breaking line of sight breaks the target lock.)
Some might consider this "cheating" but in my opinion aiming with a mouse is so much easier that using a mouse against players using gamepads more resembles cheating.
ramgine 10 hours ago [-]
I used to play q3l competitively and I can’t imagine trying to get any real results using a gamepad without help. That’s a neat idea.
hoechst 13 hours ago [-]
very cool. project, will evaluate this in detail.
one note, on the "Feel your sensitivity." page, it says " raw input off — OS mouse acceleration is active. Your browser couldn’t give OpenAim raw mouse input, so your OS acceleration curve is reaching the game: the same hand motion turns further when you move faster, which no aim training survives. On Linux: set your mouse’s libinput acceleration profile to “flat” (unaccelerated). Chrome and Edge deliver raw input directly."
but my mouse is definitely unaccelerated (confirmed via `xinput list-props pointer:"Logitech PRO X 2"`). i am unsure if this leads to erroneous results when aim training.
i'm on: Chromium 150, linux, x11 kde plasma.
CuriouslyC 11 hours ago [-]
Random note, the biggest single thing you can do to improve your aim is to crank down your sensitivity and learn to strafe with the target rather than try to track with the mouse. The second biggest thing you can do is stop trying to exactly track them, and instead try to predict their strafe patterns based on their surroundings so you can place shots where they're likely to be, at least for any weapon with a travel time.
ramgine 10 hours ago [-]
These are great suggestions. It’s what I see pros doing, just really hard to get there.
King-Aaron 16 hours ago [-]
CS 1.6 scouts and knives was the ultimate aim trainer
superxpro12 14 hours ago [-]
UT instagib for me
pelagicAustral 14 hours ago [-]
never played this mode, I might just give it a shot later on, thanks for the off-shoot comment
psalaun 16 hours ago [-]
woah, so many memories bubbling up right now, thanks!
danielrmay 10 hours ago [-]
Neat project. I wonder how a small model could interpret movement data to provide personalized improvement suggestions e.g. "you're weaker targeting left than right, but only under these conditions"
11 hours ago [-]
pugdogdev 8 hours ago [-]
Wow nice!
I am so rusty
This can be really useful for kids and elderly people I think.
Great job
isqueiros 13 hours ago [-]
This looks pretty cool, but I'm pretty sure my imported sens from Deadlock has gone wrong. I have 0.68 in game and it feels significantly slower on the app.
emsign 2 hours ago [-]
It's called "Open"Aim. Where is the source code then?
14 hours ago [-]
2 hours ago [-]
mherdelight 13 hours ago [-]
I might use it to compare different mice I have, have you considered adding a comparison option?
terekhindc 12 hours ago [-]
does it separate flick errors from tracking errors, or is it just angular delta over time? valorant aim usually feels dominated by confidence-to-fire more than path smoothness.
lelanthran 15 hours ago [-]
You might want to look into this page - it slows my PC to a crawl :-(
pmazumder 15 hours ago [-]
What browser are you on? Hardware acceleration? It shouldn't be very difficult to run, so I'm guessing some sort of a compatibility issue
lelanthran 15 hours ago [-]
> What browser are you on? Hardware acceleration? It shouldn't be very difficult to run, so I'm guessing some sort of a compatibility issue
Sorry, the linked page, not the actual app. It slows my PC to a crawl.
juliendsv4real 10 hours ago [-]
Very cool, would you open source the code? did you start this from scratch?
WithinReason 13 hours ago [-]
the calibrated sensitivity is correct but the in-game sensitivity is waaaaay higher, it's a bug
maxlin 6 hours ago [-]
I got semi average score of 2.4k not trying super hard, but the "moving click" exercise seems dubious, got literally zero off it. Not sure if it's comparable to any actual game?
fragmede 10 hours ago [-]
This is really cool! The calibrate part could be easier to tweak, so I can dial in what a 360 is on my system, instead of having to go back back next next try, and then I can't re-calibrate again? Or at least, it's not obvious where to change those settings.
djmips 8 hours ago [-]
Can right mouse escape during calibration as well as ESC please.
Make it easier to re-calibrate
thomasikzelf 13 hours ago [-]
Cool app! I also had some ideas a while ago that I think the current breed of aim trainers are still missing.
In-game practice like the Range, DM, and Team DM still feels like the gold standard to me. I generally only use aim trainers when they offer a noticeably higher return per minute, rather than just teaching me how to get good at aim trainer specific mechanics.
Here are a couple of things I think an aim trainer should have:
- Dynamic difficulty: I feel it works best when trying to keep accuracy relatively high, but fluctuating the target accuracy threshold over time and adjusting difficulty dynamically to match it. That keeps you challenged without breaking form.
- Dynamic scenarios: Instead of picking scenarios manually, I think a trainer should ideally detect what you suck at and launch those directly.
- Habit coaching: It would be awesome if a coach flagged bad habits in real time—like clicking too fast (low accuracy), doing a slow tracking movement instead of a sharp flick (mircoflicks), or using tracking when click timing is needed.
- Biomechanics: Finding the exact "perfect" sensitivity feels less important to me than ensuring your arm and wrist are working together properly, altough this might depend on your aiming style.
- Simplicity: A lot of trainers overwhelm you with numbers and menus. I image a simple "click here to start and follow feedback" workflow with nothing else for the user to learn. Seeing a bunch of numbers is less important to me then just getting better (maybe with a final score).
Valorant-specific focus: Trainers often feel too generic for tactical shooters like Valorant, where angle holding, target reading, and micro-corrections dominate.
- In this tool, difficulty scales dynamically while playing (the parameter in parentheses changes on the fly):
- Angle Hold (enemy speed increases): Practicing holding angles against multiple targets. Holding angles is crucial in Valorant (just look at how Primmie plays).
- Follow (standstill window decreases): Forces active mouse correction and reading the target before shooting. I tend to click too fast, so this forces me to slow down and micro-correct.
- Jiggle (jiggle speed increases): Targets perform tight jiggles. I find players who spam small jiggles really hard to hit, so this directly targets that weakness.
- Micro Flicks (snap distance increases): Micro flicks are easy enough to train in the Range, so I mostly use this mode when I am away from my gaming PC.
- Static (target size decreases): Standard static clicking, but with dynamic scaling as targets shrink.
- Strafe (movement speed increases): Moving targets with limited hit windows. When watching pro DM VODs, most kills are on stationary targets, but hitting moving players is still vital and tricky to isolate in-game.
I am still not very good at Valorant but the aim train ideas are interesting. Let me know what you think!
poly2it 15 hours ago [-]
Interesting project. One suggestion I'd make is to reduce the configuration complexity up front on new users. It is kind of overwhelming before you have a feel for how your settings translate to the actual training experience.
I'm not really the target user though. I guess those who are will already know exactly how many DPI their mice are.
Worth it!
Encourage anyone to check it out
As for the habits, the point of this program is that it ultimately admits that far domain transfer for aim trainers is difficult regardless of what you do, so it tries to optimize in an absolute sense your motor control over your mouse. That way, regardless of scenario you'll have smoother and more efficient aim.
EDIT: Maybe take some inspiration from Three.js? This demo works fine for Firefox and Chrome with a nice, smooth cursor that I'm used to https://threejsdemos.com/demos/camera/first-person
I'm not sure what in the training set causes the models to do this, even in my own experience I'll be specific about the feature I'm building and the model will add an unnecessary status message for no reason.
https://www.slipseer.com/index.php?resources/textless-hud.58...
Some might consider this "cheating" but in my opinion aiming with a mouse is so much easier that using a mouse against players using gamepads more resembles cheating.
one note, on the "Feel your sensitivity." page, it says " raw input off — OS mouse acceleration is active. Your browser couldn’t give OpenAim raw mouse input, so your OS acceleration curve is reaching the game: the same hand motion turns further when you move faster, which no aim training survives. On Linux: set your mouse’s libinput acceleration profile to “flat” (unaccelerated). Chrome and Edge deliver raw input directly."
but my mouse is definitely unaccelerated (confirmed via `xinput list-props pointer:"Logitech PRO X 2"`). i am unsure if this leads to erroneous results when aim training.
i'm on: Chromium 150, linux, x11 kde plasma.
Sorry, the linked page, not the actual app. It slows my PC to a crawl.
In-game practice like the Range, DM, and Team DM still feels like the gold standard to me. I generally only use aim trainers when they offer a noticeably higher return per minute, rather than just teaching me how to get good at aim trainer specific mechanics.
Here are a couple of things I think an aim trainer should have:
- Dynamic difficulty: I feel it works best when trying to keep accuracy relatively high, but fluctuating the target accuracy threshold over time and adjusting difficulty dynamically to match it. That keeps you challenged without breaking form.
- Dynamic scenarios: Instead of picking scenarios manually, I think a trainer should ideally detect what you suck at and launch those directly.
- Habit coaching: It would be awesome if a coach flagged bad habits in real time—like clicking too fast (low accuracy), doing a slow tracking movement instead of a sharp flick (mircoflicks), or using tracking when click timing is needed.
- Biomechanics: Finding the exact "perfect" sensitivity feels less important to me than ensuring your arm and wrist are working together properly, altough this might depend on your aiming style.
- Simplicity: A lot of trainers overwhelm you with numbers and menus. I image a simple "click here to start and follow feedback" workflow with nothing else for the user to learn. Seeing a bunch of numbers is less important to me then just getting better (maybe with a final score).
Valorant-specific focus: Trainers often feel too generic for tactical shooters like Valorant, where angle holding, target reading, and micro-corrections dominate.
I built a small aim trainer to experiment with these ideas myself: https://mousecontrol-thomaswelter-fceff2dbe456668c6bedef32db... (the aim trainer is very basic, only made for myself, fixed sens etc).
- In this tool, difficulty scales dynamically while playing (the parameter in parentheses changes on the fly):
- Angle Hold (enemy speed increases): Practicing holding angles against multiple targets. Holding angles is crucial in Valorant (just look at how Primmie plays).
- Follow (standstill window decreases): Forces active mouse correction and reading the target before shooting. I tend to click too fast, so this forces me to slow down and micro-correct.
- Jiggle (jiggle speed increases): Targets perform tight jiggles. I find players who spam small jiggles really hard to hit, so this directly targets that weakness.
- Micro Flicks (snap distance increases): Micro flicks are easy enough to train in the Range, so I mostly use this mode when I am away from my gaming PC.
- Static (target size decreases): Standard static clicking, but with dynamic scaling as targets shrink.
- Strafe (movement speed increases): Moving targets with limited hit windows. When watching pro DM VODs, most kills are on stationary targets, but hitting moving players is still vital and tricky to isolate in-game.
I am still not very good at Valorant but the aim train ideas are interesting. Let me know what you think!