💟 I can see my life… or, what’s left of it anyway
This update brings additional movement sequences, HP bars, and improvements to the underlying engine.
Let’s take a look:
Whoa what. It almost looks playable 🕹️1. We’ll go through the updates in the sections below.
Hit delay didn’t make it into this release, but a lot of pre-requisite work for it did – the logic that manages the sequence transitions has been fully replaced. As such, collision improvements are scheduled for the next release.
As a player’s HP gets lower, the bar becomes shorter, and its colour gradually changes from green to red.
Why is it so far away from the character? Well, the problem is actually the character sprites are too far away from the bar, which should be on or near the character’s origin. Have yet to figure that one out.
While running, players can press
Jump to dash, giving them an instant speed boost, with a little recovery time when they land. They can also do this when landing from a regular jump – holding
Forward and pressing
Jump dashes forward, and pressing
Jump without holding forward dashes back.
While running, players can press
Defend to dodge. This will come in handy to dodge energy blasts ⚡, stones ⛰️, and other throwable objects ⚾.
With the changes to how sequences are processed, the way sprites are specified in object configuration has changed:
wait value now means the number of ticks to wait before switching to the next frame in the sequence, so it should be 1 or more. If 0 is specified, it will be treated as 1.
Characters have 8 more sequences. The dash sequences are named similarly to the
jump ones, and the same transition logic applies:
The new dash and dodge sequences need corresponding sprites. We recommend at least two each for the forward and back dash sequences, and three for the dodge sequence.
With the upcoming focus on collision improvements, work was put in to make it less tedious to repeatedly test different kinds of scenarios. For example:
- Character getting hit on the ground.
- Character getting hit in mid air.
- Characters hit each other simultaneously.
- Character dodging an attack.
By encoding actions, each time the logic is changed, those actions can be replayed to see if the game play still appears natural.
Input emulation has received the following improvements:
state_barrierto wait for a particular state to be running before issuing commands.
- Multiple commands can be issued simultaneously by chaining with
&&on the same line.
The following shows an example where simultaneous inputs are used:
# Player 0: Run and dash diagonally right and down control_input 0 axis x 1.0 control_input 0 axis x 0.0 control_input 0 axis x 1.0 control_input 0 axis x 1.0 && control_input 0 axis z 1.0 && control_input 0 action jump true # Player 0: Move right. # Player 1: Move left. control_input 0 axis x 1.0 && control_input 1 axis x -- -1.0
A side effect of this is empty lines are skipped, therefore to indicate that a frame has no input, you can use a “#” (comment) character on the line:
# Player 0: Wait two ticks between pressing right. control_input 0 axis x 1.0 # # control_input 0 axis x 1.0
Next time there should be more attacks, such as attacking while running, jumping, and dashing, and we should be able to feel them.
Also, the next release will be in eight weeks instead of the usual six, then it will be every 6 weeks after that. This change allows two things:
- It brings the release cycle in line with Rust’s release cycle.
- It provides more time to work on a small publish of the game.
Phew, this post was a little late. Now I’ve gotta dash 🏃💨.
- Except for, you know, the general lack of menus, and sending input through a terminal 💻 [return]