Toma400 / The_Isle_of_Ansur

Python-based text RPG game, successor of Between Shadows and Light.
Other
9 stars 0 forks source link

Events appendable via .jsons? #40

Open Toma400 opened 2 years ago

Toma400 commented 2 years ago

However this could be really tough from my perspective, events being created through .jsons (probably in worldpack? Or new type? Or statpack?) with custom behaviours could be AMAZING for modding possibilities. Currently those are put inside .py file and somehow "hardcoded", but they are not big thing yet, so I can change how those behave quite easily.

Having those easily appendable then could be really good decision.

Toma400 commented 2 years ago

One of the ideas which can be good workaround for it is merging forged_events with what was earlier draft-called as dialogue events, or using similar system to implement the first one "on the fly". To explain:

Modding support can either switch Forged Events e n t i r e l y into .json use (hence removing a lot of code from scripts.py), or make it so you can have vanilla events (scripts.py) and some handlers done via .jsons. Or! It can be done on-the-fly just like dialogue events, so as additional key in .json which will create either just event stringed name, or even customise some behaviour within it.

One of important aspects to add is that those lists could be also added in MORE THAN ONE list. To explain: the bigger list gets, the worse it can become to use, so splitting one huge list into few categorised ones is preferred.

Toma400 commented 2 years ago

Also important to tell is that FORGED EVENTS should be rather seen as temporary tools. What this means is that they should not be used as sole conditions for, for example, quests, but rather exist on different plane:

WITHIN QUEST:

WHEN QUEST ENDS:

This means that it would be neat to make some sort of "autocleaner" for those and create separate categories: for both clean reading, and also previous note on list sizes. REMOVING ELEMENTS FROM EVENT LISTS SHOULD BE PRIORITY.

Toma400 commented 2 years ago

Dropping #49 here