PDA

View Full Version : Making Video Game Art (from ink drawings)


Matthew D. Kiehl
03-12-2014, 03:45 AM
http://www.wetcanvas.com/Community/images/11-Mar-2014/1024832-Intigrationa.jpg

Hello, I thought I would share a little of the process I've been using to create assets in a video game. I'm a Pen & Ink artist, so unlike most digital art I actual start on paper.

So the first step is to make the drawing. I use all black ink for this step, and I don't use expressive marks - these will look strange once you get to some of the later steps. (In this thread I'm mostly talking about the process of bringing the drawing into the game, but if you want to know more about how I make the drawing you could watch this video: https://www.youtube.com/watch?v=N8RqRpx54yE )

So here is a drawing (all I've done is take a picture of it... it is even a little out of focus [or has a soft focus], you could scan if you want... but you will see that it doesn't mater too much - so long as the image is flat):

http://www.wetcanvas.com/Community/images/11-Mar-2014/1024832-Untitled-21small.jpg

The above drawing is 3.5in x 4in, relatively small.

The next step is to make it into a format that is more easily edited, to do this I use the "threshold" tool in photoshop, you could also do this in Gimp. the result looks like this:

http://www.wetcanvas.com/Community/images/11-Mar-2014/1024832-Untitled-21b.jpg

Threshold gives you all black pixels and white pixels, which makes it easy now to select the background or the tree using the "select color range" tool. Threshold gives a more crisp image (it no longer looks out of focus) but it is so crisp it takes on a pixelated look... we will get to this issue later.

So if you crop out the tree, how do you create a file that has a transparent background? In the game you want to see past the tree into the forest. For this you need to add an "Alpha Channel". In Photoshop there is a tab for channels next to the "layers". You should see "RGB" sellected at first- with red, green, and blue channels below it. The red, green and blue channels all look like gray scale images. Transparency is another channel "Alpha channel". to get this channel click "add new channel". It will look black, black means "transparent", white is "opaque",. What you would want to do at this point is copy and paste the thresholded drawing into the alpha channel. Then you have to invert that channel if you want the backgrount to be transparent (otherwise the tree will get cut out instead of the background - which is cool for some things). The Alpha channel should look something like this:

http://www.wetcanvas.com/Community/images/11-Mar-2014/1024832-Untitled-21c.jpg


If the image is too sharp and pixelated you could now blur the alpha channel, or darken it so that the tree is semi transparent like glass. Anyways, once you have the drawing in the alpha channel you can now choose what color you want the tree to be, if you paint the whole RGB channels blue than the tree will come out blue in the game. Your RGB channel does not even need to look like a tree now, it could look like this:

http://www.wetcanvas.com/Community/images/11-Mar-2014/1024832-Untitled-21d.jpg

Photoshop shows the channels like this:
http://www.wetcanvas.com/Community/images/11-Mar-2014/1024832-Untitled-21e.jpg


So the tree is in the alpha channel so this cyan box becomes a cyan tree in the game.... well not exactly. This image here on this forum is a .jpg file. You would need to save it as a .png or .bmp to have the alpha channels. The .jpg file format can not have alpha channels. A very similar process is used for web-design, when you want to have a transparent object. In very sophisticated gaming platforms Alpha channels can be used for reflection (making part of a surface shiny while other parts are mat), they are also used sometimes to create a bumpty surface texture that reacts to light. This is a rather simple application of Alpha channels, that gives you a stenciled look.

The end result can look a little like this:
http://www.wetcanvas.com/Community/images/12-Mar-2014/1024832-Untitled-2.jpg

The blocks, grass and trees are all my drawings.

I've uploaded a little video (less than a min long) where you can see this in action, the video quality isn't great but you get an idea how it works: http://youtu.be/KPG4-k3ptRM

If you are interested in this game you can look on Kickstarter to see what this game is about:
https://www.kickstarter.com/projects/438901710/the-land-of-eyas


Keep in mind this is all early developments.

Regards,
Matthew Kiehl
http://mdkiehl.wordpress.com

LavenderFrost
03-12-2014, 12:11 PM
Thanks for sharing this with us, it's interesting to see the different ways digital work can be done.

Matthew D. Kiehl
03-12-2014, 01:11 PM
Lavenderfrost, Your welcome!

Lucy-Foote
03-12-2014, 02:13 PM
I agree, this is quite interesting. Looks like quite a bit of work also.

