I am actively using Telnet to play in an RPG, and as such face making up descriptions in multiple ways. Of course, I could handcraft descriptions for things spending hours upon hours on making a wall of text, but others don't wait for that. So often, I experience I need a little help to get the fingers flowing.
Get me a prompt!
Sometimes, the item that is described won't be used later again or has little significance. In those cases, I use a few-traits model. That means, I only describe at most three traits of a thing to describe, and if it is ignored, it's gone. If it's investigated, I make up more stuff as needed.
For a person, that'd be age, gender & species, and a noticeable trait, while for a place I describe the use, condition, and noticeable trait. The noticeable trait can be anything from a single keyword to a short sentence. As needed, you can add more keywords, but fewer are better.
- [teenage] [female human] [punk with pink hair]
- [old] [male elf] [priest]
- [hallway] [dirty] [oak closet]
- [library] [clean] [red glass window]
Those keywords can be directly arranged to make up the bulk of a sentence:
There's a teenage female human punk with pink hair.
There's an old male elf priest in the dirty hallway with the oak closet.
The library is clean and intimidates with red glass windows.
Pick-and-choose elements
As an extension of the improvisation, I do have lists of traits. With those, I can pick together a character's description within a few seconds. This works somewhat fast, both for repeated use if I remember to save the keywords, and throwaways. Typical columns from the NPC list that I prepare in advance are:
- name, hair color, species/culture, clothing style, body shape, age bracket, and a single memorable trait.
During the game, this can result in NPCs that appear like these:
- Alrik Cobbler, black hair, human, red shirt/brown trousers/sandals, heavyweight, late 40s, missing the right eye. - used in a The Dark Eye game
- Halfdan, blonde, Dane, green-blue herringbone patterned wool tunic/silver bracelet, lithe and meager, late teen, scars all over the back - used in an Ars Magica game.
The process also works for rooms and places, but it needs different source lists for different types of rooms. In a document I use to help guide the description process for a modern setting telnet-based RPG, I have lists of elements that a typical room contains. Not all elements are mandatory, but the list helps me think of items to mention or not.
- Hall: closet, smoke alarm, light, heating/window/AC, doorbell
From the elements I set up for those, I just chose these to reflect a disused house:
- Hall: white cupboard, missing alarm, bare lightbulb, capped pipes protruding from the floor, missing doorbell
Taking these prompts to create a description is less than a minute, but it was longer than just chaining the descriptors as in the previous section:
The hall of the house only features one few things: the massive white cupboard is illuminated by the bare lightbulb in its fitting on the ceiling. capped pipes indicate where the heating used to be, the smoke alarm and doorbell are missing.
The fewer keywords you actually use for the description, the clear that puts the emphasis on those elements that are actually there. Compare the above to this shorter description:
The hall of the house only features the white cupboard and the bare lightbulb dangling from the ceiling.
By eliminating the missing parts, I put emphasis on the cupboard and the lightbulb, each getting one adjective only. Players might try the light switch and look for the contents of the cupboards now, but nobody will randomly try to rip the water pipes from the floor that were in the more elaborate prompt.
The good part about using element lists is, that you can pre-generate the traits and spellcheck the origin lists. If you are good with excel, you can use a dropdown menu to manually choose entries, or you can use a random number generator to pick for you, and then adjust the output.
The downside is, that creation of the source lists can take quite a lot of time, and you might miss out on things you suddenly feel the need for during the GMming. However, if you have pre-prepared the lists, and maybe a few entries, you almost naturally steer towards...
pre-preparing large numbers of descriptors
In one case, I had generated an entire town's population of NPCs. I started by generating names for all of them, using a random draw of first names from the relevant culture's naming list and a reduced list of family names. A random number generator assigned an age to each entry. Then I sorted for the surname, made sure that most families had at least one (near) adult member and then assigned professions to whole families where the surname didn't indicate one. Then I picked general familial traits that would be shared - usually the hair-color or a general build.
For example, the cobbler's family had all black hair and was of shorter build, while the harbormaster and his kids had green eyes and naturally red hair. Then some of these prepared family "blanks" were spiced with special traits that I wanted to use later as hooks - the Harbormaster's family had a calico cat, which would go missing midway in the campaign. Some families did not get a trait but individuals got pre-determined traits: The missing eye of Alrik for example was defined at this stage, as I'd need him as one of the town's veterans.
All character entries that were not determined in this initial preparation stage were kept blank to be filled in later when I used the NPC. As each of the key elements constitutes a field, documenting the ad-hoc assignment was a thing of only a few words in each empty column. Due to the setup of the campaign, in many cases, the noticeable trait ended up as the date and area of the town, in which the NPC died.
Looking at the entries for the ended campaign, I spied that the daughter of the cobbler reads still like this, since the start of the game. Apparently, I never got around to using this NPC, like quite some others.
- Hesindegood Cobbler, black hair, human, ??/??/??, short, 11, ??
alerts can help focus
One thing telnet doesn't do on its own is alert you of incoming messages. because of that, I have set up my telnet client with audible alerts triggering on specific keywords, highlighting them in a different color. For example, the OOC-tag is highlighted red, my login name is mint, and direct messages are yellow. With the OOC and the direct message I also get a beep. My screen then looks like this:

If you are using discord as your chat client of note, you can set up the alerts to sound on every line, or you require players to use @MaikoChikyu to announce actions and thus prompt the alert. Both of these require chat discipline, which is something to learn as a group.