Very cool!
Tim Mensch

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 — 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?