Random Thoughts

It’s been a long time since I’m wrote something useful here. Though, lots of things happened during that period and I feel a need to share with you, my dear readers, some random thoughts.

Last time I have a lot of work with Synfig Studio. Making Production Cuts video and directing some external Synfig animation projects lead me to the idea of improving morevnaproject’s rendering system.

Currently the rendering system is based on pure “make” and works the same way as typical build system used to compile Linux software: you write rules in special “Makefiles”, describing how to compile (in our case – render) your files. Also those rules contain dependencies between all your sources. That’s very cool – “make” utility tracks the changes in your files and when you tell it to rebuild/re-render your project, it looks if any of the dependent files changed or not and invokes build/render procedure only if the change happened. Very cool. It saves a lot of time and efforts. You don’t need to remember which files need to be re-rendered if you have changed something essential (like bike model or – eww! – lightning template). The bottomside is that Makefiles are quite complex for ordinary user, you need to maintain all dependencies by hand and keep them up to date. For small projects it’s too time consuming to set up make infrastructure. It’s very unlikely to expect that average user will study make rules and use them in the daily work. Sometimes you just need to quickly setup directory tree, do your work and archive (or trash) result when everything is done – and all that int 2 or 3 days – there’s no time to write all those rules.

Projects like automake and quickly lead me to the idea is to have a “bridge” application between pure “make” and the user. It should generate Makefiles on the fly from user request and then let “make” to do the rest of the work. That can be achieved by introducing a set of conventions about the directory structure of the project sources and developing the tool itself. Most probably the result will look like some kind of project template accompanied with control application. We plan to make it available to community for reuse in any other animation project.

I still not sure about the name for the tool. I am going to call it “remake”. Any other ideas? At this moment I can tell that the idea is implemented at 70%, so we still have some time to think. BTW, realization of the tool lead us to some project restructuring – expect changes in repositories soon.

List of dependencies (1) transformed into Makefile (2). In the final version dependencies will be detected automatically.

About further evolution of this idea. It can be a web frontend for git configured for animation content. That should include generating snapshots for commits, diffs for animations and automated rendering. That’s totally crazy idea – I’m aware,  that I have no hardware resources and, most importantly, no time to implement it in nearest future.

More about used software (most probably I should have name this post Random Software News, eh-heh-heh). As you know, morevnaproject is closely related with development of Synfig Studio. We had hard times since we started web infrastructure reorganization at synfig.org and there’s still a lot-lot of work to do. Most of things are still messed up, but we keep moving. Released 0.62.01 version promises to be much more stable than previous one as it resolves some annoying issues.

There’s another valuable step made related to Synfig – we have started writing official documentation. Of course it consumes much time (again), but it’s strategically important to get more users into Synfig, build solid and growing user community and thus, have more contributors for Morevna Project. ;) We plan to release documentation in three media formats – online, pdf and printed book.

Some words about Synfig’s future. Of course it will be bright, happy, etc. But I’m not about that. I want to share another crazy idea popping into my head recently. Probably most crazy one. Often I watched a people coming to IRC asking how they can do interactive animations with Synfig like flash ones. Those requests used to irritate me. From the start Synfig was developed for high quality animation production, not for cheap web animations. Synfig’s visualization is slow, the animation needs to be rendered, rendered animation is huge, adding interaction to rendered video is a big problem… But time passed by, Synfig is changing, we got opengl branch… And suddenly I have realized: hey, why not? ^__^ If we will get opengl optimization, then we will get realtime rendering and that means Synfig’s files can be visualised on the client side. All people will need is the browser plugin.  Now, let’s imagine Synfig developers will add just a single new feature – a hyperlinks. Now synfig animation is not just an animation anymore, it’s hypertext!.. err… hyperanimation? Then suddenly from animation package Synfig turns into web authoring package. It is powerful for animation, it is free, it’s WYSIWYG, it’s format is readable like HTML – Synfig can beat flash here… maybe even HTML? Who knows… ;)

