Mechanism of collision in games

Started by
3 comments, last by ShadowValence 11 years, 3 months ago
Let's assume that I am creating the basketball game. What is the better way.

1.) creating the separate man without the ball in blender (animate his movements like jump, throw, tricks without the ball)
In this scenario I have to fit the mechanism of ball with animating man in C++ code (so I have separate ball animation and man animation, as far as ball is concerned it will be just one mesh of ball and rolling will be implemented in C++ code)

2.) creating the man with ball animation inside one X-file. This seems to be better solution, because I don't have to fit the mechanism of ball with animating man in C++ code, because I have them both animated in the same animation (in the same X-file). However now the question is what kind of mechanism of collision may I use (like tackle the ball from another player). It seems that the best algorithm would be:

a.) detect the collision.
b.) check the time in AnimationController in which the collision occur.
c.) let's the AnimationController to animate the object till the specific time in which I might change animation set.
d.) if my animation reaches the specific time then I change the animation set (which in this cases would be animation of loosing the ball). And in this way from user point of view the animation would be smooth.

So if I use the solution 1 I have to implement more C++ code responsible for connecting movements of ball and player.
If I use the solution 2 I have to create more animations in blender, I will have only some discreet points in which the player might loose the ball.

Or maybe I should create something in the middle between 1 and 2, so in this case animation of throw, running etc. with the ball, but for example if there is a collision detected then change the animation of the man with ball into separate man and ball animation and use C++ code into implementing loosing of the ball (so some physics in C++ code).
Advertisement
It seems to me that the logical separation of man and balls in your first suggestion would be more correct. The ball could then be animated using some faux physics.
Besides, the methods, times and locations of a ball "steal" would be far to numerous to efficiently pre-key out in animations, would they not? And then, what happens when the ball is shot? does it then signal the hoop model to include the ball? Let alone the different possible trajectories of a shot (regardless of success calculations).
I vote to keep them separate - that's how it is in real life...

Seconded, the ball must really be in its own resource file.

Previously "Krohm"

Even though, logical choice is to keep the man and ball separate and work around their collision detection, there are several options to make the gameplay interesting around collision scenarios.

One I can think of right away is to rather, keep the gameplay interactive till a certain level of collision is detected, and depending on whether it's a steal or block or hoop or dunk, you can introduce cutscenes. Many games are using this nowadays, and not only does it save some code complexity, it makes things more fun.

True that. Reminds me of an old NINTENDO gamer i used to play. Add soon as you shot, it split to a scene of the ball & the hoop. Of course, the players were in a sorry of "paused" state until the scene was over (i.e. No player activity until the ball has scored or rebounded). But it would make for an interesting game style.

I hadn't considered that as an option. I stand amended. :D

This topic is closed to new replies.

Advertisement