Hello everyone! By now, you are probably well aware of the fact that I'm changing to my new graphics and lighting engine Glux by now. This is taking much more time than I'd hoped, so this week I'm going to continue talking about that same topic, implementing Glux, again. To make sure I don't bore you to death, I'm going to keep this one short.
Drawing the GUI
Like I told you last time, I'm currently working on rebuilding the GUI. And also like I predicted last time, it wouldn't work out of the box: with Glux, I have to refresh the whole screen each time something on the screen changes (for example, a walking player). That also means the whole GUI has to be redrawn. However, the GUI consists of 100+ separate elements: you of course have the items, but there are also tabs, toggles, dynamic text and all kind of bars (health bars, energy bars, etc.)... and that's quite a lot to draw every 50 seconds.
The solution, like I also predicted last week, was to freeze the GUI as much as possible. Unlike the main game, the GUI is rather static and only changes once every 30 seconds or so. What I now do, instead redrawing each individual part each time the screen is refreshed, is taking a snapshot each time the GUI changes, and redrawing that snapshot. So instead of 100+ drawing actions, I have only one! One exceptions are when the user is dragging and dropping items and moving Olbs in the gun:
These are drawn on top of the snapshot.
With the GUI mostly finished, the end of the implementation project is within sight. I still have to fix transparent items, and I have some cleaning up to do, but after that I expect to have a fully functional game again. What are my plans after that?
- First, I have a huge list of bugs discovered in the previous versions of Olvand. I would have to go through this list anyway, but this a very nice time to do it, because is forces me to revisit various parts of the game. That is, I can fix bugs and check at the same time whether Glux is working as intended everywhere.
- Then, I'm going to implement the new lighting system underground. I'm going to start without shadows (which is much easier). Depending on how easy everything it is to implement the lighting, shadows will be in this release or the next.
- Then, to really make sure I haven't added too many new bugs with Glux, I'm going to take a day or two to play through the game from the beginning to the end, by doing all achievements.
- And finally, new release! Finally, because the previous release was months ago, and the waiting list is extremely large at the moment. I'm thinking of inviting three groups of around 100 people.