Physics engineA physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics (including collision detection), soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film (). Their main uses are in video games (typically as middleware), in which case the simulations are in real-time. The term is sometimes used more generally to describe any software system for simulating physical phenomena, such as high-performance scientific simulation.
Soft-body dynamicsSoft-body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects (or soft bodies). The applications are mostly in video games and films. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning that the relative distance of two points on the object is not fixed. While the relative distances of points are not fixed, the body is expected to retain its shape to some degree (unlike a fluid).
Video game developmentVideo game development (or gamedev) is the process of developing a video game. The effort is undertaken by a developer, ranging from a single person to an international team dispersed across the globe. Development of traditional commercial PC and console games is normally funded by a publisher and can take several years to reach completion. Indie games usually take less time and money and can be produced by individuals and smaller developers.
Source (game engine)Source is a 3D game engine developed by Valve. It debuted as the successor to GoldSrc in 2004 with the releases of Half-Life: Source, Counter-Strike: Source, and Half-Life 2. Updates to Source were released in incremental versions, with the engine being succeeded by Source 2 by the late 2010s. Source distantly originates from the GoldSrc engine, itself a heavily modified version of John Carmack's Quake engine with some code from the Quake II engine. Carmack commented on his blog in 2004 that "there are still bits of early Quake code in Half-Life 2".
Rigid body dynamicsIn the physical science of dynamics, rigid-body dynamics studies the movement of systems of interconnected bodies under the action of external forces. The assumption that the bodies are rigid (i.e. they do not deform under the action of applied forces) simplifies analysis, by reducing the parameters that describe the configuration of the system to the translation and rotation of reference frames attached to each body. This excludes bodies that display fluid, highly elastic, and plastic behavior.
PC gameA personal computer game, also known as computer game or abbreviated PC game, is a electronic game played on a personal computer (PC) and form of video game. They are defined by the open platform nature of PC systems. Mainframe and minicomputer games are a precursor to personal computer games. Home computer games became popular following the video game crash of 1983, leading to the era of the "bedroom coder". In the 1990s, PC games lost mass market traction to console games on the fifth generation such as the Sega Saturn, Nintendo 64 and PlayStation.
Half-Life 2Half-Life 2 is a 2004 first-person shooter (FPS) game developed by Valve. It was first published by Valve for Windows through its distribution service Steam. Like the original Half-Life (1998), Half-Life 2 combines shooting, puzzles, and storytelling, and adds features such as vehicles and physics-based gameplay. Players control Gordon Freeman as he joins a resistance movement to liberate the Earth from the control of a multidimensional alien empire, the Combine. Half-Life 2 was created using Valve's Source engine, which was developed at the same time.
PhysXPhysX is an open-source realtime physics engine middleware SDK developed by Nvidia as a part of Nvidia GameWorks software suite. Initially, video games supporting PhysX were meant to be accelerated by PhysX PPU (expansion cards designed by Ageia). However, after Ageia's acquisition by Nvidia, dedicated PhysX cards have been discontinued in favor of the API being run on CUDA-enabled GeForce GPUs. In both cases, hardware acceleration allowed for the offloading of physics calculations from the CPU, allowing it to perform other tasks instead.
Game engineA game engine is a software framework primarily designed for the development of video games and generally includes relevant libraries and support programs such as a level editor. The "engine" terminology is similar to the term "software engine" used in the software industry. The game engine can also refer to the development software utilizing this framework, typically offering a suite of tools and features for developing games. Developers can use game engines to construct games for video game consoles and other types of computers.
Physics processing unitA physics processing unit (PPU) is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of video games. It is an example of hardware acceleration. Examples of calculations involving a PPU might include rigid body dynamics, soft body dynamics, collision detection, fluid dynamics, hair and clothing simulation, finite element analysis, and fracturing of objects. The idea is having specialized processors offload time-consuming tasks from a computer's CPU, much like how a GPU performs graphics operations in the main CPU's place.