Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

nephilim BREAK - Bullet Hell Shoot 'Em Up

A topic by qued created 65 days ago Views: 214 Replies: 3
Viewing posts 1 to 4
(1 edit)

Hi, I'm qued and I'm making a shmup. It started as a submission to a game jam. After a multitude of jam games and unfinished prototypes, I want to see this one through to a proper finished state for a change.



The game is a vertical shmup with prerendered 2d graphics for the player, enemies, and bullets, and 3d backgrounds for stages. The theme of the game is apocalyptic and biblical, with the player fighting aliens/angels on Judgement Day. It's a manic shooter with dense and varied patterns, somewhat touhou-like in gameplay with flying enemies only and a focus on extended boss battles with multiple phases. There's four difficulty levels: Easy (for newbies), Normal, Hard, and Impossible (for sickos). Right now there is one stage, with a second nearly done and third in progress. Some enemy graphics are reused for multiple bosses while I'm working on making new ones.

The scoring system is a work in progress, but in the latest (currently unpublished) version it's based on collecting medals (halos) which increase a multiplier that, well, multiplies the score gained from destroying enemies. The multiplier resets between stages, and is cut in half when you die. The multiplier ticks down gradually if you aren't continually collecting medals or grazing bullets. There's also points to be gained from grazing bullets and directly from collecting medals, with bonus points for defeating boss phases quickly. Right now score doesn't give you extends or anything, but that's something to think about.

I would greatly appreciate any shmup newbies or STG veterans who want to try out the game and give me some honest feedback. Notes about too-easy or too-difficult bullet patterns, time where there is dead air without enough enemies, difficulty spikes, or scoring exploits would be incredibly helpful. Ultimately I want to make this into a 5 stage game with a high skill ceiling for score chasers, but with an approachable level of difficulty for genre newbies who want to make it through to the end.

Browser and download versions are available.

Try it out at https://qued.itch.io/nephilim-break

Stage 2 is nearly finished, and stage 3 is started.

Aside from work on stage 2, I've been spending time fixing up some patterns in stage 1 that were too difficult or too boring, and fixing some enemy sequences where things got overcrowded or there was nothing to shoot at all. I've also been revamping the UI to make everything more functional, easier to read, and flashier. It now shakes when using a bomb, dying, or defeating a big enemy. There's no annoying screen shake - only the UI shakes.

Text pops up now to show the points you just gained.  Multipliers are now increased by 10ths instead of whole numbers. You can now see a bar that shows when your multiplier is about to decrease. Also the multiplier display gets bigger and bigger when you get really really high multipliers. How high can it go? Nobody knows! (it's capped by difficulty)

And there's a new enemy that shows up in the stage 2. I think it look appropriately angelic and creepy.

 

Stage 2 is finished, and a new version was released a bit ago. Now the focus has turned to stage 3. It's a cave scene, dark, with rocks and stuff. There's a new enemy in there that looks like a big blob of flesh that explodes into blood and gibs. Here's a looksy:

Look at that sad looking blob. In the game I call it a failed human, the story being that uhh, God made some other things before settling on us, and they found their way into the cave and you have to fight them. They're the first biological enemy in the game, and stage 3 will be different by featuring them. Here's a screenshot showing one exploding into blood and gore.

Gross. This required making new blood splotches and gore bits. I whipped up a particle system in Blender using particles, metaballs and a hokey-looking blood material. Here's one of the animation strips.

 

The gore bits are random blobs with a sickly meat-like material applied. I made several variations, for variety.

I've been doing lots of work on the art side of the project lately. There's several new seraphim boss enemies - variations on a theme. I'm trying to make unique graphics for each of the bosses and midbosses to replace some of the repeated graphics used in the two existing stages. Aside from that, I've been focusing on tightening up the graphics on level 3 adding visual flourishes and special effects like flashes when firing the ships' weapons and a 'charge-up' effect bosses can use before firing off especially tricky bullet patterns.

Azazel has a new spaceship :) It's mostly the same as the old ship, but with extra details and better materials. The ship has some floating options (using the trusty godot icon as a texture for now). They should help make the difference between regular fire and focused / slowed fire more distinct. The idea is the options will alternate between spread and straight fire so you'll deal more damage when focused, but the spread is lower. Basic stuff, but it wasn't in until just now so it's about time. Eventually I'd like to make at least one alternate ship to choose from. That'd be nice. Probably going to be colored blue. Tradition, you see.

Started stage 3 with the boss this time and working backwards to discover what types of bullet patterns need to be introduced / taught to the player during the stage. It's that time during the course of the game where the traditional shmup difficulty spike occurs, so everything is tending towards faster and deadlier and harder to read, with lots of fancy trajectory alterations and sub-bullets firing off.

That's it for now.

All the enemy sequences and boss patterns are coming along nicely. This honestly is the part that takes the longest. In a bullet hell shmup there's no "terrain" except for the bullets and enemies, so it's important that they're interesting by themselves.  You want the player to get overwhelmed if they aren't being aggressive and destroying enemies quickly. It's a challenge to get the timings of enemy spawns just right to avoid dead air while making everything actually possible to defeat fairly.

Besides sequences and patterns, I've brightened the bullets so they're even easier to see. They look like neon death now, which is kinda what I was going for all along.


I've also been working on sprucing up the player ship. Now there's graphics for the floating options, and a little muzzle flash each time you fire. And there's two smaller streamers jet instead of one big one. Godot's Line2D node is useful for effects like the jet streamers. In the script I add a point to the line each frame and remove the oldest point while moving all the remaining points down by a set amount. This produces an effect like trailing jet exhaust that shows the players' motion over the past second or two.

My workflow uses Blender to create 2d graphics that are packed into sprite sheets and animated in Godot. With blender you can make lots of effects. Almost everything shown on screen is made with Blender (and some edits / enhancements with Photoshop), even things like the bullets and the bomb icon. A lot of things uses the same lighting setup, but some objects have special lights for extra emphasis or aren't lit at all, instead colored by the amount their normals face the camera.

Each game object exists in a collection with its own camera and line art to avoid messing up the settings when editing other objects. Blender's LineArt object is an amazing tool that gives everything a cheap and easy-to-achieve hand-drawn look, with lots of options to achieve different styles. I use basic lines colored with the hard light blend mode to make the lines take on the color of the object they're on top of while still being dark and distinct. Most objects just use that and regular materials and that's all it takes. Render the frames with a transparent background and combine them with something like free texture packer and it's ready to use.

With the angelic enemies though, I give the lines a heavy jittery effect with a noise modifier applied to the lines, and color the surfaces with a material set up to create random sketch-like shading lines that change each frame. The node setup is put together from multiple tutorials and experimentation. The material uses a driver that outputs the current frame number. This drives a noise texture which is multiplied by a very big number to make it more or less random, and is used to rotate the orientation of a wave texture that is rotated and scaled differently every frame.

Next, the shader takes the value of the output and pumps it through a color ramp with constant values to flatten the colors, making it appear anime or toon-like. This comic-book flat shading is mixed back in with half of the original image to preserve some of the shading while keeping shadowed areas visible and distinct. 

Combined with noisy line art, it gives the enemies a neat sketched look. All the angelic enemies use this effect to give them a sort of unearthly feel, while the player ship uses stable lines and constant colors to contrast.