Game
Lemma
10 years ago

Player model and animations


An update from the Kickstarter:

One concern that pops up a lot on Greenlight is the low quality of the player model and animations in Lemma. The reason it’s so bad is that I did all of it myself, and I’m not a character artist. People ask, “but couldn’t you just try harder? What’s so hard about modeling and animating a character anyway? Also, couldn’t you just borrow an existing public domain model?”

Come, join me as I weave a wondrous tale of artistic achievement. It is the story of the current Lemma player model:

5d0c4da7eb92b.jpg

Weeee!

The story starts with modeling. The current player model consists of over 10,000 3D points connected by over 20,000 edges. Being a novice Blender user, I wasn’t about to attempt all that myself.

5d0c4da916dcf.jpg

Luckily, there’s a great open-source project called MakeHuman that can generate all kinds of human models. You can tweak parameters like gender, height, weight, nationality, muscularity, facial features, and more.

I generated a suitable model, imported it into Blender, and made a few tweaks to fit the game’s needs.

The next step was texturing. Normally I would have to painstakingly map each 3D point on the model to a 2D point on a texture surface (a process called “UV unwrapping”). Luckily, the model came with pre-generated UV coordinates, so only a few minor modifications were necessary.

However, the default textures didn’t include clothes, so I used GIMP to overlay some cloth textures. I also baked in some ambient occlusion for a bit of added realism.

5d0c4daa07b1f.jpg

There’s more than one way to skin a character model.

The next step is to add controls so that I can animate the character. Similar story here. Normally I would have to first create a skeleton of bones that roughly matches the shape of the model, then painstakingly assign up to four numbers to each of the 10,000 verticesin the model. These “weights” determine how much each vertex is affected by each bone. Thankfully, MakeHuman once again did the heavy lifting. However, the few modeling tweaks I made earlier had to be properly weighted, and even that was not easy for a novice like me.

5d0c4dacdc6fa.jpg

The green vertices will be affected by the forearm bone.

Finally, we’re ready to animate this monstrosity! Over the course of development I’ve accumulated 34 poses and animations.

5d0c4dad8d341.jpg

The animation code can blend between animations and even layer two different animations on top of each other. For example, the bottom half of the model can play a walking animation while the top half answers the phone.

Each animation contains keyframes that indicate the position, orientation, and scale of each bone. To make the player turn around, I could make a keyframe at 0 seconds with the model facing forward, and another keyframe at 1 seconds with the model completely turned around. The code would blend the two keyframes into a smooth turning animation. Easy enough, right?

Not so much. Here’s just part of the “kick” animation, which lasts about half a second. Each dot is a keyframe.

5d0c4dae2b37a.jpg

It’s like Excel’s nasty older brother.

Once you take into account the fact that the skeleton has 70 bones, even simple animations can take hours to complete.

Long story short, 3D animation is hard! Professional outfits these days use motion capture, but even that requires weeks of intensive post-processing and cleanup by teams of professional animators.

Hopefully this little article gave you a glimpse into the world of game development, and hopefully you understand why I need help to bring the player model to the level of professionalism and quality that this game deserves.

Before I go, just a quick thank you to everyone for supporting Lemma, and a status update! The Kickstarter is over 35% funded and the Greenlight is now 73% of the way to the top 100 games with almost 5,500 yes votes. Thank you guys!



4 comments

Loading...

Next up

Short intro of us 💕✌️

We're an eletro duo based in Seoul 🇰🇷 Heavily influenced by the 90s.

Our new album #Xennials is all about the nostalgia of that era 💽 CD listenin 📟 beeper beepin 💾 floppy disks floppin days 😎

Stream now! 🎧

https://open.spotify.com/album/3YwWhnHWVy5cA8XOpbaGRA?si=8E9awqU…

Path of Kami: The Evolution of the Lore

Another house i made long time ago.

Back in my art school days I used to ride the 710 COPSA line from Parque Del Plata to Montevideo almost everyday. This is the Marcopolo Viaggio G4 Mercedes Benz model from the late 80s, one of the older bus models that was running on the line.

Coming Soon...

Out of boredom and curiosity, I coded Sailor Jupiter's Argentine Backbreaker.

Super Sonic Pixel art.

Sometimes Aeron needs a friend to help him out in tight situations.

(sound ON 🔊) We changed the tree harvesting selection sounds. Again.

Should we stop already? Let us know!

Find out more about the game on Steam:

http://bit.ly/AtS_New_Sounds_GJ

Snacktime