In using Ares I’ve realized that all names need to be one word only. This could present an issue on games with themes where multi-word names are the norm (such as comics games, where bits often go by the character’s code name).
I’m wondering if there is an option to enable support for multi-word names, or how I might begin to edit the code in order to enable it.
This was a design choice I made early on, and it will take a crap-ton of work to change. Basically, the problem isn’t with the name itself - it’s just a string, and the database doesn’t care.
The problem is that you have to make every single command smart enough to accept multi-word names whenever you allow them to specify the name of a character. This is particularly onerous for the multitude of Ares commands that accept lists of characters, requiring either comma-separated names or putting quotes around names like mail "Captain America"=Subject/Message.
Not only would that require a great deal of parsing gymnastics scattered all over the code, I believe that makes for a poor player experience.
I figured that all the other benefits of Ares would counter-balance the down-side of having to make somebody’s name Rogers instead of Captain America. (Incidentally, my softcode package has had the same limitation for over a decade and a good many games have made do - though admittedly not without some grumbling )
I thought it might be something like that! It’s definitely going to be a major decision point in usage of Ares for certain games. Something to think about. But thanks for your reply!
Thanks for the feedback. I certainly have given it considerable thought during the founding stages. It’s just one of those things where there aren’t enough hours in the day to code All The Things to please everyone
With the Traits plugin, somebody can get a freeform comic book game - plus integrated website/wiki, plus elaborate scene system, etc. - stood up with extremely little effort. They have to weigh that against the effort of building a game from scratch on a different server.
If they decide that multi-word names are worth more than all the other features Ares provides, that’s cool. No hard feelings!
In chatting with @Altair offline, I thought it might be worth noting an idea we were brainstorming for anyone reading this thread later…
Instead of trying to make the engine and all the plugins capable of recognizing multi-word names (which would be huge), it would be far easier to create a demographic field (similar to the built-in “callsign” one) that lets you pick your superhero name, full name, or whatever fits the theme.
Then it’s just a matter of modifying things like the room desc and character desc to include that information at a glance. Callsign is already included in profile and character descs, so you could use that as an example.
FYI @Altair and anyone else interested in the thread - v0.18 will include a config option where you can tell the game to use a particular demographic field (like callsign for instance) as a nickname in name displays. For instance:
Where listing:
==~~~~~====~~~~====~~~~====~~~~=====~~~~=====~~~~====~~~~====~~~~====~~~~~==+
Ares Local Test
-----[ Open Scenes ]----------------------------------------------------------
-----[ Other ]----------------------------------------------------------------
#944 Private Scene Stirling ("Whisper"), Steve ("Captain America")
------------------------------------------------------------------------------
2 Online 2 IC 4 Record
==~~~~~====~~~~====~~~~====~~~~=====~~~~=====~~~~====~~~~====~~~~====~~~~~==+
Room desc:
==~~~~~====~~~~====~~~~====~~~~=====~~~~=====~~~~====~~~~====~~~~====~~~~~==+
Scene 944 - Even More Jungle
07/12/2018 ~ 07/12/2018
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Characters:
Stirling ("Whisper") - A desc.
Steve ("Captain America")
==~~~~~====~~~~====~~~~====~~~~=====~~~~=====~~~~====~~~~====~~~~====~~~~~==+
Not to be a giant nitpic, but can it but an option what that format is? Like the default format is set to ’ ("%s")’ (I don’t know Ruby’s go to template language), but me, I’d rather see like it be, ‘: %s’.
To me horizontal space on the particular line on ‘look’ is something I think a lot about. Losing 4 characters per person who is on the line hurts, even more readily seen on your where.
I’m not sure I follow. You mean like: Steve: Captain America ?
I don’t find the extra spaces a bad thing myself. I mean, if you’ve got more than 2 people in a room it’s likely to spill over to the next line on ‘where’ either way.
Its not that you got a buffer of two on either side.
Steve: Captain America
vs
Steve (“Captain American”)
You’ve chosen just about the thickest possible buffer to separate name from bioname here. In each place it shows there’s slightly different effects to this choice speaking for and against it.
In look, this means you’ve reduced the space available for the short-desc before cutting or wrapping. Especially if you have other things in look you want added (i’m gonna hack it up to add idleness!)
In where its different, what you’ve done is just made it messy and hard to read because yes, if you’ve got more then 2 people in a room its likelt to make the names wrap. Only this has made it worse with 3 characters gone to waste. What looks worse? “Logan (“Wolverine”), Billy (“Wiccan”) Steve (“Captain<br/America”)” oe “Logan: Wolverine, Billy: Wiccan, Steve: Captain<br/American”… To me? Both look bad but the second one looks less awful.
Other places this is used will have their own nuances, there’s no global feel about this because it depends on surrounding context
If you’re using the nickname field, you can control how the name and nickname are shown together using the nickname_format config option. It’s a standard Ruby format string with two parameters: name and nickname. Here are some examples:
"%{name} (%{nickname})" Steve (Captain America) "%{name}:%{nickname}" Steve:Captain America