I was knocked down by a bad cold this week so I wasn’t able to get much accomplished. However, I was able to get in some big performance improvements into the game and I finally restructured part of the UI, getting rid of old janky code for new fresh exciting lean and mean code.
So…I was kinda sick.
Well dang, I got taken down by a virus this week so I spent less time coding then I wanted and more time coughing up funky colors than I’d prefer. Anyway, I’m finally on the mend so I was able to scrape together a good 10 hours of programming today. Fortunately, it was productive 10 hours of programming.
Big Performance Improvements Via Coroutines
So I finally learned about ‘coroutines’ today, which I had slightly dabbled in a few months back and figured I should probably finally actually learn. Quite frankly I’m glad I finally put in the time, coroutines are actually pretty awesome. In the few areas I’ve actually implemented them they’ve improved performance by about 3x, meaning we’re closer to having the game running on those dreadful budget tablets I so covet as a development target.
For the uninitiated (Like myself until this morning) a coroutine is effectively a bit of the code that is largely managed by low-level systems. Meaning you don’t have much access to it after it’s run and Unity’s game engine controls how it’s run. Which at first I was very suspicious of…I don’t know Unity well enough to trust it quite frankly. But, you know, after finally actually trying these things out and actually reading up on how they actually work I’m impressed. They take less code to implement (less bugs!) and they provide vastly improved performance when used on commonly executed code. Woo hoo!
Redid ‘DayPlanner’ Logic
One of the very first bits of UI I implemented for the game was the ‘Day Planner’, effectively the player’s quest display/status screen. I finally tore out all of that old code, lit it on fire and wrote it with nice sparkly new code. So…things look the same but I am far less worried that one part of the game will suddenly explode on me without warning.
- Post Meeting UI Update
- Cutscene System