Words of Power devlog #2: Invocation of Magic

After intro to Theory of Magic let's think about Invocation of Magic and human-to-magic interfaces next. In particular let's focus on ways spells can be triggered by mages in videogames.

All videos in this post were made in-game by me, and they are all under 1 minute so don't be afraid to watch them.

Common Invocation

In a vast majority of video games featuring magic, spells are cast by pressing a button - be it mouse button, keyboard button or controller button.

Many different systems for acquisition, creation, modification, and combination of spells have been implemented over the years but these are separate from the casting itself. During gameplay, spells are usually selected by pressing corresponding combination of buttons.

MOBA/RTS games brought us the innovation of fast cast/smart cast when a spell is selected by pressing a button down and cast by releasing the very same button. Targeting indicator can be shown while the button is held down allowing the player to aim after selecting spell and reducing effective amount of key presses by 50 % - very nice! Modern spellcasting is indeed very fast when you wire your brain to correct buttons.

Magickal Invocation

Few PC games dared to deviate from the beaten path of one button per spell. Most notably Magicka series - Magicka, Magicka 2 and now dead online Magicka: Wizard Wars.

Magicka spells are invoked in real time by selecting up to 5 elements and triggering a cast type (self, forward, around, weapon). Depending on selected elements and cast type, different spells can be invoked. All element combinations result in a spell and some specific sequences result in premade spells (Magickas).

This introduces new options/features to the game such as:

  • complex/longer spells require more time and mental effort to cast - a price much more personal to the player than abstract mana points/cooldown number
  • ability to experiment and create new spells during battle - knowledge and understanding of magic system are rewarded with real power in-game
  • ability to cast random/unexpected spells by mistake
  • endless ways to kill yourself by accident

Magicka features one of the best dynamic magic systems so far and I fully recommend studying it, especially with friends. However, it's still button based. Is there no other way?

Godlike Invocation

One-of-a-kind god simulator Black & White (B&W) from ancient year 2001 is the first game where I encountered gesture recognition. It allowed players to invoke miracles using gesture drawing with a simple one gesture per miracle mapping:

In other words players draw gestures on-screen using mouse in real time to be recognized (or not) by the game and cast associated miracles. Technically buttons are still involved to start and end drawing but it's the trajectory of the mouse that selects particular miracle.

Arch Invocation

In the following year 2002, our world was blessed with Arx Fatalis the RPG featuring the most original and interesting magic system I ever witnessed. As a testimony to its greatness, the community created a cross-platform open source port Arx Libertatis which still works on modern systems so people can play it even after two decades.

Like B&W, Arx uses gesture recognition system to cast spells but on top of that each spell is composed of multiple runes in specific sequence. There is a predefined set of spells invoked by drawing corresponding runes in correct order:

Each rune has few things associated with it:

  • shape: Yok
  • name: Yok
  • meaning: fire

Knowing rune shapes is neccessary for casting spells and knowing rune meanings helps with remembering correct rune sequences for individual spells. We'll look at meaning and magic languages in future post, for now let's focus on the drawing as a means of input.

Words of Power Invocation

In Words of Power I'm implementing state-of-the-art magic invocation system based on symbol drawing not unlike Arx Fatalis but with some notable differences/improvements to address limitations and frustrations of existing systems.

Words of Power currently use a generic probabilty-based model (GMM) to recoginze drawn symbols with additional machine learning tools under consideration. By design, the model doesn't care about sequence or speed of drawing, it's only the resulting symbol shape that matters unlike Arx/B&W with gesture-based approach. I believe my symbol-based approach should lead to a more comfortable experience closer to real world handwriting/drawing including more individuality as opposed to enforcing a specific way and speed of drawing. Furthermore, I allow symbols to be composed of multiple curves which permits representation of a wider range of symbols.

I need to finish in-game symbol and alphabet editor before spending time on presentation but let me at least tease you with current version of TexnoMagic Invoker prototype which is in charge of recording and rendering user drawings:

I fully intend to include tools I use to draw symbols in-game and empower players to create and share entire magic alphabets of their own, be it existing favorites or entirely new creations. This makes the development much more demanding but why settle with a single hardcoded alphabet when you can have as many as someone is willing to create and share through steam workshop and other means?

Aside from being a game, Words of Power will also serve as a creative tool providing more demanding magic users with means to create functional magic alphabets by drawing individual symbols and training models to recognize them. Creating new symbols, words, alphabets, and languages is fun and Words of Power will allow a lot of that with an added bonus of shedding some light on the magic of symbol recognition/machine learning for those who care.

I hope the next log is going to be about groundbreaking progress on the symbol editor, see you next time!

Next log: #3: Lessons from Prototype MK1

Words of Power