Screen Maker Ready!
Ok, what is screen maker? Well, I realized the reality is that I needed more tools for my game, or more specifically for my engine. Originally, the interface screens were all hard coded. In the resurrection of the project, I have been slowly moving a lot of the screens to use the scripting engine (and new controls/UI/UX) that I had built. The idea being that the artists could play with the scripts to change the look and feel of the game without having to recompile for each change. Unfortunately, the artists never wanted to play with the numbers, so they used the script side very limitedly. When I started on the multiplayer code, I was faced with that I needed to build between 2-4 interface screens. Considering how long it took to make the shipbuilder, configuration and splash screens by hand, and honestly how badly things just didn't fit, I realized that doing the numbers by hand, even in a script, was a waste of time. And a lot of it. I decided to bite the bullet and spend a few weeks to make the screen maker. While GUI/interface constructors exist, and I did look into them, I still would have had to convert their output to my script, and make "custom" objects to make it all work right in their interface, and it would only be 80% of the work, since a lot of changes still would have to have been made to the output script anyway. By writting it IN the UI engine, what you see is what you get! No guess work. If it saves and loads back the way you expect, it will look like that in the game. I was, for the first time, able to extract the UI engine from the main game and keep the scripting engine intact, which I admit, I'm inpressed by. Now, you can just drag to construct controls, click to modify/resize things, etc. Instead of taking days to get the numbers "mostly" right, now it can take a few minutes to an hour to do a whole screen, and everything is perfect! I plan actually redo the current screens in the current screen maker, so the artists can tweek at will via the interface. With a LOT more screens needed to be done, this should, in the long run, save me months of development work versus doing things by hand.
What you see in the screenshot with all the outlines is showing the different objects, even if hidden. Red are the "Omnigrids" and green are the OmniGrid Objects. The lines going to a center point says that the center OmniGrid Object (known as an OGO), will move all the rest of the connected controls as one. So it acts like a container or window. You've seen the result of that from previous posts. The screen shot is a test for making a properties window, and let's me test everything out.
Yes, I did mention the multiplayer. ;) I will be starting on that this week, even if it is just to make the screens for it. :)
Print article | This entry was posted by Arthur M. on 06/03/19 at 02:54:00 am . Follow any responses to this post through RSS 2.0. |