Author Topic: We zombified a cop!  (Read 15034 times)

nightcrafter27

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 803
  • Karma: +27/-22
  • she / her, puzzles 👀
    • View Profile
Re: We zombified a cop!
« Reply #30 on: February 18, 2011, 17:33:54 »
Well, I had a theory that the cops and 1337s are spawned with 0 health in the counter, and the massive explosion makes the damage counter glitch out, and loop back to a positive number. Then, the game rechecks after a small pause.
But VHS Tepec Fett did an experiment. He looked at the elites when they spawned. They spawned dead, on the ground. If the counter started at zero wouldn't they spawn standing and then fall?

I think tht they are spawned dead on the ground, but they're considered a character/player/enemy by the engine.
ODST is all about switches, isn't it?

Hello from 2023! PM me if you want to chat on Discord!

Pulse Cloud

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 802
  • Karma: +23/-19
  • The pickle-shooting Cannon.
    • View Profile
Re: We zombified a cop!
« Reply #31 on: February 19, 2011, 17:58:53 »
Here's a theory with a LOT of premises that may be completely wrong and even more false claims [all marked as purple]:
Let's assume the Health of the characters in the Halo games is represented by a number - because that just makes sense.

In computer programming there are various types of variables. Different languages have different types and call them different names.
The standard type for integer numbers (eg: 343) is the int.


Because computers (or any other programmable environment) are limited in memory, variables are also limited in the memory they occupy, ie, their physical size.
Because of that (and I'm gonna talk about the environment I know best - the Arduino [a mini-mini-mini-computer with just 32 KBytes of memory]), the int type can only hold a number from 0 to +65535 if the programmer predefined it to be always a positive number (called an unsigned int), or from -32767 to +32767 if the programmer predefined it to be either a negative or a positive number (called a signed int).
  >These ranges are for the Arduino. I'm pretty sure the values are much greater on a normal computer - I think it's from 0 to (2^32 - 1) for an unsigned int.

What if you have an unsigned int with the value 65535 and you add 1? Will the result be 65536?
No. If this ever happens, the unsigned int will ROLL OVER back to its minimum value, 0.
If you sum 65535 with 2 the result will be +1.
If you sum 65535 with 118 the result will be +117.

This also happens negatively:
If you have an unsigned int holding the value 0 and you subtract 1, you get +65535.
If you have a signed int holding the value -32767 and you subtract 1 you get +32767.



Now, what does this mean?

Let's imagine our Elites and Marines are just like the normal Halo 3 Elites and Marines but, whoopdy doo, they're dead. D-E-D.
This means they have 0 Health Points. But, because they're already dead when they load, ie, they don't fall right after loading, they must have negative Health Points, because the 0 Health Points value triggers the Dying animation and audio.

With that in mind, we can conclude that the variable that holds the Health Points of the characters in the game is a signed int.


Now, what is Zombieliting:
Zobieliting is dealing enough damage to dead characters to make their Health Points variable ROLL OVER.
You deal so much damage and the Health Points grow so negative that the variable runs out of memory and it has to go back to its maximum (a positive number), resurrecting the character.



Q: Why do we have to use grenades, then?
A: Because grenades deal a ton of damage. According to this Halo: CE guide, the damage of a Frag Grenade varies between 80 and 120 points.
According to this B.net News, "a player in [Halo 3] MP has a grand total of 115 hit points (to adopt a common term.) 45 of these are body hit points, 70 are shield hit points. For reference, a single AR bullet does 7.5 points of damage, and a BR bullet does 6. A melee attack does 70 for most weapons, with some weapons (notably the Brute weapons) doing 72."

Now, it's a long walk to -32767 if you go 120 points at a time. Even longer if the ranges in the Xbox system are bigger.
That's why I think the grenade damage is exponential: the more explosions happening, the higher the damage each one deals. With many grenades exploding at the same time, the easier it is to reach the maximum negative value the HP variable can hold.


Q: Could we Zombify a character with an AR?
A: According to my theory yes - if you had unlimited ammo.

Q: What if we tried punching the characters?
A: It'd take you 469 melee hits if the int type had a maximum size of 2 bytes (ie, if you had to reach -32767). It'd take you 30678334 melee hits if the int type had a maximum size of 4 bytes (the most probable).
Good luck with that.

Q: Why didn't this happen in previous Halo games?
A: Because after a set amount of time and damage a dead character would despawn.
Because in ODST Bungie didn't want these bodies to despawn (because they're part of the environment and they set the mood and all that), they deleted the line that despawned the bodies after x time had elapsed and after x damage had been dealt, making it possible for us to Zombify them.



Possible facts that render this theory impossible:
  - Dead bodies don't subtract health points after being hit. Note: they ARE hit, otherwise they wouldn't bleed.


Possible facts that might make this theory more probable:
  - The type of the variable that holds the value of the Health Points isn't an int, but a smaller one - like a char. Chars only occupy one byte of memory and have a range of -127 to +127 or 0 to +255.
