[Bf-committers] BGE Proposal: "Character" physics object type

Mitchell Stokes mogurijin at gmail.com
Tue Aug 23 11:08:30 CEST 2011

I think integrating Bullet's Kinematic Character Controller would be a
good project for a new developer. If someone is interested, I'd be
willing to assist with navigating the BGE source, providing
feedback/review, and maybe a bit of code. However, I have too many
projects on my todo list to tackle this myself at the moment.. You can
also find a demo of the character controller in the Bullet source


On Tue, Aug 23, 2011 at 1:33 AM, Denis Washington <denisw at online.de> wrote:
> Hello,
> This is the first time I am trying to get in touch with the Blender
> developer community, so please forgive me if this is the wrong
> communication channel for the following proposal. Also, let me tell you
> that I really love Blender, and would like to thank everyone who has
> contributed to it and made it what it is! You're my heroes. :)
> I recently investigated the Blender Game Engine for a hobby game project
> - a 2.5D platformer - and as a first exercise,  I tried to get basic
> player character movement going. I expected this to be fairly easy to
> do, but I found out that it is actually pretty difficult to get right.
> The reason is that none of the currently available physics object types
> in the game engine are really appropriate for this task. "Dynamic" is
> the closest match, but leads to several weird problems due to doing more
> sophisticated physics simulation than is actually needed - you see
> effects such as the player character sliding a bit after releasing a
> movement key, or bouncing when hitting the ground after jump or walking
> into walls. Playing around with physics and material settings (mass,
> friction etc.) reduce these issues, but don't completely remove them; it
> all still feels unsatisfactory and not very professional.
> The point is that for this use case, there are actually no "real"
> physics needed at all; applying gravity and doing collision detection
> would actually be enough, and much more desirable as it provides the
> precision that the sophisticated physics types lack. In addition, such
> an implementation would be much more efficient.
> Unfortunately, such a solution would currently have to be implemented
> manually by writing a Python script which applies gravity and handles
> collisions manually. This is a shame, because I believe that the need
> for such behavior is very, very common - almost every first-person
> shooter and platform game uses such reduced physics for player
> characters and enemies, for instance - and should not have to be
> implemented by every game developer needing it individually. Also, the
> current situation is frustrating for newcomers: about the first thing
> almost any beginner will try to do is to make some kind of object move
> like in an FPS / jump'n'run game, and being confronted with weird
> bouncing and sliding behavior in these first steps is not exactly
> encouraging.
> Therefore, I propose the addition of a new physics object type named
> "Character" which applies the described basic means of physics to the
> object. This would provide BGE users with a simple way to get player
> character movement working as expected. Its implementation could use
> Bullet's "kinematic character controller" [1], which is exactly meant
> for this use case and has useful parameters such as step height (so that
> the character can walk over small steps, such as stairs, automatically).
> What do you think?
> Regards,
> Denis
> [1]
> http://bulletphysics.com/Bullet/BulletFull/classbtKinematicCharacterController.html
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers

More information about the Bf-committers mailing list