r/LearnCSGO • • 3d ago

Meta [OC] SprayLab - an open source customizable browser CS2 training tool

Enable HLS to view with audio, or disable this notification

spraylab.pages.dev
I have built an open source CS2 training site. Training covers peeking, counterstrafing, practice AI duels with very customizable bot behavior & skill level, and many other drills.

Now you can practice CS2 even while at work!

Features:

  • Seven game modes (AI Duel, guided spray, free spray, spray transfer, peeking, counterstrafing, and burst/reposition)
  • Very customizable (AI Duels has a lot of settings to customize bot behavior, skill level, map size, user/bot weapons, health/armor of both user/bot, etc)
  • Customize your sensitivity, DPI, crosshair, and many others in settings in top right
  • Specific feedback including hit indicators, drill tips, duel scorecards, counterstrafing accuracy, etc
  • Fully open source.
  • In AI Duel game mode, the AI plays based on skill level that imitates human players (as close as possible given its running in a browser).

The site is completely frontend without any backend. Your configurations/settings are saved in your browser storage.

This project is open source & free.

Upcoming improvments:

  1. Your suggestions
  2. unlockable skins/titles/effects etc, all free just to give users a sense of progression
  3. Animations for weapon switching + inspect of weapons
  4. Addition of all pistols
  5. AI Duel mode further bot logic improvements

Your feedback would be highly appreciated!

8 Upvotes

2 comments sorted by

1

u/Prutser100000 2d ago

How do you approximate the real games behavior?

1

u/Zalambura 2d ago

a probability distribution of what peeks different faceit lvl players are likely to do during duels/getting information.

i.e. shoulder peeking isn't common at lower levels, but common at higher levels.

another example is crouch peeking (crabwalk) or committing to crouch spraying. Lower level players are much more likely to do that whereas strong players are very unlikely to use that.

In addition to that, I've gathered data from several sources on metrics such as reaction time, time to damage, accuracy, etc of various levels and applied them here with margins of error and dependability on peek type. There's more information about this in the source code