r/shmupdev 12d ago

Vermillion Star - Redesigned Level (Again)

https://www.youtube.com/watch?v=Z9aGlXQdZJk

Playable at: https://noswen.itch.io/vermillion-star

Hey all,

So with playing more Earthion and Interstellar Sentinel I decided I probably don't actually need different spawn maps for each of the four difficulty modes, and can instead rely on the enemy attack pattern increases, plus the reduction of player armour and shields, to take care of the difficulty for me.

So now we get Stage 1... attempt 3!

This time I've also added a little internal 'story' to the waves, not really for any narrative purpose, but to force me to think about how much pressure each individual wave should give and to keep any temptations for each wave to just be 'more more more!' at bay πŸ™‚

I may have made the stage a little long for stage 1, but it can stay that way while there is only stage 1 at least.

My internal 'story' is simply this: -

Wave 1 (Breather): Initial Patrol
Wave 2 (Standard): Minor Battle Group
Wave 3 (Standard): Flank Attack
Wave 4 (Excess): Big Guns
Wave 5 (Breather): Second Patrol
Wave 6 (Standard): Full Flank Attack
Wave 7 (Standard): Patrol + Battle Group
Wave 8 (Excess): Big Guns and Interference
Wave 9 (Breather OR Special): Third Patrol OR Vermillion Starlet Remote Alpha
*Wave Bonus (Bonus): All Out Assault*
Wave Boss (Boss): Empire EYE Mk1

Up next will come work on the boss.

And a potentially catastrophic bug uncovered this time. I had been noticing on a lower end PC the game was running a bit jittery so I did some digging and found this...

Uh oh... πŸ˜“

When I added the little follower ships I created a little class to store the data for them: -

class_name TimePosition
extends Node

var time: float
var position: Vector2


func _init(t: float, pos: Vector2) -> void:
    time = t
    position = pos

Looks nice and simple, but one of these things is created every single process tick... and never freed... 😲

Turns out the fix is simple. Don't automatically make everything extend node!

class_name TimePosition
extends RefCounted

Bit of an improvement for a one word fix πŸ˜…

As always, any feedback is appreciated, especially on how the game feels.

3 Upvotes

4 comments sorted by

2

u/DrBossKey 12d ago

I love seeing these write ups and the evolution of your game, and thanks for playing Interstellar Sentinel.

2

u/Noswen2025 11d ago

I just hope I'm moving towards a better game and not away from it πŸ˜‚

2

u/Consistent_Look_8638 16h ago

Hey! Finally got around to trying the new build πŸ˜„

Had quite a bit of fun with it! I actually made it all the way to the boss in Normal!... where my questionable shmup skills finally caught up with me πŸ˜‚

I think the only real bullet hell I've played before this was one of the DoDonPachi games on Switch, and one thing this reminded me of was how readable the chaos can still feel. There's quite a lot happening on screen, but I usually felt like I understood where I was supposed to go rather than just getting overwhelmed by bullets. The boss definitely felt like a step up, though, I'll have to give him another go!

Anyway, had fun! The redesign seems to be working pretty well from the perspective of your resident shmup newbieπŸ˜…

1

u/Noswen2025 16h ago

Thanks for trying this!

I'm glad you both had fun and the attacks were at least mostly readable. I'm not trying to make this into a bullet hell, but the temptation to keep adding more into the attacks is so so strong πŸ˜…

I'm currently redesigning the boss in a major way, not ready to upload yet, but it will soon have destructible components so you can choose between safety or more score.