Version Controlling Art
- 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
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?
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(When was the last time you backed up your game?)
Software > Drama • https://www.patreon.com/renpytom
- 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
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.
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.
- yu1988
- Regular
- Posts: 52
- Joined: Mon Jul 09, 2012 11:42 pm
- Projects: avan story
- Organization: anigu
- Contact:
Re: Version Controlling Art
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.
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.
- 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
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.
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.
Cards of Destiny (WIP) / Sky Eye (WIP)
- 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
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.
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.
- Sharm
- Miko-Class Veteran
- Posts: 558
- Joined: Mon May 07, 2012 4:39 pm
- Projects: Twin Crowns, Weather Wizard
- Contact:
Re: Version Controlling Art
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.
- LateWhiteRabbit
- Eileen-Class Veteran
- Posts: 1867
- Joined: Sat Jan 19, 2008 2:47 pm
- Projects: The Space Between
- Contact:
Re: Version Controlling Art
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. )
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! "Hey! Is that a tweaked version of my animation for the background of Scene A?! You lazy, efficient bastard!")
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. )
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! "Hey! Is that a tweaked version of my animation for the background of Scene A?! You lazy, efficient bastard!")
- 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
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!
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!
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!
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.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 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!
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!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.
Complete: a2 ~a due~ (music, language, love)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)
- 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
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.)
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.)
- 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
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/
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)
In progress: The Pirate Mermaid (fairytale otome)
On hold: AXIOM.01 (girl detective game)
-
- Regular
- Posts: 33
- Joined: Tue Jul 17, 2012 1:14 pm
- Contact:
Re: Version Controlling Art
you have shared a nice blog and it really give me a guide.. thanks.
David
David
-
- Regular
- Posts: 59
- Joined: Fri Dec 11, 2009 12:55 pm
- Location: In Front of my Computer
- Contact:
Re: Version Controlling Art
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.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.
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....
-
- Regular
- Posts: 33
- Joined: Tue Jul 17, 2012 1:14 pm
- Contact:
Who is online
Users browsing this forum: No registered users