You may notice that we had very few commits in out git repositories last time. The reason is that most artwork produced goes into drafts. I haven’t managed to find time to integrate them into git repository, but you can watch some of them on the wiki. These days I’m spending much time trying to improve my drawing skills. watching artbooks, especially Gainax ones – like “Groundworks of Evangelion” and “Gainax Artbook”. That pursuits my learning very well.

That’s all my thoughts for the moment. Stay tuned!

ShareShare on Facebook0Share on Google+0Share on Reddit0Tweet about this on Twitter214Share on StumbleUpon0Flattr the author

Tags: , ,

15 Responses to “Random Thoughts”

  1. z111a Says:

    Very cool!

    keep up with the great work! : )

  2. xterm Says:

    When will us mere mortals be able to take a look at the repo? Better yet, when will we be able to contribute?

  3. Konstantin Says:

    Repository data of Morevna Project Demo (http://morevnaproject.org/demo/) will be released when the work on the Demo will be finished. Same for the full movie.

    People willing to contribute get access to repository data at first request. Please consult Contributor’s Guide (http://morevnaproject.org/contribute/).

    Cheers!

  4. xterm Says:

    So, this is open source in the sense “it uses FOSS software”, but not in the sense “the ‘source’ is directly available to everyone but read-only & anyone can submit ‘patches’, and then the devs decide if they want to add them to the repo or not”.

    Lots of random people may start helping you out if you make the repo visible to everyone, but read-only to those without a password. After all, that’s the beauty of open source.

    Either way, keep up the good work :)

  5. Konstantin Says:

    Not agree. The sources ARE available to everyone. You just need to make additional step – register your account. What’s wrong with that? ^_^

  6. xterm Says:

    Also, have you considered doing what the pro animation studios do: the skilled animators provide the keyframes, and other artists add the “inbetween” frames (in this case, some or all of the vectorising)?

  7. Konstantin Says:

    That’s exactly what we do. ^_^ Check out this link for example: http://morevnaproject.org/wiki/Scenes/Demo/48. With a small exception – inbetweening work is partially done by animation software – Synfig Studio.

  8. xterm Says:

    Cool! :D

    Btw, you may want to check the permissions on your git repo! I just downloaded all your demo data in a tarball, and judging from what you said above I’m not supposed to do that.

    Linky:
    http://git.tuxfamily.org/?p=gitroot/morevna/demo.git;a=tree

  9. Konstantin Says:

    Demo repo is open intentionally. ^___^ Notice CC-BY licence and enjoy!

  10. xterm Says:

    I thought it wasn’t, that’s why I was suggesting you open it before^^

    You need to splash that link all over your website!

    Great, now for some experimenting!.. right after I’d done deriving this stupid Fourier transform ;)

  11. Konstantin Says:

    Some data from “demo” repository is linked to shared data from “production” repository, which is in private mode. That’s why you will have troubles opening some shots which use colorcharts, 3D models and other shared stuff. Anyway there is still plenty of working stuff there to learn, play and reuse. Have fun! ^_^

  12. Yury V. Zaytsev Says:

    I think you should definitively have a look at other build system (generators) before re-inventing the wheel for the N-th time. For instance, it looks like WAF might work very well for a project such as yours.

    If you decide to reply please let me know but e-mail, I’m not subscribed to the blog feeds.

  13. Alain B Says:

    About “remake”, I second Yury V. Zaytsev : maybe something better than “make” already exists.
    I discovered “jam” (from Perforce) and started usibg it for one personal project, it seems far much simple than “make” (for C it find all the dependencies by itself), and is also highly customisable (example are given for very different things than compiliing).

    http://www.perforce.com/jam/jam.html

  14. Konstantin Says:

    I’m afraid it’s too late – the wheel is already reinvented again – http://morevnaproject.org/2010/07/28/remake-version-0-1/. ^_^”

    Talking seriously, what I like about “remake” is that you don’t need to write any rules – just follow a particular workflow.

  15. Morevna Project » Blog Archive » Taking a look back: Retrospective of the Demo Says:

    […] some improvements to Pencil. As I mentioned, we were using GNU Make for automated rendering and I wrote a special tool called Remake, which automatically generates Makefiles for the project. All those things took most of my time and […]

Leave a Reply