Results 1 to 2 of 2

Thread: How was artrage made?

  1. #1

    Lightbulb How was artrage made?

    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!

  2. #2
    Join Date
    Mar 2006
    New Zealand
    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!
    ArtRage UI
    Ambient Design.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts