Version Controlling Art

Questions, skill improvement, and respectful critique involving art assets.
Post Reply
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Version Controlling Art

#1 Post by PyTom »

So, saw this interesting blog post about making VN art:

http://variablexgames.blogspot.com/2012 ... o-far.html

One suggestion it makes is "Screenshot major steps and changes".

It strikes me that this is a sort of poor-man's version control. So I'm wondering - what do artists use to manage revisions of their work? And has anyone added Version Control Software (like git) to their workflow?
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Auro-Cyanide
ssǝʇunoƆ ʇɹ∀
Posts: 3059
Joined: Sun Jul 25, 2010 9:02 am
Completed: http://auro-cyanide.tumblr.com/visualnovels
Projects: Athena
Organization: Cyanide Tea
Tumblr: auro-cyanide
Deviantart: Auro-Cyanide
Location: Melbourne, Australia
Contact:

Re: Version Controlling Art

#2 Post by Auro-Cyanide »

I haven't done my CG gauntlet yet, so I'm sure I will have plenty of my own 'well shit, wish I knew this when I started' moments.

A couple of the things they mention can be covered under a planning stage. Basically, know what you are drawing and what it will be used for. There is no use wasting time doing extra image for panning if you are never going to pan it. I can agree with checking with the text box and drawing at a large size.

As for version control... *shrug* I generally keep everything on separate layers and use a lot of masks so that if I want to change something, it's very easy to undo. I usually don't put in significant work unless I have a fair idea of what I am after and how I'm going to get there, otherwise I spend some more time figuring it out. I save screens of my images sometimes, but that's usually just to show people. I trust my instincts mostly for figuring out what looks good or not.

User avatar
yu1988
Regular
Posts: 52
Joined: Mon Jul 09, 2012 11:42 pm
Projects: avan story
Organization: anigu
Contact:

Re: Version Controlling Art

#3 Post by yu1988 »

Nice article. Thank for sharing, Pytom.

You can control the box with your own design so i don't think it will be a problem =).

Draw a bit more than needed. Yes, this one is a must needed. No one will know if you suddenly have to zoom in and your image breaks. I have seen this from some Japanese visual novels. So it's better to have something big and you can easily replace.
Our game : Image
Visit our blog and twitter to get updates.

User avatar
Destiny
Veteran
Posts: 468
Joined: Thu Jun 14, 2012 2:00 pm
Projects: Cards of Destiny, Sky Eye
Location: Germany
Contact:

Re: Version Controlling Art

#4 Post by Destiny »

To save my work, I just save the art in a "production" file.
Not sure how to call it exactly, but every painting program has a file extension where you can save your layers and everything.
Mine get always extremly big because I almost never really merge the layers, in case I want to change something.
BUT this way I can save over images as often as I want, because I still have the image in that raw file.
That file will be always in four places:
1) My computer (for work)
2) My external hard drive (when I'm somewhere else)
3) My second external hard drive (In case, my main hard drive breaks)
4) My laptop (when all hope is lost xD)


I'm never going big though.
It has to fit or not.
I'm not that big fan of zooming in and out, so I concentrate on one fixed picture and that it fits perfectly into the screen. So if the screen is 800x600, my image will be too, no exceptions.
Image
Cards of Destiny (WIP) / Sky Eye (WIP)

User avatar
chocojax
Miko-Class Veteran
Posts: 705
Joined: Sun Oct 25, 2009 11:27 am
Projects: Umbra, Familiarity, Maleficent Justice
Tumblr: chocojax
Location: California
Contact:

Re: Version Controlling Art

#5 Post by chocojax »

I agree with everything, especially with the 'draw a bit more than needed' part, lol. Sometimes I feel the need to move someone a little bit more in view, and their legs and arms or whatnot are cut off and I have to redraw those, making a kinda break in the lines. Though, I usually do that during the sketch stage. Then, I make it 2x bigger than it would be seen, lol.
Though, I don't really do the screenshot major steps/changes part. :/ I'm too lazy to go back to previous versions, I just go and draw on top of them, since it saves time and I'm lazy, lol. I usually make a .psd file around halfway in, so that's kinda like my backup.

User avatar
Sharm
Miko-Class Veteran
Posts: 558
Joined: Mon May 07, 2012 4:39 pm
Projects: Twin Crowns, Weather Wizard
Contact:

Re: Version Controlling Art

#6 Post by Sharm »

If I'm unsure how something is going to look I'll copy the layer I'm going to change and do it on that. I've had some nice surprises when I combine different experimental layers than what I intended.
Works in Progress: Twin Crowns | Weather Wizard

