Vargenstone Devlog: Diving In

I’m up a couple of hours earlier than normal. I credit the traditional New Years food of my people: chimichangas. That’s not a comic book reference. I’m Arizonan.

Alright. Day 2 of picking up Vargenstone where I left off. I had successfully-ish created a tileset.

I can see some issues with it, but it’s usable. First thing you do is make sure you’ve got usable versions of everything in the game, and then you go in and fix stuff. So we’ll leave this alone. And that means our #1 priority right now is a player character.

So, I’ve got a 3D model I made for reference. A hand drawn guy with shading which I decided was too much work, and a vector guy with no shading, which doesn’t match any of the other art. Oh, and attempts to build pieces for animating in Spriter.

Quick discussion of issues:

  • First: green shadows. Four years ago, I was silly enough to make all shadows bluer than the main tone. But this is not the universal rule I thought at the time.
    • Blue shadows mainly come from being outdoors, where your shadow has a little blue light from the surrounding sky in it. But our actors are all underground. The shadow color will be based on diffused torchlight and the color of the surrounding stone, neither of which are green.
    • Skin, especially, tends to have warmer shadows, because it is translucent, which means the shadows are tinted by the blood under the surface.
  • The walk cycle is serviceable enough that I’m not going to mess with it, except to note I’ve learned enough about animating to be unhappy with it.

Vargenstone is based off the old 2D Wolfenstein, which had as a feature 8-directional movement, and independent 8-direction aiming.

Castle Wolfenstein (DOS) Game Download

4+ years ago, when I was last working on this, I was trying to separate the legs and torso into their own animations and objects so I could A) aim independent of movement, and B) fire the crossbow while walking or standing still.

Seems a good enough solution to me. I have bequeathed unto myself across the ages a folder full of false starts. My objective today is to end my work period with a guy who can walk around. It doesn’t have to be good, but it has to be the foundation on which I can build something good. E.g. if I have low-resolution pencils in a Spriter Animation, and I can later override them with spec-resolution animations, that’s fine.

First thing to do is get our scale. I have individual sprites at 6002. The game itself is using a sprite sheet where the frames are 1602. I remember initially scaling the sprites based on the proportion of the screen Wolfenstein sprites came up with, but I don’t have my math on that any more. Going from 600 to 160 is wasteful. Looks like the tile size is 160 as well…

The spec says the base resolution is 900×600, but art should be made for a resolution of 2700×1800. On OG Wolfenstein, the character takes up about a vertical fifth of the screen. 160 is 1/3 of 600, but 1/11 of 1800. Best guess, then, is the 1602 size is aimed at the 2700×1800 resolution, which means I should develop for that.

Historically, I have made assets at 2-3x final size, and making them larger than final size is fine, but there’s no real benefit to going larger than 1.5x, at least not for a cartoony style such as mine. Well… the math is easier. If I go 2x, and I’m in Spriter, I’d rather set each element to 0.5 than 0.6666666… But 2x is as big as it needs to be. 3202 rather than 600 or more.

Geez. What the heck was I thinking?

I need 5 directions of stand and walk. South, North, Pick a Side (we’ll say East), NE, SE. We can mirror those to get the other directions. I’ll continue to use the 3D reference that I made, though my Blender skills are so rusty that I have concerns about new animations using that method. Probably eyeball anything new.

ONWARD!

Hand drew a half-sized 802 forward walk cycle for the legs. 6 frames, 3 mirrored from the others, modeled after my reference, but tweaked a little. It’s good enough to go on. My one regret is not timing myself. I need to know how long this stuff takes in order to fine-tune my process. That’s fine. I need to take a quick break, get some water. I’ll watch the clock as I do the next one.

I remember when I was working on Spriter animations for the orcs/etc, I tried to make the paper-cut-out style work with the 8-directions. Honestly, though, this 6-frame cycle seems just fine. And faster to assemble. I think I’ll be fine using Spriter to handle timing, layering, and so forth, but otherwise doing frame animation. Part of my problem all those years ago was trying to be more clever than I needed.

Alright. Gearing up to dive in. Note to self: it doesn’t have to be pretty; it has to be functional with the space to replace with something pretty. Timestamp: 5:50. Objective: North.

Timestamp: 6:04:

Feet are going out too far, hip bob is a little too subtle. But it’ll do for a first draft. 15 minutes. Not bad. So half an hour to get a six frame East? We’ll go at 6:10 to keep the math easy.

I’ve a lovely idea: I’ll just blow these guys up 4x and draw over them on a new layer to get the final art.

Timestamp: 6:26:

This was more of a pain in more ways than one. My reference obscured the foot position with the arms, but I needed to draw it anyway because in the final game, sometimes the arms will be pointing a crossbow, and so we’ll be able to see the legs.

For some reason, the animation lingers too long in the heelstrike position. I’ve been able to correct for this in the north and south animations, but I’ve failed to do so in this easterly one. I think part of the problem is I’m doing a six-frame cycle instead of an 8, but way back in the past, I centered the cycle on the crossover, so the remaining two frames in each half cycle are an equal distance before and after the heelstrike. I should have centered the cycle on the heelstrike rather than the crossover. The heelstrike is the most readable pose, the crossover the least, and so skipping it for a frame just before and a frame just after would have improved the animation even as it cut frames.

I have 2-6 hours a day, not counting Sundays and Wednesdays to put toward this. Is 25 minutes to redraw this sucker justified, especially given it’s placeholder art?

I’m going to do it “just this once” and then try to modify the animation on the fly with the other two.

Hold on a minute, no. I just noticed the gif I posted was missing a frame.

The criticisms I’ve posted are still valid, but with the missing frame slotted in, it’s good enough to go on. So I’ll save on redoing the first draft, and try tweaking it when we do the final version.

I think I’m going to go ahead and try to make this work in Spriter and Unity as-is. Make a 4-directional test dwarf with top and bottom halves. If that goes well, I’ll make the other 4 directions.

Alright. Coming up on 8:00, which is normally the end of my work and the beginning of my farm work. However, I’m going to make a definite effort to get back to this, as I’d like to end the day with a complete demo.

I’ve got the legs into Spriter, though.

The big deal, here, is the object on the list called “Torso Anchor”. My aim is for this to be two objects, one for the legs, the other for everything else, so they can play animations independently. (e.g. walking and shooting, walking and aiming 8 ways). But I can’t just slap two objects on the same position, as the torso bobs up and down when walking. Torso Anchor gives me something I can find in code and use to position the torso. In fact, if I understand how Spriter interacts with Unity, I may be able to make this a mere parent/child relationship. Though I foresee some annoyance getting the Z-Ordering of the objects to play nicely with each other and the enemies.

I’m going to break for breakfast, do my farm chores, and come back to this. Part II of today’s efforts will be its own blog post.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s