ID:1331253
 
I've been wanting to write this article for a really long time, and I'm already prepared for the flame war that will ensue. A flame war breaking out from this post will only confirm that what I'm about to say is right, because the community could be so far stuck up its own ass to accept a problem with their creations.

I've been around here at BYOND since it began. I've been a member since 2002. I've seen a lot of things, and all of the phases that come and go... But one thing that's always lingered around here is the improper design and handling of the window, sizing, and GUI in general. This also bleeds all the way into the game rendering with horrible pixel-distortion on top of the already terrible window handling. It's just plain terrible in almost every single game. Its a wonder that BYOND has thrived for as long as it has with these aforementioned issues.

Let's have a look at the games that show up for me when I click on "Games" at the very top of the site. I'm sorry if these game's owners feel like I am attacking them; I am simply trying to express an insight and perspective on a very large problem that a lot more people should be more informed about and should take more seriously.

The games I looked at were:
- Legend of Another World
- Dead and Walking
- The Last Conflict
- Rise of the Pirates
- Eternia: The Prologue
- Final Resurrection: Redemption

There are two categories of problems: sizing, and distortion. I will explain each.

Sizing: This is when you allow your window to be resized to ridiculous sizes that don't serve any purpose aside from offering zero functionality and looking insanely ugly.

Here are three examples of extreme sizing problems:
http://i.imgur.com/C3O5ik7.png
In this example, we can see that the game designers have allowed me to resize my window however I see fit. However, I am able to resize the window to such a small size that the game is barely even visible and the menu takes up almost 50% of the game screen. This is just stupid and lazy and doesn't serve any functional or logical purpose.

http://i.imgur.com/l3cN7zd.png
In this example, we can see that the game has allowed me to maximize my window, and then has increased my character's view range considerably. People with higher resolutions will be better at the game because they'll be able to see more and aim farther than people with smaller screens (but could be handled not to behave this way). That is terrible game design, and unfortunately for their specific situation; the problem is completely unsolvable. They did once fix the window problems, and as soon as they did; the players began to complain because they were used to being force-fed stupidity. In short, the community wants to remain stupid and keep a bad design. Ignorance is bliss, right?

http://i.imgur.com/mDVnpwA.png
In this example, we see once again improper handling of window sizing, and a few items even disappear here making some parts dysfunctional. I would say that this is a big issue in the sizing category because it allows your application to look and behave differently than you intended in a negative way. It also represents either laziness, ignorance, or just plain carelessness.

Pixel-Distortion: This is when you allow your map control to become an arbitrary size that forces pixel-stretching and hence, distortion. Anything that isn't a pixel-perfect ratio in a 2D game is going to look terrible unless the source graphics were much higher resolution than the display (and even in those cases, you can end up with some gross results). There isn't a single game in the commercial market that I know of that allows pixel-distortion. I would be embarrassed if this occurred on a "triple-a" game that I was a developer for... Pixel distortion is easily solved by supporting only a minimum (or higher) display resolution or offering pixel-perfect ratios as options (1x, 2x, 4x). BYOND has a small limitation to developers in this so there are a few games that are excused. That limitation is this: If the user's screen isn't big enough to display the window at the size you request, it will not tell you and just resize the window to smaller size that fits the resolution without prior feedback (on-resize is not prior feedback), thus creating a very ugly stretched version of your game without your knowledge. Quite inexcusable for a game development environment, but we excuse a lot of things in BYOND's case, don't we?

Anyway, here are some examples of some insanely disturbing pixel-distortion:
http://i.imgur.com/lYXD7ks.png
In this example, we see the pixel distortion on the name and especially on the character. Furthermore, we can also see that the map view has an arbitrary black box around it because the developer has chosen to just let it all hang out!

http://i.imgur.com/AcO5u9I.png
In this example, we see some diagonal lines (on the planks of wood) are very distorted, creating unnatural patterns and the text has inconsistent pixel widths on some letters depending on position. Pixel-distortion also allows horizontal lines and vertical lines to have variable widths and heights. This is terrible looking.

http://i.imgur.com/knqkvXG.png
In this example we see that everything is severely affected by pixel distortion. Nothing looks right, textures and patterns are deformed and text is becoming a bit difficult to read on the map. This example also has sizing issues, allowing me to condense the chat so small that it is no longer functional and effectively cutting off some buttons in the top right which are now missing and no longer clickable. Finally, the map has a black box around it to the left because, "hey, who cares?".

I realize that this post is probably not asked for and that some idiot will try to come in here and bash me: I don't care. Everything I've said is true and is a real problem in this community.

Wave your flag soldier, but the war continues!
I definitely agree about the map stretching, I abhor the thought of making use of that if I'm going to spend my time developing graphics for the game. I want them nice and crisp, displaying exactly how I intended them to.

