There were essentially two different development paths to go down after finishing up saving/loading, inventory management, attributes, et cetera. One is easier than the other, but they are both pretty terrible. It's like that poem written by that one unimportant dude about those paths in the woods. Yeah, you know the one.
The two paths were UI or AI. Since I really detest alphabetical order, I went with UI first. The relative difficulty of the two tasks does not play into it one bit at all...
Since we already have a pretty nice main menu, I decided to focus on the battle UI. As is the case with everything I've done, the original implementation sucked ass. (Perhaps you are sensing the pattern here...) To defend myself a little, it's not necessarily that it sucked ass. It was just bloated, redundant, inefficient, unnecessary and additionally sucked ass.
All right, idiocy aside, there are a few different ways of going about user interfaces in Unity. The original way was to not actually lay out any of the elements using the Unity editor and instead create them all from scratch programatically. Creating the elements from scratch and handling them in code was very quick and allowed us to have a functional interface for testing purposes, while sacrificing some other important functionality.
Obviously some programming is required in order to actually have a UI that does something (other than sit there and look pretty.) The original implementation, however, was entirely contained in code and a good, maintainable, understandable user interface (from the programming side) needs to be a blend of both visually laid-out elements and minimal amounts of code. (In my opinion, of course)
Again, it's much easier to go to the Unity editor and change a particular rectangle's coordinates as opposed to opening up the source code and trying to find it yourself.
It turns out that Unity actually does have a fairly nice UI system. Well, maybe. From certain perspectives. I'm thoroughly convinced that no one can visualize how they want their interface to look (the easy part) and then immediately translate that to a functional, working system (the hard part) WHILE also understanding everything they did and why they did it. At least on their first try working with a particular system, especially one that is as poorly documented and confusing as Unity's.
Sure, there are some simple UI libraries out there where something like the above might be possible. Unity, however, is not one of them. I can't even count the number of times the result given by a particular combination of layouts, padding rectangles, anchor/pivot positions, et cetera actually made sense. Probably because it never actually happened. Seriously, I challenge anyone to sit down and try to understand what the hell is actually happening behind the scenes with Unity's UI system.
![]() |
| I thought we were making an RPG, but it turns out we're actually making Madden 16 |
I would still say though that the largest motivation for rewriting the UI system is to support multiple resolutions. Many people would say that this is the most difficult/annoying part of UI development and I will agree with them and then we will get drunk as ass.
Thankfully, we don't intend this to be a mobile game, so we are saved from having to really support the low end of the spectrum. However, just supporting a few resolutions in a way that makes sense and doesn't obscure or hide information is a very difficult task. Not to mention, we are still trying to finalize exactly what and how to display the information itself since there is a lot of it. Here is what we have for the character turn bar (terribly cropped, click on image for larger view):
Granted, this doesn't really show some of the cool additions such as active character highlighting, turn order shifting and others (these are controlled by Unity animations, which is a really cool/neat concept once you accept
Furthermore, the current action is not yet displayed, but will be soon in the small gap beneath the character portrait. Let me say also that we have new models for Bodom and Moroch, but we are going to keep the old thumbnails just to fuck with people.
Anyhow, there is a lot more to talk about as the UI rewrite will be an ongoing process, but I told myself that this would be a short update. Besides, it would be much easier to show this off in a video, which we may do at some point.



No comments:
Post a Comment