Putting a sock in it.

Posted by Astryl on July 6, 2012, 9:38 a.m.

Ego alert. Please ignore from here on in, and sorry everyone…

So, yesterday I commented on DSG's blog, because everybody else was doing it and also Depths.

But nevermind that, I made the claim that, personally, I consider 30 minutes to be unacceptable for a sprite of that size. Nobody take it the wrong way, please.

I've got OCD when it comes to timing… Inefficiency hurts…

Anyway, it bothered me that I'd made the claim without actually having any recorded time for a large sprite. I had some things to do at night that involved coming up with a new boss enemy for Exile, and… I remembered just in time to Chronolapse it (I missed the sketching of the outline, but that took 5 minutes maximum).

Watch this, pay close attention to the time on the taskbar:

http://www.youtube.com/watch?v=CN-DZ35Z7UA

(Link because embed didn't work for me…)

In case you can't tell, I created the walking animation (With sufficient secondary motions) during that video too.

This is above the norm, so don't worry about it. Most game studios will request a work-rate of about one frame per 20/30 minutes, depending on the project and the work ethos. How do I know this? I applied last year for a position as Lead Artist. The only reason they didn't hire me was because the other artists objected to having an (at the time) 18 year old telling them what to do, and being right. I'd feel the same if one of my brothers walked into the room and started trying to tell me how to shade…

Though they'd probably ask me why I don't just use the gradient tool…

Oh yes, my family does homeschooling. I'm past that by some way now, but last year my mother asked me if I could hold a supplementary 'class' for one of my brothers and my sister on computer based art. For two weeks I taught, giving them examples, leading them through others, showing them how to admire low-res work… only to have 'em flick the "format memory" switch after it was over. v_v

It's so hard to get some people to admire the art in a 2D game, or even a 3D game, instead of being blown away by cheap shader effects.

Anyway, I won't talk too much about my game, other than that I'm getting somewhere with it at high-speed. I'm just making enemies, music and levels now, really… ;3

And don't worry, that goblin is a thing of the past… I'm working with 64x64 minimum now, which matches the textures on the walls/floors/ceilings.

Shutting up

Quick overview of my spriting method - animation included

This is supplementary to that video I posted. The method I use is 'simple', in that I begin with a mental image of what I'm going for (In this case a mutant/golem type enemy; large, hulking and strange looking.

I began with a 64x64 canvas and drew the upper torso (Sketched in GM8's sprite editor with the pencil tool), but I found that I didn't have enough space to comfortably draw the legs.

Rule #1 when this happens: Don't squash the sprite, stretch the canvas. So I extended the canvas to 64x128, and continued from there.

I achieved basic shape symmetry by copying the left-half of the outline after cleaning it up, and pasting it flipped over the right-hand-side. (There's nothing wrong with this. Asymmetry can be achieved during the shading/coloring/detailing stage, but geometric symmetry helps with the form).

I then decided on my base color. I took a muddy brown in this case, and filled the entire outline with it so I could see the form properly.

After tweaking a few of the shapes I didn't like, I change the black border to a darker brown (Color bounding > Black bounding except in a few exceptional cases, or if you're going for a cartoon look).

I then began the shading process with two tones besides the neutral brown (Slightly darker and a bit more than slightly lighter with a hue-shift towards yellow).

The placing of the shading is with the light source coming from above and to the front. Never use 'from-the-side' shading in a 3D game with 2D sprites. In fact, be very careful with any sort of shading at all.

Note in the video that I'm working on one side of the sprite primarily. Later on I copy/flip/pasted it. This isn't breaking the rules in any way, and is often used by professional artists when working with front-facing sprites. The shading may need adjusting if you do this, but that can be done in the detailing phase.

As for the animating, it's the hardest part to explain. But I'll try. The set I worked on in the video was the walking animation. For this, I began by deleting half of the sprite (Working in halves again), and worked on getting the left hand side to hop in a satisfactory way. I added in some secondary motions (The arm moving, but not much. The chest heaving a bit. The head moving with the spine. The back raising a bit; This is a heavy creature, which moves ponderously).

I then copied the right hand half of the original sprite, an placed it in each frame of the halved walking animation. A bit of flip+paste later and I had the walking animation base. From here, I was able to tweak the bits of motion I didn't like, add in extra shading details and make the cycle slow down on foot contact.

Well, dunno if this bit of drivel is going to help/hinder somebody in some way or the other, but here it is. Enjoy reading it. No, you're not getting any more out of me about Exile; wait for the press-release. :3

Some statistics

That's the project so far. Out of that, the player code is the largest file weighing in at nearly 1500 lines. Remember kids, the higher your line count, the more bugs you'll find!

I've been training to become a ninja bug-swatter. Therefore I now make liberal use of the stack trace, breakpoints, and in some cases disassembly. Practice makes perfect.

Interesting little thing happened yesterday; I wrote an inventory system (Only about 180 lines of code, I believe), but I wrote it in one stint and didn't test it during that time. When I was done typing it out, I automatically thought as I hit the F9 key that I was going to get ye longe liste of 'WTF ARE YOU DOING, HUMAN?' from the compiler. All I got was one measly typo, which happened to be a case of replacing a semi-colon with a colon.

But instead of making me feel better, this instantly put my guard up; there is no such thing as perfect code… so I launched the game expecting at least half a dozen segmentation faults. I got nothing. Until much later, when I discovered a bug, and was caused by trying to access an empty list. That was easy to fix, but was looked over when I wrote it. The moral of the story is, don't trust code that works the first time. Because it doesn't.

Comments

JuurianChi 12 years, 4 months ago

What Cesque said, this is the kind of garbage that eventually divides the community.

Not today at least.

Astryl 12 years, 4 months ago

Thank you Cesque.

And curse you Qwilderwibben. I just shaved that off >:O

Polystyrene Man 12 years, 4 months ago

Quote:
Neither am I. OK. This is blog is the result of my trying to inflate my ego…. Now I feel more crap about posting it.
Just so you know, I hadn't read any of the comments before mine. Wasn't trying to kick you further into the ground.

Astryl 12 years, 4 months ago

Quote:
Just so you know, I hadn't read any of the comments before mine. Wasn't trying to kick you further into the ground.
It's OK. I'm used to it, and actually it's a good reminder for me to STFU and think before I blog/comment.

Charlie Carlo 12 years, 4 months ago

I was trying to cheer you up, I'm pretty shit at it I know.

At any rate, people only give a shit about stuff like this when it's brought up as a topic of debate/discussion. I can (almost) guarantee you, nobody on this site was worried about your graphics or the time it takes to make them prior to you bringing it up, and they won't again after this discussion is over. Personally, I like the artwork of pretty much every user on here, including your own, it's all so indie and wonderful.

Castypher 12 years, 4 months ago

Indeed. I think the retro style is very fitting for your games. Just don't try to be something you're not. If it works, it works.

Speaking of, I still haven't found my own graphical style yet. Oh well.