I however disagree regarding the view() boosting. As long as targetting, attacking, or interaction in general is limited to an absolute range, the only real advantage that can be claimed is pre-emptive awareness.

Even without that, I don't feel like it's a major deal, as nowadays the common resolution is raised.

Regarding sizing, I feel like you're being a bit nitpicky about it. Why would you resize your window down to that size? It seems like a waste of resources to spend time programming in a safeguard against a user invoked inconvenience to themselves, when you could be programming what really matters in your game; the content.

There's my thoughts on the matter.
In response to Kitsueki
Kitsueki wrote:
I definitely agree about the map stretching, I abhor the thought of making use of that if I'm going to spend my time developing graphics for the game. I want them nice and crisp, displaying exactly how I intended them to.

I however disagree regarding the view() boosting. As long as targetting, attacking, or interaction in general is limited to an absolute range, the only real advantage that can be claimed is pre-emptive awareness.

Even without that, I don't feel like it's a major deal, as nowadays the common resolution is raised.

Regarding sizing, I feel like you're being a bit nitpicky about it. Why would you resize your window down to that size? It seems like a waste of resources to spend time programming in a safeguard against a user invoked inconvenience to themselves, when you could be programming what really matters in your game; the content.

There's my thoughts on the matter.

view() boosting is strange, odd, and not really used anywhere else on the market. When people in this community come up with reasons for this stuff to be ok is when bad design starts to win. Imagine in a game of starcraft if the opponent could see more than you.

It should be a big deal, people should care a lot more about designing good games instead of ugly disfunctional pieces of crap.

I don't think I'm being the least bit nitpicky about the sizing. It doesn't matter why the user would do anything with the window size; the point here is that the software design should account for all possible use cases if it wishes to be well designed. You should spend your time and resources on developing a well thought out and well designed interface. Its not a waste of time and resources, because it means no one will see your software in a way it wasn't intended to look and it will function properly in all possible cases. You're acting like these safeguards would take hundreds of man hours when in fact they only take a few minutes and the thought. But I digress, I realize many BYOND developers are idiots and don't have time for these wasteful functions and designs! I mean, just look at the state of the windows and interfaces! There's no time to be had for ANY proper functionality or design! [please excuse my sarcasm]

The entire point of the article is about good design, which none of these games would win an award for... and the fact that most of the games made with BYOND show a huge lack of care in the category of interface design. So for you to come into this post and reply with "its not an issue" is similar to saying "Why should we waste time on curing AIDS when it takes so much time to research?". People are still dying! and... gamers are still suffering :D

Big picture: BYOND is in my opinion one of the best rapid game development tools that can do multiplayer, and in many regards it has a leg up on even things like UNITY. Problem is, people play the top / front-page games and see silly issues like pixel-distortion and hilarious interfaces and walk away. The more people are comfortable with these issues, the longer outsiders will continue to disregard BYOND. Sure, there are MANY other issues, but this is a HUGE one; especially when our society continues to be moved by first impressions and judge things by their cover.
Sigh. I'm not going to give you a tough time, or go on a rant, or anything like that. I will say that I am a bit tired of having my game, which was the first I ever really made, and definitely ever finished, be dragged into things no matter how much I seem to comment, but I understand where you're coming from given its ranking.

I honestly tried to do a decent job on the interface, and avoid a lot of well known issues. I really did, and to an extent I succeeded, but unfortunately I likely fall under the category of ignorance. I had no idea the window could be shrunk like that for FR:R, or any game for that matter; I'd say it's just something I never thought to try.

As for anything else, I simply fell behind. I didn't catch on to a lot of the on-screen stuff that was picking up in popularity at the time, and I didn't find out about a few good tips and tricks until after it was all pretty much said and done.

That's not an excuse. It's an explanation. In the end, I made a rush for the release to please an existing fan base I had built up who did not mind these issues, and while I feared for the trouble they might cause, I never imagined that the old out of date methods I used would be THIS big of a deal.

At any rate. I really wanted to just take a breather from Game Design for a bit, and then start doing things a lot better from now on with my other projects, but with threads still bringing up the game like this I guess I may need to buckle down and force myself to fix it.

The moral of this post, I believe, should be that what you're discussing is a serious issue, but the cause of it isn't always something so terrible. Sometimes it's just the developers first project and they didn't realize a few things until other projects, sometimes it's lack of knowing (which I guess you can call ignorance), sometimes it's being careless like you said, and sometimes it's either a mixture of the above or something else entirely.

You've brought up good points, and I like that you went out of your way for a second to say you're not attacking the developers, but I just want to make sure every one reading keeps in mind that it's not always as simple or wrong as it seems. I would of updated these things in my game, for example, long ago if it hadn't gotten so far behind that it became more of a workload than I wanted to dedicate after release.

