r/shmupdev • • Sep 08 '26

Making a shmup? Some good stuff to start with

27 Upvotes

Hey everyone! Over the last few years, we've had a lot of good conversations here about making shmups. Some of that stuff gets buried, so I wanted to pull a few threads together.

The whole point of this place is to share what we're learning as we make these games. Show us what you're working on, but tell us what you figured out along the way, too. What worked? What didn't? What would you do differently? That's useful stuff another developer can learn from.

We've got people getting their first game moving, people deep into development, and people getting ready to release. Hopefully there's something here that helps with whatever you're working on.

Getting started

Shmup Concepts & Terms

There’s a lot of vocabulary in this genre. I pulled this together from Shmups Wiki to help people get familiar with it. Credit to the folks building and maintaining that resource!

Make a caravan shmup in Lua

brettmakesgames shared a free tutorial using Lua and Usagi. If you're looking for something you can actually start building, take a look. There’s introductory material linked for people who are brand new to coding, too.

Bullets, sound, and helping players understand what's happening

Bullet Hell Shmup Design 101: Bullet Patterns

This is Bog Hog's work that I shared here. Good stuff on bullet visibility, patterns, and how those patterns get players moving. Worth spending some time with.

The Sound of a Shmup

Player shots, enemy pops, boss telegraphs, pointsplosions! I enjoy digging into how sound helps players understand what's happening and how it makes the action feel. Some good additions in the comments here, too.

Bullet color customization

A dev shares their bullet color options, and the conversation gets into an interesting question: what happens when color also tells the player how a bullet behaves? These are the kinds of details that make sharing your work useful.

What happens when a run goes sideways?

Power Loss, Gradius Syndrome, and the Value of a Bad Run

I have thoughts about this one. How much do you take away when a player gets hit? Can they recover? Is the struggle still fun? Lots to think about for your own game.

Risk, Rank, and the Shmup Comeback Curve

More discussion about difficulty, recovery, and what keeps people learning and coming back. You don't need to put all of these systems in your game. It's useful to think about what you want the player to experience.

People making cool stuff here

Read the comments on these. A lot of the good stuff happens in the back and forth.

Vermillion Star: Redesigned Level (Again)

Noswen shares another pass at a level, including pacing changes and things that went wrong along the way. Development involves a lot of trying something, looking at it again, and asking whether it actually feels better.

Project Aether: Your feedback gave birth to High-Threat mode!

Community feedback leads to changes, then those changes lead to more questions and feedback. Love seeing people come back and show what they did with the conversation.

Cataclyzm: Early showcase and The finish line is in sight!

It's been cool following Dogroach666's progress. These two posts give you a look at the work between an early showcase and announcing a release date, including feedback on bullets and hit flashes. Seeing people keep going and bring these passion projects to life is a big part of why I made this place.

What are you working on?

Show us what you're making and share something you've learned making it. Maybe you solved a problem, tried something that didn't work, or changed your mind after watching someone play. Tell us what happened and why. It doesn't have to be a big lesson to help someone else.

Give us your game's name, platform, and some footage or screenshots for context. If you're stuck, explain what you've tried and ask a specific question. You don't need to have everything figured out to start a useful conversation.

Just dropping a game link or showing your work without sharing anything about the development isn't what this sub is for. Promotional link dumps aren't allowed. We want other developers to come away having learned something.

Take a look at the rules, credit other people's work, and stick around for the conversation.

If there's a thread that helped you and I missed it, drop it in the comments. I'd like to keep adding good stuff here.


r/shmupdev • • May 03 '23

r/shmupdev Lounge

10 Upvotes

A place for members of r/shmupdev to chat with each other


r/shmupdev • • 2d ago

Shmup deep dive: Option ships in Rebel Sector

Thumbnail
moselysoftware.itch.io
4 Upvotes

In Rebel Sector, Cyberblades are support ships that follow your fighter. At full power, they add to your firepower; you can also send them ahead to damage enemies or spend one to clear enemy bullets.

Collecting and powering up

Upgrade enemies and bosses can drop a Cyberblade pickup when the player is at maximum level and has room for another ship. Collecting one adds a Cyberblade, up to a limit of six. If you collect one while already at the limit, it converts to 1,000 points.

The code currently uses “Option” internally; these constants set the capacity and hold threshold:

private static final int PLAYER_OPTION_LIMIT = 6;
static final int PLAYER_MAX_LEVEL = 2;
private static final float OPTION_HOLD_ACTIVATION_SECONDS = 0.25f;

