There are five kinds of characters. First, obviously, is your hero, your protagonist, your main character, whatever you want to call it. Then you've got the opponents whom are fighting your hero over something of value. The allies are those characters that are helping your hero. Next is the fake-ally opponent. This is a character who looks like a friend of your hero but is actually working for the opponent. Conversely, there are fake-opponent allies who might seem to be against your hero but are actually trying to help.
I love the fake-ally opponent and the fake-opponent ally because they represent the grey area of characters, and you're never quite sure whose side they're really on. Truby says that the fake-ally opponent is more useful in fiction because it gives more power to the main opponent, and when the spine of your story is about the hero overcoming that opponent, a more powerful enemy presents the reader with greater drama. Speaking for myself, it is this rarity that makes the fake-opponent ally much more appealing, a character used rarely enough that the audience is surprised by its presence.
So we already know that Joker is the hero of Full Metal Jacket. Let's see if we can categorize the other characters.
Let's start with the opponent since that's the other character you must have. You might think that Hartman is the opponent in the Parris Island section because he's such an antagonistic hard-ass, but it's actually Vincent D'Onofrio's Pyle. After all, Pyle is the only one who actually kills in Parris Island, snaps and becomes a psychopath. Similarly, because you have to dig beneath the surface to find the connective tissue between the two halves of Full Metal Jacket, once you realize that Pyle is the hidden opponent at Parris Island, you have to find the corresponding counterpart in Vietnam. The Vietnamese? No. They're more of a background opponent. The real opponent in the film's second half is Animal Mother, played by Adam Baldwin. He's a callused racist who enjoys killing way too much. I think he's Pyle had Pyle lived through the first half of the story.
Now, going back to Hartman, can you guess what category he falls under? That's right, the fake-opponent ally. Hartman is not trying to run his trainees out of the Marine Corps, and clearly states from his first scene that he is there to instruct them, to get them ready to survive combat. The second half doesn't have either fake opponents or fake allies, but that's okay because such characters are not necessary, even though they add flavor.
The allies are much easier to find. Just ask yourself who is Joker friend's with? In the first half of the film, that is clearly Cowboy. I suppose you can say that Snowball is too, but he's such a minor character that we really never find out whose side he's on, but the general assumption is that he's at least neutral, neither hating nor caring about Joker. Cowboy appears again in the second half of the story, maintaining his friendship to Joker, and added to Joker's allies is his fellow reporter Rafterman, as well as other members of the Lusthog Squad, though for me Eight Ball stands out the most, probably because he and Animal Mother have such a pronounced relationship.
Again, don't assume that you have to have all five character types in your story. The only ones that you do need are the hero and the opponent. Whenever you hear of "man versus society" or "man versus man" or "man versus nature", the second part of that "versus" is your opponent.