open-campaign-logger / generator-library

This repository contains the generator library files for https://campaign-logger.com/generator which can be referenced like this: "{lib:adjColor}".
Apache License 2.0
31 stars 13 forks source link

Built-in generator functions #12

Open JochenLinnemann opened 7 years ago

JochenLinnemann commented 7 years ago

Currently we use different tables for upper-case/lower-case results, for having an indefinite article added, etc. This isn't feasible. So let's collect ideas for generator functions which could be applied to (sub) results.

hkokko commented 7 years ago

LowerCase?

evesala commented 7 years ago

Plurals. Just adding 's' or 'es' should cover the vast majority of cases.

An external natural language library (see my link on the Google+ site) would probably be required to handle the special cases, if a close to perfect solution is wanted.

evesala commented 7 years ago

Remembering the generated result so that it can be used again later in the result pattern. See the "Storing Text" section of the Perchance tutorial:

https://perchance.org/tutorial

(Syntactical compatibility with Perchance would be great, if it's possible.)

evesala commented 7 years ago

A non-repeated result - meaning that when one random result is produced, the same result will not be used again in the same result pattern.

(See the selectUnique and consumableList syntax in the Perchance.org tutorial for examples of use cases.)

evesala commented 7 years ago

This is an advanced feature and may not belong to this discussion, but storing a semipermanent instance of the variables resulting from a table call (so that they can be reused in different contexts) could be really, really neat.

For example usage, see the separately installable createInstance plugin for Perchance: https://perchance.org/create-instance-plugin

JochenLinnemann commented 7 years ago

To summarize the current collection:

evesala commented 7 years ago

I'll add one more extra wish. This is also about applying a function to a subresult, although not necessarily in a way that you meant.

TableSmith has a very handy and innovative feature: if the result is otherwise fine, but there is a single detail that does not fit well, one can click the less-than-perfect string to reroll just that one subresult, keeping the rest of the output intact.

That would probably require a different way to present the output - instead of adding everything into a single result string, the result display would need to remember from which table each section was generated from.

I'm not sure if that is feasible, but that's one thing I really like in Tablesmith.

(Edit: Made a separate ticket #13 for this idea.)

evesala commented 7 years ago

Another somewhat related reminder, although quite off-topic:

The roll modifiers mentioned in #2 would modify the results as well, although already in the random generation phase. And checking the results would of course need handling of potential overflow or underflow situations.

evesala commented 7 years ago

One more simple postprocessing function:

Here's a brief explanation from the MediaWiki-based random generator Abulafia: http://www.random-generator.com/index.php?title=Template:Possessive