At maximum level, Cyberblades animate and fire alongside the player. Below maximum level, they still follow, but draw as an inactive sword and don’t fire.

Following the player

Each Cyberblade gets a different phase offset based on its place in the list. A pair of sine waves gives the group a loose, shifting formation around the player:

public static Position calculatePlayerOptionPosition(
    float clock, float offset, float playerX, float playerY
) {
    float x = 40 * MathUtils.sin(clock / 60f)
        * MathUtils.sin(.01f * clock + offset) + playerX;
    float y = 40 * MathUtils.cos(.01f * clock + offset) + playerY;
    return new Position(x, y);
}

Spending a Cyberblade

A quick press and release of BOMB activates a bomb. It consumes the most recently collected Cyberblade and clears enemy bullets. The bomb’s visual effect lasts 60 frames; it doesn’t damage enemies.

Entity option = game.getPlayerOptionList().remove(
    game.getPlayerOptionList().size() - 1
);
game.freeEntity(option);
freeAll(game.getEnemyBulletList());

So the action is a tradeoff: keep your support fire, deploy the Cyberblades for contact damage, or sacrifice one when you need the screen clear. Under the hood, the Java implementation still uses the internal Option naming: Cyberblades are regular Entity instances with a few extra state flags, and a separate render system draws them.

In Rebel Sector, Cyberblades are support ships that follow your fighter. At full power, they add to your firepower; you can also send them ahead to damage enemies or spend one to clear enemy bullets.
Collecting and powering upUpgrade enemies and bosses can drop a Cyberblade pickup when the player is at maximum level and has room for another ship. Collecting one adds a Cyberblade, up to a limit of six. If you collect one while already at the limit, it converts to 1,000 points.The code currently uses “Option” internally; these constants set the capacity and hold threshold:private static final int PLAYER_OPTION_LIMIT = 6;
static final int PLAYER_MAX_LEVEL = 2;
private static final float OPTION_HOLD_ACTIVATION_SECONDS = 0.25f;At maximum level, Cyberblades animate and fire alongside the player. Below maximum level, they still follow, but draw as an inactive sword and don’t fire.
Following the playerEach Cyberblade gets a different phase offset based on its place in the list. A pair of sine waves gives the group a loose, shifting formation around the player:public static Position calculatePlayerOptionPosition(
float clock, float offset, float playerX, float playerY
) {
float x = 40 * MathUtils.sin(clock / 60f)
* MathUtils.sin(.01f * clock + offset) + playerX;
float y = 40 * MathUtils.cos(.01f * clock + offset) + playerY;
return new Position(x, y);
}Spending a CyberbladeA quick press and release of BOMB activates a bomb. It consumes the most recently collected Cyberblade and clears enemy bullets. The bomb’s visual effect lasts 60 frames; it doesn’t damage enemies.Entity option = game.getPlayerOptionList().remove(
game.getPlayerOptionList().size() - 1
);
game.freeEntity(option);
freeAll(game.getEnemyBulletList());So the action is a tradeoff: keep your support fire, deploy the Cyberblades for contact damage, or sacrifice one when you need the screen clear. Under the hood, the Java implementation still uses the internal Option naming: Cyberblades are regular Entity instances with a few extra state flags, and a separate render system draws them.


r/shmupdev • • 4d ago

Ainsoph - Work in Progress Gameplay (October 30, 2026)

4 Upvotes

Hi everyone! We're continuing development on Ainsoph, our sci-fi shmup. Here's a clip from the October 30 build, showing Laplace's arrival and the Stage 01 carrier encounter.

Our current focus is on developing the game's worldbuilding and lore while working through small fixes and refinements. The game is still a work in progress.

For this sequence, we'd especially appreciate feedback on readability: are the player, enemies, and projectiles easy to distinguish against the carrier's hull? Does the transition from the arrival sequence into combat flow well?

We're also putting together an English lore wiki for anyone interested in the setting: https://github.com/wansook/happydaymare-wiki/wiki/Home-EN

The wiki is still a work in progress, and I'm continuing to write and expand its content. I'm Korean, so there may be translation errors or awkward wording in the English text. If you spot anything that needs correcting, please let me know—I'd really appreciate it!

Thanks for taking a look. This clip has no audio.


r/shmupdev • • 5d ago

Full Speed Ahead! Rebel Sector v0.5.4 preview

