Generate the glyphs based off Gorilla of Denstiny's science of magic system
- Run the
app.py
file - Fill in the dropdown boxes with desired values
- Click the
Generate Glyph
button.
OR
- Run the
app.py
file - Click the
Random Spell
button to generate a random glyph.
pip install -r requirements.txt
Currently the project is pretty much finished - I just have to solve the duplicate spell problem
I'll continue to make minor improvements/add features upon request but otherwise I'm calling it a success.
Thank you to GorillaOfDestiny for supporting this project and everyone in the Discord who I bounced ideas off of.
There are spells that are basically identical, even with conditions and casting time
Spells with attributes:
Level: 0
School: Evocation
Duration: Instantaneous
Range: 60 feet
Area Type: None
Damage Type: Cold
Concentration: False
Ritual: False
Matching spells: Frostbite, Ray of Frost
There are 22 spells that have duplicates. Grouping by same attributes there are 10 sets of duplicates.
Some of these duplicates I feel don't need modification (such as Magic Missle and Jim's Magic Missle). In the duplicates.md
file, I listed the ones I feel are acceptable and passable. Acceptable being ones I feel are allowed to have duplicates, passable being spells that are extremely similar such as two summon spells, one being for a demon, one being for a fey.
- Level 0 (Cantrips)
- Level 1
- Level 2
- SRD
- Level 3
- Level 4
Add conditions- Helped eliminate a few duplicates
Add damage of spells- Doesn't work with spells that don't have damage (
Elementalism
,Mold Earth
,Shape Water
)
- Doesn't work with spells that don't have damage (
Add casting time of spells (unlikely)- Most casting spells take 1 action
- Add category of spell
- Control, Communication, Detection, Deception, etc.
- This might be the best solution and may be able to be implemented without adding a whole set of attributes
- Possibly just modifying the image to have a characteristic depending on the category
- Will likely be difficult if different line type or base shape is used because I am bad at algorithms
- Possibly just modifying the image to have a characteristic depending on the category
- Update to work with draw_spell_2 from original project
- Standardize the Attributes
- Fix original code to allow for concentration and ritual attributes
- Allow users to select base shape
- Allow users to select line shape
- Randomly generate glyphs
- Make a catalog of all spells and their attributes
- Cantrips
- 1st Level
- 2nd Level
- 3rd Level
- 4th Level
- 5th Level
- 6th Level
- 7th Level
- 8th Level
- 9th Level
- Allow users to search for spell and return glyph - This probably isn't going to happen
- Have generated glyph return spell
- Be able to change random spell values after generation
- Allow users to select colors
- Whole glyph
- Individual attributes
I did not create any of the algorithms used in the backend of this program. I exclusively made the GUI and assembled the JSONs used in the spell lookup. Aside from slight modifications, I have done nothing to the bases.py
and line_shapes.py
. I have made a number of changes to writer.py
, but the majority is still the original code.