The term has always been fine for me, since I took the term “Player” to mean the person playing the game (ie external to the game).
So it made sense to me that the PlayerController was named as such, since it’s an interface between the Player (as in the person) and the game. And similarly an AIController is interface between the AI player and the game.
I also thought that pawn was a good name, it helped me understand the whole structure a lot better. It makes sense because when I’m playing chess, I understand that a pawn is an agent under my (the player’s) direct control, but it’s not actually me. In the video game, my protagonist/vehicle/etc has the same role. It’s my means of interacting in the game world, just as the chess pawn is my means of interacting with the chess table. The metaphor makes sense to me.
Also, since in chess each player has several pawns under their control, the term also suggests the possibility of multiple controllable agents, which is good because it’s subtly telling me that there’s a one-to-many relationship going on between pawns and PlayerControllers. Through hearing that term, I can make a guess that it’s possible to setup a situation in which one player is controlling several pawns.
I dig it. ![]()
I could possibly be swayed by your reasoning on Actor though. Coming from Unity, it did seem like a strange term for what I knew as a GameObject. I agree that it could be possibly confused with a Character. It also implies to me that it has a physical presence on the level, though that’s not always the case.