
2D Game Art for Programmers - selvan
http://2dgameartforprogrammers.blogspot.in/2012/09/apache-helicopter.html
======
VMG
C++ Game Programming for Artists

* First we pick a nice API, let's see, yeah SDL with OpenGL is a good choice

* Let's create a full screen surface and set the happy little flags to make it a double buffer

* Let's just write some happy little class wrappers for our main game components. There we are.

* We start with a happy little box twirling around. Just gently use the OpenGL API and map the textures so that they fit. A happy little light lives in the upper right corner. Now lets add some other boxes over there.

* Ever so softly write some game logic. If you're feeling adventurous, try using multiple threads, but don't forget to use some locks.

* To finish it all up, we just plug in the user input. How wonderful!

See you next time when we write an operating system!

~~~
WickyNilliams
I thought this was going to be a snarky response at first - "I'm a programmer
so I can't do art; as an artist can you do programming?!" - but I was wrong.

I'd love for there to be a Bob Ross style course on game programming, his
soothing voice combined with his rose-tinted vision of _everything_ would be
awesome. Happy little clouds

~~~
VMG
It's meant to be a little snarky - from a macro level everything looks simple
if you just segment it into ten steps. The problem is that each steps contains
many many details and years of experience and hard work that can't even be
verbalized properly.

~~~
drblast
I'm reminded of the John Gnagy art lessons where you make everything out of
boxes. But the flow tended to be like:

Box -> Two boxes -> Three boxes -> Horse!

I guess it made it seem plausible that you can draw things just fine with
rectangles. Never got the hang of it though.

~~~
SpriteAttack
Try and read the earlier post. I think they do explain the approach a lot
better. I don't intend to make you into the next daVinci but enable my readers
to create decent game art or at the very least better looking place holder art
for their games.

------
arocks
I have found Inkscape to be quite an under-appreciated tool. It is much easier
to learn than Illustrator for a beginner, quite light on systems resources and
has great keyboard shortcuts.

Earlier when there was a logo to be designed I used to use GIMP. But I find
Inkscape's text handling to be much superior (especially with manual kerning)
and flexible. In fact, I do most of my website mockups with Inkscape these
days.

~~~
lallysingh
It's also just damned useful. You can open up PDFs and grab diagrams out of
research papers. You can re-save PDFs after converting all the text to paths,
to avoid font embedding problems. You can manipulate the saved files with
d3.js.

It's very quickly become one of my favorite tools.

Connectors still suck, though.

------
MetallicCloud
One thing that I would really love in tutorials like this is _why_ certain
decisions are made. I am a terrible artist, but I would like to learn how to
draw something that doesn't make people want to puke, if for no other reason
than to give a real artists a starting point, but this tutorial doesn't help.

Even at the first step, it says 'Lets start building the body with 3
rectangles'. But if I started with a blank page, and though 'How am I going to
draw a helicopter', my first thought wouldn't be draw three random rectangles
and start from there. Learning tools is important, but I want a tutorial that
shows me how to break complex objects into manageable parts.

~~~
cooperadymas
<http://www.drawright.com/>

I haven't read the book yet, but it's on my Amazon wishlist because it's
supposed to teach you exactly this. The descriptions on the site and on Amazon
don't give much insight, but you can find the introduction and first chapter
on Google Books to get an idea of what it's all about.

Pretty sure this was first introduced to me on HN, so others can probably
expound further.

~~~
aleyan
I own this book, it is not the right book for learning how to illustrate.

Don't get me wrong, "Drawing on the Right Side of the Brain" is a decent book.
If you follow it, in a few short drawing sessions it will lift you from a
person who can't draw at all to a person who is a novice at life drawing with
some impressive looking portraiture. You will be amazed at your own progress
at life drawing. You however will not progress much further than a novice.

For drawing game assets and other types of illustrations, you need to learn to
draw from your imagination. This is a very different skill from drawing from
life and a skill that "Drawing on the Right Side of the Brain" will not teach
you. I can't make recommendations of books myself, but I can suggest looking
at this [1] thread over at cgsociety.

[1] <http://forums.cgsociety.org/showthread.php?t=844409>

