The day before yesterday, yesterday, and today have been a flurry of great coding, implementing some basic spritesheet features that arguably I should have always started with, but instead went down the path of server requests and many, upon many bug fixes.
On the spritesheets, I've written the code to output a number of seriously large spritesheets, and the game processes internal data, basically telling it where any image is on the spritesheet, then, and this is the good bit, keeps in memory only the parts that are in the surrounding area to the player. As you move about, it maintains that nice fence of "things I need to have in RAM" and deletes everything else until it is needed again. On that note, I've given myself a to-do to implement that same functionality with special graphics, such as NPCs and the like, but it's still to be done.
Secondly, there have been another few long-running bugs that again, have never quite been big enough to make the priority list - but I finally cracked it with. As the player moves about, the recent fix makes walking a nice smooth experience - which sadly highlighted a bug I had where the terrain would "flicker" into the wrong spot, then snap back into the right one. It took quite a bit of tracking down, but turns out that although I was changing some values in consecutive lines of code, there was a lot that was being executed between them - so I narrowed that gap down by moving some code into another method and who'd have thought... GREAT SUCCESS. The rendering stopped it's annoying, janky flickering, and renders really nicely again.
I've also done some rather neat supporting work in the editor interfaces to support these things, but the main work has been in the app - which is always great fun.
With some luck, tomorrow, more progress on abilities again, as that needs to get rounded out!
No comments:
Post a Comment