Well the batch program now does layers, in possibly the most inefficent way ever.
Layers are a little problematic, it's all to do with pesky Z-ordering and how players can place themselves between different layers. Maybe I need to have pipeline or batch manager like Z uses in his code.
Ah, also the layer I choose to add was an alpha-blended fringe layer. The graphics I made is grass fading raggedly into transparency. Then I put this as a layer of top of a stone tile and it blends to make a transition between grass and stone. The nice thing is that this tile covers all grass transitions.
(You can generalize this so that with one texture you can represent all transitions. This is known as texture splatting. )
Then again, it might be inefficent but it's not slow, so maybe it's all fine :D The codes become a little messy and I think the benchmark program itself has grow quite large. It's time to break down my last iteration into well thought out namespaces, add unit tests, generalize some of the functions and stuff. At the end I hope to have tight little modular package that's very fast.
Also the Game Programming For Monkeys Tutorials don't even mention this speed problem, so maybe I need an add on chapter at the end.
Also I really, really want to complete something vaguely game like. I've completed plenty of apps and small libraries but I have nothing game like that I've completed at all ... well at least not recently.