SplitScreen-Me / splitscreenme-nucleus

Nucleus Co-op is an application that starts multiple instances of a game for split-screen multiplayer gaming!
https://www.splitscreen.me/docs/what-is-splitscreen-me
GNU General Public License v3.0
856 stars 50 forks source link

✨ Setup Screen Instruction Enhancement (Layout Selection) #75

Closed RangerTJ closed 3 months ago

RangerTJ commented 3 months ago

I have searched through the issues and didn't find my problem.

Problem

Howdy!

This is primarily a usability suggestion (I think 'feature' is more appropriate than bug fix for this, since it isn't strictly a 'bug'). Currently, there are no instructions (that I could see) on the Setup Screen itself that tell the user to click the "layout square" to cycle through layout options before dragging devices to their respective windows within the layout, or a label that explicitly points out what the square in the top left of the screen diagram is for.

This is covered thoroughly in the hub documentation (https://www.splitscreen.me/docs/usage) but does not appear in the Nucleus Coop application itself (again, unless I missed something). As such, a new user who didn't check out the docs yet (or an existing user that hasn't run the program in a while and forgot how this screen works... like me... lol), might think the "drag controllers" feature isn't working normally or may be wondering why they aren't seeing a split screen setup on the screen diagram(s), when in reality they just didn't change the layout from a 1-person screen to something else yet.

Possible Solution

My suggestion is to update the instruction strings to contain additional text that instructs the user to first select a layout by clicking/cycling the layout selector to a desired layout (before continuing on to instruct about dragging controllers). Depending on how wordy/detailed this section should be, I have a few ideas on potential phrasing. The current instruction covers the "drag and drop" stage well enough and reads:

"Press A Key\Button On Each Device & Drop Them On The Screen"

Wordiest Suggestion (Step-by-step Instructions): "1) Left click the square in the top left portion of any screen diagrams below until you have selected your desired split screen configuration 2) Press any key / button on each device you would like to use 3) Drag each device onto a player position on the screen diagram"

Shortest Suggestion: "Click the top-left icon on the screen(s) to cycle layouts. Press a button/key to register a device, then drag its icon to a position {on the screen/screens}."

If this is a Handler-Specific Issue My current understanding is that when you first load a setup screen, it always defaults to the 1-player/non-split setup. I only have one game that I can test with at the moment (Halo: MCC), so it's possible that I may have skewed perspective and it doesn't always default to 1-player mode. If this is the case (and there are other handlers that default to 2+ player screen defaults where this is a non-issue), I would suggest tweaking the language to be more of a catch-all along the lines of:

"Press a button/key to register a device, then drag its icon to a position {on the screen/screens}. If you do not see multiple player windows, click the top-left icon on the screen diagram(s) to cycle layouts first."

Permutations I'm using the multi-mouse/keyboard text as the example here, but I'd suggest a similar edit be applied to the other possible setups (more on exactly what probably needs to be edited in "additional info").

Why? The net effect of this change is that it would help call attention to the layout selector icon and what it does, which is just as important an aspect of the screen as the controller assignment. The hope is that this would ultimately help program usability/polish, while cutting down on time folks spend pinging the support channel or surfing the FAQ (or just silently giving up). I didn't see this issue listed yet (and haven't found anyone reposting it in my cursory searching of the Discord server), so I'm not sure this actually is that big of an issue, but I figure a little extra instruction/clarity during the relevant step never hurts! (As long as it's not cluttering things up anyways).

Additional information

For additional context, I noticed first this issue while running v2.2.1 using the Halo: Master Chief Collection Handler.

I did my best to trace the source of the message strings, and it looks like all the strings of this sort are found in /Master/NucleusGaming/Controls/SetupScreen/Draw.cs between lines ~391-416. Looking at the strings, it looks like this is also the case for the other conditional branches here. As such, I'd suggest the strings at current master branch lines 391, 398, 409, and 413 in Draw.cs would all have similar text updates to add the layout selector instruction details.

Mikou27 commented 3 months ago

Hi, there is a question mark icon on the setup screen which open a little instruction gif explaining how to setup.

RangerTJ commented 3 months ago

Oh, neat, I totally missed that. That's a super useful animation! I wonder if it might be worth updating the existing guide text to call extra attention to the help/'?' icon on the page for newer users (low priority, since the info is all there in the app, but may have similar benefits to the original issue suggestion by increasing the tutorial visibility).

My line of thinking when I posted the issue was that this would be a way to get an abbreviated version of the layout selection instructions on the same screen as the feature, since it's a key function of the Screen Setup page too (which would improve usability a bit, since users then wouldn't have to find/look up the instructions on a different page of the interface). Though if this would clutter things up too much, I definitely understand the idea of trying to keep things minimal too.