All Projects → Matherunner → Hldoc

Matherunner / Hldoc

Half-Life game physics described in excruciating detail!

Projects that are alternatives of or similar to Hldoc

Sicmutils
Scmutils in Clojure
Stars: ✭ 447 (+2252.63%)
Mutual labels:  physics
Psi4
Open-Source Quantum Chemistry – an electronic structure package in C++ driven by Python
Stars: ✭ 521 (+2642.11%)
Mutual labels:  physics
Osim Rl
Reinforcement learning environments with musculoskeletal models
Stars: ✭ 763 (+3915.79%)
Mutual labels:  physics
Pynamical
Pynamical is a Python package for modeling and visualizing discrete nonlinear dynamical systems, chaos, and fractals.
Stars: ✭ 458 (+2310.53%)
Mutual labels:  physics
Gamephysicscookbook
Source code for Game Physics Cookbook
Stars: ✭ 484 (+2447.37%)
Mutual labels:  physics
Physicslayout
Android layout that simulates physics using JBox2D
Stars: ✭ 658 (+3363.16%)
Mutual labels:  physics
Mainloop.js
Provides a well-constructed main loop useful for JavaScript games and other animated or time-dependent applications.
Stars: ✭ 425 (+2136.84%)
Mutual labels:  physics
Webxr Physics
Adds physics to WebXR
Stars: ✭ 18 (-5.26%)
Mutual labels:  physics
Randomation Vehicle Physics
Vehicle physics system for the Unity engine.
Stars: ✭ 487 (+2463.16%)
Mutual labels:  physics
Su2
SU2: An Open-Source Suite for Multiphysics Simulation and Design
Stars: ✭ 731 (+3747.37%)
Mutual labels:  physics
Advance
Physics-based animations for iOS, tvOS, and macOS.
Stars: ✭ 4,445 (+23294.74%)
Mutual labels:  physics
Awesome Robotics
A curated list of awesome links and software libraries that are useful for robots.
Stars: ✭ 478 (+2415.79%)
Mutual labels:  physics
Whs.js
🚀 🌪 Super-fast 3D framework for Web Applications 🥇 & Games 🎮. Based on Three.js
Stars: ✭ 5,685 (+29821.05%)
Mutual labels:  physics
Picongpu
Particle-in-Cell Simulations for the Exascale Era ✨
Stars: ✭ 452 (+2278.95%)
Mutual labels:  physics
Layaair
LayaAir is an open-source 2D/3D engine. LayaAir Engine is designed for high performance games.LayaAir support TypeScript and JavaScript、ActionScript 3.0 programming language.Can develop once, publish for multi platform.
Stars: ✭ 791 (+4063.16%)
Mutual labels:  physics
Sofa
Real-time multi-physics simulation with an emphasis on medical simulation.
Stars: ✭ 435 (+2189.47%)
Mutual labels:  physics
Clifford
Geometric Algebra for Python
Stars: ✭ 543 (+2757.89%)
Mutual labels:  physics
Coord Rs
[deprecated] A simple, ergonomic vector mathematics crate for Rust
Stars: ✭ 18 (-5.26%)
Mutual labels:  physics
Xopt
eXternal OPTimizer
Stars: ✭ 5 (-73.68%)
Mutual labels:  physics
Gjk.c
Gilbert-Johnson-Keerthi (GJK) collision detection algorithm in 200 lines of clean plain C
Stars: ✭ 660 (+3373.68%)
Mutual labels:  physics

Half-Life Physics Reference

Gordon and Scientist

hldoc

This repo contains the source files for the Half-Life physics documentation hosted at

Building

Install python. Then first create a python venv folder:

$ python -m venv venv

Activate the venv:

$ . ./venv/bin/activate

Then install the packages:

$ pip install -r requirements.txt

Install the node packages needed for the MathJax rendering script:

$ yarn install

To build the HTML files, run

$ python build.py build

How to contribute

You are encouraged to help out this documentation by researching and writing. You will be credited. This project will be kept online for as long as I'm alive. You can begin by checking out the list of topics below and research the ones you find interesting, or simply look at the empty sections of the documentation and contribute to research and writing for it.

Difficulty Meaning
Low Requires a few hours worth of effort to gain a thorough understanding
Medium Requires a few days worth of focused effort to gain a thorough understanding
High Requires a few days to a few weeks worth of focused effort, while possessing prerequisite knowledge and skills, to gain a reasonable level of understanding
Very high Requires a few weeks to a few months worth of focused effort, while possessing deep prerequisite knowledge and skills, to gain a reasonable level of understanding
Extremely high Requires months or years of focused effort, while possessing expert-level understanding of relevant Half-Life physics and very well trained on specific mathematical skills, to make meaningful contributions

Engine internals

Engine internals are generally tedious to research on due to the unavailability of source code.

Topic Issues Difficulty
Loading, saving, level change High
Save warping Medium
BSP collision structure in memory High
Tracing High
Frame walkthrough High
0ms frames Medium
Network messages and DELTA Medium
Demos Medium

Movement physics

Naturally, movement physics are some of the most maths-heavy parts of Half-Life physics, and thus some of these topics may be very difficult and require a high level of skill and knowledge.

Topic Issues Difficulty
Surfing Extremely high
Ducktapping on stairs High
Entity movements Medium
Base velocity Medium
Optimal ladder side exit High
Optimal tight strafing Very high
Optimal vent movement with bunnyhop cap High
Optimal damage boost timing High
Computing optimal route Extremely high
Constrained vectorial compensation High
Implementation of autoactions High
Characterising human strafing Very high

Weapons

Some of these topics may require some mathematics, and others may require an understanding of engine internals.

Topic Issues Difficulty
Optimal snark climbing Very high
Hornet manipulation and penetration Medium
Crowbar Low
Exact selfgauss conditions High
Exact nuking conditions High
Tripmines Low
Rockets Medium
Mid-air projectile collisions Very high

Entities

Understanding entities may require venturing into the engine, which again, may be tedious.

Topic Issues Difficulty
func_wall vs worldspawn Medium
trigger_once and trigger_multiple Medium
trigger_push Medium
How moving platforms carry entities Medium
func_rotating (and friends) crushing mechanism Medium
Multimanager and scripting Medium

Monsters

A monster refers to an entity that has an AI, both friendly and unfriendly. Researching on AI can be very tedious due to the complex interactions between different parts of the code.

Topic Issues Difficulty
Reproducing HL21's gonarch Very high
Node graphs and monster movements High
Enemy behaviour High
Talkmonster behaviour High
Why models affects behaviour High
Ammo duplication with save loading, and reportedly without High

TAS

TAS topics are generally long term.

Topic Issues Difficulty
Better TAS process and tools Very high
Application of ML Extremely high
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].