Lucyhttp://www.wetcanvas.com/Community/images/12-Mar-2014/70668-A_Foote_icon_bak.JPG

Matthew D. Kiehl
03-12-2014, 03:18 PM
Ultimately, part of the challenge comes from how the scene will move. unlike digital painting where you are finished with a static image a game like this has "parallaxing layers" - and this is why each layer needs assets with transparent alpha channels.

One thing I didn't really explain is how the game's stages get built - but that is more of a programming issue than art. But basically this game builds a bunch of layers like a paper puppet show.

Regards,
Matthew Kiehl

http://mdkiehl.wordpress.com

PeriSoft
03-12-2014, 09:29 PM
Have you considered doing a vector conversion at some point in the chain? Given the variance in pixel density these days (mostly on mobile but working its way onto the desktop) and given the art style it seems like that might serve you well, as well as taking some of the guesswork out of the transition to alpha.

Also, why do you use threshold rather than, say, using levels to clip off the black and white while retaining some of the antialiasing data, or scanning at higher res?

Just for the heck of it I stuck the original tree in photoshop to see if I could do anything with it; it seems like with a pretty simple 'action' (photoshop's name for a script, for the uninitiated) you could clean up even really low res assets quite nicely assuming the initial quality was similar:

Open
Resize -> 1000%, bicubic smoother
Filters -> Cutout -> 7 levels, 4 simplicity, 2 fidelity
(Repeat about three times - yeah, really!)
Levels to clip off some of the stray results of the cutout filter
Curves to finish clipping but avoid terrible aliasing
Resize -> 25% (in this case, which took it back down to double the original size), bicubic smoother (not sharper!)

That got me this, which seems reasonably faithful to the original and might give you some more flexibility in implementation in-game. Also, are you using DDS for the textures and just not mentioning it to avoid confusion? I'm pretty sure there's an alpha-only format in there that would save an insignificant amount of space but feel much more elegant. ;)

http://www.wetcanvas.com/Community/images/12-Mar-2014/1697450-treething.jpg

Matthew D. Kiehl
03-13-2014, 12:17 AM
PireSoft, really great thoughts. I wasn't sure how familiar everyone here would be with this concept or not.

Normally I do work with high resolution images then shrink them down for use in the game, to have nice antialiasing. For this discription above I just used low res images because I can't put high res images up on this forum.

I believe I actually worked from a screen shot for this "demo" the original image is over 2000 pixels wide (600dpi) - way to big for the game. Starting with really high resolution original images lets me use threshold (maybe making the process a little faster?)

Anyways, we can compare the results...

Here is how the tree looks when shrunk after thresholding it:
http://www.wetcanvas.com/Community/images/12-Mar-2014/1024832-threshold-Shrunk.jpg

Here is the tree shrunk after using cutout/levels (instead of threshold):

http://www.wetcanvas.com/Community/images/12-Mar-2014/1024832-not-threshold.jpg

What is kinda funny about this is that (on my screen) this is larger than the actual tree. These certainly look better than trying to work up from the smaller image, but how do you think they compare? I always figured I had enough resolution to use threshold as a shortcut.

The second one maybe looks a little smoother in places? But it has some larger gray patches (But maybe that is my mistake?). Thoughts?

I feel like the white lines inside the tree look better using the threshold method but maybe the branches and roots look better in the cutout/levels method. (maybe a mix is best?) -Maybe I'm also looseing a little because this is asking me to use .jpg

.dda - The programer I'm working with has asked me to work with .bmp for now. I'm not sure if he wants to avoid compression for some reason or if he simply isn't using direct X.

Thanks again!:)
-Matt

Matthew D. Kiehl
03-22-2014, 04:09 AM
I thought I would make some little animated gifs to show what the game is like :-)

http://www.wetcanvas.com/Community/images/22-Mar-2014/1024832-Test8.gif

http://www.wetcanvas.com/Community/images/22-Mar-2014/1024832-Test9.gif

http://www.wetcanvas.com/Community/images/22-Mar-2014/1024832-Test10.gif

http://www.wetcanvas.com/Community/images/22-Mar-2014/1024832-Test11.gif

http://www.wetcanvas.com/Community/images/22-Mar-2014/1024832-Test7.gif

You can also veiw the game's trailer and support it on kickstarter:
http://kck.st/OGdgZD

LavenderFrost
03-22-2014, 11:11 AM
Looks good.