AimForge
阅读约 1 分钟
一款受 KovaaK’s 启发的免费浏览器端 FPS 瞄准训练器。内置十五个训练场景,涵盖点击、甩枪、跟踪和切换目标,并提供计分、灵敏度换算和进度追踪。
100% 纯客户端 —— 无需账号,没有服务器,不做任何追踪。所有数据都保存在 localStorage 里。
技术细节
项目的 README(英文)。
A free, browser-based FPS aim trainer inspired by KovaaK’s. 100% client-side — no account, no server, no tracking. All progress and settings live in your browser’s localStorage.
Play it: https://pfeilbr.github.io/aim-trainer/
Features
- 15 built-in scenarios across four categories:
- Clicking — Gridshot, Tile Frenzy, Sixshot, Microshot, Spidershot, Motion Strike (juking movers), Popcorn (gravity-arc targets), Bounceshot (floor-bouncing targets)
- Flicking — Flickshot (scored on flick speed), Dodgeshot (target dashes sideways in bursts)
- Tracking — Strafe Track, Air Track, Ascended Track (strafing + jumping pill bot), Target Switch (three juking bots, track the glowing one)
- Reaction — Reflex Shot (scored on reaction time)
- Two playlists — Daily Warmup (all skills) and Movement Mastery (moving targets only)
- Benchmarks & ranks — Iron → Grandmaster thresholds per scenario, with progress bars toward the next rank
- Benchmark mode & skill profile — a fixed 7-scenario gauntlet (standard settings enforced) that produces an overall rank (0–8 continuous skill scale), a category breakdown (Clicking / Tracking / Flicking / Reaction) with per-category ranks, benchmark history charting, and a one-click Focus routine targeting your weakest category, surfaced right on the Train screen
- Progress tracking — score history charts, personal bests, per-scenario averages, recent runs, lifetime stats
- Custom scenario editor — build your own scenarios (mode, target count/size, spawn area, speed, hits-to-kill, duration)
- One-click guided first run — new visitors get a single “Start shooting” button that drops them into a guided intro range (1s countdown, big targets, on-screen hints, ends at 10 kills) and then offers the Daily Warmup, browsing, or mouse fine-tuning. Tutorial runs don’t touch your stats
- Mouse calibration wizard — measure your natural 180° flick (3 swipes, no numbers needed) and sensitivity is set for you, or copy your sens from a game. Detects polling rate, trackpad input, and missing raw input (OS pointer acceleration) while calibrating. In Settings and offered after the intro
- Real sensitivity model — CS/Apex-scale sensitivity (0.022°/count), cm/360 display, and importers for Valorant, Overwatch 2, Fortnite, and Quake sens
- Crosshair editor — style, color, size, gap, thickness, outline, with live preview
- Data-driven themes — five complete themes (Forge, Neon Vice, Arctic, Crimson Ops, Retro Terminal), each a single data object driving the UI palette, the 3D arena (walls, fog, grids, lighting, strip lights), target color, corner radius, typography (Retro goes monospace), and its own synthesized sound profile. Live-preview swatch picker in Settings; applies instantly
- Customization — FOV (horizontal), target color, run-duration override, synthesized hit sounds (WebAudio, no assets)
- Data portability — export/import all data as JSON
Tech
- Three.js for the 3D arena, pointer-lock mouse look, raycast hit detection
- Vite for dev/build
- Vanilla JS + CSS — no UI framework
- localStorage for settings, run history, and custom scenarios
Development
npm install
npm run dev # dev server at http://localhost:5173
npm run build # static build in dist/
Deployed to GitHub Pages automatically on push to main via GitHub Actions.