Armcadia - Quick, Easy 2D Tentacles

A place to house devlogs of member’s projects.
Post Reply
User avatar
Sirocco
Site Admin
Posts: 734
Joined: Fri Feb 12, 2021 10:25 pm
Location: Outer Demoscenia
Contact:

Armcadia - Quick, Easy 2D Tentacles

Post by Sirocco »

Image Image

Armcadia is a single-header, C library for generating and animating 2D tentacles using waves and primitives.
Right now it's still in development, and I'm in the process of making it more platform-agnostic, although it's should be a drop-in for Raylib users. It has support for custom drawing routines via callbacks, and a slew of parameters for customizing the look and feel of each tentacle, how it animates, and simple actions such as latching the tip to a given set of coordinates.

Tentacles are defined with a starting coordinate, base angle of projection, and then the stalk grows outward based off the other parameters, such as defined curling and waving envelopes, and a pair of waves can be configured to set up fairly sophisticated looking idling animations, which are easy to adjust on the fly. You can lock the tip to a separate set of coordinates, and the tentacle will reach for it, and latch on if it's in range.



This library is being used in my most recent demo, and will be made publicly available soon.
User avatar
Sirocco
Site Admin
Posts: 734
Joined: Fri Feb 12, 2021 10:25 pm
Location: Outer Demoscenia
Contact:

Re: Armcadia - Quick, Easy 2D Tentacles

Post by Sirocco »

Initial version is ready for testing. Gonna put it through its paces this weekend and see how it holds up.
User avatar
Sirocco
Site Admin
Posts: 734
Joined: Fri Feb 12, 2021 10:25 pm
Location: Outer Demoscenia
Contact:

Re: Armcadia - Quick, Easy 2D Tentacles

Post by Sirocco »

Testing has gone well so far. Performance is definitely an issue if you're using the default rendering routines, which just have Raylib draw a bunch of filled circles. Apparently that's dog-slow. You're better off providing your own routines that drop in textures instead (this can literally be a routine with one line of code in it, lol).

Image
User avatar
Sirocco
Site Admin
Posts: 734
Joined: Fri Feb 12, 2021 10:25 pm
Location: Outer Demoscenia
Contact:

Re: Armcadia - Quick, Easy 2D Tentacles

Post by Sirocco »

Image

I've spent the last few weeks dogfooding the lib, using it to construct and animate several scenes in a demo. I made several minor improvements in response to my experience, but otherwise left things as they are. Again, the default Raylib primitive drawing routines are underwhelming, but it's borderline trivial to put in some textures of your own and set up custom drawing routines. I'll include full example programs showing exactly how to make that happen.
User avatar
Sirocco
Site Admin
Posts: 734
Joined: Fri Feb 12, 2021 10:25 pm
Location: Outer Demoscenia
Contact:

Re: Armcadia - Quick, Easy 2D Tentacles

Post by Sirocco »

Still dogfooding this. I can see some points where I can streamline the lib, calculations, etc. I'd also like (read: need) to make a few example programs showing how the do common things, and avoid pitfalls. I remain pleased with the results; doubly so as this is the second lib I've ever created (the first was an unreleased mouse gesture detection library for Allegro 4).
Post Reply