- Add version to commands
- Replace some deprecated code
- Add more unit tests for words package
- Update to Go 1.20
- Update dependencies
- Fix bug in premade language generation
- Add output flag to allow for writing output directly to files
- Add region generator
- Add charge tag flag for heraldry generator
- Add field type flag for heraldry generator
- Add config file configuration
- Refactor as a CLI tool and not an API
- Revert the "context" change
- Update to Go 1.17
- Add JSON hinting for music
- Add geographic areas, which include biomes, climates, and geographic regions
- Replace previous "climate" package with the new geographic areas
- Rework music style package to reflect musical theory instead of instruments
- Change how plants and animals are derived from geography
- Remove climate from culture to make it independent, despite originating a culture in a geography
- Fix deity relationships and add relationships to deity descriptions
- Update to use Go 1.14
- Fix bug where descriptors were dropped for blazon descriptions of singular charges
- Refactor heraldry package into several packages
- Add about 130 new charges to heraldry generator
- Add NumberToWord function
- Use simplified devices instead of devices
- Add error handling for API endpoints
- Add sample phrase and sample phrase translation to full language
- Add JSON hinting to alcoholic drinks
- Add description to Deity
- Improve error messages for heraldry generation
- Switch to using JSON files for data instead of hard-coded values
- Add insects and fish to animal data for climates
- Fix bug in ordering coordinates by distance
- Change where heraldry images are saved
- Switch to using Make for development
- Added /data endpoints to the API
- Add ability to generate regions from a culture passed in via POST
- Add drinking culture style to culture
- Add json hinting to a bunch more packages
- Add ability to generate new words for a given language
- Add json hinting to all structs required for generating languages
- Return full language data from
/language
endpoints, not a simplified version
- Add ability to generate cultures from a climate passed in via POST
- Fix bug in tree generation that prevented trees being generated for climates with low humidity
- Add json hinting to all structs required for generating climates fully
- Make the
/climate
endpoints return a full climate instead of a simplified climate
- Add remaining package description comments
- Make file save target configurable
- Add ability to save PNG files to disk instead of Digital Ocean Spaces
- Add
run.sh
script to make running the API easier for local development - Add package description comments to about half of the packages in this project
- Expand organization member ranks to have multiple possible age categories
- Refactor character hobbies to use multiple potential age categories instead of adult/child booleans
- Fix a bug in hobby generation when there was only one potential hobby
- Fix a minor wording problem in character descriptions regarding motivation
- Refactor climate generation
- Convert fish to Species struct
- Convert insects to Species struct
- Convert monsters to Species struct
- Convert plants to Species struct
- Convert trees to Species struct
- Convert animals to Species struct
- Remove Animal struct
- Split language package into conlang, language, and writing packages
- Add support for premade languages
- Add the Common premade language
- Remove "practice suffix"
- Add basic religion name generation
- Add several new weapon patterns
- Add hamlets and boroughs to town generation
- Add several utility functions to species
- Add tiefling to the race package
Make HTML index page with links to generators
- Make HTML index page with links to generators
Fix a bug in clothing style generation.
- Add prefix and suffix options to kilts
- Add trews
Fix a bug in deity holy symbol generation.
- Add a check for no domain holy symbols in deity holy symbol generation
Allow for configuring the domain name static assets are saved to.
- Add configurable static asset domain via
STATIC_DOMAIN_NAME
environment variable
Make region rulers noble families instead of individuals.
- Make region rulers organizations
- Make region rulers noble families
- Add noble families
- Fix a bug in organization size calculation
- Remove a debugging line from cloud save
- Fix a bug in age calculation
- Add heraldry to organizations as an option
Refactor races as species.
- Add "species" package
- Replace race object with species
- Refactor height and weight to be dependent on age category
- Include age categories in species definition
- Add wood elves, high elves, mountain dwarves, hill dwarves, and gnomes
- Add trait system
- Tweak weighting for races
- Replace old character appearance system with new trait system
- Give dwarves beards and halflings hairy feet
Improve organizations.
- Add wizard societies
- Add age calculation for organization members based on rank
- Add size limit variation to organizations
Improve how organizations are generated.
- Add wizardry schools to organizations
- Add ranks to organizations
- Make the number of organizations in a region dependent on its size
- Add profession name to its list of tags
Improve the pantheon package and relationships.
- Split domains and deities into their own packages
- Split relationships into their own package
- Added more logic to determining relationship validity
- Added more descriptors to relationships
Fix bug in tinctures
- Fix a bug that prevented tinctures from loading
Install ca-certificates in the Docker image
- Install ca-certificates in the Docker image
Change the base image used for building the Docker image.
- Change the base image from
scratch
toubuntu:18.04
for the Docker image
Make the data path configurable.
- Make data path configurable via
WORLD_DATA_PATH
environment variable
Add debugging in the form of logging errors for the API.
- Add error logging to the API
This version has a completely rewritten heraldry package. It now renders PNG images instead of SVG images and saves them to Digital Ocean Spaces.
- Rewrite heraldry package from scratch
- Update error handling
- Add tags to trees
- Change deciduous/coniferous logic to use tags
- Add cartwrights and land vehicles
- Add warlock, necromancer, and philosopher professions
- Change how resources and trade goods are named and described
- Clean up climate plant generation
- Clean up climate animal generation
- Change how climates are generated
- Fix obscure bug in climates for regions and towns
- Move fish to their own package
- Add tags to fish
Fix bad random logic.
- Fix bad random slice item logic throughout the code
Add real error handling.
- Add error handling to most areas
- Improve the word list for cultures
Improve stone and religion just a bit.
- Add stone types
- Modify generation of stone resources
- Add virtues to religion
- Add names to religion
Improve character description variety.
- Replace static character description format with a new random template system
Add insects, honey, and beekeepers.
- Add insects
- Add honey
- Add beekeepers
- Fix some bugs with plants
Add cactii, move trees to their own package, recategorize "fruits" into different groups.
- Move trees into their own package
- Move "fruits" into bushes and melons
- Move avocados to trees
- Add cactii
Add travelling merchants.
- Add merchant endpoint
- Add values to resources
- Add price calculation to trade goods
- Improve a number of basic and refined resources
- Add a few new resources
Add several new resources and the ability to override resource origins.
- Add distilled beverages
- Add metal alloys
- Add velveteen as a fabric
- Support overriding the origin of a resource
Add Sentry error tracking.
- Add mandatory Sentry error tracking
Add ability to save to Digital Ocean Spaces.
- Add ability to save PNG and SVG images to Digital Ocean Spaces
This is a big refactor of the heraldry package. This work enables a later addition of generating heraldry with specific charge types.
- Refactor heraldry package to improve adherence to Go best practices
- Add heraldry utility functions for finding charges by tag
- Add more tags to charges
Add tags to animals
- Add tags to animals
- Fix bug in climate generation that sometimes prevented clothing styles from being created
Add resource tiers
- Implements tiered resources
- Summarizes resources as trade goods
- Adds a number of resources and patterns
Improved resources, professions, and organizations.
- Fix bug in organization generation where it didn't recognize all types of organization
- Add crafting guilds back to organization generation
- Add blacksmith, bowyer, and farrier goods
- Add many more patterns, especially to armor and weapons
- Add ability to turn patterns into resources
- Add a few new professions
- Add tags to professions that were missing them
Massive rework of resources and institution of professions.
- Add professions
- Use professions everywhere, including for resource generation and for characters
- Add resource system to replace existing "trade goods" resources
Changes to food.
- Add basic desserts
- Remove fruit from main dishes as a base
Small bug fixes.
- Fix a bug where weapons as trade goods would cause a crash
- Fix a bug where a climate wouldn't always include at least one fabric plant, one fruit, and one grain
Big upgrade to how resources are dealt with.
- Move resources to their own package
- Declare resources with their owning item instead of elsewhere
- Move drinks to their own package
- Add more detail to drinks and make them ingredient-dependent
Integrates size package with races.
- Replace race size with race size category
- Add unique traits to each race
- Add unique traits to race description
Adds basic monsters.
- Add basic monsters and a monster API
- Add size package and use it with monsters and animals
Fixes a bug in deity simplification.
- Fix a bug in generating deities where sometimes a blank simplified deity would be created
Adds translation to languages and population of word lists based on the culture's origin climate.
- Update word list based on culture climate
- Add translation functions
- Add capitalize first function
Big update to languages this time around. This is foundational work for real phrasebooks and better name generation.
- Added generation of coherent word lists to languages
- Added a "Rosetta stone" phrase to language output
- Added basic verb conjugation support
Fixed two crash bugs.
- Fixed a crash when holy items weren't being calculated correctly
- Fixed a crash when no fish were generated for a climate
Building styles and clothing styles are the big winners in this release. Also quite a few bug fixes made it in.
- Clothing styles are much improved, with outfits making more sense
- Building styles got a little more variety
- Refactoring was done for animals and plants to make changes easier in the future
- Bug fixes, primarily in materials
This version moves to using manual semantic versioning. The previous scheme used 0.1.X versioning, where X was the CircleCI build number.
The version number 0.2.0 was chosen to differentiate it from that process.
- Tag the current version of the World API as v0.2.0
- Update the CI/CD configuration for CircleCI to reflect the new scheme
- Add the git commit hash as an additional Docker image tag