Sendit Soccer “Send it and bend it!”

This is a very minimal game right now.  There is a "free play" mode with basic clock, score keeping, and endless cards.  You decide how long you want to play.  Reload the page to start a new room and game [sorry, will do this better someday].

Currently, you have great-but-challenging kick control with various power and bending (see below).  No throw-ins yet, so manage the ball yourself -- just like in real life -- but with kicks only.  You might need to set some club rules such as no kicks from within the 6-yard box.

Never fear, this is only version 0.2 and there is much more to come.

So, start up a voice channel on Discord (or wherever) with 21 of your friends and start a pickup game of soccer already.  [Not yet tested with that many connections.]

Requires a newer WebRTC browser version (with ICE Trickle) from about 2018 and later.  I may support older WebRTC browsers later.  Native and hardware-accelerated browsers (like Edge and Safari) work best.  Other browsers work okay depending on CPU speed and game resolution.


Dpad:Arrows or
Primary Button:XSpace
JComma (<)
Secondary Button:ZAlt
KPeriod (>)

[Gamepad support is still on the todo list. It may take some time because I don't use the game engine's input system.  This is to reduce P2P latency as much as possible.  Until then, configure your gamepads to send keystrokes.  Gamepads are second-class citizens in browsers anyhow and sending keystrokes will be more responsive regardless.]

Primary Button short tap (on release):pass on groundshort tackle
Primary Button longer press (on release):kick it & bend it
longer tackle
Primary Button long press (on timeout):send it & bend it
(sniper shot at max power)
reckless tackle
Secondary Button (hold):sprint
injury fake

These controls are inspired by Sensible Soccer.  Bending is very similar (and sprinting has been added).

To bend it, in short: start bending with the dpad just after pressing down the kick button.  In detail:

  1. Kick direction is set on button down
  2. Change dpad to kick type (see below) while button is down
  3. Kick type is executed on button up, or ¾-second timeout
  4. Finally, you have another ¾-seconds after the kick to "steer" the ball even more, left or right (but not altitude, which I may re-add at some point).
Forward*:Driven kick, straight
Forward-left:Driven kick bending to the left
Forward-right:Driven kick bending to the right
Centered Dpad:Lob kick, straight
Left:Lob kick bending to the left
Right:Lob kick bending to the right
Back:Up and under kick, straight
Back-left:Up and under kick bending to the left
Back-right:Up and under kick bending to the right

* Forward = direction of kick.

Other controls:

  • 1 = Zoom 100%
  • 2 = Zoom 85%
  • 3 = Zoom 75%
  • 4 = Zoom 65%
  • 5 = Zoom 50%
  • You can switch to full screen with the button in the lower-right corner
  • If you want to see the whole field, try setting your monitor to portrait, and zoom to 85%
  • Don't forget that your browser has it's own zoom settings (Ctrl+=, Ctrl+-, Ctrl+0).  Your monitor may also be zoomed by the OS with your browser set various ways to work with that.  It can be a mess to balance all this.

Additional controls in free-play mode

  • H = hands = toggle dribble/throw-in

Host only:

  • Alt+0 = reset score, clock, penalties, and ball to zero
  • Alt+[, Alt+] = home score -1, away score -1
  • Shift+[, Shift+] = home score +1, away score +1

Todo list

Many things (including new art).  See the CHANGELOG.

If you like what you see here and want to push it along faster, tell your friends about it, and maybe help me buy some new socks.  I work most on what you all tell me to.

Development log