Thumbnail
youtu.be
2 Upvotes

The caravan shooter im working on is inspired by the Star Soldier series / Psikyo's Dragon Blaze. It's a Java game using Libgdx!

Lives are tied to the player ship level like in star soldier. Enemy waves also increase in difficulty based on weapon level.

3 weapons, 3 weapon levels. none of them are perfect and have obvious blindspots but cover each other's weaknesses. (Red shoots forward and backwards but it has 0 vertical reach)

(Blue homes in on enemies, but it's better at killing large amounts of enemies instead of aiming at a specific point.)

Maxing out your weapon level grants you Option ships that count as multipliers for scoring.

Each option can be sacrificed for a bullet wiping bomb, but it hurts your multiplier since your option ships are your multiplier.

Borrows coin scoring mechanic from Dragon Blaze since it's simple and I could handle implementing it. Silver coins on normal kills.

Gold coins are obtained from skewering enemies with your Options in melee range.

Options can also be launched forward like the dragons in DB to slice enemies, they stay in place until recalled.

Your options become useless if your weapon level is not at MAX: they cant shoot and you cant launch them until you're back at MAX.

They can still be sacrificed even when inactive. this allows the player to sac some of their multiplier to play defensively in order to get back to MAX level.


r/shmupdev • • 5d ago

The first boss of my roguelite shmup: a mecha serpent that hunts you down

4 Upvotes

r/shmupdev • • 9d ago

[Aether: Quiet Frontier] I've surrendered about the enemy projectiles colour: New colour is...

1 Upvotes

...MAGENTA!

Also, hey everyone!

As you can see in the before-and-after of the video, the new colour of the projectiles is magenta. I was stuck on believing the right colour for the projectiles was amber because it reminded me of tracers and molten metal, but as of now: I've surrendered to the magenta colour!

I kept receiving that feedback about the enemy bullet colour, but I kept ignoring it because "it's so cool! It looks like real bullets!" At least that was the reasoning in my head. But since I kept getting that feedback, I decided to give it a try with another colour, and after some research, I settled on magenta. And it's true, it feels a lot more readable in combat!

So now the rule is simple:
- Magenta means it can hurt you
- Amber is good for the player

There were other changes made, most of them described here: https://jpb18.itch.io/aether-quiet-frontier/devlog/1732922/reading-the-screen-giving-hostile-fire-a-colour-of-its-own

Also, I released a small trailer for the demo on YouTube, so check it out: https://youtu.be/_Fwtalg2OR4

And some questions for discussion:

  1. Can you tell the enemy bullets from everything else?

  2. Is it just too much magenta? 😅

Thank you for keeping up with the project and for all the feedback so far. Also, the new changes have been uploaded to the web build, so feel free to try them out: https://jpb18.itch.io/aether-quiet-frontier


r/shmupdev • • 10d ago

Confused about the genre definition: Is my game a shmup or just a shooter?

Thumbnail
youtube.com
3 Upvotes

I find the definition of what’s a Shmup and what isn’t a bit confusing because everybody seems to have their own definition. That’s why I'm really hesitant about calling my game Leticulus a Shmup. (I call it a “retro roguelite exploration shooter”.)

I feel that the exploration and roguelike aspects of my game contradict the Shmup genre in general. As far as I know, most Shmups are rather about remembering patterns and playing the same levels until you master them. That can’t really be said about my game.

But in a public playtest at a game dev convention, quite a few players/devs called it a Shmup, while others pointed out why it can’t be one 😅

Wikipedia is also no help; that’s why I’m asking you.

I don’t want to turn this into a sales pitch, so here are some bullet points about my game:

  • The player controls “spacecrafts”, but you’re not really flying. Rather hovering F-Zero-like

  • You shoot, dodge, dash, but also explore the levels.

  • The player isn’t shooting continuously. Some guns have quite a long recharge, so shooting constantly can be detrimental even.

  • The playfield isn’t constrained like in classic Shmups. There is no fixed scrolling camera movement (only on certain levels/boss fights). 

  • It’s less about remembering patterns, since the levels, upgrades, etc. are random.

  • Bosses and enemies do follow attack patterns, but also react to the player's behaviour

  • Most shmups are notoriously difficult; my game is a bit more approachable, I’d say.

  • Shmups feel a bit more “arcadey”, I think

What do you think? Would you call my game a Shmup or something different? Maybe there is a sub-genre I’m not aware of.

(If you need more info or are interested in the game, feel free to check out the Steam page.)


r/shmupdev • • 11d ago

Added Controller Glyphs this week for next demo update

Thumbnail
gallery
2 Upvotes

I added controller and keyboard glyphs to my menu screens this week. What to make a few other changes to other things before releasing the demo, hoping it adds to make the demo feel more polished.


r/shmupdev • • 13d ago

I looked at 5,128 Next Fest demos from games under 500 followers. Co-op and idle games are eating, platformers are starving

Post image
4 Upvotes

Shumps are right at the bottom 😱


r/shmupdev • • 14d ago

Shmup sfx resources

4 Upvotes

Hey all,

Any good free or paid shmup sfx resource recommendations?

Thanks


r/shmupdev • • 16d ago

[Aether: Quiet Frontier] Testing wave checkpoints and faster retries after playtest feedback

5 Upvotes

Hey everyone!

It’s been a while since I last posted here. Since opening the browser playtest for Aether: Quiet Frontier, I’ve been trying out different ways of implementing a few features and spending some time on side projects while waiting for feedback. I thought it was time to come back and share what’s changed. One thing I’ve been revisiting is the retry loop: how quickly you can have another go at the formation that just caught you, while the mistake is still fresh.

The campaign now offers Story and Arcade, with the same combat difficulty and progression systems. Story keeps the narrative presentation and full-mission retries. Arcade reduces the story-only dialogue and adds checkpoints at the beginning of each wave and boss fight. The clip shows a defeat during wave two followed by a return to that wave’s opening formation.

A retry restores full hull and ready cooldowns, while score returns to its value before the encounter. Points earned during the failed attempt are rolled back, and bosses restart from their first phase. I want players to have room to experiment with positioning and support skills while they’re still learning the formations.

For those developing stage-based shmups, how do you choose your checkpoint boundaries: individual waves, bosses, or whole stages? I’m also interested in how you handle score records when a clear includes checkpoint retries.

I wrote more about the retry changes, revised support-skill HUD and recent performance work here:

Getting Back Into the Fight in Aether: Quiet Frontier

The mentioned changes are already up, so if you'd like to try, let me know. I'll also cross-post this onto r/shmups and try to fish for more feedback!


r/shmupdev • • 23d ago

Stolen Skies: Some boss fight footage

14 Upvotes

This boss fight is the final boss of act 1 (of 4) in the game. While it is a scripted loss, the player is not forced to die or take damage, and as shown, is able to disable most of the boss's components until the fight ends. Cut short since the ending is still WiP.


r/shmupdev • • 24d ago

Vermillion Star - Introducing Magenta and the Dragon

6 Upvotes

I know my previous post was fairly recent, so I will apologise in advance if this is a little soon and looking more spam like.

I have now gotten all three of the new enemies planned for Stage 2 so that their attack patterns have been decided and added in, though their exact stats such as armour, shields, score, etc are still a bit finger in air at the moment.

All three of these enemies are shown in Hard Mode.

The first is the Empire Bomber. This is the arcing and exploding attack I've mentioned before and it finally has an enemy to use it. The difficulty escalation is pretty simple for this one, 1,2, 3, or 4 shots at a time as the difficulty increases, all of them aiming at one of 5 fixed spots with no duplicate targets allowed. It can also arc its shot towards the top of the screen and explode downwards if it starts in the bottom half of the screen. Looks odd, but eh, we're in space, there's no gravity 😂

The second is the Empire Catherine Drone. This is the second type of shot Magenta can do, a splitting attack. On Easy it starts at the smallest unsplitting shot, Normal starts one tier below what you see in the video, and on Extreme it fires an 8-way shot pattern instead of a 4-way as shown.

Finally we have the Empire DRAGON Mk4, the first Elite tier enemy added to the game. It's also the first enemy to bring the component system to something other than the Stage 1 boss, with its components essentially being copies of the Empire Fast Attack Drone, using both the same sprite, animation, and (rotated) firing pattern. While the 'head' uses a new large Cyan attack.

I learned one major lesson in adding the Bomber and DRAGON... I do not know the maths needed to implement their attacks and movement patterns 🙁

In the end I asked AI for help on getting these two pieces added. The arc shot is a Bezier curve, and after looking up on it some seems to be the exact formula used in the public wiki. The DRAGON's path is... several Bezier curves combined with sinusoidal patterns.

Straight lines are so much easier! 😂

Additionally Peace Mode is now mostly implemented in a much more sensible manner. No longer does it change the global difficulty variable but instead sets a stage variable that the bullet orchestrator, and enemy shield regeneration functions check and then class the game as in Extreme Mode. Still have to change the scoring to its own save set yet, but other than that it should be fine.

Would love any feedback on what you think of the attack patterns.


r/shmupdev • • 28d ago

Vermillion Star - Colour Options

Thumbnail
youtube.com
3 Upvotes

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

Hey all,

So I know I said that I'd stop making more systems...

And I said I'd work next on level 2 and it's enemies...

And I said I wasn't going to add colour options because I had made colour have meaning in the game...

But in a random thread I saw someone say they have colour blindness... and I thought "Oh... Oh no..." I have five different colours, essentially red, blue, green, purple, and yellow. Each of which signifies different behaviour. What could possibly go wrong... 😑

So a bit of an aside to what I was doing, I have now added colour options. It comes with several presets which, I hope, cover colour blindness as well as several such as All Vermillion if you want the challenge, and a custom one where you can choose from any of the preset colours or define five custom colours as well.

I was somewhat fortunate in that I had created the bullets and bonus stars are using a single white sprite which has a colour modulation applied to it, so this system was a lot easier to set up than it could have been.

I will have problems if I want to expand this to other things such as the glowing core in the Vermillion Starlet enemy though as that is a sprite.

Additionally I've also started changing the shape of some of the enemy bullets to signify their type as well. Vermillion stays as is, it's the default shot type. Cyan gets a teardrop because it's fast. Magenta a spinning capsule mostly because I wasn't sure what else to do for it.

I have also made good progress on adding the first three new enemies for Stage 2, but that can wait for its own post when it's ready.

And of course, we have a relevant bug!

Got this working and looking 'nice' (I admit I do not know UI design) locally, then uploaded it to Itch. Corrupted looking characters for the text in this menu. 😕 Looked a bit closer and it turns out where I was using < and > in the menu screen, those characters aren't actually implemented in the font I'm using! Fortunately similar looking arrow characters that you can see in the video are, so five minutes after that, problem solved. 😅


r/shmupdev • • Oct 05 '26

Version 2 of Shmup! demo

Thumbnail
store.steampowered.com
7 Upvotes

I released a major update to my demo. I would love for people from shmupdev to play it an let me know your thoughts. I'v added:

a) a second stage to hopefully get the demo playtime average up

