![]() The reason for this is that the player will notice the ball moving forward at a faster speed than they see the ball rotating, and they’ll know something is up. If the ball you’re rolling has a clear pattern then it’s especially apparent (especially when you have a low friction value). The player didn’t feel like they were rolling a ball, they just felt like they were pushing something along. The effects of using force in-game isn’t obvious at first, but the effects were noticeable when the player began interacting with loops, inclines, really any irregular surface, and especially in the air. When you’re riding a bike you don’t push linearly on the wheel and let the friction turn the wheel as a side-effect, and you shouldn’t do the same with your ball either. This first part is focused on where the movement code was at when I came onto the project, and what we learned from it as our team pivoted to a new implementation. This will be the first post in a 3-part series on how I designed and implemented satisfying and expandable ball-rolling code in Rollossus. Throughout this blog series I’ll cover the high-level overhead and some ways to implement the concepts. You’re probably here because you want to get satisfying ball rolling in your game, or because you find this extremely specific topic interesting. Two major components that I’ve worked on are player movement and enemy implementation. Our game is called Rollossus, a rolling-based action game built in Unreal where the player controls a ball that must dodge and outsmart enemies to survive seemingly impossible odds.
0 Comments
Leave a Reply. |