~~~
loso
I just went through this process myself. Drawing from your imagination takes
taking the rules that a book like "Drawing from the right side of your brain"
shows you and basically practicing. For example, once you learn how to draw
the basic human face you can take the memory you have of drawing that face and
tweak it a bit. You tweak it until you have something more monstrous, like an
ogre for example.

That is why most of the stuff that we see drawn from a persons imagination
still has very recognizable human components to it. It takes a lot of practice
but books these and other lessons you will find are meant to be a building
block so that you can draw from your imagination.

------
jdludlow
From the same blog, this is the starting point where he breaks down a very
simple process of drawing with circles and introduces some basic concepts.

[http://2dgameartforprogrammers.blogspot.in/2011/10/lets-
get-...](http://2dgameartforprogrammers.blogspot.in/2011/10/lets-get-started-
with-circles.html)

~~~
SpriteAttack
Thanks for posting the link to the beginnings.... This is where people
interested in trying out inkscape and game art creation should start. The
helicopter is the most complex and daunting project on my blog so far.

------
dsirijus
Being a little disillusioned with Adobe tools, and assembling a game dev
enviroment on Linux, I am trying to setup some of my game art workflow using
Gimp/Inkscape/Blender/other.

What I'm hoping to acchieve is have a bunch of scripts in Python (as all those
listed apps are conveniently scripted with it) to speed up the asset
generation, and possibly explore some of the design aspects achievable through
procedural methods, as designers using Adobe tools do have a slight tendency
to be uniform in their output.

