Posted May 19, 2025 by CarboHydroM
#release
Greetings! Welcome to my yearly report about progress on Second Legacy. You may skip directly to the end of the article for the full release notes, or keep reading for more insight about what's been going on.
Switch to CMake and merge of tools code base with the game's
Soon after publishing version 0.50.0a in 2024, I started preparing to add more content to the game in general. I wanted to be able to design new bullet patterns and integrate them into the game quickly. Although, it actually took more time than I thought it would.
It was best to merge tools and the game itself into a single project, so that I could share data between all these separate programs directly and iterate faster. To be able to do that I had to split some code into a shared library, so a refactor was needed.
Building the project's different executables was becoming more complicated than what I was used to when writing my own simple Makefiles, so I ended up turning to CMake to automate everything, taking into account whether I wanted a Debug or Release build.
All this maintenance work was not the most fun thing to do and it ended up sidetracking me for a long while, but it was worth it.
New gameplay mechanic: "harvester" enemy
During my testing over the past months, I thought something was missing whenever the player ark got damaged. Last year I added the enemy bleeding feature, so that the player could make up for a mistake by collecting EX gems from boss enemies and be able to engage EX-mode, or do repairs for instance, depending on the mods they have equipped. It's only a partial recovery though. To do a full recovery, I'd ideally need a way to provide the player with more power-up or shield-bomb items. Until now those were dropped by predetermined enemies.
As a solution to this problem I came up with the idea of a "harvester" enemy. This enemy would spawn procedurally whenever the player manages to get enough EX in the atmosphere, using normal shots (exactly like they should to make a boss bleed), and it would harvest this EX (hence the name), robbing the player of it. But it would also carry an item, either a power-up or a shield-bomb. So leveraging this, the player would be able to summon a harvester enemy when needed, even when fighting a boss, and completely recover from a mistake with enough effort and patience. Spawning the harvester enemy involves both a cool down duration, and a probability, with the latter increasing with the amount of EX in the atmosphere past a given threshold. This threshold is, at the time of writing, set to 1/3 of the EX forecast gauge, visually.
Note that this harvester enemy is currently of the same type than the bullet-cancelling one that determines whether the hidden route can be taken at the beginning of the stage, as I wanted to test out this feature. Later, I will make it distinct.
And that's it. Additionally, I've set things up so that if the player waits for the enemy to harvest the EX before destroying it, depending on the type of shot used for the destruction, either double the amount of EX is released into the atmosphere (normal shot), or double the amount of EX blue gems can be collected (focused shot). The harvester also spawns faster if the situation is more urgent because the player ark is damaged.
Landing spots improvements
I've already implemented multiple routes support in Second Legacy, which can lead to landing spots, where the player can change equipment, but also be told about the story of the game through contact with other characters. I already had inspiration from Ace Combat, Radiant Silvergun and Ikaruga for ways to tell the story in-game, but more recently I liked how Armored Core 6 allowed you to take a different story path with in-game choices, so I decided to include conditional choices in the dialogs of Second Legacy.
This new version of the game features such a contact situation on the landing spot right after the hidden route's boss, where a character can trade an item with the player, depending on how the conversation goes.
I figured that most shmup players usually wouldn't care much about the story, so I'm thinking of implementing an arcade mode later on, where all mods discovered in story mode are available right from the start and no contact option is available on landing spots.
Transition animations
I've added player ark movement animations with placeholder VFX for transitions between landing spots and stages, as well as when a stage is clear. It was time to finally tackle all those player ark misplacements in multiplayer, where both player's arks would always be one on top of the other.
UI changes and colors
In the game, EX fragments (those blue gems you get when destroying enemies with focused shots) represent a solid, frozen fragments of EX that the player ark collects and stores in its EX tanks. The amount of EX stored is shown within the EX gauge on the side of the screen. Before, these EX fragments were drawn with a brutal cyan hue, and that was inconsistent with how the EX gauge is drawn, since both are really about the same thing. I reworked the palette of colors so that EX blue gems and also focused (cold) shots, rely on the same blue hues than shown in the EX gauge.
While I was at it, I reworked how some other gauges are drawn. Most of them now show a color gradient.
Finally, and that was mostly to help fine-tuning the enemy breaking mechanic I introduced last year, I added a way to show the state of a boss enemy's breaking gauge on the outline of its health bar. When the player extracts EX fragments, the enemy gets closer to breaking point, and the outline of the bar gets filled further. When it is full, the enemy breaks and the outline of the bar quickly empties itself. When it is completely empty again is when the enemy recovers and starts attacking again.
All in all, this will help a player better pick which strategy to rely on at a given time during combat.
Soundtrack
Just to put it out there, but I've started working on the rock version of the soundtrack. I'm focusing on arrangements for now, and will only start recording guitars when at least all the songs in the current soundtrack are arranged, so that will still take some time.
When the rock version of the soundtrack is available, it will be available in-game via an audio option.
RELEASE NOTES - 0.51.0a
Gameplay
Presentation
Logic
Bullet pattern system
Bugfixes
Note that the OSX build is not ready yet at the time of writing, as I still rely on an old 2010 Mac Mini for that, that requires a huge homebrew update with a couple manual fixes on top. Here's hoping that I can have it build the game successfully in the next few days at most!
EDIT (2025-05-20): the new OSX build is available!
Thanks for reading, you are amazing! A couple known issues still remain, I will list them on the project's main page. If something amiss happens while you play the game, feel free to let me know! Enjoy, take care and see you next update!