UI - July 7th, 2014
Hi all. Lest you think I am doing nothing, or even perhaps just slacking off — nothing could be further from the truth. In fact, I’m probably working more now on the project now than ever before. I’ve just had the current build tied up in such a way that it doesn’t make sense yet to make a new release.
Anyway, the UI code for my engine was one of the things done a very long time ago. It was okay in that it ‘worked’, but there was absolutely no way to write UI other than with code and custom sub-classing for any type of frame you wanted to create. What I really needed to do was support something like the xml/lua framework that WoW has.
I started out thinking that perhaps I’d look into some newer technologies, treating the UI more like a browser - some people recommended just doing it with some sort of embedded chromium overlay or at least using html5/css in some way.
Since I have no background at all in web stuff, I figured hey, I just want to keep my base class the same and make the rest scriptable. I have WoW’s UI xml and lua, I’ll just support that general idea - I’ll use one of their frames as an example and build on it over time. How hard could it be?
Well, extremely hard. But 2 months, endless headaches, and thousands and thousands and thousands of lines of code later, I have almost the entire XML/LUA framework of WoW working in the client. Essentially, you will be able to build a UI for MMOSDK exactly as you would for a game like WoW. There’s frame types that are pre-defined with some special properties like edit boxes, buttons and the like - on top of an API that accesses stuff in the game state.
Anyway, my goal is that my next release of the engine has this UI system enabled. I’m really proud of the work that’s been done on it and I hope that it’s an indicator of my dedication to making an actual usable engine when all is said and done.
(the screenshot above is from the working glue UI - yes you can login and select characters and etc from it)