Back to all news
Updates

A bat, a slingshot and health: fighting arrives in the game

Fists, a bat and a slingshot, a health dial and the ballistics of a stone that skips off water. The game also received a soundtrack and real recorded impact sounds.
A player holding a bat on the square

Weapons and health have appeared in the game. The character can hold «fists», a bat or a slingshot, a health dial is shown in the corner of the screen, and along with this the game received a soundtrack and real recorded impact sounds.

Three slots under the number keys

The keys 1, 2 and 3 select fists, the bat and the slingshot. This is a selector rather than a toggle: a key that does the opposite of its own icon depending on invisible state is not an understandable control.

The weapon slots in the corner of the screen: fists, bat and slingshot
The health dial in the opposite corner of the screen

A blow is struck with the left mouse button, and only when there is something to aim with: over the shoulder and in the isometric view this means while the right button is held and the reticle is on screen. The condition “there is a reticle” and the condition “a blow is allowed” are one condition here rather than two separate ones that could later drift apart.

The client does not report whom it hit

A swing is sent as an empty message. The server holds the validated position and heading of every player, so it works out on its own who fell inside the arc of the blow.

Aiming the slingshot, the reticle on its target

A slingshot shot carries only one value, the point the reticle was looking at, because that is the one thing known only to the player’s screen. From there the server solves the trajectory itself, flies the stone through its own collision grid and decides what it met.

The accuracy is high: the stone lands 1.5 to 5 centimetres from the aim point at distances from 3 to 34 metres, accounting for air drag, which reduces the speed by a sixth over the first ten metres alone.

The stone does not disappear on landing

The stone bounces, skitters, loses speed and settles, and on water it can skip between two and four times. The number is derived from the identifier of the stone itself, so the server and every browser that predicts the flight between frames arrive at the same result without a single extra byte on the wire.

Only the first flight is lethal. A ricochet that could hit would make every miss a matter of chance.

The village received a height map

Previously everything that flew above waist height was checked against a flat grid that only knows “passable” or “impassable”, which is why a stone could bounce off a patch of ground at a height of eleven metres. Now the village has a height map taken off the real geometry rather than off a reference table, which was wrong in both directions.

A sheet of the bat swing: the phases of a blow

A tree now has two parts: the trunk throws a stone back, the canopy swallows it. The reticle reads the same height map, so a cottage is no longer transparent to it.

Music and recorded sounds

The game received a soundtrack of eight tracks: on the menu they play in a set order, in the game itself in a random one. The music volume is stored separately for the menu and for the world, because on the menu the music is the main sound, while in the world it sits underneath everything that carries information.

The synthesised impacts were replaced with real recordings: a splash of water, breaking glass, hits on bodies and on wood, several takes for each case, and the same recording never plays twice in a row.

The splash has a story of its own. Water counted as a wall in the collision grid, so every stone thrown at the pond stopped against the bank. The splash was not rare but impossible, and making it appear required changing the physics itself.

The tour was extended

The weapon slots and the health dial appeared in the corners of the screen after the newcomer tour had already been written, so the two elements that change during a fight were left unexplained. The tour now starts with exactly those.

After this update an old tab will ask to reload, otherwise it would show neither the weapons in the hands nor the health dial.

Read more