Monday, February 11, 2013

The Learning Curve : Character Sprite

Welcome to "The Learning Curve"  a new periodic topic I plan to revisit from time to time. I guess you could call it a column if this were a newspaper? I'm not really an 'educated' blogger so I don't know what the term is for blogs. 

 I'm here to get things done so I'll leave the semantics to the blog nazi's and get on to say what I have to say!



New tools, new code, new concepts, new math.

Everything we do as developers takes time.

Time is one of the primary constraints to being successful as a developer.



Utilizing time effectively and producing something that is usable .. is a challenge due to the learning curve.

The title graphic here features a learning curve. It shows that your expertise goes up, the longer you put in to something until it plateau's out near the end.

At first your time spent learning produces very little results and is very frustrating. But eventually you get a break through and things start to click. This is the part where the line goes up rapidly.

This week I decided to use Blender 3D to create a player sprite (again featured in the title graphic).

Previously I used Adobe Illustrator which I am a pretty solid user, but I ended up unhappy with the way the sprite looked.  If I had Adobe Flash I probably could have done a much better job that I would have been happy with but I really can't afford that product at this time so I have to either use what is free, or what I have.

Blender is free therefore I choose to go with it.  And therein lies my learning curve for this post: I did not know how to animate in Blender.

I set myself a challenge to fully model a 3d Leprechaun (using Silo which I learned about two months ago) and then rig and animate the character in Blender this weekend.

I have never done this before so I feared this was an impossible goal.

But hey let me tell you something form experience ; you can hit your goal every single time if you  shoot for the ground.  

I mean why bother trying? Right? I mean you might fall short?  Get your knees scraped if you lift your feet off the ground? That sure sounds scary! *shiver*

Sorry but but in my opinion being a developer is not for the uninspired.  You better be willing to set the bar above your head and take a freaking running jump at it!  Maybe you'll knock the bar off the post instead of sailing it over but you will get a hell of a lot more done and learn a lot more by taking this approach.

So I set a goal that seemed impossible and I focused in on it. Every free-time moment I had was laser-ed in on this goal.

I watched tutorial videos, I read help files, I read online documentation - everything I could throw at that nasty learning curve.

See its about learning, not about slamming your head against a wall (as fun as that might sound).

So I probably spent 45% of my time learning how to do it.

Here's a little ordered list of how I approach a learning curve:

1:  Assign yourself learning activities and do them.
2:  Do your objective.
3: Learn from mistakes on try 1
4: Find more info on mistakes (learn more based on findings)
5: Re-do if needed or tweak your previous project.
6: Make the call

Item 6 is important. At some point you will find that either this is working - or it is not.

I can't make the call for you , its your call. But I'm honest I solve almost half my problems by doing something OTHER than what I set out to do at the beginning because I think of something easier that achieves the goal.

At some point you need to decide if the curve is too steep for your current project. Can you get this done? Is it going to take 300% longer than you have available to get this done?

Write checks and snap necks my friend.  Get your stuff done. Be productive.

So for me the call came when I was about 75% through the weekend.  I had promised myself I would get it done over the weekend. It was time to make the call.

Fortunately for me I had my very first render  ready at that point. I was able to review it for suitability and it looked very functional.

I made the call to continue forward and finish the objective with Blender.

Had I not had anything to show for my time, I would have cut it and moved back to Illustrator.

I can get a sprite done in Illustrator in a few hours.  That's the key you see.   You make the call before you don't have any time left for your backup.


And so the learning curve worked out for me this week - the sprite paid off and I know more about Blender.

- punchy out





No comments:

Post a Comment