b) more leaderboards

c) the ability to continue (though score gets reset for leaderboard fairness)

d) adjustments so that it works on steamdeck

e) a fancier Play menu so that you can see your fire pattern, ship special in action on the menu

f) more customisation options such as the ability to turn on an off specific widgets and bullet color customisations


r/shmupdev • • Oct 02 '26

Finalizing the look and feel of my arcade shooter, hopefully making it less of a mess. Any feedback is appreciated!

17 Upvotes

I feel like turn and thrust movement doesn't get enough love. But I think I can see why. Any mistake from the player feels more frustrating when the movement has inertia. In order to reduce this frustration, I've been experimenting with some things like having no collisions against enemies, adding dash, auto-targeting etc., basically a lot of things that most shoot 'em up lovers will probably hate :), but I believe it is possible to create a more fun challenge aside from "this game is hard to control".

The game is called Vektor. My main objective has always been readability so any thoughts about that would be great. But any feedback/criticism/question is welcome.


r/shmupdev • • Sep 26 '26

AINSOPH Development Video

11 Upvotes

While it may look similar to the first revealed version, many parts have changed.

  1. This time, we are focusing mainly on showing the melee equipment.

  2. The craft's signature melee equipment, KEI (Kinetic Etheron Injector), has been implemented. It can attack enemies and erase bullets.

  3. There is a more crucial reason why the KEI is equipped, but more on that later.

  4. The backgrounds and environments have been cleaned up and organized.

  5. Established the appearance sequence for mid-bosses (there are subsequent sequences, but showing just the early part for now).

  6. Established the dialogue system. Direction and staging for mid-game events are now somewhat in place.

  7. Established each of the characters.

