Quick Source Loading Page

From PCGen
Jump to: navigation, search

The current source loading page is difficult for new users to understand ands is lacking in general guidance on what to do next. As this is the first thing a user sees it is a significant barrier to usage.

This specification describes a simplified source selection user interface that allows use by both new and advanced users.

User Interface

The Quick Source Loading page should pop up when PCGen is first started. It should have large (200x200 pixel-ish) buttons showing the common sets of sources to be loaded. Out of the box it should cater for both PC only and game master versions of "SRD", "RSRD", and "MSRD". Obviously other major game modes should be available here too, however we need to be careful not to overload the screen and make it too complex again. When clicked each sets the game mode and loads those entire sets (e.g. RSRD Complete). This would be single shot, no additional questions for the user.

Other buttons on the screen:

  • Define a quick launch set of sources. This brings up the old sources selection screen that would set the sources for just that button, returning the user to the "quick sources" after "OK" is clicked.
  • Load Custom Sources This is a small button (vertical size similar to traditional buttons like "OK", and "Cancel"), which allows creation, hiding, and deletion of the shortcut buttons. The screen can probably reasonably handle 8 large shortcut buttons before it's overloaded visually.

Once the data is loaded the next action should be obvious. The primary actions are:

  • New - create a new character
  • Load - load an existing character
  • Generate - generate a new random NPC

These could be provided by a series of buttons on the screen or the quick sources dialog is hidden and buttons are shown on the main part of the screen.

Tom's mockup: Tom;s mockup

Connor's mockup: Connor's mockup of the quick source loading page

Which Sources are Displayed

The following use cases need to be supported by the Quick Source Loading dialog:

  1. Standard shipped sources - we would like RSRD for Players (PC races & classes), RSRD for Game Masters (SRD including Monsters) etc to appear as selections when the program is first started.
  2. User custom combination - it should be easy for users to define their own combination of sources to load, like the existing screen allows, and give that combination a title and then for it to be displayed in the Quick Source Loading dialog.
  3. GM Supplied Sources - it should be easy for a GM to ship their custom combination to their players and for the players to install that set. Once installed the source should appear in the Quick Source Loading dialog.
  4. Last loaded sources - the sources that the user loaded in their last session.

For each source to appear in the dialog we will need to know the title to be displayed, the game mode to switch to and the PCC files to be loaded.

In supporting use case #1 there are two existing structures that could be harnessed: the DEFAULTDATASET tag usable in the game mode and the SHOWINMENU tag usable in PCC files. The DEFAULTDATASET tag would need to be enhanced to include a title, but this would allow a collection of PCC files to be loaded. The SHOWINMENU only loads a single PCC (which may include references to other PCC files of course) but the title would be from the CAMPAIGN tag and the game mode form the GAMEMODE tag (first mode used if multiple are listed). Data sets would be shipped with the SHOWINMENU flag set. NB: The use of the DEFAULTDATASET tag for this purpose may mean we end up with too many entries if there are game modes which would otherwise be excluded.

Use case #4 is simply a matter of highlighting the last data set loaded in the last game mode, if the Quick Source Loading dialog is the only way to load sources. If the existing page continues as an 'Advanced' page then the last data set loaded will have to be added as an entry to the dialog in much the same manner as a DEFAULTDATASET would be.

Use cases #2 and #3 are dealt with in the Adding New Sources section below.

User Preferences

The user has two possible actions that are preferences only - remove source and reorder.

Remove source could be recorded something like:

pcgen.files.hiddenSources=3.5 RSRD,MSRD - All

Ordering could be handled something like

pcgen.files.quickLaunchSources=Pathfinder Player,3.5 RSRD Player,MSRD - Player,Pathfinder GM

It is important to have removed sources in addition to the ordering in preferences in order to support use case #3 above where a GM sends the player the sources. If sources not listed in the order were hidden then new sources would not be displayed.

Sources flagged for use in the Quick Source Loading dialog but listed in neither list would be displayed in the dialog after those defined in the order list.

Adding New Sources to the Page

Supporting use case #2 (see the Which Sources are Displayed section above) would require a PCC file to be written out with the title and the SHOWINMENU flag set to true. This will be the primary way that non-core sources get viewed and selected by the user.

Once the user clicks the "define" button they would be asked for a game mode and then the current Source Material tab would be displayed as a dialog. They would then move select sources as per normal and hit OK. At that point they would be asked for a title for the set and the selections would be written out as a PCC file with the SHOWINMENU flag set to yes. They woudl then go back to the Quick Sources dialog with the new source selected.

While this is similar to the current PCC customiser page, the Source Material is much easier to use given its respect of game modes and its source oriented display. The customiser would remain for advanced use when specific files were required.

Use case #3 is an extension of use case #2. We should have an export function which will package up the custom PCC file in a zip file suitable for use by the Data Installer. This can then be sent by a GM to their players.

Question: Should we include other sources in the install pack? If so how should they be selected? Possibilities are to include sources from the vendordata folder, or to allow the GM to select the sources to be included.