Welcome!

 

Welcome to Auto Character System 3 development blog! This is the place in which I will be posting information about progress of ACS3 developments. To kick things off I would like to outline what Auto Character System 3 is meant to be and what the development goals are.

The work on this project has been going on with various intensity for more than 2 years now. It’s certainly the biggest software development project I have undertaken so far. You can imagine then that I’ve been quite anxious to get to this point on ACS3 timeline!

If you didn’t notice the name of the software has changed slightly (from Auto Character SETUP to Auto Character SYSTEM). The change emphasises the main goal of building a rigging system or a platform if you will. By platform I mean a general solution that is not only about providing users with a set of pre made assets to build rigs from but also (and in development time it’s mainly) about developing a set of tools that will allow users to build custom modules and rigs in the exact same way in which standard assets coming with the product will be built. You might think of these tools as a sort of Rigging Development Environment (quoting you - Sergio ;). The long term purpose behind RDE is to open up these custom assets development and to encourage the growth of an eco system of ACS3 compatible rigs created by users.

There are 3 main aspects of ACS3. One - it can be used as a regular auto rigger, without digging into any of its internals. Two - power users will be able to take advantage of the system fully and provide features and assets that are not there in the base product. Finally, there is also work being done on allowing for full access to and extending the platform via python (sort of ACS SDK if you will). This might be interesting to larger teams or studios that need the toolset to be tailored to their specific needs. Some of it should be available in version 3 but overall it’s probably a longer term target.

These are very ambitious goals, no doubt, but I have wanted to build such system / platform / environment for a very long time. In fact, current ACS is already such platform but in a very basic way. This is why it was possible for Christian Bloch, Sergio Mucino or Anton Gornakov to build heavily customised rigs that work just like native ACS2 one. It takes a lot of effort and tedious editing though - and this is what ACS3 will certainly address. 

Technically, ACS3 is a new product. The entire codebase is being written from scratch. Starting over can be an easy recipe for disaster, I know. Incremental rewrite is much less dangerous but I had considered my options very carefully. I even tried transitional approach for a few weeks by adding new code to ACS2 codebase. It was not fun. The core design of current ACS dates back to MODO 501-601. There was no proper python SDK at the time and a lot of design decisions were based on what could be done with what was available (and that was including my programming skills - long and heavily nested functions anyone?). These restrictions do not exist now, not to mention lots of other functionality that current SDK (both python and C++) and MODO itself offer.

I do expect unforeseen obstacles (in fact I’m already running into some) and longer development time but I think it will be worth it in the end - so bear with me ;). 

Regarding features there is one thing I can say upfront: ACS3 is a fully modular system and modularity goes well beyond rigging assets (although that latter part doesn’t really interest you as a user). Funny thing is that my first prototypes done back in 2011 were modular and then ACS1 ended up not being modular. So now after 8 years I’m finally getting there and in a proper way hopefully :).

As far as the user experience is concerned - new version should feel familiar to current ACS users. That being said I’m trying hard to elevate ACS3 workflows to a new level. UX is definitely the focal point of the entire development.

What does all of the above mean in practice? To be perfectly honest I do not know exactly how ACS3 will turn out myself yet - but we will find that out as the time goes and the development progresses. See you in the next post :)


 
Lukasz Pazera