View Full Version : How was artrage made?

Lord Whinknshire
09-26-2018, 07:34 PM
Hey guys
I was just wondering if the devs could say how artrage was made
what language it was coded in?
How they made the simulations look so real?
And all that juicy stuff that makes artrage so great!

10-05-2018, 04:13 PM
I was meaning to reply to this earlier in the week but forgot, sorry for the delay! It's a pretty big question to answer though, will see what I can do...

First up, the tech stuff: ArtRage is written almost entirely in C++ with the occasional splash of Objective C for macOS specific stuff. We are very 'OS-Lite' because the app is built on top of our own custom cross-platform toolkit ('Goblin') that lets us product macOS and Windows versions from a single codebase without modification. Basically, we wrote platform specific implementations of underlying objects then construct the app using that toolkit to avoid us needing to port code across platforms for release.

This means that our interface is entirely rendered internally, with calls to OS level functions where required (on macOS we use OS text rendering for example). The interface of the product is an internal Goblin surface rendered in to a single OS window per panel. Back when we first started working on ArtRage this meant that we could do stuff like drop shadows, glows, fading, and other effects that slowly started appearing in the OS.

For the simulations, that's a different story...

Back in the early 2000s we decided to take some of our experience writing 3D Paint software and turn it in to an easy to use system for natural paint production. The idea was that we could use values other than just colour that we were used to working with such as bump and reflection values to simulate the physical paint properties. This led to a few months of, well, trying stuff out on paper. Andy, Dave, and I went out and picked up supplies: Brushes, Rollers, Oils, Canvases, Papers, anything the local art supplies stuff had, and then we got together and started using them. We varied the pressure of our brush strokes with oils and rollers, we tried different papers, different amounts of paint on the brush, and basically tried to put together a map of how various properties that we could simulate worked together.

Something related to this whole process came up recently in support, actually. We had an email from someone who had noticed 'people' reflected in their canvas when they had metallic paint turned on. Thing is, they're not wrong. Part of how we handled our metallic painting system involved the three of us standing around in the home office here with a large chrome ball Dave managed to locate at some party supplies vendor, taking photos of the scene reflected in it to create our metallic reflection map. This means that if you paint a rounded stroke of pure metal paint you can catch glimpses of us as we were during the development process. I blurred it a bit before release though, we're not completely in focus...

When we were done with that (and gave it some time to dry) we had a large pile of papers with notes on paint strokes and how they worked, and we set about turning that in to a simulation that could do this digitally. That was Andy's job. My job was to try and work out how best to present these properties to the user in a way that meant anyone could work with the system without needing to understand how digital paint worked. Dave's job was to make sure we could do this without losing our minds in the process...

As we've gone through various revisions of the product we've certainly started adding more digital utilities (version 1 didn't let you zoom, and we had an email from an art professor thanking us for that because it prevented his students from getting too wrapped up in the pixels as they painted) but we've tried to retain a focus on usable tools that reflect their real world counterparts. We still like to think of the canvas as a 'real surface' and try to apply digital utilities in line with that concept.

Stencils stem directly from this approach. Sure, we could have done a selection tool early on, but Stencils have a real world counterpart that makes sense to people who've tried out traditional art. Better still, Stencils do stuff selections don't: With a Stencil you can add a curved object to your canvas, set it to guide mode, then draw a perfect curve against it, freehand, with any tool. They removed some of the requirement for precise drawing tools that tend to break the natural workflow.

I could probably write pages about the whole process, but I think that gives a fair picture of how we got to where we are. We're still working hard, though we tend to keep our cards pretty close to our chest until we're ready to release because we don't like to overhype without knowing we'll be ready (the day long delay releasing ArtRage 3 that was caused by a problem with our web developer at the time taught us that, people were staying up late waiting for the release and we couldn't make the deadline...).

I hope that answers your question, to some extent at least!

10-22-2018, 11:31 PM
A fascinating read! Thanks Matt. I started out with vs 1.1. Loved it even back then without all the fancy additions of layers, etc.

10-24-2018, 08:56 AM
This was a great read, Matt. I hope one day you have time to sit down and document this journey in detail. It's fascinating to read about the technical challenges of such a unique product, but also a lot of fun to hear the non-technical anecdotes along the way.

10-26-2018, 11:44 AM
Thanks Matt, what a great story about the behind the scenes and what goes into making such a great product.

Pat McDonald
11-01-2018, 10:32 AM
Thanks, Matt, that was fascinating ... it enriches the whole experience ...

This is ‘hidden’ away here and you may consider making this history more accessible.


11-26-2018, 08:38 PM
That was enjoyable to read Matt, thanks. It has been a pleasure to watch the growth and change of the software. I'm still in love with the current version, it fits so nicely in my workflow.

D Akey
11-27-2018, 07:56 AM
Good synopsis. Seems the road goes ever. . . ever. . . um. . . Hey, J. R. R. . . how did you put it again? https://www.youtube.com/watch?v=ANeLaF9cJeg

01-04-2019, 04:50 AM
And what about Kai Krause? :-)

01-04-2019, 04:20 PM
Kai wasn't involved in the design or development of ArtRage, though it would be completely unfair not to point out that my designs were heavily influenced by the work we did with him (and others) both at and after MetaCreations. His early work was pretty much my inspiration for getting in to UI work in the first place, and the drive to try and provide complex systems in simple, understandable interfaces is one of the things that pushed us to develop a more natural approach to painting on a computer.

Sometimes the harsh reality of trying to make a commercial product can make it hard to maintain that same standard and drive for ease of use, but I like to think that we give it our best shot and I credit our time working with Kai and the others at MetaCreations for that.

A fun side note here: The tool icons, the application icon, and some of the control iconography (for ArtRage 4) were done by Athena Kekenes who also worked at MetaCreations and on other projects we were involved with afterwards as Ambient Design. We hired her to create some realistic tool imagery for ArtRage 3 and expanded that to cover interface elements in ArtRage 4. The original curvy tool icons that we had on the tool picker in ArtRage 1 and 2 were done by Dave in-house, and when ArtRage 5 came along I reworked the control iconography to make it easy to construct in vectors for a super-secret reason that I can't talk about much right now...

Our business development is also handled by an ex-Meta compatriot, Uwe, so we've maintained pretty strong ties back to our graphics software roots!

01-09-2019, 12:33 PM
Thanks, Matt....a great story for an excellent software program. Keep going, you have many fans supporting you.

01-17-2020, 07:46 AM
Very interesting!

Hmmmm, vectors, super-secret, reworking the controls icons .... hmmmm ... ( something fun is coming I bet! )

01-23-2020, 10:51 AM
As a matter of fact... something big is happening this year.
I've said too much....

01-23-2020, 11:42 AM
As a matter of fact... something big is happening this year.
I've said too much....

How intriguing!