PDA

View Full Version : [Devblog] CarbonUI and EVE Online: Incursion 1.6



Lumy
May 30 2011, 09:02:47 PM
reported by CCP Snorlax (http://www.eveonline.com/devblog.asp?a=blog&bid=916) | 2011.05.30 17:28:47 | Comments (http://www.eveonline.com/ingameboard.asp?a=topic&threadID=1519264)

With this release, we are introducing the new CarbonUI framework into EVE. You shouldn't see much difference - with this round of changes we have fixed the underlying code, not the user interface itself. This step was made possible by the UI corification that happened last year (http://www.eveonline.com/devblog.asp?a=blog&bid=810). This project was a big engineering undertaking that you can read more about below, to pave the way for taking the EVE UI into the future. We appreciate your help with spotting anything unexpected, and we'll be monitoring all the usual channels carefully.

Why CarbonUI?

The UI in EVE is somewhat dated by now, and so was the underlying code that handled the rendering. The old UI rendering used fixed-function rendering in Direct3D - basically a D3D7 approach. D3D9 still supports this approach, but it can be a performance bottleneck, and limits you to what the fixed-function feature set offers - no fancy shaders, for example.

We've wanted to overhaul the UI in EVE for a long time now for several reasons:

Improved usability[/*:m:3rm0nd2b]
Improved look[/*:m:3rm0nd2b]
Improved performance[/*:m:3rm0nd2b]

The UI framework itself held us back - as it has grown over the years it had become cumbersome to use and we'd reached some dead ends in trying to improve its performance. Not enough attention had been given to the framework itself in the rush to add new features to the UI.

We considered several approaches to revamping the UI framework, but at the end of the day we realized that the EVE UI code base was far too big to consider rewriting the whole UI with some new paradigms. Whatever approach we would take for a new UI framework would have to involve minimal reworking of EVE UI code.

So, CarbonUI is an evolution of the existing UI framework, with a completely new rendering layer. We've strived to change as little as we can in the high-level interface, so the UI programmer, working in Python doesn't see much change - and more importantly, those ~200K lines of UI related code continue to work. That being said, there was a lot of code modified, either for it to work with the new rendering layer or simply because it sorely needed refactoring. The end result is that there are not many UI files that we haven't touched to some extent.

Some key features:

UI scene can be rendered in different contexts:
[list:3rm0nd2b]
UI objects can be rendered to a texture that is then applied to a 3D object. The UI then supports picking in 3D, allowing interaction with UI in the 3D scene.[/*:m:3rm0nd2b][/*:m:3rm0nd2b][/list:u:3rm0nd2b]

http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot06_t.jpg (http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot06.jpg)
http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot01_t.jpg (http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot01.jpg) http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot02_t.jpg (http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot02.jpg)

A development screenshot showing the same user interface rendered both in 2D and on the screen 3D object. Click images to enlarge.


[list:3rm0nd2b]
UI can also be rendered as a collection of 2D primitives in a 3D scene, allowing for depth effects and perspective rendering.[/*:m:3rm0nd2b][/*:m:3rm0nd2b][/list:u:3rm0nd2b]

http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot03_t.jpg (http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot03.jpg)
Work in progress user interface for interacting with objects in Captainís Quarters, built using the new capabilities of CarbonUI. Click to enlarge.


[list:3rm0nd2b]
Regular 2D rendering as a 2D overlay[/*:m:3rm0nd2b]
[/*:m:3rm0nd2b]
All Python code and UI objects are the same for these different contexts - the scene can be moved from one context to another on the fly.[/*:m:3rm0nd2b]
Performance improvements over old UI framework

Textures are automatically gathered in a texture atlas, giving much more efficient rendering without burdening UI artists[/*:m:3rm0nd2b]
Clipping is done in pixel shaders[/*:m:3rm0nd2b]
Transformations done in vertex shaders[/*:m:3rm0nd2b]
Pixel shaders premultiply alpha so opaque, transparent and additive blending is handled with one D3D blend mode[/*:m:3rm0nd2b]
This results in drastically fewer state changes - the whole UI is usually drawn with less than 10 draw calls, rather than the several hundred draw calls we had before.[/*:m:3rm0nd2b]
[/*:m:3rm0nd2b]
Alignment completely separated from rendering

Alignment now done in Python - easier maintenance[/*:m:3rm0nd2b]
Optimizing rendering does not risk breaking alignment[/*:m:3rm0nd2b]
[/*:m:3rm0nd2b]
Rendering is all done with shaders, opening up the possibilities for doing cool stuff in pixel shaders.

All primitives support simple effects such as drop shadow, glow and blur.[/*:m:3rm0nd2b][/*:m:3rm0nd2b][/list:u:3rm0nd2b]

http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot04_t.jpg (http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot04.jpg) http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot05_t.jpg (http://cdn1.eveonline.com/community/devblog/2011/CarbonUI_screenshot05.jpg)

Test tools used by UI programmers to try out the effects and animations for user interface elements built into CarbonUI. Click images to enlarge.

New animation library written in python, making it easy to create more dynamic UI.[/*:m:3rm0nd2b]

Alignment

What do we mean by alignment? It's how the UI elements are laid out - all UI elements have some coordinates on the screen, but the UI programmer doesn't have to place each element at a given x-y coordinate. For example, if she wants a button centered at the bottom of a window, the button gets a CENTERBOTTOM alignment. If the window changes size, the UI framework recalculates the coordinates for the button to keep it centered at the bottom.

Moving the alignment out of C++ into Python has been a mixed blessing. It is certainly faster in C++ and we've been struggling somewhat to make up for slower alignment in Python. On the other hand, the way this was implemented before meant that changing any alignment rules or adding new ones was more difficult. This was due to two reasons:

The rendering and alignment of UI elements was intertwined - changing alignment would risk breaking rendering and vice versa[/*:m:3rm0nd2b]
Turnaround time for testing changes in Python is much shorter than testing for C++ changes[/*:m:3rm0nd2b]

Rather than trying to optimize the Python code for alignment to run faster, we found ways to reduce the work needed to achieve the same results. Alignment used to be done every frame while traversing down the UI hierarchy - this was replaced by caching the results and only doing alignment when any relevant properties changed.

Having a clearer separation of alignment and rendering has made it easier to optimize each part of the puzzle.

Why should I care?

When EVE was launched some 8 years ago, the UI looked pretty much on par with other games. Times have changed, but our UI hasn't really. Even though projects such as CarbonUI are difficult to pull through, they are absolutely essential if we ever want to move beyond what the current technology allows for. Even though players won't see much visual difference once we launch CarbonUI on to TQ, we can promise you that our UI designers are already hearing a lot more of "sure, no problem" when they deliver their regular batch of crazy ideas to their fellow programmers, ultimately resulting in UI that's fittingly awesome for our lovely little space game.

What about performance?

We'll take a more detailed look at the difference in performance with CarbonUI in a future devblog!

Evelgrivion
May 30 2011, 09:09:31 PM
So, wait, because actually writing a new UI framework like they originally said they wanted to, they said that was too much effort and put a new wrapper around it to improve appearance instead? Am I reading this right?

RoemySchneider
May 30 2011, 09:14:47 PM
weren't it for the marketing-speak, this would be one of the more informative posts

although i am terribly worried about the 'alignment' paragraph

Evelgrivion
May 30 2011, 09:39:31 PM
weren't it for the marketing-speak, this would be one of the more informative posts

although i am terribly worried about the 'alignment' paragraph

I'm concerned about this as well. The Carbon project, or "coreification" of EVE was designed around taking game-agnostic code and creating a platform from which CCP can build a solid server and user interface framework for future MMO platforms. The content of this blog indicates that they gave up on re-writing EVE's User Interface code and put a wrapper around it to make it run prettier/faster depending on what portion of legacy code is ignored.

Isn't this precisely the kind of shortcut they wanted to avoid in starting this project in the first place? :?

Hels
May 30 2011, 09:42:23 PM
weren't it for the marketing-speak, this would be one of the more informative posts

although i am terribly worried about the 'alignment' paragraph



Alignment

What do we mean by alignment? It's how the UI elements are laid out - all UI elements have some coordinates on the screen, but the UI programmer doesn't have to place each element at a given x-y coordinate. For example, if she wants a button centered at the bottom of a window, the button gets a CENTERBOTTOM alignment. If the window changes size, the UI framework recalculates the coordinates for the button to keep it centered at the bottom.



What do we mean by alignment? It's how the UI elements are laid out - all UI elements have some coordinates on the screen, but the UI programmer doesn't have to place each element at a given x-y coordinate. For example, if she wants a button centered at the bottom of a window, the button gets a CENTERBOTTOM alignment.



...the UI programmer ... For example, if she ...



she


Makes sense.

Lancehot
May 30 2011, 09:44:24 PM
I imagine the idea of rewriting the UI from the ground up sounded a lot cooler before they tried it. Sometimes applying bandages is all you can reasonably do.

Mike deVoid
May 30 2011, 09:47:48 PM
weren't it for the marketing-speak, this would be one of the more informative posts

although i am terribly worried about the 'alignment' paragraph

I'm concerned about this as well. The Carbon project, or "coreification" of EVE was designed around taking game-agnostic code and creating a platform from which CCP can build a solid server and user interface framework for future MMO platforms. The content of this blog indicates that they gave up on re-writing EVE's User Interface code and put a wrapper around it to make it run prettier/faster depending on what portion of legacy code is ignored.

Isn't this precisely the kind of shortcut they wanted to avoid in starting this project in the first place? :?
Pretty much my thoughts on reading this too.

Lumy
May 30 2011, 10:00:04 PM
weren't it for the marketing-speak, this would be one of the more informative posts

although i am terribly worried about the 'alignment' paragraph

I'm concerned about this as well. The Carbon project, or "coreification" of EVE was designed around taking game-agnostic code and creating a platform from which CCP can build a solid server and user interface framework for future MMO platforms. The content of this blog indicates that they gave up on re-writing EVE's User Interface code and put a wrapper around it to make it run prettier/faster depending on what portion of legacy code is ignored.

Isn't this precisely the kind of shortcut they wanted to avoid in starting this project in the first place? :?
Nope.

They didn't create wrapper around UI. They made new framework with same API, so they don't have to rewrite whole UI.

UI framework = something that allows you to render elements like text, buttons, select lists, checkboxes, message boxes...
UI = how are those elements positioned, in which order they are displayed and so on

Xiang Jiao
May 30 2011, 10:15:40 PM
Does this mean we will stop having windows that steal focus until closed, like the BM and DT windows? I couldn't care less about the framework since I am more concerned about having a UI that isn't a bitch to use and configure (and often not configurable at all). I hope the two aren't mutually exclusive.

Joshua Foiritain
May 30 2011, 10:55:47 PM
Sooo next update CCP is gonna start replacing the regular eve interface with all of those pretty but annoying incarna buttons? :?

Ephemeral
May 31 2011, 12:36:04 AM
Did they fix the bloody font?

Audrey Koshka
May 31 2011, 12:41:38 AM
weren't it for the marketing-speak, this would be one of the more informative posts

although i am terribly worried about the 'alignment' paragraph

I'm concerned about this as well. The Carbon project, or "coreification" of EVE was designed around taking game-agnostic code and creating a platform from which CCP can build a solid server and user interface framework for future MMO platforms. The content of this blog indicates that they gave up on re-writing EVE's User Interface code and put a wrapper around it to make it run prettier/faster depending on what portion of legacy code is ignored.

Isn't this precisely the kind of shortcut they wanted to avoid in starting this project in the first place? :?
Nope.

They didn't create wrapper around UI. They made new framework with same API, so they don't have to rewrite whole UI.

UI framework = something that allows you to render elements like text, buttons, select lists, checkboxes, message boxes...
UI = how are those elements positioned, in which order they are displayed and so on

Designing a new UI framework that is required to maintain the same public API surface is a significant design constraint. It really depends upon what their priorities with rewriting the framework were. You can make performance/stability improvements without changing API surface, but if improvements to the public surface are rejected because of the cost of rewriting dependent UI code, they are making a tradeoff.

Shin_getter
May 31 2011, 12:45:08 AM
I've heard some people complain about Eve UI, can someone point me to an example what would be good UI in general for a game like this? (as in spreadsheet and text game (?) )

Man, please don't try the monocle eye/mind projection/whatever thingy that'd fit the setting but not the technological reality of "spreadsheets and overview"......it would totally not work until we got our own pods. Boring and dull might just be for the best.....

Ben Derindar
May 31 2011, 01:01:45 AM
This reads to me like an exercise in stepping backwards in order to allow the next forward steps. Which can only be a good thing.

As someone who has been tied up with overseeing development of a new framework for all my workplace's websites and then migrating each of the sites over one at a time for the last 18 months, I can relate.

Lana Torrin
May 31 2011, 01:04:57 AM
Why are CCP working on the UI when they could be fixing the bounty system

Rakshasa The Cat
May 31 2011, 01:29:27 AM
Look at those sandy vaginas being bitter about stuff they don't know shit about.

Rakshasa The Cat
May 31 2011, 01:37:08 AM
Also I have no idea how that rather informative devblog could be seen as market speak, though if you don't know shit about development of software that could be the case.

It is a textbook example of best practices on how to go about refactoring legacy framework, and once the new underlying code proves stable they'll gradually redesign the old UI.

Lana Torrin
May 31 2011, 01:48:02 AM
It is a textbook example of best practices on how to go about refactoring legacy framework, and once the new underlying code proves stable they'll gradually redesign the old UI.

This.

Pretty much in simple terms.. The worky bit of the UI has been completely re-written but done in such a way that the layout bit (which consists of the bulk of the code) didnt need to be changed. The worky bit is the bit you are going to be moving between games as the layout bit is game specific.

There is also no reason you couldn't have a glue API so you can deploy a new API but use the glue API so the old code still runs without being modified (although somewhat inefficiently) allowing you to deploy new code and slowly go back over the old code to change it to the new API. And when you release WoD you wouldn't even need to include the glue API.

Xiang Jiao
May 31 2011, 01:50:53 AM
My vag is so sandy you have to book it six months in advance for Spring break.

On a serious level, we all want to know exactly what this corification means to us, the non-technical player. Is it a good step, or a compromise? I care little about the answer to this question. Mostly, we care about changes that better the game environment, like getting bookmarks in the overview.

Eve is, at it's heart, a database game, so a lot of the information the UI has to process is in the form of text, numbers, and cells to hold them. Whether that UI is designed to make best use of the database is another matter. The overview, probably the mightiest tool at the player's disposal, has glaring weaknesses. Being able to have a war target only overview is one example of the shortcomings of the Eve UI. Another - not being able to reliably click on the overheat tab above the module button (I use Shift + F1 exclusively so no mistakes can happen), and using a green indicator while the cycle on indicator flashes almost the same shade of green is confusing.

Bringing sexy new buttons to click to the player base is neat, but it does not necessarily solve the toughest UI problems. I suppose we have to wait and see the fruits of the Carbon labor.

Lana Torrin
May 31 2011, 01:58:08 AM
On a serious level, we all want to know exactly what this corification means to us, the non-technical player. Is it a good step, or a compromise? I care little about the answer to this question. Mostly, we care about changes that better the game environment, like getting bookmarks in the overview.

TBH it means pretty much fuck all at the moment.. While CCP has 1 game all it is is breaking that 1 game down in to smaller more manageable chunks of code. Them being smaller and more manageable should mean bugs get seen more easily, but even that is a trade off (exotic bugs that require several small bits to fuck up in ways that aren't easily detected but when combined produce a glorious fuckup are a bitch to work out).

What it DOES mean is when CCP have 3 or 4 games using the same core, they should in theory be getting 3 or 4 times the people bug testing it and 3 to 4 times the income to employ at least twice the current number of coders that look after it.. And when they find a bug in 1 game, it will be fixed in all of their games.

Rakshasa The Cat
May 31 2011, 02:02:22 AM
My vag is so sandy you have to book it six months in advance for Spring break.

On a serious level, we all want to know exactly what this corification means to us, the non-technical player. Is it a good step, or a compromise? I care little about the answer to this question. Mostly, we care about changes that better the game environment, like getting bookmarks in the overview.


Why should I care?

When EVE was launched some 8 years ago, the UI looked pretty much on par with other games. Times have changed, but our UI hasn't really. Even though projects such as CarbonUI are difficult to pull through, they are absolutely essential if we ever want to move beyond what the current technology allows for. Even though players won't see much visual difference once we launch CarbonUI on to TQ, we can promise you that our UI designers are already hearing a lot more of "sure, no problem" when they deliver their regular batch of crazy ideas to their fellow programmers, ultimately resulting in UI that's fittingly awesome for our lovely little space game.

Well, you could start by reading the devblog with an open mind, instead of one that is closed by the fears of CCP IS LYING TO US!!!

I have no idea how so many of you could have read through that rather good and informative devblog and not grasped even the basics of what it was supposed to be informing you of. That devblog and all the others that have touched on coreification have all been rather clear on the point that it is a good thing for EVE, not just WoD.

Liang
May 31 2011, 02:07:01 AM
Seems like the textbook approach would have involved deprecating the old UI in favor of the new one. Seems like they aren't taking that approach, and really it may not have been practicable as a first step. Overall, I hope it to be an eventual improvement.

Either way, I'm mostly concerned we'll end up with another round of ridiculous UI bugs when they roll this out..

Rakshasa The Cat
May 31 2011, 02:25:21 AM
Seems like the textbook approach would have involved deprecating the old UI in favor of the new one. Seems like they aren't taking that approach, and really it may not have been practicable as a first step. Overall, I hope it to be an eventual improvement.
I don't know what textbook you've been reading, but 'Refactoring for Dummies' doesn't sound like the best of sources. No one sane would have migrated 200k lines of UI code to a new and untested UI framework in one large release.

Any textbook that doesn't call you a retarded poohead for doing such a thing was written by a retard.

Shin_getter
May 31 2011, 02:42:21 AM
200k UI ported in 6 month? That'd be insanely epic the way the new forums were epic. :D :D :D :(

Reed Tiburon
May 31 2011, 02:52:17 AM
All I want to know is:
1) Will this stop the UI from sucking up my FPS. seriously I get 10-20 FPS more by hitting tab to minimize windows. that is :ccp:
2) Will this require the new fangled graphics reqs. Seriously EVE claims my graphics card doesn't support Shader Model 3.0 (even though Google says different) so this is kind of a big deal

Gix Tyrionn
May 31 2011, 02:54:04 AM
Incarna: the great nerf to docking games (lol loading) and interface usability

Lana Torrin
May 31 2011, 02:54:25 AM
All I want to know is:
1) Will this stop the UI from sucking up my FPS. seriously I get 10-20 FPS more by hitting tab to minimize windows. that is :ccp:

People that have tested it on sisi say its sucks less GPU (so yes but not 10-20 FPS worth of yes)


2) Will this require the new fangled graphics reqs. Seriously EVE claims my graphics card doesn't support Shader Model 3.0 (even though Google says different) so this is kind of a big deal
No idea. Try duality on your existing card and see if it works?

Reed Tiburon
May 31 2011, 03:19:48 AM
[quote="Reed Tiburon":2lgx1mst]All I want to know is:
1) Will this stop the UI from sucking up my FPS. seriously I get 10-20 FPS more by hitting tab to minimize windows. that is :ccp:

People that have tested it on sisi say its sucks less GPU (so yes but not 10-20 FPS worth of yes)


2) Will this require the new fangled graphics reqs. Seriously EVE claims my graphics card doesn't support Shader Model 3.0 (even though Google says different) so this is kind of a big deal
No idea. Try duality on your existing card and see if it works?[/quote:2lgx1mst]
cool, the interface is by far the biggest resource suck on my system

Don Pellegrino
May 31 2011, 03:58:51 AM
Here's a diagram of the UI changes:

Please excuse my poor photoshop skills
http://onebit.us/cf/?di=15130681430813

Xiang Jiao
May 31 2011, 04:53:27 AM
Thank you, Don, for putting that in terms my pot-addled brain can handle. The follow-up question to this timeline is what new possibilities does CCP have in mind for their crack team of UI designers? They are supposedly hearing more "Sure, no problem" responses from the developers. Regarding what, I wonder?

Is this the first necessary step before the much maligned POS interface can be revamped? What is the first UI change that will be enabled by this and when will we see it? Warpable bookmarks for Incarna 1.0? These are the questions that I hope are being addressed in the Eve-O thread. I just can't bring myself to reply to one of those threads anymore, because if there's one thing I hate, it's being trolled by CCP.

Regarding performance, does the new framework only make the client more efficient, or will the UI framework improvements cut down on server load within the game? Or both? Basically, will spaceships as a whole see less lag, or is this just about having more browser tabs open while playing with one more client running, possibly increasing some graphics quality settings, too?

Sponk
May 31 2011, 05:50:29 AM
Regarding performance, does the new framework only make the client more efficient, or will the UI framework improvements cut down on server load within the game?
Unlikely to affect server load, but if client side is improved, maybe brackets won't destroy your pvp experience so much.

LoKiPP
May 31 2011, 06:13:39 AM
On sisi a lot of people were reporting FPS increases, lets hope this is true for larger engagements. There should be no way brackets slow down fps :roll:

Al Simmons
May 31 2011, 06:26:34 AM
CCP have UI developers? What.

Also betting the reason they aren't touching the legacy code is cos nobody knows how it works.

Liang
May 31 2011, 06:40:56 AM
Seems like the textbook approach would have involved deprecating the old UI in favor of the new one. Seems like they aren't taking that approach, and really it may not have been practicable as a first step. Overall, I hope it to be an eventual improvement.
I don't know what textbook you've been reading, but 'Refactoring for Dummies' doesn't sound like the best of sources. No one sane would have migrated 200k lines of UI code to a new and untested UI framework in one large release.

Any textbook that doesn't call you a retarded poohead for doing such a thing was written by a retard.


Do you even fucking know what Deprecated means?

Leboe
May 31 2011, 06:57:59 AM
CCP have UI developers? What.

Also betting the reason they aren't touching the legacy code is cos nobody knows how it works.


No point in even betting, this is a certainty and probably a direct cause of why things arent iterated upon, only torn down and rebuilt. Of course one can hope that CCP learned this lesson 1-2 years ago and everything going forward is able to be tweaked, but we've yet to see evidence of it imo.

Kerc Kasha
May 31 2011, 07:07:03 AM
not addressed to anyone in particular but ranting and rambling and imagining problems about things you don't understand makes you look like a fucking moron rather than simply clueless in regards to the technical aspects.

every devblog thread is just a bunch of fuckwits babbling on about stuff they have no grasp of and it's getting old

Liang
May 31 2011, 08:15:38 AM
not addressed to anyone in particular but ranting and rambling and imagining problems about things you don't understand makes you look like a fucking moron rather than simply clueless in regards to the technical aspects.

every devblog thread is just a bunch of fuckwits babbling on about stuff they have no grasp of and it's getting old

The problem is that lots of people DO have a grasp of the basics of what is being said. But, there's a whole world between what they tell us (massively dumbed down) and what is actually happening. The things we know is that the CCP devs themselves seem to think the code base is largely a shitty black box, though it combines to produce something truly marvelous - solving problems most of us haven't really had to. Though to be totally fair, most developers think the code they work on is pretty horrendous. ;-)

Ultimately Some of the stuff we :psyccp: about may literally be a good thing - both for the code and for the company. We'll likely never know because we aren't close enough to see what's ACTUALLY happening.

However, some - likely most - of the things we :psyccp: about are legitimately :awesome:

Nareg Maxence
May 31 2011, 08:39:34 AM
One thing I always found annoying to no end was that cursor positioning in edit boxes was completely screwed up, especially after pasting text into them.

I often used a particular template when naming bookmarks for instance, so they sort properly, and when I paste the template into the edit box and position the cursor to fill in the template, characters appear one space to the right of where your cursor appears.

I would hope stuff like this would improve with this new framework.

Illwill Bill
May 31 2011, 09:36:53 AM
Eve has UI designers?! :shock:

Xiang Jiao
May 31 2011, 10:26:21 AM
Eve has UI designers?! :shock:

I was just as surprised as you were.

Helen
May 31 2011, 10:35:09 AM
Eve has UI designers?! :shock:

Sure, here is a picture of one of them.

http://www.davidwebsterhome.com/blog/wp-content/uploads/2009/12/blind_ref.jpg

Don Pellegrino
May 31 2011, 10:40:58 AM
Well they said roughly 1 year ago that they were finally hiring 1 or 2 dedicated UI designers.

Before that it appears that some random programmers were designing complex UI's like the corp management interface and the POS interface.

That makes sense seeing how terrible they are.

smagd
May 31 2011, 10:47:02 AM
The scanning UI shows promise, but it took a few iterations to get it usable and it's still a bit overloaded and has unfortunately color choices, i. e. I regularly only notice I've grabbed the arrow instead of the side of a cube to move a probe when it's moving forwards instead of sidewise.

Didn't much try the PI UI but I hear it's still being iterated to make it less of a click fest.

Also, keep tactical. Best UI ever. Nothing makes me feel the 3D in EVE quite as much as tactical.

Illwill Bill
May 31 2011, 11:03:06 AM
Eve has UI designers?! :shock:

Sure, here is a picture of one of them.

http://www.davidwebsterhome.com/blog/wp-content/uploads/2009/12/blind_ref.jpg
Unlikely. A blind person would design a simple interface with minimal clutter and clearly visible labels on everything, as text-to-speech-thingamajingies requires that.

Xiang Jiao
May 31 2011, 11:10:07 AM
I've heard of deaf people playing Eve. I had one in my alliance once, but how exactly would you play Eve blindly?

Pelias
May 31 2011, 11:15:25 AM
Like bad AHK bot?

randomToon
May 31 2011, 11:41:40 AM
They mention "improved usability" in the dev blog.
I wander if they actually conducted some kind of usability tests to compare the current and the future ui, or do Icelanders just think that usability is another word for "Oooo! Shiny!". Judging from the stuff that's now available on duality it's likely the latter.

Rakshasa The Cat
May 31 2011, 12:21:01 PM
You don't consider laggy UI's to have worse usability than smooth ones?

Helicity
May 31 2011, 03:16:18 PM
CCP have UI developers? What.

Also betting the reason they aren't touching the legacy code is cos nobody knows how it works.


No point in even betting, this is a certainty and probably a direct cause of why things arent iterated upon, only torn down and rebuilt. Of course one can hope that CCP learned this lesson 1-2 years ago and everything going forward is able to be tweaked, but we've yet to see evidence of it imo.

This is the case for a lot of EVE's problem areas. for example, the guy who originally did EVE's network code works for NARC hf. in iceland now, and has gotten many requests for help from CCP regarding the network code, but seeing as they parted on not-so-friendly terms he has refused them. Derp.

Megathron
May 31 2011, 03:23:30 PM
I've heard of deaf people playing Eve. I had one in my alliance once, but how exactly would you play Eve blindly?Using a headless client. Not beyond the realm of possibility since there are already a few implementations floating around.

Of course, now there is a great excuse to building console-driven interfaces (it's about helping blind people, not botting, I swear ;) ).

Frug
May 31 2011, 03:52:36 PM
Also, keep tactical. Best UI ever. Nothing makes me feel the 3D in EVE quite as much as tactical.
You mean the tactical UI that people have been begging for years to have some useful data added to it to make it something people might actually want to use for more than kicks? Like ship vectors?
Don't worry. I'm sure they'll keep it, as removing it would require work.

Frug
May 31 2011, 03:53:34 PM
They mention "improved usability" in the dev blog.
I wander if they actually conducted some kind of usability tests to compare the current and the future ui, or do Icelanders just think that usability is another word for "Oooo! Shiny!". Judging from the stuff that's now available on duality it's likely the latter.
I think you know the answer to this.

Hellkyte
May 31 2011, 04:57:13 PM
Well they said roughly 1 year ago that they were finally hiring 1 or 2 dedicated UI designers.

Before that it appears that some random programmers were designing complex UI's like the corp management interface and the POS interface.

That makes sense seeing how terrible they are.

That's def interesting. I assume that back in the day they really couldn't justify having people solely dedicated to that beyond the launch as the UI saw so few updates over the years. So someone would get it as a side job when he really had no business doing it, or at least very little recent experience.

As for the issues w/ documentation.....I have a hell of a lot of respect for the CCP coders. I know people in the Python community that don't play games and never would but know CCP by name and consider them a bit famous for some of their work. The databases at the core of their game are....well insanely well done as far as I can tell. Then you have hardware that is considered world class. So you have Python trailblazers, RDB geniuses, and hardware badasses.

But the thing screwing them up here is the sloppyness of past coders and their refusal to properly document their code, a relatively minor thing. This isn't surprising, when things are hectic and it's all forward forward forward you sometimes ignore the small stuff, that ends up being big stuff. This is particularly problematic with people that are good at their job, they find the bureacratic stuff boring.

I don't doubt for a second that they have the people capable of rebuilding from scratch, given enough time. Here's hoping that this time they don't screw up and properly document their work.

Virtuozzo
May 31 2011, 06:32:37 PM
It is a textbook example of best practices on how to go about refactoring legacy framework, and once the new underlying code proves stable they'll gradually replace the old UI.

fixed one part. Rest is right on the mark. minor in appearance, but important for future scope.



They mention "improved usability" in the dev blog.
I wander if they actually conducted some kind of usability tests to compare the current and the future ui, or do Icelanders just think that usability is another word for "Oooo! Shiny!". Judging from the stuff that's now available on duality it's likely the latter.

it's just a buzzword, until such a time as CCP do not face resource constraints that allow for more than the appearance factor.

Bartholomeus Crane
May 31 2011, 06:35:32 PM
[quote="Illwill Bill":2oezpqdt]Eve has UI designers?! :shock:

Sure, here is a picture of one of them.

http://www.davidwebsterhome.com/blog/wp-content/uploads/2009/12/blind_ref.jpg
Unlikely. A blind person would design a simple interface with minimal clutter and clearly visible labels on everything, as text-to-speech-thingamajingies requires that.[/quote:2oezpqdt]

On the other hand, he's wearing the same crappy glasses as are offered! Must really be the same guy who put them in there then. Could it be ... could it be that this is the guy who designed the clothes in Incarna! What are the odds!

Samp
May 31 2011, 07:25:44 PM
The scanning UI shows promise, but it took a few iterations to get it usable and it's still a bit overloaded and has unfortunately color choices, i. e. I regularly only notice I've grabbed the arrow instead of the side of a cube to move a probe when it's moving forwards instead of sidewise.

Didn't much try the PI UI but I hear it's still being iterated to make it less of a click fest.

Also, keep tactical. Best UI ever. Nothing makes me feel the 3D in EVE quite as much as tactical.

Why the fuck don't the arrows stay flat to your screen? Why would I ever want to see the edge of an arrow?

Also

Downtime for deployment of Incursion 1.6 has been extended to 19:15 UTC due to issues we have discovered with starbases. We are currently reviewing the fixes before opening Tranquility to the players. Thank you for your continued patience. For more information please refer to this news post.

Also

(recommended)?

- Incursion 1.6 Client Update #1

Click here for details about this update.

That's a new record, the patch is parched before the server is up.

EDIT: it's up

Andrea Griffin
May 31 2011, 07:48:30 PM
But the thing screwing them up here is the sloppyness of past coders and their refusal to properly document their code, a relatively minor thing. This isn't surprising, when things are hectic and it's all forward forward forward you sometimes ignore the small stuff, that ends up being big stuff. This is particularly problematic with people that are good at their job, they find the bureacratic stuff boring.I have the exact same problem at my current company. We have a lot of code, and a lot of it is old and awful - especially the core libraries and the foundation of the whole thing.

We implemented a new base framework for stuff going forward, and while the new code is pretty good we still have to deal with a lot of legacy issues because the old crap is still hanging around. With the guys at the top always pushing for NEW STUFF NOW we simply don't have the time to go back and refactor all the old terrible crap.

We want to - dearly - because it would make it all so much easier to maintain. But we can't. Because... To parrot CCP... "New and Shiny sells." Telling clients, "We refactored a bunch of code so now it's better!" doesn't sell because the derp-face sitting in the meeting room (making 500k a year - who is really the derp-face here? har har) doesn't give a damn about what is going on behind the scenes. Sad but true.

Samp
May 31 2011, 08:40:24 PM
The problem my firend is that the poeple in charge are pretty much always the poeple who want to be in charge more than anyone else.

Poeple who can see things in a greater level of detail are surley prone to regard being the boss as a detail - not an important goal.

I sugest that society can yet break free of this apparently inate incumance; all we need to do is stab cunts right up the face every now and then and everyhting will be fine.

Caius Sivaris
May 31 2011, 09:10:32 PM
Why the fuck don't the arrows stay flat to your screen? Why would I ever want to see the edge of an arrow?


So much this.

slight
May 31 2011, 09:40:45 PM
Designing a new UI framework that is required to maintain the same public API surface is a significant design constraint. It really depends upon what their priorities with rewriting the framework were. You can make performance/stability improvements without changing API surface, but if improvements to the public surface are rejected because of the cost of rewriting dependent UI code, they are making a tradeoff.

Wasn't he saying they'd mostly kept the existing API but not entirely, also refactoring some of the client code (lib client not game client) where appropriate? Seems pretty reasonable to me. Can you imagine the shitstorm of bugs if they'd had to rewrite all the UI code in EVE in one go?

Hellkyte
May 31 2011, 09:47:09 PM
The problem my firend is that the poeple in charge are pretty much always the poeple who want to be in charge more than anyone else.

Poeple who can see things in a greater level of detail are surley prone to regard being the boss as a detail - not an important goal.

Well. There's a balance. The people that can see the detail often can't see the big picture (hate saying that). Sometimes the big picture means "we don't need perfect, we need fast". I rarely get to do work where someone gives me all of the means that I need to do it in both time and resources. The few times I do get the resources I need it's far far too much and it's only because my boss has no idea what he's doing.

People in charge need to be able to say "So if I don't fix my weel hub theres a 20% chance of it falling off in the next year? I can live with that because the money that would go there needs to be used to fix the head gasket." The suspension guys would be aghast, but in the end the money went to where it really needed and another risk was assumed to be acceptable.

At the state CCP was at when a lot of this garbage was written I would agree that it was acceptable to not get tied into documentation bureacracy. Shit like that stimies innovation (look at criticisms of six sigma). On the other hand where they are now that is no longer acceptable because people are actually using their product and want more out of it.

So....I'm ok with where they are but hoping to see them take some time to fix back end stuff. Which will be hilarious when all the :emo: :cut: folks are like "wait but I want my new shiny now!"

slight
May 31 2011, 09:58:39 PM
I have the exact same problem at my current company. We have a lot of code, and a lot of it is old and awful - especially the core libraries and the foundation of the whole thing.

We implemented a new base framework for stuff going forward, and while the new code is pretty good we still have to deal with a lot of legacy issues because the old crap is still hanging around. With the guys at the top always pushing for NEW STUFF NOW we simply don't have the time to go back and refactor all the old terrible crap.

We want to - dearly - because it would make it all so much easier to maintain. But we can't. Because... To parrot CCP... "New and Shiny sells." Telling clients, "We refactored a bunch of code so now it's better!" doesn't sell because the derp-face sitting in the meeting room (making 500k a year - who is really the derp-face here? har har) doesn't give a damn about what is going on behind the scenes. Sad but true.

Yeah but you can almost never sell refactoring to clients, and depressingly often not to bosses either. Just refactor a bit of the core related to your feature each time you're puttting out a new shiny and include it in the costs, otherwise 5 years later it's rewrite time again.

Of course depending on just how bad (and big) a core you're talking about that might be difficult but I think it's usually possible unless you're talking about serious large scale engineered code.

slight
May 31 2011, 10:09:55 PM
At the state CCP was at when a lot of this garbage was written I would agree that it was acceptable to not get tied into documentation bureacracy. Shit like that stimies innovation (look at criticisms of six sigma). On the other hand where they are now that is no longer acceptable because people are actually using their product and want more out of it.


There's a balance there too though, if the model is actually well designed and coded rather than being the sort of ereet early optimised crap people often think is "good" when they've not had to maintain a project, then relatively little inline documentation is often enough for future devs to un-pick how it works.

Liang
May 31 2011, 11:26:24 PM
Designing a new UI framework that is required to maintain the same public API surface is a significant design constraint. It really depends upon what their priorities with rewriting the framework were. You can make performance/stability improvements without changing API surface, but if improvements to the public surface are rejected because of the cost of rewriting dependent UI code, they are making a tradeoff.

Wasn't he saying they'd mostly kept the existing API but not entirely, also refactoring some of the client code (lib client not game client) where appropriate? Seems pretty reasonable to me. Can you imagine the shitstorm of bugs if they'd had to rewrite all the UI code in EVE in one go?

No, I can't. I'm very very glad that they didn't. ;-)

Frug
June 1 2011, 03:09:26 AM
The problem my firend is that the poeple in charge are pretty much always the poeple who want to be in charge more than anyone else.

Poeple who can see things in a greater level of detail are surley prone to regard being the boss as a detail - not an important goal.

I sugest that society can yet break free of this apparently inate incumance; all we need to do is stab cunts right up the face every now and then and everyhting will be fine.
<3