Oct 12, 2018
Game changes:
- Implemented an indicator that shows when a player is typing in the chat.
- The /extrapolation command is now saved as a setting and persists between games.
- Added a new zoom option called Dynamic, which dynamically changes the zoom according to the window height. This is now the default zoom option that users see if they load haxball for the first time.
- Improved error reporting when loading a stadium file fails. If there’s a syntax error it will tell the line and column where the problem is. It will also say in which vertex, segment, plane or disc an error happened if the data is invalid.
- Added goal markers to HaxBall replay files. They appear as vertical lines in the replay time bar.
- A few miscellaneous optimizations and bugfixes.
Headless Host API changes:
The full list is here but there’s two notable changes:
1 - Added headless room opening token for solving recaptcha in a different machine, it will help when trying to start a room using a headless browser.
2 - Implemented player auth functionality that lets players identify themselves when joining a room. The id is validated by using cryptographic signing.
The game will now automatically generate a unique Public ID and a Private Key for every player. You can see your own public id and private key here.
This id and key are stored in local storage and reused every time you join a room.
You can use this auth id to make sure that a player is who he says he is, as long as he keeps his private key safe there’s no way to impersonate someone elses id.
Stadium File changes (.hbs)
- Added a Background color property.
- Added a cameraFollow property that now lets you make stadiums where the camera will center on the player and ignore the ball. Probably useful for obstacle courses or racing maps.
- Added a bias property to segments that lets you make one-way walls with configurable thickness. Useful for making bounds of maps with small and fast moving balls that would usually go through normal thin segments.
Stadium File documentation can be found here.