matherunner / hldoc Goto Github PK
View Code? Open in Web Editor NEWHalf-Life game physics described in excruciating detail!
Home Page: https://www.jwchong.com/hl/
Half-Life game physics described in excruciating detail!
Home Page: https://www.jwchong.com/hl/
This issue tracks the largely unexplored but important high level topics to be researched on. This list is not exhaustive, as the number of things we could possibly research and write on is practically infinite.
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 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 |
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 |
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 |
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 |
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 topics are generally long term.
Topic | Issues | Difficulty |
---|---|---|
Better TAS process and tools | Very high | |
Application of ML | Extremely high |
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.