You are a skilled bird wizard and your god has sent you to go clean up the corruption seeping through your local pond. Like all good wizards, you know the pen is mightier than the sword, so it's time to use your magic quill to corral all the corrupted insects spreading the rot in order to banish them.

Controls:

WASD to fly around.

Use the mouse to control your quill within your magic circle, and to aim your throws.

Left click to throw your quill. Hold the mouse button to throw further. After a brief flight, the quill will return to you. You can influence its flight with your aim direction and movement while it is in-flight.

Space to perform a quick dash in the direction of movement, which provides brief invulnerability.

Tips:

While running around enemies can certainly be used to close ink circles and damage them, you should also consider using your dash and throw to complete loops from a distance.

Your throw distance is influenced by how much momentum your quill has before the throw. Spinning the quill around you before letting it fly can result in some long arcing throws.

Comments

Log in with itch.io to leave a comment.

I really liked this concept - we did a similar Boomerang mechanic in our game for the game jam! I wanted to know how you managed to create the ink area when the Pen intersects itself - we created a similar effect by creating a polygon2D and then checking the area, but how did you create the ink shader over this polygon2D? I've realised this is far more complex than I thought it would be :)

Hey! Yeah, it was tricky. For the outline I used a Line2D with the same shader as I was using for the rest of the line, which included some world-coordinate-based noise.

For filling the polygon, I had to generate the UV coordinates in addition to the positional coordinates for the Polygon2D (which involved determining the max and min x and y positions and then dividing each coordinate by that and multiplying by the texture dimensions, fun stuff). Then, I applied a shader to the texture to get the fill-in effect, which was based on the UV distance from (0.5, 0.5) combined with some world-coordinate-based cellular noise, plus a variable I passed into the shader so I could animate the circle closing.

The effect where the whole area bounces and shrinks uses the Geometry2D offset_polygon function. Geometry2D has a lot of useful utility functions for working with polygons.

You're amazing man, thanks so much for responding to my question! Yeh definitely as complicated (probably even more) as I thought haha, but this is more than enough for me to start tinkering with it on my side. You've also introduced me to some neat things in the Geometry2D class, thank you so much for the help!

(+1)

Happy to help! Yeah, I learned about Geometry2D during this jam, and was thrilled to see so many useful utilities just built into Godot!