Mech Mech Mech Mech Mech

Friday, November 28, 2014

Physics in M5


So M5 (Mech Mech Mech Mech Mech) is using the following to make this work.

MonoGame

MonoGame is the graphics/game engine that M5 uses. It handles the main program flow, including game loops, the content, and the graphics device.

Jitter Physics

Jitter Physics is M5's physics engine. I chose this engine because of its simplicity of use. So far it works great! Jitter also allows separation of collision detection from the physics world which means M5 will be able to have a high resolution damage model without needing to handle high amounts of physical constraints.

Artemis Entity Framework

Artemis is the Entity Component System M5 uses to structure and update game objects. Read up on it here: Artemis Entity Framework

Working Together

M5 uses Artemis to tie together Jitter and MonoGame. It does this with components and systems that define entity data and behavior.

Current Components

  • Camera - Camera projection matrix.
  • Collidable - Rigid Body data
  • Placeable - World transform matrix
  • Visible - Model data

Current Systems

  • Camera System - Uses Camera and Peaceable components to set the view and projection matrices.
  • Collision System - Updates the Placeable component based on the Collidable component. (This is done for the Visual System's sake.)
  • Visual System - Uses the Placeable component, Visual Component, and globally accessible view and projection matrices to render a model to the screen.
P.S. I'm really bad at writing right now. I would much rather structure my blog posts as lists of changes because it doesn't require much critical thinking to do so.

No comments:

Post a Comment