I imagine some other developers may have encountered similar situations, while as others were truly careless; I'll leave it be at saying I was not careless.
In response to Toddab503
I appreciate your response. I really do think that this post will convince some people to spend some time in this area of design, and ultimately, the community and its games will benefit from this as a whole.

You are right in the regard that newer developers and new games do have a bit of an excuse: lack of experience or they just simply hadn't thought about it. But I'm raising awareness now, and I'm hoping for action!

I can't wait to see a better BYOND as I'm sure all of us developers can agree! In order to achieve greatness, we must accept criticism and raise our expectations whenever possible.
I think the first image is an issue with BYOND instead of the game developers themselves.
None of these are really an issue with BYOND, its what you do with BYOND. The only issue explained here that is an issue with BYOND as a development tool, is the fact that it will automatically resize your window without telling you if its set to be larger than the users display resolution. There's no provided mechanism for checking "hey will this window size fit?" aside from having to do a rather lengthy process of creating an invisible window and attaching a label to it then anchoring the label's edges to the edges of the window and then maximizing the window and then extracting the width and height of the label to determine the user's resolution (and even then, you are given no mechanisms to understand the height of the user's task bar, location of the task bar (top? bottom? side?) nor the size of the title bar / minimize bar or width of window edge (these change per windows theme, and yes when you set a window to be 1280 wide, its actually more like 1300 wide because there's some width to the border of the window frame)).

That said, every image I posted is something the developers can fix / handle / manage / change.
I know I've probably said this before, but the user interface design for seriously all but about ten games on BYOND are bad. If you've actually ever played a video game that isn't Punching Bag Hitting Simulator #59,864 then you'll probably notice that they don't have "statpanels" crammed full of "verbs" that you have to click on to do anything. I realize they're simple to use and that there's not really any inherent problem with new developers using them, but very, very few move past using them as their primary user interface.

Unfortunately, there's not any real incentive to use anything else. The majority of BYOND's user base has come to accept and expect statpanels crammed full of verbs, so that is the status quo.
In response to LordAndrew
You are absolutely right. Here's to hoping for change!

If that client/world Tom was talking about ever gets developed, a lot of this could be stopped / die off much more easily.
In response to FIREking
FIREking wrote:
view() boosting is strange, odd, and not really used anywhere else on the market. When people in this community come up with reasons for this stuff to be ok is when bad design starts to win. Imagine in a game of starcraft if the opponent could see more than you.

It should be a big deal, people should care a lot more about designing good games instead of ugly disfunctional pieces of crap.

I don't think I'm being the least bit nitpicky about the sizing. It doesn't matter why the user would do anything with the window size; the point here is that the software design should account for all possible use cases if it wishes to be well designed. You should spend your time and resources on developing a well thought out and well designed interface. Its not a waste of time and resources, because it means no one will see your software in a way it wasn't intended to look and it will function properly in all possible cases. You're acting like these safeguards would take hundreds of man hours when in fact they only take a few minutes and the thought. But I digress, I realize many BYOND developers are idiots and don't have time for these wasteful functions and designs! I mean, just look at the state of the windows and interfaces! There's no time to be had for ANY proper functionality or design! [please excuse my sarcasm]

The entire point of the article is about good design, which none of these games would win an award for... and the fact that most of the games made with BYOND show a huge lack of care in the category of interface design. So for you to come into this post and reply with "its not an issue" is similar to saying "Why should we waste time on curing AIDS when it takes so much time to research?". People are still dying! and... gamers are still suffering :D

Big picture: BYOND is in my opinion one of the best rapid game development tools that can do multiplayer, and in many regards it has a leg up on even things like UNITY. Problem is, people play the top / front-page games and see silly issues like pixel-distortion and hilarious interfaces and walk away. The more people are comfortable with these issues, the longer outsiders will continue to disregard BYOND. Sure, there are MANY other issues, but this is a HUGE one; especially when our society continues to be moved by first impressions and judge things by their cover.

Relax, I wasn't attacking your post (at least I didn't intend to.) I'm merely applying my perspective to the things you outlined (assuming you want feedback, right?)

To respond to you, regarding resource management here is my dogma. These little things come in bulk, and while applying the time to fix them surely isn't harmful, it takes extra resources. To boot, I claim that a portion of these game developers haven't even taken this kind of stuff into account. Hell, that size thing is something you opened my eyes to, and I'm completely capable of fixing that even.

In the end, while fixing this, you could add in a cool new skill, or dish out a batch of pretty new icons... etc. I don't generally go around picking apart interfaces by resizing them, because I use them how they're meant to be used; I expect that to be a given. If -you- want to resolve these minuscule possibilities, then by all means upgrade your interface. However, you have such a sharp conviction for which claims that everyone should spend their time picking at these issues, and I feel like that's a bit unfair to the community of game developers.

