I would say first, that's the power of exponential complexity. Second, AI in games tends to consist of somewhat complicated goal-based & fuzzy logic behaviors. Third, game AI agents have interactions that take place within a 3d world that has to be modeled accurately. That means lots of expensive computations for things like line of sight, pathfinding, and so on. Finally, given that games are soft real-time and include remarkably expensive 3D rendering, the compute budget available for AI functions I would guess would be somewhere around the order of 2ms per frame (on a 16.7 ms frame, for 60fps).
Though, two through four can usually be handled without issue, provided the devs know what they're doing & architect the engine correctly. (edit: And keep the scope in check, which ultimately is the responsibility of the leadership.) Unfortunately, this appears to be where #1 messed things up for them.
> A lot of rural communities have no other viable options for some items as well.
I sometimes fantasize about what it would be like to live in a mild-to-moderately isolated community - moving to Hawaii, northern Alaska, some random island. It's fascinating reading blogs by people who live there, and many of them have a "So You Want to Move to _____" type of post. In virtually all of them, there is some comment along the lines of "It's really hard to find all the things you're used to buying out here, but at least Amazon delivers to us." One of those that I was reading about Hawaii said the big island only has a few big box stores but Amazon can deliver in two to three days.
I'm fond of saying that one of the big differences between theory and practice in CS is that in practice, we don't immediately drop the coefficients. Instead we study the problem to learn what the coefficients are and use that knowledge to guide our approach. For instance, there are times a linear search will just flat out beat a binary search due to cache effects.
I've always understood it to be that 'type-ahead' is a category that includes both autocomplete and autosuggest. Those two are subtly but importantly different. As 'suggested' by the name, autosuggest acts somewhat like a recommendation engine. It takes the characters that have already been typed, and uses those to search for potentially related keywords, etc., even if those don't match the literal characters the user has typed. Autocomplete, meanwhile, is a 'dumb' tool that enables things like tab-complete. Both are considered flavors of type-ahead.
If you felt like being cynical, you could say that this (along with the package repository stuff) is the beginning of the "extend" phase of the "embrace, extend, extinguish" of Microsoft of old.
On its face it's nothing but positive. But at the same time, many of us are recognizing that there's just something that feels a little bit off about this.
Though, two through four can usually be handled without issue, provided the devs know what they're doing & architect the engine correctly. (edit: And keep the scope in check, which ultimately is the responsibility of the leadership.) Unfortunately, this appears to be where #1 messed things up for them.