Week 5/2014: Redesigning the multiplayer UI

edited 2014 Feb 5 in Developers
Last week I was working on the client's new multiplayer UI and general UI framework improvements.

We have been rethinking how to connect to multiplayer games. I was initially planning to simply add a new dialog that lists the available MP games, but we realized it makes more sense to have MP games as part of the overall Game Selection menu. This menu has only been visible in Ring Zero, but now it makes sense to make it immediately accessible via the task bar.

Here is what the current iteration of the new Ring Zero UI looks like:
mpsel_r0_small.png

We've added additional "info" buttons next to each game, which will eventually allow one to configure the game sessions. For the time being these buttons just show a popup with some information about the game.

The new Games dialog uses the same selection menu as Ring Zero:
games_dialog_small.png

There is also a new multiplayer menu in the task bar when connected to a server:
mpmenu.jpg

Since I'm working full steam on the UI, I've also been correcting minor annoyances and various loose threads. For instance, text layout is now improved both for the GUI and for textual log output (doomsday.out). I also found and fixed a few bugs in the UI framework, for instance related to updating a widget's margins.

On the side I've been refactoring the Oculus Rift code to decouple it from the client executable, to allow moving it into one of the supporting libraries. This work basically entails cleaning up the implementation and dividing it up into proper object-oriented classes.

Comments

  • edited 2014 Feb 5
    Something I've been wondering about the game selection menu; there is a lot of options, many of which might not be of interest to most users (i.e 'Heretic shareware', 'Heretic registered' and 'Heretic SOTR').

    Currently there isn't enough games or versions of games supported to be an issue, but in future, it may lead to a lot of un-needed scrolling.

    I could imagine them being replaced with a single 'Heretic button'. One right clicks (or if they are clicking on it for the first time they have multiple versions of Heretic available) on this button to open a UI panel listing all the afore mentioned versions. They then highlight one.

    The 'Heretic button' will then automatically launch that version of Heretic when the user left clicks on it in future. If they wish to change the automatically launched version, they right click on the 'Heretic button' to bring up the list again and highlight a different version.

    Of course, the above perhaps brings the 'games with missing resources' section into question; would that still exist, or would they be merged into the above mentioned drop down menu's.
  • I admit that I had a little difficulty writing the below, so hopefully it's understandable.

    I would also like to question whether having some versions of games, when all the resources 'appear' to be present (I'm referring to Doom and Heretic), unlock multiple versions in Dday is a good idea?

    For instance, Ultimate Doom unlocking Doom registered. Technically there are a couple of differences between them even though; the title and credit graphics for instance and also E1M1, was modified in Ultimate Doom.

    I suppose in future, Dday might support older versions of Doom than 1.9, which had actual gameplay differences, but I could imagine those becoming an option independent of the actual Iwad (i.e I would select my Doom Iwad and then the gameplay version Dday emulates, separately).

    But I suppose older version Doom IWads might lack a handful of graphical resources needed to allow them to be used to emulate newer gameplay versions (though admittedly I can only think of the Nightmare menu graphic and loading Icons that Dday doesn't use).
  • Vermil wrote:
    Currently there isn't enough games or versions of games supported to be an issue, but in future, it may lead to a lot of un-needed scrolling.
    You raise a valid point. This design is only scalable up to a certain number of games. We have been thinking about providing various sorting/filtering options to allow one to hide the irrelevant games.

    Also, in the future, the UI will need to allow the user to configure the game sessions in more detail, e.g., which resource packs to use and so forth. It might make sense to group all the various configured sessions in a foldable sub-list under each game. This is something we'll consider in more detail once the work with built-in resource pack management begins.
    I would also like to question whether having some versions of games, when all the resources 'appear' to be present (I'm referring to Doom and Heretic), unlock multiple versions in Dday is a good idea?
    In the interest of 100% accurate emulation, it would be better to only enable the games whose IWAD file is detected. I'm not seeing much harm in allowing the use of compatible IWADs, though, even if they aren't fully accurate wrt the original. Perhaps we could add a notification in this case that informs the user about not having the correct IWAD.
Sign In or Register to comment.