Thank you kindly for following up!
I hope you don’t see me as going hog-wild with these imperative optimizations — I’d like to see them as limited and principled. Probably due to this principled approach, I’m still only able to get about half as many entities as in my object-oriented game engine. So it’s still slower than the fully imperative approach.
I suppose the question is — just how much bandwidth do we need to demonstrate in order to assert our programming technique can support AAA? Is 25k entities enough? Do we need 50k? Is this even a valid question?
Also, yes, SDL really is that poor, primarily because it doesn’t support batching sprites. Quite a let down.
I looked at using WebGL to support the browser, as since F# now compiles to JS — https://github.com/bryanedds/Nu/issues/55. I think taking the engine to the browser might be a good way to get a foothold in the market.
Perhaps this is something worth discussing?