30 Apr 2017

Introducing RainyNite #1

This is the first post in series about RainyNite in which i’ll be trying to explain why it came to be and why it might be relevant in the age of many free software animation tools, as well as whether you should be interested in it or not.

editing sunrise in RainyNite


Of course, my ultimate goal is creating a tool that i can effectively use for creating animation. Satisfaction of users, code and other contributions, world fame, etc are either secondary goals, or mostly means for other goals or non-goals.

But lets be more specific: i want a 2d vector animation tool allowing fully non-destructive editing and interpolation, which would be easy to extend.


So, you might ask, why didn’t you take one of existing tools and improve it to fit your standards? Well, i did actually. I tried to add stuff into Synfig, but ultimately came to conclusion that its code base (with lack of active developers) is just not worth fixing it.

“But, but.. what about OpenToonz, Krita, Pencil?”


  • it’s even older than Synfig, which means, among other things, that its codebase is even more ancient
  • it was meant to suite needs of “professional animators”, not developers (which means that obscure stuff will be polished, while core features obscured)
  • it has obscure file format
  • it’s under bsd license and gpl-forking without any community support is not much better than writing from scratch


  • it’s mostly raster based (though apparently there is a progress in vector support)
  • its animation support is oriented towards frame-based
  • perhaps i haven’t given this idea enough thought; maybe it really is possible to make all the awesome stuff despite current interface being oriented on frame-by-frame animation


  • it’s also frame-based and being simple seems to be one of its goals
  • it doesn’t have a lot of features and the code doesn’t seem to be flexible enough

To be continued.


New 0net-based comment system exists in a monad that haven't been unwrapped yet. Feel free to refer to refer to contacts page