Devlog #4 - Designing a Spellcrafting System


Too many games get carried away with crafting. I’m not a fan of it, but I have a soft spot for spellcrafting systems and I don’t think this game would be complete without one.

  • Simple user interface (cryptic and awkward enough to be challenging but not too irritating)
  • Some easy custom spells and premade spell recipes (in spellbooks) to learn from
  • Deep emergent complexity from a large selection of building-block components
  • Multiple solutions to many problems
  • Synergies and incompatibilities with other components, sources of power, domains of influence, mechanisms of action, character stats and skills, play styles, etc
  • Many ways to invoke magic: pure force of will, oral incantations (easier to remember, but slower and noisy), hand signs (quiet but more limited), potions and mechanical items (reliable but logistically challenging) - and these are distinct skills so you’ll need to choose which to spend your skill points on
  • Possibilities the developer can’t even imagine
  • Simple sound and visual effects corresponding to spell components
  • Premade spells to learn from
  • Good learning curve: easy to craft basic spells, nice rewards for getting better, challenging to craft optimal complex spells

Here’s what we have so far

In the top left is the “hotbar”. It’s just a button guide; it’s not clickable because the mouse is used for movement. You can have up to 9 quick-access spells and items.

You can create, modify, and invoke all your spells from the character screen, and you assign hotkeys here by selecting a spell and pressing a number.

Gamepad and mouse support

We have a pie menu of sorts. Squeeze the right trigger, select a spell with the left stick, and release. Option 1 is quicker, just tap RT. If you change your mind you can press B to cancel. You can also use the mouse for this if you prefer to keep your left hand on WASD.

Spellcrafting screen (early prototype)

You will add building block “components” (more on that next), reorder them as necessary, and probably tweak some options in the inputs/outputs/effects sections.

Spell component selector screen (early prototype)

Here we have a big list of sorcery techniques you’ve learned or discovered, relevant items in your inventory, and items you have knowledge of.

You’ll probably want to use the keyboard for spellcrafting, but ultimately it should be usable with a gamepad or Steamdeck.

Open Questions

Answers added Feb 17, 2024

Can you use spells as components of other spells? This sounds cool because you could make a new spell that benefits from already leveled-up spells and from future leveling-up. There’s one catch: both spells occupy limited spell slots and you can’t delete the first unless you delete the second. I think we’ll do this if it’s easy to code and useful.

A: Yes, I believe we can and will do this.

Physical Items: there are so many possibilities, where do we draw the line? Well, I definitely don’t want a Witcher system where you collect herbs, flowers, and animal parts to brew potions. As a vampire you deal mainly with blood. Potions could be intangible magic infused into bottles of blood - or ordinary drinks to put spells on unwitting mortals. Clothing, weapons, and mechanical devices could be enchanted with blood. This way we don’t have to create a whole array of special magical items.

A: Potions will be ‘pre-cast’ spell recipes ‘bottled up’. A: Magic ammo and stored magical energy will essentially be potions. A: Enchanted equipment seems reasonable. A: There will probably be magical and scientific apparatus required for certain lab work and energy harnessing (e.g. leylines) but I would prefer that they not be craftable. Some will be rare artifacts. Others may be purchased from scientific supply shops or custom-manufactured from blueprints.

One-time Spells: sometimes you’ll probably want to create one-off magic items or transmute magic sources. It would be nice if you can do this on the spellcrafting screen instead of saving the spell, invoking it, then deleting it. This should be possible even when all your spell slots are full.

A: Done - added a Cast button to the spellcrafting screen. The catch is, it’ll be slower than memorized spells, thus only suitable for potion brewing and other lab work.

How does character leveling impact spellcrafting? You earn additional spell slots… or you earn spell points you can use to improve existing spells or add new ones.

A: Points. Furthermore we’ve switched to a single pool of stat/skill/spell points, so investing in magic is strictly optional.

Spell Leveling: I like the idea, but what if you want to tweak a spell after you’ve leveled it up? If you could change everything it would break the game. Maybe you could substitute ‘equivalent’ sources and tweak certain parameters though. Also, how does leveling affect the spell? The level is ‘chunky’ - a small integer value - so I guess we need to distribute it across all the power/efficiency parameters of all the spell’s components - which will be floating-point values. The net gain should be roughly the same whether a spell has few or many components. The effect on each parameter will be arbitrary, making some components level-up better than others; figuring out what’s optimal will just be part of the game.

A: We have a tentative solution in v0.2: Component Leveling. Each component must be learned and then leveled up by casting spells which use it. Higher component levels may unlock qualitative enhancements as well as power/efficiency gains and additional energy sources. A spell cannot be leveled up until all of its components are all at least one level higher. Therefore, it is not possible to ‘cheat’ by editing existing spells.

New question: how cryptic should spell components be? Currently, each component does what it says on the tin. I don’t think gibberish or randomized names would add anything interesting.

A: Many components could have partially or entirely mysterious effects on hidden variables. Some straightforward components may have less obvious side effects. These mysterious effects can be corrected or enhanced by trial and error. Ideally they’ll be so convoluted that studying the game’s source code is actually less helpful than in-game alchemical experimentation.

All in due time. First we need basic spell-casting gameplay, a good assortment of spellcrafting components, and useful spells made from them.

Get Synthnostate: Sanguinity DEMO

Leave a comment

Log in with itch.io to leave a comment.