Many of the methods in these articles may well be in part scripted, for
instance
[http://2dgameartforprogrammers.blogspot.in/2012_02_01_archiv...](http://2dgameartforprogrammers.blogspot.in/2012_02_01_archive.html)

~~~
primitur
I use Inkscape as my primary means of collecting games resources and
assembling them into a re-distributable package. I have my own build system
that takes general Inkscape(SVG) objects, parses the namespace/hierarchy as
described (Hint: CTRL-SHIFT-X .. drag the XML Editor to a second monitor..)
and outputs a package tree that deposits directly into res/ &etc.

Paired with MOAI, I'm having a wonderful time handling the game asset pipeline
in a structured manner.

The SVG DOM makes for a very vibrant playground when you want to automate
things, and getting it all packed down to a .PNG tilemap can be done with
very, very little script code ..

------
xedarius
I've always found Photoshop difficult to draw in, and haven't really enjoyed
drawing on a computer since Deluxe Paint. However, Inkscape (a program that
I've not seen before) looks great, and I will be trying out the tutorial.
Thanks.

I'm also tempted to say we should all post our helicopter drawings!

~~~
vidarh
Same here with Deluxe Paint, though having used Inkscape they are of course
nothing alike.

Vector graphics is well and fine for some things, and Inkscape is a great app
for that, but personally I like the pixels... Grafx2 is another alternative if
you liked Deluxe Paint.

I really miss the simple elegance in Deluxe Paint (of course I can run it in
UAE, but

I recently went through about 30+ packages in the Android market trying to
find a tolerable paint app for Android, and they all failed spectacularly when
I compared them to my minimum "equivalence with Deluxe Paint" metric (proper
zoom being the biggest one, which is a bizarre thing to do badly on a platform
where most users will have tiny screens), but it's the same on Linux. GrafX2
is reasonably close in terms of functionality but the UI is very cluttered.

~~~
bitwize
Pixelesque is the standard-bearer on Android. If you're looking for the zoom,
try pinch-to-zoom gestures.

------
SpriteAttack
Thanks for the mention of my blog on the Hacker News. I just which there would
have been a link to the earlier posts. The post got harder and more complex
(with the helicopter pushing the limits of what could be considered easy to
follow art tutorials for beginners).

------
robomartin
As an engineer I find CorelDRAW far more useful (and usable?) than Photoshop
and Illustrator sometimes. I do use Photoshop for quite a bit of work.
However, CorelDRAW makes some things that require jumping through hoops in
Photoshop really easy. It's almost like a melding of a technical drafting and
an artist's illustration tool.

It can, for example, ingest AutoCAD geometry and use it for further
illustration. Since I've been using AutoCAD for a long, long time this aspect
of it comes with no effort.

In the case of the OP's example, I'd probably find a 2D or 3D model of a
helicopter for either ACAD or SolidWorks; load into the appropriate tool;
edit, stylize, simplify; export as a flat 2D DXF and then import into
CorelDRAW. From there you can manipulate further, stroke, fill, shade, etc. Do
it all in layers and then output whatever it is you might need.

Maybe this can be done in Photoshop, I don't know. It seems that I am always
Googling for how to do the simplest things in PS. Yes, of course, I don't use
it enough. That said, things like having to jump through hoops to draw a
stroked circumference drives me up a wall sometimes. In a program like
CorelDRAW it's just a matter of drawing a circle without fill, which makes far
more sense to me than having to draw a path and then stroking it.

I've done some pretty interesting graphics in CorelDRAW for such projects as
photorealistic renderings of product models that are not only interesting
graphically but also dimensionally accurate because of the link to the
underlying CAD data.

For a lot of the work I do on the web and iOS apps Photoshop can be simpler to
wrestle with.

------
bitwize
Or, How to Draw A Helicopter:

1) Draw some rectangles

2) Draw the rest of the fucking helicopter

~~~
pestaa
This image is always my first reaction to these types of posts:

<http://www.flipkik.com/uploads/pics/how-to-draw-an-owl.png>

~~~
joeld42
That's pretty funny. But that's really all there is to it. There's no secret
formula, just practice.

------
colkassad
Here is the direct download for the portable Windows version of Inkscape:

[http://downloads.sourceforge.net/inkscape/InkscapePortable_0...](http://downloads.sourceforge.net/inkscape/InkscapePortable_0.48.2-1.paf.exe)

~~~
TazeTSchnitzel
Why Portable version? Why not the regular download?

------
loso
If you want to learn how to draw, besides the basic drawing courses or books,
another good idea is to learn about Photography when it comes lighting and
composition. I know a lot of people on this site have DSLR cameras so learning
how to use those properly would be a great step. Photography lessons are great
in helping to learn how to see the world correctly. A lot of what you will
learn will be transferable when it comes to learning how to draw.

------
eli_gottlieb
Makes me wish I could draw worth a damn.

~~~
Zolomon
If you aren't good at something, then you can only improve.

~~~
dsirijus
Is it worth it, though? Some people just don't have eye for it.

I've tried to train a musician for almost a year. He had the best of
intentions, as did I, all with ample practice. In the end we gave up, he just
couldn't hear when he's wrong. It's easier with programming - something just
doesn't work as expected. Art does not work like that.

~~~
XBigTK13X
You have a point that some people don't have the talent to decompose objects
from their mind'e eye into basic shapes. I would argue that some forms of
drawing are based more on practical skill sets, which can be learned, as
opposed to the ability to detect the pitch released from a musical instrument.
(I make that claim as a guitarist myself)

Trying to improve your drawing ability is worth the time and effort spent. I
have been working on improving my artistic lens for the past month. Am I yet
at the skill level I want to be? No. Have I sacrificed a lot of time? No.

I sit down once a day whenever I can find 10 minutes, set a timer, and sketch
whatever comes to mind. On busy days I skip this practice, but always make it
up in the following days.

You can see the progress in this imgur album: <http://imgur.com/a/GTF6w#0> .
These are by no means exact representations of the image in my mind at the
time. On the other hand, they are quickly getting closer to my imagination
everyday.

For a practical book on the topic of drawing, I recommend
[http://www.amazon.com/The-Drawing-Right-Side-
Brain/dp/087477...](http://www.amazon.com/The-Drawing-Right-Side-
Brain/dp/0874774241) .Reading that book helped me gain a lot more confidence
and understand a lot of the science behind drawing ability.

I also have a large amount of bookmarks on improving your pixel art skill set.
If those would be of interest then I am happy to share those links.

~~~
dsirijus
I applaud your persistence but I'd argue that you might be better off refining
your work, than just making new sketch each time.

But it's art - I can imagine you developing your own style this way, and I'd
absolutely have no problem with it.

And I guess it is easier to keep one-sketch-a-day as a habit than feverishly
improving single piece to no end.

------
tudorizer
Lovely tutorials.

------
chinchang
superb! What else does a linux artist want :)

------
Wraecca
2D is the BEST!

