#65 Making the game more "playable" for newbies

open
nobody
None
5
2010-12-08
2010-12-08
Dan Weber
No

I'm looking into making Ultima IV more "playable" for people who haven't played it before. This topic got some blog attention a few months ago.

The classic U4 really does require a lot of external storage, where "external storage" is "paper notes developed over time." Modern players (like my son) don't grok this concept at all.

So I want to include a lot of this information within the game itself, including a note-taker. All of these things will be optional, of course, and can be turned on and off like our other game enhancements.

My proposals, in turn:

1. Mixing spells

The table we all wrote up (or find on websites now, or have memorized) should be built into the UI. When the player selects "Mix", the main window gets replaced by a table. Basically each row is a spell, and each columns are the reagents, with checkboxes or the like in the proper boxes.

When a player wants to mix up a new batch of spells, they don't need to specify the reagents. They just pick the spell, and how many they want.

Additional rows would show the reagent shops the player has found, and the price in each. They would also show the current inventory of reagents.

Additional columns would show the current quantity of mixtures, the MP needed for each spell once known, and (maybe) the places each spell can be cast.

Here is an example, that hopefully comes through in email. Try a non-proportional font if you have to.

+===========================================+
| Skara Brae | 2 | 4 | 9 | 6 | 4 | 8 |
| Moonglow | 2 | 5 | 6 | 3 | 6 | 9 |
+===========================================+=======+
| | |Sul|Gin|Gar|Bld|Spd|Blk|Nit|Man+====+
| | |Ash|sng|lic|Mos|Slk|Prl|shd|drk| MP |
| Inventory | 30| 23| 60| 24| 99| 23| 0| 21| |
| | | | | | | | | | | |
|Awake | 6| | X | X | | | | | | 5 |
|Blink | 11| | | | X | X | | | | |
|Cure | 45| | X | X | | | | | | 5 |
|Dispel | 4| X | | X | | | X | | | |
|Energy Field | 0| X | | | X | | X | | | |
|Fireball | 12| X | | | | | X | | | |
|Gate | 0| X | | | | | X | | X | |

Etc.

I've attached a screenshot of my current implementation. Colored text really helps.

1a) The Book of Wisdom suggests that the relative quantity matters in some spells, like Sleep requiring "a double portion of Spider Silk with some Ginseng." Either through trial-and-error or via being told by NPCs, players eventually learn that this is irrelevant. I suggest just skipping this step.

1b) Not all reagents mixes are known to the player when they start. IIRC the player doesn't know how to mix up Gate, Resurrect, or Undead. Perhaps these lines start blank, until the player discovers how to mix them from players or through his own trial-and-error. Where do I store this information?

Looking through the code, I think I need to make a new ViewMode (VIEW_MIXTURES) and (LAYOUT_MIXTURES), and then drawing text on the screen.

2. Talk journal

Almost everything that an NPC says should be logged in a searchable file, like this:

TRINSIC
RIGMORE
LOOK
a strong paladin
HEALTH
Extra good.
JOB
I am the welcomer.
WELCOME
Yes, welcome to Trinsic city of honor.
HONOR
Wisdom on the virtue of honor is found throughout this towne.

2a) I do not intend to remind people when they meet Joe that Larry said "ask Joe about the Gate spell." First, it would take some effort in coding. Second, I think that players should have to pay attention. No "!" will appear over an NPC's head.

2b) Players might want to flag some NPCs' conversations for layer, and sort them that way.

2c) Probably reveal to the player that each character has two prompts. If you haven't gotten both (and have tried "A") then there probably is something else this NPC can tell you.

2d) Not sure how to handle questions. Players might feel the need to answer both "yes" and "no" in order to complete this file, but doing so will often ding your humility. (Although there are certain places where you need to take this ding, like in Jhelom to get Lord Robert to tell you to ask Nostro about the rune.)

3. Mapper

Every square that you see should go into a mapper. I'm not sure which window to display this in. Any non-permanent object (chests, NPCs, gates) will not be shown. Viewing through a gem does not count as seeing. But viewing from a balloon (or via X-ray, for Ultima 5 fans) does.

Should note the location of structures.

We also need a hi-res, zoomable version of the cloth map.

I have more ideas on concept than on execution here. I need to get my head wrapped around the event model and the graphics libraries. I'm not sure if scaling will be an issue. Maybe the user would prefer to have a local map replace the status window of the players.

4. Virtue chart

We all know it. We've memorized it. Important stuff is:
Virtue
City
Class (Magic Ability?)
Companion
Rune
Mantra
Shrine
Dungeon, and Dungeon Location
Stone Color
Principles
Infinity runic letter

But how does it populate? Let the user edit it? Do it automatically when people tell us things? (We could auto-enter the Mantra if it's on the chart. Although no one ever tells you the mantra of humility.)

Discussion

  • Dan Weber
    Dan Weber
    2010-12-08

    screenshot of new mix screen

     
    Attachments
  • moving this to feature requests, since it isn't an actual patch.

     
  • Dallen Wilson
    Dallen Wilson
    2011-04-14

    I think that'd really detract from the 'spirit' of an old game like this. Perhaps a 'read tips' option on the main menu or a note when initiating a new game to the effect of "Tip: Keeping a pen & paper or open text file handy for notes will save you time in the long run". It'd definitely be less work then the journaling you're proposing ;)

    I know you mentioned this is more concept then execution, but the execution is really the key, here. There isn't a lot of screen real-estate to play with in u4. How would you go about accessing/displaying such information? The scrolling-history model isn't going to cut it at all, and even using the whole screen, u4's standard font doesn't give us much room either.