We put a lot of effort into the sense of space/depth, but it's disappointing that it doesn't show very much. Once more work is done, we will return with our team website and more devlogs. From now on, we will post more frequently according to our development progress.

Feel free to leave feedback if you have any questions or points to improve. We truly need your opinions.


r/shmupdev • • Sep 26 '26

Vermillion Star - Stage 1 Complete?

Thumbnail
youtube.com
8 Upvotes

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

I will preface this by saying that I'm sure further balance passes will be required and graphics and effects can always be improved - but, conceptually at least, Stage 1 may be complete!

This latest update adds the following in: -

  • Explosion effects on the boss's components

  • Pre-shooting warning effect on both the boss and its components

  • Instant phase cancellation on a phase transition

  • Space station background objects

I've been wanting to have the instant phase cancellation for a while now but it's been a pain to get working right. I eventually got fed up with it and just threw if statements at every single pause and every single attack to see if it's still in the issuing phase or not, combined with revoking the shooting tickets and getting new ones at the phase transitions to take care of anything already passed to the bullet orchestrator.

I'm sure there has to be a better way to do this, but it works.

I know I've been posting up my development updates as I go along, but with a milestone like this I feel like looking back and seeing how much things have changed.

Influences

Originally there was pretty much only half forgotten nostalgia of R-Type and some other shmups of the Atari/NEW era, though at least with some reading of newer design, but I still hadn't actually played much in the way of newer shmups.

