This right here. Attack the meta problem rather than get bogged down in the UI. Why is it tedious and boring? Why does it take a lot of time?
As with any UI programming I've ever done without a visual layout editor, it's because you have to do a lot to hook up events, develop the layout, etc. Basically, it's all manually done. I started putting together a layout editor for
NAS2D+GUI/OutpostHD and stopped when I realized it wasn't the trivial task I'd imagined it to be. If I'd exported it to C++, I'd still have to do some manual grunt work because the C++ would basically just be a layout and stub functions to handle events like clicks, mouse downs, etc. If I exported to something like XML (easier in a lot of ways), I'd have to develop a layout engine that could then read in those XML or whatever files and set up the layout. But then I'd _still_ need to manually add the event handling code and I'm not sure what would be the most effective way to handle that with a layout engine.
As for scaling UI's, that makes a lot of sense -- and it's something we talked a bit about
before. I'm in favor of that and tend to use relative coordinates with those types of UI's (I have several projects that use these types of layouts) but some elements such as input windows and the basic UI design for OutpostHD don't need too much in that regard. The two scaling elements are the reseource HUD along the top and the construction UI along the bottom. The rest of the interface is much more similar to a typical desktop application... which is where I need help getting the layout right so I don't have to go dealing with it again.
Another reason I'm hesitating when it comes to building a layout engine is ... well... it takes time. And I don't know if it's beyond the scope of this project or if I should do it for this project anyway and incorporate it into NAS2D+GUI along with the basic visual layout editor... it's one of those cases of "This is kind of a bigger project than I realized it would be"... sort of a project within a project.
Finally, I've been hesitating with the layout engine because I wanted to build OutpostHD kinda fast without it necessarily being a testbed for additional code. Basically, I wanted to get things working and worry about the finer points later.
Since I haven't gotten a whole lot done in awhile maybe I should just look at building the layout engine and get over myself.
Besides, if I go for an XML type deal I can edit the layout later without having to recompile the game and can even include other non-developers to help me build the layouts without ever having to touch a line of code.
Welp, this turned into another novel so I'll leave it at this:
I appreciate wireframing and could use help with that. And, I think I should probably continue work on an actual layout engine. Would likely make UI development a lot easier for this game and any others that I might develop.