Inspired by the last video I posted on this blog, the idea of using z-buffers was knocking me on the back of my head. If I could use a depth buffer, I realized, I wouldn't have any issues with depth sorting ever again, and it would solve all of my problems, and some more.
It also occurred to me that I could, with some clever and heavy caching, have a very reliable and fast depth buffer in Flash, and it would also be infinitely easier to do it in Flash than it would in XNA. (This will certainly be the topic of a future post.)
This resulted in me moving away from XNA and back to Flash. There were other reasons, though, as I'll explain shortly.
So here's a short video showing the pixel-perfect depth buffer running in Flash. It's running at rock solid frame rates, even though it's grossly naive and unoptimized. This is an excellent sign!
Flash vs. XNA
So, why move away from XNA?
First, I figured the cumbersome deployment of XNA games would make my project vastly less attractive to players. Not only would I be limiting the platforms where my game could be played, I would also be making it much more inconvenient to play it. There's reason why Flash games and casual games are so closely related. Flash games are immediately accessible, and running them is effortless.
This is a huge deal if you're just trying to get a game out there, and there's no reason not to embrace it if you can. Which is what I did.
Another thing I'd like to announce is that I'm working on the game engine as a separate entity, and I hope to make it public sometime after I finish the game. Why the hell not, huh?
The Askew Engine, as I call it, will be a block-based oblique projection engine with some built-in physics, the ability to handle animated sprites, multiple entities and, hopefully, some other fancy stuff like animated textures, lighting and even surface reflections. I'm already working on the details, but that's obviously a very low priority at this point.
Well, that's pretty much all I can say for now. I won't be able to work much on the engine for a few weeks as I need to focus on other matters, but I believe I'm making good progress nonetheless.