Skip to content

Generate the glyphs based off Gorilla of Destiny's science of magic system

License

Notifications You must be signed in to change notification settings

Ludicro/GlyphForge

Repository files navigation

GlyphForge

Generate the glyphs based off Gorilla of Denstiny's science of magic system

Usage

  1. Run the app.py file
  2. Fill in the dropdown boxes with desired values
  3. Click the Generate Glyph button.

OR

  1. Run the app.py file
  2. Click the Random Spell button to generate a random glyph.

Requirements

pip install -r requirements.txt

Current Development

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.

Issues

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.

Contains Duplicates:

  • Level 0 (Cantrips)
  • Level 1
  • Level 2
    • SRD
  • Level 3
  • Level 4

Possible Solutions:

  • 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)
  • 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

Primary Tasks

  • 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

Secondary Tasks

  • 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

Tertiary Tasks

  • Be able to change random spell values after generation
  • Allow users to select colors
    • Whole glyph
    • Individual attributes

DISCLAIMER

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.

About

Generate the glyphs based off Gorilla of Destiny's science of magic system

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages