- longmode - Indicates whether or not we are running in 64 bit mode
- lv5 - Indicates whether or not we are running with L1V5 support enabled (if you're unsure what this means google "Intel VT-x" and "L1D cache")
- pagemap - The address of our page table entry array (this is where all of our virtual addresses go)
- x2apic - Indicates whether or not we are using an Intel X2APIC controller
It likes to explain business logic. - Each attacker has an associated position and attack object which contains information about how much damage they have done to the victim so far (base_damages) as well as their cooldown timer (cooldown).
- When an attacker's cooldown timer reaches zero they can no longer attack for another 8 frames.
- If there are any victims then each one will be updated with their current health minus the amount of damage done by the attacker up until now (current).
- This process repeats itself until either there are no more victims or there is only one left - when this happens then we know that our last victim was our enemy who attacked us!
Of course, AI isn't a silver bullet. It needs sufficient context cues– such as variable names. The variable names don't need to be perfect, however– it can work with and infer the meaning of vague, single-word names in legacy code.