Blog

By DigitalRune Team on Thursday, November 29, 2012

Rendercode Games has released the new Xbox LIVE Indie game Racedrome City:

The latest chapter in the Racedrome saga raises the bar with improved handling, physics, and visuals. Enjoy high-speed urban racing against strong AI, or challenge up to 8 players online. Also included is local multiplayer, global scoreboards, rewind function, and more!

Here is the trailer:

Racedrome City uses DigitalRune Physics to simulate the vehicles. More specifically, …

By DigitalRune Team on Thursday, October 04, 2012

Car PhysicsA while ago we have blogged about our car physics implementation (see Car Physics for 3D Games). Today we release an alternative implementation:

A Constraint-Based Ray-Cast Car

By DigitalRune Team on Tuesday, May 01, 2012

This is a guest post by Kairat Aitpayev.

Augmented Reality (AR) technology allows adding virtual object to the real world using special markers. By merging it with Microsoft Kinect I have created new approach which allows users to use their own body as a collision object in the 3D world and interact with augmented objects.

Video

Here the presentation of the demo application which by itself is a part of bigger project related with online sport education:

(Full video of entire project: See https://vimeo.com/41136278)

The project was created in the MultiMedia Lab of Kazakh-British Technical University (Kazakhstan) in collaboration with University of Technology of Belfort-Montbeliard (France).

DigitalRune libraries are used to improve the interaction between the real and the virtual world.

By DigitalRune Team on Tuesday, April 03, 2012

Our last post about real-time motion capture using Kinect seems to be pretty popular. And for the small amount of time (only a few hours) that we put into this example, the results are satisfying – but we can do better! We have updated the project and included a brand new sample. The new sample uses skeleton mapping to animate 3D models using Kinect. The code is much simpler, and exchanging the 3D model is a lot easier. We have also updated the example application to use Kinect SDK v1.0 instead of Kinect SDK beta2. You can download the sample project (including the source code) at the end of this post.

Video

Here are the results of the new sample application:

By DigitalRune Team on Tuesday, January 03, 2012

A while ago we discussed in the Forum how to use the Microsoft Kinect SDK to animate a character model in real-time and how to apply movement constraints (e.g. joint rotation limits). Yesterday our company got a new Kinect device and I figured I might spend the rest of the afternoon trying to write a small XNA sample.

Here is the result: (You can download the source code below the video.)

By DigitalRune Team on Thursday, September 15, 2011

Recently I made some improvements to the character controller in DigitalRune Physics. I became aware of some issues while reading the article “Jump To It” (Game Developer Magazine, issue 11/2008, pp. 38). It turns out that the jumping mechanic can be improved.

What is wrong with the current implementation?

The KinematicCharacterController can be used to control the movement of a player character. The character controller handles moving, sliding along obstacles, walking slopes, stepping over obstacles, … and jumping. (Reminder: If you have an Indie or Standard license of DigitalRune Physics, you can download the source code of the character controllers from the Downloads page. See “Additional Downloads”.)

Jumping works fine in most cases. That is, …

By DigitalRune Team on Thursday, August 11, 2011

Manually creating good ragdolls in code can be tough. This blog post takes you on a hands-on ragdoll creation journey and provides several tips.

By DigitalRune Team on Sunday, August 07, 2011

Ragdoll with jointsThe DigitalRune Animation library supports ragdolls. DigitalRune Animation has a lot of helpful methods for character animation and ragdoll creation, but it does not yet have a method that visualizes ragdoll constraints. Choosing good joint limits and correct joint orientations can be really difficult without a visualization. – But do not fear, constraint visualization is here!

Download

The following .zip archive contains a “RagdollHelper” class that draws constraints for a ragdoll. It also contains an updated “DudeRagdollCreator.cs”.

By DigitalRune Team on Thursday, April 14, 2011

We have made several improvements to our 3D character controller, which we want to discuss in this post. (Reminder: A character controller is the game module that computes the movement of a player character, including walking, jumping, climbing, etc.)

Following video shows the new character controllers in action. (The code is included in the DigitalRune Physics Bundle).

Changes & Source Code

By DigitalRune Team on Monday, April 11, 2011

We have recently added 3D vehicle physics to our DigitalRune Physics library. In this post we will explain how the car physics works, so that you can either create your own car physics, or you can understand and tune the car physics that comes with our libraries.

Our Goal

Let’s have a look at what we want to achieve. Following Vehicle Sample is an XNA example project that is included in the DigitalRune Physics Bundle:

Requirements

By DigitalRune Team on Wednesday, March 23, 2011

The .NET Framework 4 contains the Task Parallel Library (TPL). It introduces the concept of tasks. Tasks represent asynchronous operations that can be executed concurrently. Developers no longer have to manage threads or thread pool work items directly. The library provides a higher-level API for writing multi-threaded application or games. The only negative thing we can say about the TPL is that it is not supported on the .NET Compact Framework and is therefore not available on the Xbox 360 (or the WP7).

When we added multithreading support for our libraries, we looked for an easy-to-use, cross-platform threading library. After evaluating a lot of solutions we found the ParallelTasks library on CodePlex. The library is a lightweight replacement for the TPL. It offers all relevant features such as …

By DigitalRune Team on Wednesday, February 23, 2011

We are Windows Phone 7 owners, have a 3D game physics library, and play Dungeons & Dragons… That leaves us no choice: We have to make a D20 dice app for the phone!

Here is an early work-in-progress video:

The phone’s accelerometer can be used to shake the dice. This short clip is from an early stage. With the current build, the dice do not leave the viewport anymore and can be dragged or pushed with the finger.

We plan to release the core source code for all DigitalRune Physics customers as free bonus sample after we have released the app.

By DigitalRune Team on Friday, February 04, 2011

Damping-CurvesIn computer games damping is used to slow down a moving object. For example, a sphere is rolling on a plane and should slow down due to air resistance. Or, we make a flick gesture on the Windows Phone 7 to scroll a screen. The screen scrolls and slowly comes to rest.

Damping is related to concepts like friction, air resistance, viscous drag, etc. In this post we look at a few damping methods from the perspective of a game developer (and not the perspective of physicist).

Reducing the speed sounds easy – but is it really?

By DigitalRune Team on Wednesday, February 02, 2011

A big hello to all readers,

here is a brief status update to let you know where our current development focus lies.

DigitalRune Physics Bundle

A minor update including small bugfixes and improved samples will arrive next week.

We are also working on a Windows Phone 7 dice app. The D20 dice app will hit the Windows Phone 7 market place in the next weeks. The source code will be released as a free premium download for all existing DigitalRune Physics users.

DigitalRune Graphics

Still under development. Currently, the development has sparked two new byproducts: The DigitalRune Game UI library and the DigitalRune Animation library.

By DigitalRune Team on Wednesday, December 08, 2010

Here is another Windows Phone 7 physics example: It shows a few bodies and a 3d ragdoll. Tilt or shake the phone to move the bodies.

Video

Download DigitalRune Physics Phone Sample

By DigitalRune Team on Friday, November 26, 2010

Windows Phone 7 is awesome! – This blog post shows DigitalRune Physics on a real Windows Phone 7 in action. The full sample source code can be downloaded at the end of the posting.

Video

Following video shows the sample running on a Samsung Omnia 7 (a great WP7 device!):

Sample Description

By DigitalRune Team on Monday, November 15, 2010

DigitalRune Graphics WIPBesides DigitalRune Physics we have been working on DigitalRune Graphics for several month now. I thought it would be nice to use a few graphics effects of DigitalRune Graphics to make our physics demos more interesting. – And here is the result: A short video testing screen space ambient occlusion, an atmospheric scattering skydome and god rays in a simple XNA physics demo. (Implementation details follow after the video.)

By DigitalRune Team on Wednesday, November 10, 2010

Fine, we have found a way to implement Continuous Collision Detection (CCD), but how do we integrate this into our game physics library?

This article explains how to use CCD in game physics; especially a technique called motion clamping that is used in DigitalRune Physics and possible pitfalls you could come across when you use game physics with CCD.

By DigitalRune Team on Tuesday, September 28, 2010

Our new physics library is nearly finished. Here is a compilation of a few tests:

By DigitalRune Team on Monday, September 13, 2010

BunnyIn the last post we computed convex hulls for the XNA dude. Convex hulls are useful approximations for collision detection because many algorithms like GJK, EPA (Expanding Polytope Algorithm) or MPR (Minkowski Portal Refinement) can handle arbitrary convex objects. We also used simplified convex hulls. In this post we describe how we have implemented convex hull generation, convex hull simplification and skin width.

Convex Hull Computation

Actually, there are many convex hull algorithms. Here is a java applet showing different algorithms: http://www.cse.unsw.edu.au/~lambert/java/3d/hull.html

We started with incremental construction as described in this book:

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:

XNA-Dude

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 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:

Character_Capsule

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 Monday, July 05, 2010

SeesawHere 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 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

 

Sitting-Ragdoll-smallThis is a collection of links about game physics, especially rigid body dynamics, and related topics. 

By DigitalRune Team on Monday, May 24, 2010

PileIn 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.

 

Article Collection

A collection of the most useful blog articles can be found here:

Article Collection
(on Documentation page
)