“Excuse me. Come back!” said every game developer, ever. It’s an all too familiar cry when a character runs out of screen into the vast empty space of nothingness. This update brings in map layers and boundaries, as well as a number of invisible improvements to speed up future development.
Okay! So what’s new? In order of appearance in the video:
- A (very basic) character selection screen.
- Animated map background.
- Map boundaries.
- XZ movement while jumping as promised
- Multiple players.
Character Selection Screen
The character selection screen works, but only just. There’s nothing that tells you that you:
- Press attack to join.
- Use left and right to select a character.
- Press attack to confirm your selection.
- Press attack again to start the game.
What’s your attack button again? That’s right, you won’t know unless you open the controls file, which there isn’t yet a screen for.
Boundaries prevent characters from walking off the map into oblivion, or on air.
This deserves a mention as the underlying code was reorganized to allow for reuse across multiple sequences, and is substantially tested.
This is the beginning of real gameplay. What’s missing is:
- Additional sequences: Animations for attacking and getting hit.
- Collision detection: Hit boxes and hurt boxes.
- Character health: Needed to determine a winning condition.
…and all of the polish on top of that such as hit sparks, delay, sound, and a scoreboard.
Map backgrounds and boundaries can now be defined, and there’s a small breaking change to character sequences.
In the above clip, the background images in the Eruption map are created by Blue Phoenix and Alectric from the Little Fighter 2 world. These are single screen large images, but you can also create parts of the background with smaller images and combine them together.
Map backgrounds are done via sprites and sequences, and so they can be animated with different images. Right now you aren’t able to specify coloured rectangle regions, but they are planned to be included, as a map with a background and a different coloured floor can already be visually appealing.
Images are specified using the existing sprite sheet format:
The map boundaries and layers are defined in a separate file:
The syntax for declaring layers should look familiar — it also uses the animation code used by character sequences. The order of the
[[layer]]s affects the order that the layers are drawn, but it is also better to control this with the
This post doesn’t explain the configuration in detail, but in the far future there are plans to have complete tutorials and explanations for everything.
stop_run sequence has been renamed to
run_stop. This makes it consistent with the
jump sequences which are all
jump_*, so it is easier to identify a group of related sequences.
Previously we ran. Right now we’re bound. Hereafter we fight.
Look out for hit and hurt boxes, collision, and winning.
That’s where the fun begins.