User avatar
LateWhiteRabbit
Eileen-Class Veteran
Posts: 1867
Joined: Sat Jan 19, 2008 2:47 pm
Projects: The Space Between
Contact:

Re: Version Controlling Art

#7 Post by LateWhiteRabbit »

I draw in massive print resolution - 300 DPI at poster sizes for important artwork. I start smaller in resolution for the sketches, color and composition studies, then up-rez when I'm ready to do the final piece. That way if I want to print anything, I can.

Like the article mentioned, always go bigger than your final image display will be, then resize down. You can imagine the file sizes I run into when my final image display size is 1920x1080 at 72DPI, so my working file is even larger at 300DPI and twice that resolution. Of course, I've worked on IMAX resolution frames for movies before, and those are 10,000 x 7000 pixels. (It's fun when 10-20 seconds of footage at 24 frames per second - i.e. 240-480 massive resolution images being held in your RAM all at once makes a workstation scream itself to death. :lol: )

Text boxes and interface interactions are important to check, but I do that with all my images by having an interface layer I can toggle on and off while working on the image. I also keep other images from the game open in Photoshop to match tonal values and color palettes, so sprites and backgrounds match and look like they belong in the same world and lighting conditions throughout the game.

As for version control, what I do in team projects (and personal projects) is name files like this:

YourName_AssetName_Today'sDate_VersionLetter.FileType

So for instance, if I where working on a happy expression sprite for a princess character in a game I would save the file like so:

LWRabbit_HappyPrincess_July2012_A.psd

The version letter would change every time I saved the file - which should be often, right? So it would go from A to B to C, and usually eventually loop over to start at AA to BB to CC. Each day the version letter would reset to A, so if my final version of the file today was named LWRabbit_HappyPrincess_July2012_RR.psd, when I saved it for the first time tomorrow, the file name would be LWRabbit_HappyPrincess_July2112_A.psd.

For a long project, eventually I start condensing backups. This means that I only bother saving the final version of each file for each day, not the numerous iterations that took place over a day. Eventually I'll even go in and start making judgement calls on which days to keep and which to delete, keeping only the versions with significant changes from each other. At the resolutions I work at, a file can quickly eat up gigabytes of memory with all of its backups.These are considered my raw files. The ones with layers intact and super high resolutions for printing. When I save out an image for a game, I name it HappyPrincess_Final_July2112.png

When working with a team, having the artist's name attached to the file is very important. Especially if multiple people are working on the sprite or character, it lets you know who did what and when. The date on file names is one of the best things with this naming system. You don't have to wonder what the latest version of a file is - it's right there in the name. And it can be weirdly cool to be browsing files and realize how long its been since you worked on something.

Of course, when I was working at a studio, we would log into our workstation and the latest versions of our files would be automatically downloaded from an server, then when we logged out, our changes and new saves would be automatically uploaded back to the server. This was done on a scene by scene basis - if you were assigned a scene, the server gave you the latest version of that scene when you logged in. Once a scene was finished and signed off on, the server denied you access to those files. Sometimes two or more people worked on a scene, so we used the naming conventions like above to make sure we didn't screw with THEIR version of the scene by mistake. But it was cool to be able to OPEN their version and check it against yours to make sure things were matching or lining up. (And stealing things from a related scene to make your job easier! :lol: "Hey! Is that a tweaked version of my animation for the background of Scene A?! You lazy, efficient bastard!")

User avatar
Arowana
Miko-Class Veteran
Posts: 531
Joined: Thu May 31, 2012 11:17 pm
Completed: a2 ~a due~
Projects: AXIOM.01, The Pirate Mermaid
Organization: Variable X, Navigame
Tumblr: navigame-media
itch: navigame
Contact:

Re: Version Controlling Art

#8 Post by Arowana »

Omg, that's my blog post!! I didn't think anyone read my blog, so I'm so surprised and honored to see it here!

I should probably clarify the screenshot thing, since I didn't explain it very well in the post. What I do whenever I want to make major changes is to first take a screenshot of the current state. Then I either save a new copy of the file, or make a new copy of the layer(s) I want to change. That way, if I decide to switch the image back later, I will still have the previous file/layers available. The screenshots just provide an easy way to compare different versions all at once.

The downside to this is that it takes up a ton of space. I either have multiple copies of the same image, or multiple copies of the same layer inflating the size of my one (already large) file. I'm really indecisive, though, so I can't bring myself to delete anything until I'm 100% sure I won't work on that image anymore. ^^;

