📘 Space shooters & more: tips for developers

In this guide is an assortment of tips for people making space shooters. Due to the surge in space shooters, I hope I can help developers make more engaging games by using these tips in their games.
This guide may prove handy to people making regular shooters, or other games as well. This is my first time doing something like this, so lmk what you think!

img_asset_15185180_scaled_4x_pngcrushed

:one: TIP 1: GIVE THE PLAYER A REASON NOT TO SHOOT

A lot of shooters on flowlab give you the option to turn the cannon on or off. Doing so changes absolutely nothing, other than you are now firing bullets. But riddle me this: if there is no reason not to shoot, why stop shooting at all?

Giving your player a reason not to shoot makes the game more strategic, and forces the player to think a bit more. It also adds more “weight” to your gun, as there’s a reason to fire it. Most shooters do this with a reload mechanic, but there are other ways as well. Here are two of them:

img_asset_15185180 (2)_scaled_4x_pngcrushed
the energy mechanic

Similar to reloading in most shooter games, an energy mechanic is simply a bar of electricity somewhere. It constantly regenerates no matter what, but the player’s firing speed eats more power than the battery can generate. This forces the player to time when they shoot and strategize on energy usage.

To get extra strategic, you can force the player to wait for the bar to reload entirely if they burn the whole thing up. This discourages holding down the shoot button more and a lot of space shooters made by big studios use this mechanic.

img_asset_15185180 (1)_scaled_4x_pngcrushed
the speed mechanic

The speed mechanic works on 2D games only, and also helps give weight to shots. The rules are simply that when the player is shooting, their movement is slowed. This allows the player to switch between an “attack” phase where they’re constantly shooting but cant move a lot, and a “defense” phase where they are more able to avoid enemy shots. This is a really great way to add strategy to your space shooter if you don’t like reloading and energy.

It is reccomended to use these methods seperately, but some games can do both at once. Try what seems best for your game.

:two: TIP 2: LOW AND HIGH HEALTH

Rage games are really fun and are a riot. But there is a difference between making your shooter a rage game and an unfair one.

img_asset_15185180 (3)_scaled_4x_pngcrushed

If the player is flying cardboard (1-2 HP) , projectiles should be slow and the player should have a lot of room to move. In all hardcore bullet hell games out there, the player is given 1 health, but they also move at a comfortable speed, and projectiles move very slowly. Enemy attacks are also very predictable and the game rarely throws a surprise at the player. It is imperative that if the player has 1HP, the game is predictable and projectiles move slowly.

On the flipside, if the player is flying top-of-the-line steel alloy (3+ HP) , you can throw more projectiles at them at faster speeds. If you want your shooter to be chaotic and unpredictable, your player needs to either be very fast and maneuverable, or have a lot of HP. The more HP you add to the player, the crazier you allow your game to get while still enchanting the audience.

HP isn’t the only thing you can change. You can also give the player abilities, which can change the playing field.
Enter the gungeon has limited-use blanks that clear bullets from the screen and a dodgeroll mechanic.
Steredenn has special abilities that can be used to destroy or reflect bullets.
Phoenix II has several different offensive and defensive abilities that can be used to destroy enemies or protect the player.

In general, adding abilities to your game can make it more enjoyable overall. Try to balance the player’s strength with the enemy’s at all times. If you don’t, you can leave players disgruntled instead of satisfied after playing the game.

:three: TIP 3: SHOOTING PATTERNS

A big thing about your shooter game is the attacks the enemies have. Attacks are what the player has to avoid, so they should be both fun and challenging.

A mistake that countless shooters make is bullets that are shot directly at the player, so this part will focus on that mostly. What I mean by shot directly at the player is that when an enemy spawns a shot, it’s always pointed directly at the player. When this is done, it results in weirdly shaped lines of bullets that are impossible to dodge and no fun to move around.


there are two (explained) solutions to shooting directly at the player

Solution one: bullet "strings"
One method is by essentially firing the first shot at the player, and having the trailing shots be shot at the exact same angle. This results in bullet “lines” that are scary as they are fun to dodge. It makes for a rapid fire attack that is more dodgeable while still launching the same count of bullets. for spread-shot attacks like three way bullets aimed at the player, the bullet strings method is a great, if not the best way of doing this.

Galacdrive’s “destroyer” boss does this when it attacks, and the “captain vorgar” boss does the spread-shot method during it’s blue attack as well. If you want to see this yourself, hit Y in galacdrive’s main menu, open arena mode and fight destroyer or captain vorgar on any difficulty.

Solution two: spray fire
Another solution is by applying a random offset to the angle a bullet is shot at the player. This results in a more “spread out” attack that can be dodged, but still makes the player move. It invokes a bullet hell feeling in your game and is a solution equally as good as the bullet strings. You can even make the spread super far to cover the whole screen. It is important to make the spread wide enough for the player to dodge through.

:four: TIP 4: CONTRAST

When making a space shooter, art direction is very important, even if you’re not a great pixel artist.

img_asset_15185180 (4)_scaled_4x_pngcrushed
make sure that the important parts of the game are visible as possible, at all times.

This means making the background dark, and the player, enemies and projectiles bright. You can use outlines, but those will only work so well. It is very important to keep all the relevant parts of the game as visible as possible.

The easiest thing you can do is “warm” up bullet sprites by making them glow more. In practically every bullet hell game, bullets glow like they’re incandescent. While it’s not realistic, it makes the game handle-able.

Be sure not to crowd the screen too much as well. For example, fighting an invasion in Terraria can be a hassle, because projectiles can be really hard to see amidst all the chaos. The more stuff that’s going on in your game, the brighter projectiles should shine to make sure the player can see and dodge said projectiles.

This is not to discourage background art and elements. Background elements do wonders to add life to a game and are awesome. You just need to make sure that the details aren’t bright enough to blot out projectiles the player needs to dodge. Without background elements, a game can feel dead, and with too many, it can be hard to play the game. Strike a balance!

:checkered_flag:That’s the end!

Thanks for reading my list of tips for space shooters. Even if you aren’t making a space shooter specifically, I hope this guide helped you in some way. Flowlab developers make what’s on the front page of the site, so it’s imperative that the front page games show what the game engine can do. We are all representatives of the flowlab game engine!

If you have any questions, comments, or nitpicks, please let me know in the forum comments. I want to help the community make awesome games, and I’m committed to making flowlab games more fun each year. Thank you!

23 Likes

Really nice tips, I liked the “Reasons to NOT shoot” the most. It’s something that I think is really important, figuring out not only how something can be used, but also how to NOT use it, is something that I wish was done more.

EDIT: oops, had a few typos and unfinished thoughts

10 Likes

This is awesome! I’ll definitely be using this when making pilot(null) 2!

5 Likes

This is a fantastic resource @sup3r87 - thanks for posting it!

9 Likes

hey grazer, do you think this could be featured as a blog on the website?

4 Likes

Thank you for this information!I did not know a square could hold all this knowledge.

5 Likes

Thanks for the kind words, guys! Glad to see it’s well recieved :slight_smile:
Also, I’m not sure if the guide can be featured as a blog. That’s up to grazer though.

7 Likes

Wow, this is very well written and descriptive. Definitely going to try to make a new space shooter game after the jam.

5 Likes

Ive been working on a space prototype game, it has really realistic movement and particles.

3 Likes

I took inspiration from how actual space shuttles shoot out air for stablization

3 Likes

Cool, Another game being made. It makes me wonder when am I going to get my game making skills back…

7 Likes