Of course no one wants less optimization. We want more optimization, so for example a large crowd of NPCs with animations is calculated using 16 threads instead of 8 threads. Doing everything on 4/8 is bad optimization in a world when 6 cores on desktop have been available since 2010 and cheap ones since 2017 (5 years!). So that games offer more, not less. More features, more dynamic stuff. Just like going from 1 core to 2 cores allowed for more things a CPU can do. There would be no games like Assassin's Creed for example if we stayed on 1 core 3.2 GHz. Frequency doesn't go up anymore, so developers need to find other ways - using more cores, threads and cache. We can still get more cores, threads and cache, even if we can't get more frequency. I hope these E cores that Intel is adding with new architectures get utilized. Mainstream CPUs with 64 E cores are not very distant, they could happen in 2026. Do you people want games that use perhaps 6 out of 8 P cores and 0 from 64 E cores? And I don't mean bad coding that uses too much resources. Just next-gen games with next-gen features and changes (for the better, not for the worse). 8th generation brought an "awesome" change : microtransactions. Do we want things to continue like that?
For example, I read on the web that AI in Far Cry 6 is very, very bad (and the game uses only 4c). Even though there were Zen 3 8 core 16 thread CPUs when it came out. Why isn't AI in games progressing like graphics? Performance is increasing, so why? Because devs choose so, that's why! AI should be improving exponentially, like it is in some areas outside of video game AI (like even playing video games or other games like Go, poker or bridge). Listen to Jensen Huang when he talks about AI. Why isn't in-game AI getting better? I don't need 300 fps, I need better AI.
If you only speak about rendering, rendering that crowd could already be scaled up to all those cores. but it do not mean it will get a gain of performance doing it. Each draw call requires data that could already be on the cache of another core or the L3 of another CCX/CCD and that core could just process it faster that it would take the other core to fetch and process the data.
So just for thing that are easy to multithread, the gain is not that easy to get. If the task is done quickly, it's quite possible a already loaded core would run those faster in sequential than by spreading it to other cores that would have to get the data into their own caches. It's true for quick task but if the task become more complex and take longer to execute, you can then split it and execute it accross multiples cores effectively.
Making things work among multicores is not optimization. Making thing run faster when multicores are available is optimization. The key here is run faster. The number of core a game use do not matter as long as it does what it need to do.
As for the Crowd AI, if they are all single entity act by themselves and don't have any interaction at all (not even collision) with the other people, then yes, you can scale it as much as you want. But if for each action a person in the crowd does have influence or need to take into consideration the action of others, it then become very hard to scale it onto multiple core since you would need to fetch back the action of each other people in the scene to decide the next move.
The action itself are pretty simple to calculate, what take time is to synchronize all that data. If you do it into a single core, you can probably do that very quickly using the cache, if you spread it across multiple cores, it's very possible that you will end up by just spawning thread that will wait for memory access.
Again, Using more cores/thread is not optimization. Making your games running faster or do more work is optimization.
Multithreading require you to design your program in a very specific way that is multithread friendly.