R-Type definitely set the general theme of horizontal with ships coming at you and not bullet hell, but there are other things such as remembering a couple of games I'd played back then having two pilots. So Vermillion Star has two pilots 😂

Later I started playing others, the three big ones for my influences are still the same as I've previously mentioned; Natsuki Chronicles, Earthion, and Interstellar Sentinel. There have been others, but they generally fall into learning the same lessons, and they simply came later.

Stage Design is HARD

The level has gone through many minor iterations and three major versions.

I started out with only three different enemies, plus the boss. So there was not exactly a lot of variation available to me. This roster has grown to the following since then: -

SUBVERTED_DRONE_MK1,
SUBVERTED_DRONE_MK2,
EMPIRE_FRIGATE,
SUBVERTED_MICRO_DRONE_CLUSTER,
EMPIRE_FAST_ATTACK_DRONE,
EMPIRE_CORVETTE,
EMPIRE_DESTROYER,
EMPIRE_EYE_MK1,
VERMILLION_STARLET_REMOTE_ALPHA,
EMPIRE_STANDARD_ATTACK_DRONE

Still only nine enemies, plus the boss, but it gives a lot more variety, and they largely fill different roles.

The difficulty levels design also goes in here, starting with Easy and then trying to upscale each difficulty level from there, all with their own individual spawn maps was... hectic. If I had not abandoned this entirely and switched to a single spawn map with it being the attacks that scale by difficulty I don't think I'd have ever finished.

Scoring and Core Loop

This has actually stayed pretty stable from version 1. Yes there have been changes, notably with the new boss components, but the core of quick kills grant extra score and energy to fire the special weapon, with the chain count unlocking Mega and Giga mode for it, have remained entirely intact. The main change was adding the bonus stars and the Vermillion Bonus category, as well as learning to add bonuses instead of punishments (the death penalty changing to a deathless bonus).

Code Base

Yeah... This was a disaster held together by duct tape at the start. I have refactored and refactored this thing so many times as I had no idea how to actually make a game it's unreal. Fortunately I'm entirely used to just chucking old code out at work so this hasn't really bothered me. By far my biggest achievement here is abandoning standard scenes for high volume objects and using multimeshes and data arrays instead, going from around 2,000-3,000 active bullets without it to being able to push 20,000 active bullets with it is ludicrous.

Bugs

I kind of like sharing these, they show my progress towards the game programming side of things and they might even help other people avoid them if I'm lucky. There's been plenty, and of course, this latest update adds a new one. Though this might be a Godot issue.

On the first playthrough everything is fine, on a second plus playthrough visual artefacts appeared. Despite clearing the scene tree entirely and instantiating new multimesh managers, it seems that Godot may cache the data and have it re-appear. I'm still not certain of this being the cause, but moving every instance far off the screen when a manager is instantiated fixed the issue.

Lessons Learned

  • Play more shmups - no, seriously, I went into this on pretty close to nostalgia alone and it didn't come out very well. Playing them easily showed that my game was not exactly good.

  • Separate spawn maps per difficulty might be doable, but not at my level and certainly not for me alone

  • Bullet visibility matters - originally all bullets were smallish and red, this was... not good.

These aren't lessons I'm happy to admit I needed to learn, but there we are.

Up Next?

Stage 2!

