While working on the Blah Blah Family Project, I ran into a challenge with player arm animations and the pickup system.
AAA studios often create unique animations for each item type in their games, ensuring that each object is held naturally. However, many indie games take a different approach, using a single animation for all pickups. While this saves time, it often results in awkward-looking interactions. Holding a key, a large stone, and a stick in exactly the same way just doesn’t feel right.
At the same time, creating a custom animation for every single item would be inefficient and time-consuming. I needed a solution that looked natural but didn’t require excessive animation work. In this devlog, I’ll go over the problem, the solution I found, and how I implemented it.
Finding a Balanced Solution
The first step in solving any problem, whether in game development or real life, is thinking critically about what is actually needed. I knew that I couldn’t animate every single item individually, so I had to find a way to simplify the system while still making it look good. I started by analyzing the different types of items in the game and realized that most of them could be grouped into two categories.
1. Palm-holding items are objects that rest in the palm, such as keys, stones, and coins. 2. Stick-holding items are objects that are held more like a handle, such as sticks, swords, and crowbars.
By sorting items into these two groups, I already had a solid foundation for my animation system. But there was still a problem. Some items in the same category required different hand positions to look natural. For example, a small key and a large rock are both palm-held items, but the way the fingers grip them should be different. That’s when I came up with the idea of hand pressure.
What is Hand Pressure?
Hand pressure refers to how tightly the fingers grip an object. I define it on a scale from 0% to 100%, where:
0% hand pressure means the palm is fully open. 100% hand pressure means the hand is fully closed into a fist.
By adjusting the hand pressure dynamically, I could fine-tune how an item was held. A small key might require a light grip with slightly curled fingers, while a large stone might need a firmer grip with fingers wrapping around it more. The same applies to stick-holding items. Gripping a thick sword should look different from holding a thin stick, even though they both fit the same general category.
A Simple Yet Effective System
By combining these two elements, item categories (palm holding and stick holding) and adjustable hand pressure, I was able to create a system that allows the player to pick up a wide variety of items naturally without needing unique animations for each one.
This approach keeps the system simple, flexible, and efficient. Instead of animating every item individually, I can dynamically adjust the grip based on the object's shape and required pressure. This means better-looking interactions while keeping development time manageable.
Overall, this method strikes a balance between realism and efficiency, making the pickup system feel polished without overcomplicating the animation process.