This would make it easier for us to roll over the variable and would mean the grenades' damage isn't exponential (which was a bit weird in the first place..).
There's a problem, though: the Wraith must have a total of Health Points higher than 255. This either means Bungie used a different type to hold the Wraith's HP or they used damage multipliers smaller than 1 (like 0.40) or they simply didn't use Chars for anything.
« Last Edit: February 19, 2011, 18:42:40 by Pulse Cloud »
I am tree.

nightcrafter27

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 803
  • Karma: +27/-22
  • she / her, puzzles 👀
    • View Profile
Re: We zombified a cop!
« Reply #32 on: February 19, 2011, 21:06:42 »
^This
ODST is all about switches, isn't it?

Hello from 2023! PM me if you want to chat on Discord!

Scatcycle

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 1967
  • Karma: +44/-65
  • swag
    • View Profile
Re: We zombified a cop!
« Reply #33 on: February 19, 2011, 23:08:48 »
Outstanding, Pulse. You've convinced me that this is the real cause.
Except for one thing. While moving elites, after a couple punches 7-15, an elite stood up.

:/
I feel it

Pulse Cloud

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 802
  • Karma: +23/-19
  • The pickle-shooting Cannon.
    • View Profile
Re: We zombified a cop!
« Reply #34 on: February 19, 2011, 23:21:32 »
Outstanding, Pulse. You've convinced me that this is the real cause.
Except for one thing. While moving elites, after a couple punches 7-15, an elite stood up.

:/
Do you mean the Elite you were punching or an Elite that was next to you watching you relieve your necrophiliac needs? (oh lawd, what have I said)
If yes to the first, did he stand up after 7-15 punches or after 7 - 15 punches PLUS the punches you needed to move him?
I am tree.

Scatcycle

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 1967
  • Karma: +44/-65
  • swag
    • View Profile
Re: We zombified a cop!
« Reply #35 on: February 19, 2011, 23:30:22 »
The elite I was punching. The punches thrown were only involved in moving it. The melee was through a brute shot.
I feel it

Pulse Cloud

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 802
  • Karma: +23/-19
  • The pickle-shooting Cannon.
    • View Profile
Re: We zombified a cop!
« Reply #36 on: February 19, 2011, 23:38:51 »
The elite I was punching. The punches thrown were only involved in moving it. The melee was through a brute shot.

Did you fire at the Elite? Did you throw grenades near him?
Did a Hunter shoot at him?
Sniper to the head?

Any additional damage you can remember?
I am tree.

Scatcycle

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 1967
  • Karma: +44/-65
  • swag
    • View Profile
Re: We zombified a cop!
« Reply #37 on: February 19, 2011, 23:56:19 »
The elite I was punching. The punches thrown were only involved in moving it. The melee was through a brute shot.

Did you fire at the Elite? Did you throw grenades near him?
Did a Hunter shoot at him?
Sniper to the head?

Any additional damage you can remember?
No, But I still have the vid, let me look into it.
I feel it

Scatcycle

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 1967
  • Karma: +44/-65
  • swag
    • View Profile
Re: We zombified a cop!
« Reply #38 on: February 20, 2011, 17:01:55 »
I just zombiefied a marine! ZOMBIERINES! I even knocked off his helmet!

Pics: Gallery here! 8 Pictures!

This was when the marine was stuck in the air, by the grenade explosion. When he hit the ground, he bent back up just as an egg would.


Just a default view:


Ahhh! He sure is a Zombierine!


I suggest you check the gallery or attached pictures, because they are very informative. I just didn't want to flood the whole page with pics.
I feel it

Scatcycle

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 1967
  • Karma: +44/-65
  • swag
    • View Profile
Re: We zombified a cop!
« Reply #39 on: February 20, 2011, 17:05:29 »
The last attached pic is here. So the zombifying was done along with grunts, and a brute. Why does this seem to not work on grunts and brutes?

@Pulse: Sorry, the file got deleted somehow.... I can try to recreate it though.
I feel it

Pulse Cloud

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 802
  • Karma: +23/-19
  • The pickle-shooting Cannon.
    • View Profile
Re: We zombified a cop!
« Reply #40 on: February 20, 2011, 17:19:42 »
I just zombiefied a marine! ZOMBIERINES! I even knocked off his helmet!

That was in Mombasa Streets. He was already dead.
Maybe we should try Zombifying those marines from the Tayari Plaza mission to see if my theory about despawning is (somewhat) right.
I am tree.

nightcrafter27

  • SGP Moderator
  • Hero Member
  • ***
  • Posts: 803
  • Karma: +27/-22
  • she / her, puzzles 👀
    • View Profile
Re: We zombified a cop!
« Reply #41 on: February 20, 2011, 17:46:24 »
Hmmm...

I've been thinking on this, and I think that the health system is like Pulse said, but the HP is set as either:
•Max health for all units, but they are set to die at a different positive numbers. That would explain the ZombieHunter in that firefight vid.
•Differne low values for all units, set to die at zero.
ODST is all about switches, isn't it?

Hello from 2023! PM me if you want to chat on Discord!