By DigitalRune Team on
Friday, September 10, 2010
DigitalRune Geometry supports automatic generation of bounding shapes and convex hulls. Using simple bounding shapes or convex hulls is more efficient than using arbitrary triangle meshes in game physics. In this post we will investigate different kinds of bounding shapes. What's up dude? Let's look at a practical example. Here is the Dude from the XNA Skinned Model Example:  The model has 13132 vertices and the skeleton has 60 bones. Bounding Spheres Here is the same model where a bounding sphere is computed for the vertices of each bone. …
|
By DigitalRune Team on
Wednesday, September 08, 2010
Somewhere I read that characters in Quake-style first-person-shooter games have a speed of 10 m/s. To account for this unnatural speed the gravity is often set to a higher than normal value, like 16 m/s² (instead of 9,81 m/s²). We haven't verified this statement, so let's put this in perspective (with collected notes from our internal knowledge base): Walking - Normal passer-by on the street: 1,48 m/s (5,34 km/h)
- …
|
By DigitalRune Team on
Monday, September 06, 2010
Jumping Is Important! Seriously. If I cannot jump in an action game, chances are high that I will not play it. Do you remember that there once was a game type called "Jump'n'Run" – where according to the genre name jumping was 50% of the gameplay and the joy? Jumping on its own is fun and it is a natural way to show emotion. In World of Warcraft, for example, jumping is the simplest expression of feelings. – Typing emotes is way to complicated for me ;-) Implementing Jumping When implementing jumping an interesting question arises: How much control does the user have while jumping?
|
By DigitalRune Team on
Saturday, August 28, 2010
Ok, this one is simple - but simple things matter. Take a block of wood, drill three holes and add 3 colored pencils. If you do it right, you might get something like this:  …
|
By DigitalRune Team on
Thursday, August 26, 2010
Yet another blog post about character controllers for 3D games, and this time we will talk about the actual implementation. Kinematic Character Controller Using Discrete Collision Detection Here is how the character controller in our Character Controller Example works: Capsule Shape The character is represented as a an upright capsule that does not rotate:  …
|
By DigitalRune Team on
Friday, August 20, 2010
There are at least two ways to implement a character controller for a 3D game: Kinematic and Dynamic Character Controllers. In this post we discuss the difference and which solution is better. A short reminder: In this context a character controller is the piece of code that computes the movement of the player character in the game. It takes care that the user does not run through walls, can step up/down, jump etc. The character is often modeled as an upright capsule. Related posts: 3D XNA Character Controller Example and Character Controller Requirements Kinematic Character Controller …
|
By DigitalRune Team on
Tuesday, August 17, 2010
In one of the last posts we introduced our Character Controller Example. In the next posts, we will discuss character controllers for 3D games in more detail, including: general requirements, kinematic vs. dynamic character controllers, implementation, character controllers in virtual reality. This post starts the series with a discussion of requirements of 3D game character controller. Functional Requirements Teleport The first requirement is teleport because the character controller must be set to its initial position. A teleport sets the character to a new position. It doesn't matter where it was previously and if there are obstacles between the old and new position. Recover from penetrations …
|
By DigitalRune Team on
Wednesday, July 21, 2010
For the new DigitalRune Geometry library we have created a simple 3D character controller example (including source code). A character controller, as understood in this context, is a game engine module that computes the movement of an avatar in a game. The input for the character controller is the desired movement (e.g. “move forward with 5 m/s speed”, or “jump”) and the output is the new corrected avatar position in the 3D game world. The character controller has to apply gravity, avoid penetration of walls and other solid objects, handle stepping up/down slopes and stairs, and more.
|
By DigitalRune Team on
Wednesday, July 21, 2010
This blog post contains our collection of references for Collision Detection: website links, a list of collision detection libraries, list of books. This post will be updated from time to time. If you know other useful links, please let us know and we will include them in this blog post. Collision Detection Websites This is a collection of various links about collision detection and related topics.
|
By DigitalRune Team on
Monday, July 05, 2010
Here is a list of physics engines. This blog entry will be updated from time to time. If you know other useful links, please let us know and we will include them in this list.
|
By DigitalRune Team on
Saturday, July 03, 2010
Like my brother Helmut, I finished my master thesis in 2005. The thesis goes through all the steps necessary for animating characters in games. I thought it might be of use to someone who is just starting with this topic – so I might just write a blog post and put it back online for download.
|
By DigitalRune Team on
Tuesday, June 08, 2010
When I learn a new API I like to look at the API using different views: example code, API documentation, and class diagrams. When we started to learn XNA, we created class diagrams for the XNA framework. This helped a lot in getting an overview and seeing relationships between types. I haven’t seen XNA class diagrams publicly on the internet. So it might help if I post our class diagrams here.
|
By DigitalRune Team on
Wednesday, May 26, 2010
Here is a list of books related to rigid body dynamics and game physics. |
| Physics for Game Developers by David M. Bourg This book is an easy-to-read introduction to game physics. It explains the basics (kinematics, kinetics, forces, particles, rigid bodies, collision response) and several applications (projectiles, ships, hovercrafts, cars, etc.). The book is for beginners. You will need other sources for advanced topics, like rigid body contacts or joint-handling. I have encountered several errors while reading the book, so make sure to read the errata on the book's website: http://www.oreilly.com/catalog/physicsgame/ | …
|
By DigitalRune Team on
Wednesday, May 26, 2010
This is a collection of links about game physics, especially rigid body dynamics, and related topics.
|
By DigitalRune Team on
Wednesday, May 26, 2010
This is a collection of various links about character animation and related topics. Libraries and Products
|
By DigitalRune Team on
Monday, May 24, 2010
In 2005 I finished my master thesis about rigid body dynamics. It shows how to build a rigid body physics engine for interactive 3d applications. I am sure it is a good starting point for everyone who wants to learn about game physics.
|