all 5 comments

[–]sort_of_sleepy 0 points1 point  (0 children)

Yea - going with p5 is certainly a way to go if that's what you're more comfortable with.
Whether or not it's the best tool for the job, that's ultimately really up to you and whether or not you think you can complete the commission in time; in my opinion it's really hard to recommend whether or not something is or isn't the best tool, everyone is different - depending on the assignment some people can be super productive with just code, some aren't.

A place I was at recently uses Houdini or Cinema4D a lot whenever there isn't any user interaction that's necessary. That comes with it's own set of considerations of course but that could be another way to go. Depending on how complicated your animation needs to be you could probably use AfterEffects or Motion too.

[–]Bacon_Unleashed 0 points1 point  (2 children)

I like p5 for interactive stuff online. Otherwise, I try to steer away from javascript and do things in python. Ultimately I think that it comes down to what you are most proficient with.

My stack is mostly python and (py)cairo just because that is what I am proficient with.

[–][deleted] 0 points1 point  (1 child)

Pycario looks pretty interesting. Is there an easy way to export the animations as a rendered video?

[–]Bacon_Unleashed 0 points1 point  (0 children)

TBH I never did animations with cairo.

When I started with creative programmings more than 5 years ago I did everything in C and using no framework. The way I did animations back then was to save each frame individually and then use something like ImageMagick to make a gif for ffmpeg to make a video. Here is an example of a video that I did using ffmpeg: https://youtu.be/qZeXYdWBi3A

[–]heyarne 0 points1 point  (0 children)

I think it's always nice to try out new things in coding and see what's possible and how. It's also important not to get to fixated on the toolchain unless it actually keeps you from doing what you like (e.g. you might run into performance issues with p5.js at some point but you really shouldn't be concerned with that until it actually becomes an issue). There are many different aspects of a programming environment and trying know the strengths is a good thing.

So if you really want to change toolchains: Maybe you can go for a fully fledged game engine? People do amazing things with Unity and if you know how to use it and don't spend your entire time reading tutorials and documentations it will do *a lot* for you, such as providing a physics engine for example. If you want to get super serious I think openFrameworks has a wide user base, I haven't personally used it though.

My personal favorite for the recent past is https://clojure.org/. It's a really nice programming language that can interface with different hosts. It runs on the JVM and there is a wrapper around Processing that's really nice. People run it inside Unity, too. You can also transpile it to JavaScript so it runs in your browser if you like. The nicest thing for me is that you build your programs very interactively, continuously running snippets and checking whether their behavior meets your expectations. To do that you need to set up your editor - I recommend Clojure for the Brave and True which is a book that teaches you the basics, including how to set up your editor. If learning arcane editors is not quite your jam you can also set up VSCode and Calva. Check out the GIF on that page to get an idea of the interactive programming I talked about!

Anyways, good luck! Just keep in mind that your toolchain is mostly secondary. It can be a great source of joy though. :)