I’ve never heard of version control before – that sounds like it could be really useful. If anyone has used those kinds of software before, I’d love to hear more about it! :D
A couple of the things they mention can be covered under a planning stage. Basically, know what you are drawing and what it will be used for. There is no use wasting time doing extra image for panning if you are never going to pan it.
Quite right – there’s no need to have a huge right margin if you’re not going to pan in from the right! I think that’s the function of the sketch, essentially, to gauge how much space you will need for specific special effects.

I do still like to have a small “margin of insurance” on all my images, though, just in case my sketch planning goes awry. If it doesn’t take much extra time to do, I feel it’s easier to have from the start then to retroactively add on later. (Another example that I just remembered – if you add a “shake” effect, you often need your CG to have extra margins, which is something I also realized too late ^^;). Since I’m not very experienced, having safety measures and backups like these make me feel more reassured – a pro with a better sense of what they are doing probably doesn’t have bother with a lot of these things!
The version letter would change every time I saved the file - which should be often, right? So it would go from A to B to C, and usually eventually loop over to start at AA to BB to CC. Each day the version letter would reset to A, so if my final version of the file today was named LWRabbit_HappyPrincess_July2012_RR.psd, when I saved it for the first time tomorrow, the file name would be LWRabbit_HappyPrincess_July2112_A.psd.
Ooh, that’s quite a handy system - I will have to steal it! I usually just add numbers to the file name for big changes, then letters for smaller changes, which gets confusing really fast. All the teamworking tips look super useful as well. I haven’t been in a big team situation yet, but I will definitely keep those in mind if that ever comes up!
Complete: a2 ~a due~ (music, language, love)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)

Image

User avatar
Reikun
Miko-Class Veteran
Posts: 565
Joined: Tue Dec 20, 2011 9:57 pm
Completed: Mnemonic Devices, Ciikos Bridge, Helena's Flowers, The Madness
Projects: Fox in the Hollyhocks
Organization: skyharborr
itch: skyharborr
Contact:

Re: Version Controlling Art

#9 Post by Reikun »

Nice article :3 It was a good read (especially for someone like me who is getting closer to doing CGs for the first time >___>;;; )
I hadn't even considered things like drawing extra for panning/animations/etc. before, so I feel a bit more prepared to make CGs now that I've seen a bit more about what goes into making one.

Back when I used to draw almost exclusively in oekaki, I often took screenshots of major progress as a safety save in case something happened to my internet browser while I was working (haha). It can definitely save your life when something goes wrong (program crashes, power outage, etc) and you hadn't saved for a while. (SO SAVE OFTEN GUYS.)
ImageImageImage

fastest way to contact me: DM @skyharborr on twitter

User avatar
Arowana
Miko-Class Veteran
Posts: 531
Joined: Thu May 31, 2012 11:17 pm
Completed: a2 ~a due~
Projects: AXIOM.01, The Pirate Mermaid
Organization: Variable X, Navigame
Tumblr: navigame-media
itch: navigame
Contact:

Re: Version Controlling Art

#10 Post by Arowana »

Related to PyTom's original question about version control, someone recently recommended a tool called TortoiseSVN to me. From what I can tell so far, it acts like a "time machine" that will keep track of any file changes you make, so you can recover older versions if need be.

Has anyone heard about or used this before? It sounds like something used more frequently by programmers than artists, but could be very useful for both.

A few links I've found so far:
http://tortoisesvn.net/docs/nightly/Tor ... face-about
http://harfordhackerspace.org/2009/07/s ... -tutorial/
Complete: a2 ~a due~ (music, language, love)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)

Image

dhussey111
Regular
Posts: 33
Joined: Tue Jul 17, 2012 1:14 pm
Contact:

Re: Version Controlling Art

#11 Post by dhussey111 »

you have shared a nice blog and it really give me a guide.. thanks.
David

ra-nyan
Regular
Posts: 59
Joined: Fri Dec 11, 2009 12:55 pm
Location: In Front of my Computer
Contact:

Re: Version Controlling Art

#12 Post by ra-nyan »

Arowana wrote: Has anyone heard about or used this before? It sounds like something used more frequently by programmers than artists, but could be very useful for both.
I have used it before in school for a Java course. It is sorta like a time machine where you can revert back to your previous changes, I think as far as you can go(?). I found it useful for programming. I haven't used it for anything art related though. Have a stab at it.

edit: as for version control thing, I just make lots of layers and if it's an important enough art then I dropbox it just in case I lose it.
boredom kills....

dhussey111
Regular
Posts: 33
Joined: Tue Jul 17, 2012 1:14 pm
Contact:

Re: Version Controlling Art

#13 Post by dhussey111 »

"ra-nyan" whats the girl doing in your avatar..?

Post Reply

Who is online

Users browsing this forum: No registered users