Most of these games you're reviewing are not commercial productions, and so comparing them to commercial games, to me, is unfair to the developers behind them (who are likely solo even, compared to the usual teams behind these pretty and polished commercial games.)

I'm confident that the size thing is definitely a much smaller issue than you suggest, but I wont go on about it.
In response to LordAndrew
LordAndrew wrote:
Punching Bag Hitting Simulator #59,864

I laughed harder than I should have.
In response to LordAndrew
I agree with you fully. When I started my first game, my partner was almost even firm on using the statpanels, to which I finally got around by showing a superior interface. The only remnants of a stat panel in my project are for testing purposes alone, I find them very ugly in the context of a game.

For me, one thing I'd really like to move forward into is eliminating most of my interface controls and turning everything into one big HUD design. It seems like a lot of effort though, so I've been lax to start that... Maybe in the future I'll opt to upgrade.
If you're going to complain about seeing farther in a 2D game then you might as well start complaining about increasing object/LOD distances in 3D games. I don't think people with awesome hardware should have to suffer because of people with old computers.

As for Eternia specifically, spells/targeting did have maximum ranges. I don't know if this has since been changed after I stopped working on the RP version, but it was evened up a bit for people with crazy huge view distances.

Guild Wars 2 for example had a variable which limited how many people would actually load on your screen at one time. For the huge server vs server battles you could actually be killed by an invisible group of enemies. This was a case of high end computers being penalized for mechanics put in place to help low spec computers.
In response to SuperAntx
For the record, I don't like comparing 2D to 3D, its just wrong. They're completely different.

That said, I'm still very confident that what I've said about Pixel Distortion and Interface Sizing is accurate.

I also mentioned that you could deal with view() bloat with code, but that doesn't fix the view bloat now does it? Show me a commercial game where this occurs?

I understand that comparing indie games to commercial games is a bit unfair, but its something we should strive for... but I haven't seen any 2D indie games that have pixel distortion or improper interface sizing designs. Take a look at this game: http://www.chasmgame.com/ runs in a fixed-size window (like it should) with no pixel-distortion.
Yeah, I really dislike conflicting pixel sizes. Just look at this game.

In response to Vrocaan
The game is rendered at 2:1, the gui text is rendered 1:1. There is some mock-up text in that image which is not proper or final (you're complaining about a WIP).

Conflicting pixel sizes is neither window-sizing nor pixel distortion. Also, using a 2:1 multiple down or up is not a conflict.

Also, alternating pixel ratios is used in commercial games. http://dungeonsofdredmor.com/ is an example. Some text is displayed at 1:1 while the game graphics are 2:1
In response to FIREking
The idea is, if you are sizing up, everything should be sized up. While it's not a stretching problem, it still lacks the wholeness that it would otherwise have if everything used the same scale.
You can't fit as much text. You simply don't size up the text. Its not a conflict.

Even if you think its a problem, its no where near as terrible as pixel distortion or hilarious window sizing.
In response to FIREking
Yeah, no, it certainly isn't as bad. It's just not "pure".
I'm fairly against fixed-size windows, as a player, they tend to irritate me. In an indie game, a 800x600 fixed window is sufficiently small on my screen, that I stop playing it pretty quickly unless there's a very good hook. On a large title ... well, I wouldn't have that issue.

Game developers can very reasonably expect to set minimum window sizes, that's fair. They could also reasonably expect to set a full-screen display too, with resolution changing. The latter they cannot do in BYOND, so you cannot switch someone to a fixed size interface on a full-screen mode. That's quite a big deal for what you're saying, because unlike Unity and company, the BYOND developer has to make a choice about what suffers: User's ability to use the entirety of his screen real-estate (and so, game immersion), or the sensible proportioning of the game's interface.

This choice is compounded by a BYOND design decision, that the BYOND developer cannot get over. UI controls cannot be decorated onto the map as overlays as vectorised graphics, like they can in Unity. Similarly even, the map and sprites on it also cannot be vectorized graphics. They have to be rasterized graphics, which are then (programmatically by the BYOND developer, or by the engine) scaled up or down. This means the BYOND developer is going to get distortion if he allows the map to scale with the UI at large, and maintain the same view.

So the developer is left, basically, with three choices. Fixed-size UI, or scaling UI where you letter-box the map with black space, or scaling UI where you increase the view range. For some games, the fixed-size UI will do it okay. For others, none of those 3 solutions are really good for the gameplay experience.

Now, this isn't to say that BYOND game UI's in general are doomed to inadequacy and "sod it, why even bother". You've made fair points on some such improvement. But, it is definitely worthwhile to point out that a BYOND developer has some limitations in presentation that they would not face in comparable rival platforms, and those limitations do affect design choices and do for some games mean accepting one or two "errr what" presentation solutions.
Page: 1 2