How w0termel0n/spellslinger works
SpellSlinger combines rune drawing and dataset contribution with a spell-combat game. In rune identification, a drawn stroke is classified by the CNN and checked against a geometric template; in the game, recognized spells are subject to gameplay rules and effects. The tree and excerpts establish the GUI, model, validator, spell definitions, and game modules, but the README is empty and much of the game implementation is unsampled, so uncertain runtime dispatches are omitted or marked unverified.
Main entry points: run_game.py Game runtime · draw_gui.py Rune drawer · model.py Rune CNN · spell_list.py Spell attributes
Components 12
Rune authoring
- GUI launcher
run.py - Rune drawer
draw_gui.py - Rune samples
dataset
Rune recognition
- Training launcher
run_training.py - Rune CNN
src/model.py - Path validator
src/validator.py
Combat runtime
- Game runtime
src/run_game.py
Spell domain
- Spell factory
src/spell.py - Spell attributes
src/spell_list.py - Spell labels
src/spells.py - Effect handlers
src/effects.py
Other components
- User
Connections 17
- User → GUI launcher: launches
run.py - GUI launcher → Rune drawer: creates
run.py - Rune drawer → Rune CNN: loads and predicts
draw_gui.py - Rune drawer → Path validator: validates strokes
draw_gui.py - Rune drawer → Spell labels: maps predictions
draw_gui.py - Rune drawer → Rune samples: reads and writes samples
draw_gui.py - User → Training launcher: starts training
run_training.py - Training launcher → Rune CNN: trains
run_training.py - Rune CNN → Rune samples: loads images
src/model.py - User → Game runtime: plays
- Game runtime → Spell factory: creates spells
src/run_game.py - Game runtime → Spell attributes: supplies spell data
src/run_game.py - Game runtime → Path validator: checks rune paths
src/run_game.py - Game runtime → Spell labels: maps predictions
src/run_game.py - Game runtime → Effect handlers: dispatches effects
src/run_game.py - Spell factory → Spell attributes: constructs from
src/spell.py - Effect handlers → Spell attributes: reads spell names
src/effects.py