Hey there! The website looks fantastic π Iβd love to contribute to the code when I can find the time.
I was writing up some technical thoughts on the Nimble Discord when I realized, βThis would probably make more sense on GitHub!β π
Youβve done a great job with the bestiaryβs data structureβitβs really accessible, even for non-coders, with minimal guidance. And itβs clear and straightforward to work with, which is awesome. I did want to suggest a small change for scalability: having all monsters in a single YAML file could become a bit tricky to manage as the project grows, especially if you want to programmatically add or modify monsters down the line.
Hereβs a solution I was thinking about:
Set up a monsters folder with subfolders for each family.
Each family would have a family.yaml file to store common attributes.
A family.yaml file would look something like this:
# hobgoblins/family.yaml
name: Hobgoblins
slug: hobgoblins
ability:
name: Hammer the Gap
description: Once per round as a reaction, make a melee attack against a hero damaged by another creature for free.
Monster files would be really nice and short as well:
This setup makes it easy to add new families or monsters without editing a large YAML fileβjust drop in a new folder or file as needed! Youβd only need a simple function to loop through the folders and read in all the families and monsters. Iβd be happy to work on a script for that if time allows.
This approach also sets you up for future scalability if the monster list grows large, as it would make lazy loading easier down the road. But thatβs probably a ways off π
Hey there! The website looks fantastic π Iβd love to contribute to the code when I can find the time.
I was writing up some technical thoughts on the Nimble Discord when I realized, βThis would probably make more sense on GitHub!β π
Youβve done a great job with the bestiaryβs data structureβitβs really accessible, even for non-coders, with minimal guidance. And itβs clear and straightforward to work with, which is awesome. I did want to suggest a small change for scalability: having all monsters in a single YAML file could become a bit tricky to manage as the project grows, especially if you want to programmatically add or modify monsters down the line.
Hereβs a solution I was thinking about:
monsters
folder with subfolders for each family.family.yaml
file to store common attributes.This would look like:
A family.yaml file would look something like this:
Monster files would be really nice and short as well:
This setup makes it easy to add new families or monsters without editing a large YAML fileβjust drop in a new folder or file as needed! Youβd only need a simple function to loop through the folders and read in all the families and monsters. Iβd be happy to work on a script for that if time allows.
This approach also sets you up for future scalability if the monster list grows large, as it would make lazy loading easier down the road. But thatβs probably a ways off π
Let me know what you think!