Engine overall still top vote, I hope those that have voted realise it could take at least 6 months before completion and nothing else can be done until it is finished (except the bugs and performance bits Lee wants to do)
After researching the subject all weekend here is my personal conclusion on porting to a updated DirectX API ( I am no programmer so I may have things wrong),
Purely in itself, moving from DX9 to DX11 will have basically zero effect on the look of the game, or its performance. Each version of DX is a superset of the previous one - it just adds new options and capabilities. In fact DX11 will still run on DX9 GPUs, as long as you don't use any of the new features. The API changed significantly from DX9 to 10 (and a little from 10 to 11), so DX9 titles need major rewrites of their graphics code to move to DX11, which takes time. At the end you'll have a DX11 title that takes no advantage of the new features, but after that you can start to make improvements.
For a flavour of what could be improved, some of the headline features of DX11 over DX9 are instancing, tessellation and compute shaders plus a bunch of other smaller things I don't really understand.
'Instancing' means drawing multiple copies of objects in one go. In DX9 if you want to draw e.g. ten buildings, you set up the position/rotation of a building and draw it, and repeat this ten times. In DX11 you can set up an array of transforms for each building and draw ten at once, potentially saving a load of CPU time (each draw call is expensive). This may well be of use in GameGuru.
'Tessellation' can be used to dynamically generating new vertices depending on where the camera is. It's useful for height-mapped ground terrains to generate the optimum number of vertices for the given camera angle, and avoid copying so much data to the GPU (again slow). I don't know if this is applicable at the moment with all the shader work Preben is doing , but it's pretty much a requirement for doing good looking dynamic water.
'Compute shaders' are for doing general purpose (not necessarily graphics) parallelisable work on the GPU. It's still mainly used to do graphics effects though and is great for doing super-quick particle systems, hundreds of dynamic lights, post-processing effects, stuff like that. Again would be very useful for GameGuru.
So, DX12. From what I have researched the main advantage of DX12 is that it can be much more efficient on the CPU, by stripping away most of the driver and giving direct access to the hardware. It's
Windows 10[u] only though, so most (or all?) existing titles add DX12 in addition to DX11 support, as otherwise you're cutting your customer base. That doubles up your work though each time you add a new graphics feature,
so personally I think DX11-only is the way to go for now.
[b]
At the end of the day though I don't even know if graphics rendering is actually the bottleneck, as I said before I am no programmer, so I assume there will be limitations on what a change of DX version can achieve for performance. I suspect that most of the CPU is used for AI, so even if you removed all CPU usage from the graphics, I doubt it would have that great an effect. The other coming improvements around AI efficiency will likely do more (Lee will know for sure).
Hope that's useful! please bear in mind these are my own conclusions from my own research if anybody can find anything wrong in what I have found please let me know, I just wanted to put this in a context to allow non programmers understand what DX upgrade would mean
Welcome to the real world!
Windows 10 Pro x64 - Core i7-2600K @3.40GHz - 32.0GB RAM - GeForce GTX 950 2GB - 4x500GB SSD Striped