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.
