Havok

From ZeldaMods (Breath of the Wild)
Revision as of 01:13, 16 January 2019 by imported>Zephenryus (→‎Havok File Specification: Added version disclaimer)
Jump to navigation Jump to search

Havok is a middleware software suite developed by the Irish company Havok. Havok provides a physics engine component and related functions to video games.

On September 14, 2007, Intel announced it had signed a definitive agreement to acquire Havok Inc.[1] In 2008, Havok was honored at the 59th Annual Technology & Engineering Emmy Awards for advancing the development of physics engines in electronic entertainment. On October 2, 2015, Microsoft announced it had acquired Havok.[2]


Products

The Havok middleware suite consists of the following modules:[3]

  • Havok Physics: It is designed primarily for video games, and allows for real-time collision and dynamics of rigid bodies in three dimensions. It provides multiple types of dynamic constraints between rigid bodies (e.g. for ragdoll physics), and has a highly optimized collision detection library. By using dynamical simulation, Havok Physics allows for more realistic virtual worlds in games. The company was developing a specialized version of Havok Physics called Havok FX that made use of ATI and NVIDIA GPUs for physics simulations;[4] however, the goal of GPU acceleration did not materialize until several years later.[5]
  • Havok AI: In 2009, Havok released Havok AI, which provides advanced pathfinding capabilities for games. Havok AI provides navigation mesh generation, pathfinding and path following for video game environments.
  • Havok Cloth: Released in 2008, Havok Cloth deals with efficient simulation of character garments and soft body dynamics.
  • Havok Destruction: Also released in 2008, Havok Destruction provides tools for creation of destructible and deformable rigid body environments.
  • Havok Animation Studio (discontinued): Havok Animation Studio is formally known as Havok Behavior and Havok Animation. Havok Behavior is a runtime SDK for controlling game character animation at a high level using finite state machines. Havok Animation provides efficient playback and compression of character animations in games, and features such as inverse kinematics.
  • Havok Script (discontinued): Havok Script is a Lua-compatible virtual machine designed for video game development. It is shipped as part of the Havok Script Studio.
  • Havok Vision Engine (discontinued): On August 8, 2011, Havok announced their acquisition of German game engine development company Trinigy and their Vision Engine and toolset.

Platforms

Version 1.0 of the Havok SDK was unveiled at the Game Developers Conference (GDC) in 2000. The Havok SDK is multi-platform by nature and is always updated to run on the majority of the latest platforms. Licensees are given access to most of the C/C++ source-code, giving them the freedom to customize the engine's features, or port it to different platforms although some libraries are only provided in binary format. In March 2011, Havok showed off a version of the Havok physics engine designed for use with the Sony Xperia Play, or more specifically, Android 2.3[6]. During Microsoft's //BUILD/ 2012 conference, Havok unveiled a full technology suite for Windows 8, Windows RT , Windows Phone 8 and later Windows 10.[7]

Havok File Specification

Note that this specification only applies to version 2014.2.0-r1

Header

Offset (h) Size Data Type Description
0x00 8 Bytes Havok file signature (magic) 57 E0 E0 57 10 C0 C0 10
0x08 4 Unsigned Int Unknown 00
0x0c 4 Unsigned Int Unknown 01
0x10 1 Byte Unknown 02
0x11 1 Byte Unknown 03
0x12 1 Byte Unknown 04
0x13 1 Byte Unknown 05
0x14 4 Unsigned Int Unknown 06
0x18 4 Unsigned Int Unknown 07
0x1c 4 Unsigned Int Unknown 08
0x20 4 Unsigned Int Unknown 09
0x24 4 Unsigned Int Unknown 10
0x28 16 String Havok version hk_2014.2.0-r1 for BotW files