HomeGamesUpdatesPricingMethodology
Steam News4 January 20267mo ago

[DevLog] Weapon Rotation

Hello! This time, I’d like to write about how we improved our weapon rotation handling. In our game, weapons rotate for various reasons, which means they can be seen from many different angles.

In this update1

Full notes

Full Frostory update

Read the full published notes in a cleaner layout. The original post stays linked below.

Repeated intro

Hello! This time, I’d like to write about how we improved our weapon rotation handling.

What changed

0 fixes0 additions7 changes1 removal
  • Gameplay
  • Maps
changedHello! This time, I’d like to write about how we improved our weapon rotation handling.
changedAngle MappingTo simplify the code, we chose to record the rotation value for each image. It has the downside that when the artwork changes, the value needs to be updated too—but compared to drawing the sprites, it’s a small task.
changedAngle MappingSo we created a tool that maps rotation and offset values to each pixel-art sprite.
removedAngle MappingThanks to this, we were able to remove and simplify many parts of the code. And with this data mapping, we were also able to implement several additional features.
changedAngle MappingWhen a motion cancel happened due to a dash or getting hit, the weapon would momentarily look awkward before.
changedAngle MappingNow that we can always know the weapon’s current angle, we can smoothly interpolate its rotation.

Frostory changes

changedHello! This time, I’d like to write about how we improved our weapon rotation handling.
changedTo simplify the code, we chose to record the rotation value for each image. It has the downside that when the artwork changes, the value needs to be updated too—but compared to drawing the sprites, it’s a small task.
changedSo we created a tool that maps rotation and offset values to each pixel-art sprite.
removedThanks to this, we were able to remove and simplify many parts of the code. And with this data mapping, we were also able to implement several additional features.
changedWhen a motion cancel happened due to a dash or getting hit, the weapon would momentarily look awkward before.

In our game, weapons rotate for various reasons, which means they can be seen from many different angles.

To represent this, we sometimes draw pre-rotated sprites, and other times we rotate images in code. But as these two approaches mixed together, the code gradually became more complex.

Angle Mapping

To simplify the code, we chose to record the rotation value for each image. It has the downside that when the artwork changes, the value needs to be updated too—but compared to drawing the sprites, it’s a small task.

So we created a tool that maps rotation and offset values to each pixel-art sprite.

Thanks to this, we were able to remove and simplify many parts of the code. And with this data mapping, we were also able to implement several additional features.

  1. Motion blending

When a motion cancel happened due to a dash or getting hit, the weapon would momentarily look awkward before.

Now that we can always know the weapon’s current angle, we can smoothly interpolate its rotation.

  1. Showing rotational inertia

If we know the weapon’s angle, it also means we can track how much it changes. In other words, we can know its angular velocity.

Before

After

  1. Procedural animation

For the spearman enemies in our game, the sprite is split into the character and the spear to express the stabbing direction.

When you thrust with a spear, you would normally use both hands, but if the pose of the opposite arm doesn’t change with the spear’s angle, it looks awkward.

Previously we omitted the opposite arm, but by combining this system with the dynamic pixel-object effect we had built earlier, we were able to express it.

That’s it for this post. Thanks for reading!

Source

Steam News / 4 January 2026

Open original post

Changelog.gg summarizes and formats this update. How we read updates.