I think the fanciest algorithm I've ever had to use in game stuff was some union-find silliness to work out how deep a lake in a voxel landscape can fill before spilling downstream.
I recall having some "when will we ever need this" conversations about computational theory. Several years later I was in a meeting where someone pitched a 'solution' that amounted to solving the halting problem. When I pointed this out, the response was "yeah, okay, call it what you want - we just solve that & were done".
Correct. I haven't really had to pull fancy Knuth level algorithms out, but it has been useful to realize that I've wandered into the land of insolvability & switch to looking for some reasonable heuristic instead.
@Pikalek Yeah... I guess the whole point is: you can help identify problems and solutions if you know stuff :P
Like I-don't-remember-who said: "You don't know if you could use a known-and-implemented-in-std-algorithm to solve a problem if you don't know there are algorithms in std (and what they are)."
I had a friend working at *a game company* who was tired to work on implementing the audio in *a very popular franchise* and asked his boss to change game after his third game in the franchise. He was not granted that wish. So he resigned.
@Pikalek I guess specializing in a field is ok, specializing in a task is not.
I don't recall where I read it, but I encountered something where the author was challenging the common management practice of "give work of type X to the X guy".
In the short term it gets done faster, but in the long term, it makes the team brittle since no one else knows how to X & the X has a higher risk of burns out.
Apparently one or more programmers on a previous title had resorted to doing this to avoid unreasonably long recompilation of the main player class when they needed to add a new flag or somesuch. They just had a big map of special-case player variables.
The programmer I heard this story from was tasked with cleaning this all up after the fact when developing the sequel.
They were in utter dismay that they now had to cope with ostensibly boolean flags that had three values: true, false, and not-in-the-map. And all three states were used somewhere. XD