Slapshot

By Ward Dehairs, March 14, 2024

Slapshot: Rebound is a physics-based multiplayer game where you play an arcade style match of hockey. No shoot button, no puck glue, no RNG. It’s up to you and your team to take control of the puck, pass, shoot, outplay your opponents. Play with your friends or team up with other Slapshot players!

My work on slapshot is somewhat difficult to summarise, I've landed on the phrase "Generalist game developer" to help describe the diversity of problems I tackled. Here is a small excerpt:

  • Allow players to queue for a match while in practice mode
  • Rework camera zoom to make sure the zoom levels are hard-capped and cannot overshoot
  • Make menus accessible via controller as an alternative to mouse and keyboard
  • Debug various input conflicts that arised when using a controller and mouse
  • Implement Steam rich presence info (show to Steam friends what the player is doing in the game)
  • Implement search bar to search for cosmetics
  • Rework and generalize certain UI elements such as dropdowns
  • Record average and worst-case latency per player
  • Add various game settings such as puck trail color, zoom sensitivity

One of the bigger tasks was to rework the way settings were coded in the game. This used to be a big pile of DRY violations, which makes some sense since it's difficult to code this sort of feature cleanly due to the divergent nature of different settings, including floating point numbers, integers, strings, lists of strings etc. Reworking this into something cleaner ultimately saved thousands of lines of code and made it extremely easy to add new settings, which we greedily made use of in the following months.

Overall I had an interesting experience working fully remote on Slapshot, I learned a lot about various Unity components such as Rewired, which I'm sure will come in handy in the future.