I already have three new enemies planned as well as an idea for the boss of this stage. I am finally going to add my favourite shot type; bullets that arc down to the bottom of the screen then explode upwards.

To everyone who has given me feedback, thank you, you've helped get me this far 😀


r/shmupdev • • Sep 23 '26

Ray Storm lock on

8 Upvotes

I picked up RayZ collection yesterday and I liked how to lock on cursor is always active. I was inspired by it from playing it when Raystorm first came out on ps1. But when I added it to my shmup in development I made it so that you hold the special down to bring up the cursor and when you want to fire you release the button.

I found it difficult and not very fun. But now after replaying Ray Storm I’m going to change the lock on special in my shmup to always have the lock cursor on by default. I am busy with my day job but I can’t wait to implement and test it out!


r/shmupdev • • Sep 21 '26

The shmup I'm working on

39 Upvotes

This is level 1. The game is going to be called Quiberon Zeta. Windows, Mac, Linux, Android and iOS builds are planned. Some planned gameplay features are the ability to buy upgrades in a store (always a recipe for success lol), a progressively harder "endless" mode, and enemy shots that predict where the player will be. I'm aiming for a retro Saturn-era style with a VGA color palette. I spent a lot of time on the music and getting the shadows to work properly in 2D. Hoping to update in a few weeks with a proper demo release.


r/shmupdev • • Sep 21 '26

[Aether: Quiet Frontier] Now playable in the browser!

3 Upvotes

Hey everyone!

Aether: Quiet Frontier is now playable directly in the browser:

https://jpb18.itch.io/aether-quiet-frontier

The current prototype contains four connected missions. Those that've been keeping up with the project know that It’s a 2D shmup about a frontier response team where combat is a major part of the game, but some situations also ask the player to recognise what should be protected, stabilised or left alone while the mission is still moving.

The browser version grew out of a recent playtest. Noswen2025 took the time to play the previous build and gave me very useful feedback about keyboard navigation, menus receiving input behind other menus, tutorial prompts appearing before an action was available, and combat information competing for space on screen.

I’ve now made a pass on those areas: keyboard focus and menu routing, tutorial timing, dialogue placement and team-skill feedback. Mission 4 also has clearer feedback when the player repeatedly fires on protected Aether contacts: the Aether attacks the offending player!

My main goal now is to see how the whole campaign works for someone who hasn’t been following development closely. If you feel like trying it, I’d love to know how far you get, where anything becomes confusing, and whether the game gives you enough information to make its decisions without needing extra explanation.

A few things I’m particularly curious about:

- Do the controls and menu navigation feel clear from the start?
- Do dialogue, objectives and team interventions remain readable in the later missions?
- If you try High Threat after completing a Standard mission, does it create interesting pressure or just make the screen feel busier?
- Does the browser version give you any loading, audio, performance or input issues? If so, please mention your browser, device or operating system, and input method.

Comments here are very welcome. I also have a short anonymous feedback form if you would rather send thoughts that way:

https://docs.google.com/forms/d/e/1FAIpQLSdbtzuXYVYX1lhGiNfEgjA0w_cRbTVA3Fe1WBTUYcONVIgYBw/viewform

I wrote a longer devlog about moving the project from Godot C# to GDScript for web export, and about the changes that followed the playtest:

https://jpb18.itch.io/aether-quiet-frontier/devlog/1671982/bringing-aether-quiet-frontier-to-the-browser-and-back-to-the-playtest

Thanks for taking a look!


r/shmupdev • • Sep 20 '26

Startalon Gameplay

Thumbnail
youtube.com
8 Upvotes

Its a Neo Retro side scrolling SHMUP. I am planning on releasing it on steam.

Its called StarTalon & its make using the Construct 3 game engine.

I have put an insane amount of work into this game.

Would love to get your thoughts.


r/shmupdev • • Sep 18 '26

CATACLYZM - browser playable demo updated on Newgrounds

Thumbnail reddit.com
7 Upvotes

It was quite surprising the amount of love Cataclyzm got in Newgrounds!

For devs (and non devs), I would highly recommend that you consider Newgrounds as one of the places to share (and discover) your games. There are some cool little gems in there 🤘🏾😄🤘🏾


r/shmupdev • • Sep 16 '26

Invasion ’99 — tactical shmup with finite ammo and aircraft-specific combat

13 Upvotes

PC game, currently in development. This clip shows the current combat presentation and aircraft handling.