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
Friday, August 13, 2010
In our company we do not program in VB.NET. Not that we have anything against it, we have just specialized in C# when we program .NET applications. We are are aware that our WinForms libraries (DigitalRune Docking Windows and the DigitalRune Text Editor Control) are used by many VB programmers. And they regularly ask for VB example code. Here are a few ways to automatically convert C# code to VB (or the other way around):
|
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.
|