I am a game designer, and one of the games I want to make is still too challenging to make even with our current CPUs if not optmized properly, there are a couple attempts of similar games in the wild with various degrees with success, some limit amounts of characters present, others make the world smaller, and others attempt to do the full simulation but run very slowly.
So I thought of figuring out a programming language and the hardware first, and then making the game rules fit the constraints, like how 70s games were designed.
My belief is biggest optmization could come from using CPU vector instructions, and caching, trying to make the calculations use the faster caches as much as possible.
GPU computing could work too... but if I could pull this off only with CPU it means cheaper devices with crap GPUs or even without any GPUs would accept the game.
Is there any programming language that facilitates this sort of thing?
Depending on exactly what calculations your engine will be performing, you might be able to reuse one of the libraries designed for AI work. For example I recently had a good experience with Intel's OpenVINO, which is able to run StableDiffusion at acceptable speed on a my (AMD) CPU.
Also, given that your problem is so computationally difficult that it can't be run on current CPUs, it seems odd to add a secondary goal of running on cheap machines without a powerful GPU. Maybe try to get it to run at all first (which might take a few years), then see what the market looks like and decide at that point how much you want to support legacy hardware.