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

Astryl 12 years, 4 months ago

At this rate I'm going to read a fresh Markov blog every time I post a new one…

Charlie Carlo 12 years, 4 months ago

Not bad at all for 5 minutes, but to be fair, DSG's artwork is really really cool looking. Yours is as good as it need be, but not quite super solid looking, dark, nearly 3-d looking eye-candy. I hope that doesn't sound like an insult I'm just saying that I don't think any mortal being can do game art like DSG.

Moving on to that last bit about the code; I use DND and I get way more "does not compute" messages than that. And that's totally true about shit not working just because it looks like it does. That's why the vast majority of my time designing a game is spent play-testing. That's why I rarely finish any games.

Mordi 12 years, 4 months ago

The bear looks alright. I don't get what you mean, though. You think sprites usually should be made faster than DSG apparently does, or do you mean he should spend more time on them? Your entry can be interpreted in both ways, though it seems to me you are thinking that the former method is the way to go.

By the way, it is good practice to comment as much as you can. 700 lines of comments sounds a bit skimpy for 5600 lines of code to me, though I can't say for sure. I usually comment most, if not all of my functions, and many of my members. It should come in handy after my inevitable 3-month break from development comes along, and I'm staring at the code with no recollection of writing it.

Quote:
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.
…or maybe it was your arrogance? :-)

Castypher 12 years, 4 months ago

I'm sorry Mega, but stop trying to be the best at everything, and let some other people have the spotlight. Stop trying to one-up people, even when you are better than them at something. You're a jack; you do a bunch of things well but you'll likely not be as good as someone who sticks to one thing, and you have to learn to accept that. Your sprite is good but it hardly comes close to the quality DSG's show. So I can't understand what you're trying to accomplish by posting this blog.

DSG's art style is consistent, it's beautiful, it's atmospheric, and he can animate it all within extremely short periods of time. I don't care if this is only the norm and you can sprite faster–it's good enough for the rest of us. Your style works for you, reminiscent of the low-res era, and it's great that you can work quickly and still produce quality work. But there are some times when you have to drop the ego and admire others' work for a change.

Quote:
telling them what to do, and being right.
This is not the way to go about getting a job. When you're dealing with your superiors, you bite your tongue and take whatever orders they give you, unless they're wrong beyond comprehension. I'd think you'd learn that this was the case after not getting hired, but you sound like my mother at this point, and she wonders why people don't like her. You, sir, need a lesson in humility.

But in your own right, you're a fast, efficient programmer. You're a good spriter. You're a good composer, though I've only heard chiptunes from you. But you have a different style in every case. There's a fair reason people are excited about Depths' style.

Charlie Carlo 12 years, 4 months ago

Quote:
This is not the way to go about getting a job. When you're dealing with your superiors, you bite your tongue and take whatever orders they give you, unless they're wrong beyond comprehension. I'd think you'd learn that this was the case after not getting hired, but you sound like my mother at this point, and she wonders why people don't like her. You, sir, need a lesson in humility
From what I've heard my friend's mother say, and the advice she gives me, (my dad, too) I was under the impression that being as full of yourself as humanly possible was the way to go, professionally.

At any rate, if you try being humble, don't be as humble as I am, it leaves me with an inferiority complex that is impossible to overcome.

Castypher 12 years, 4 months ago

I guess if you can get a management position quickly, then that would be the way to go. That in itself would be impressive. But few people like to work under a person like that.

But if you're climbing the ladder like most of the population, you're going to want to do it by not mouthing off to your superiors.

Look into some project management classes, and classes that simulate the workplace. I've taken several already, and this is the only reason I feel like I can be a bitch about it.

Charlie Carlo 12 years, 4 months ago

Well to be fair, being in egotistical retrospect (which is what I gathered from Mega's statement) isn't exactly mouthing off to anyone.

Castypher 12 years, 4 months ago

Yeah, poor word choice there. But my argument stands.

Polystyrene Man 12 years, 4 months ago

Not sure what you're getting at here. You spent less time spriting, and your sprite doesn't look as good as DSG's.

Toast 12 years, 4 months ago

Quote:
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 find that sincerely hard to believe. That must have been an extremely small start-up company who don't have a clue what they're doing. Whenever I've occasionally looked at jobs in game development on the internet, most artist jobs, never mind LEAD artist jobs, require a detailed portfolio, 3-6 years experience as an artist on a "AAA" game (impossible given your age), and practically ALL required an art degree. That's all before you're even considered for an interview.

Some examples here.

As Mordi mentions, it takes a fair amount of arrogance to assume you could manage experienced artists without being an experienced artist yourself. Frankly I'm finding the title of this blog tragically ironic right now.