About

Hi all! I’m Mae, and this is my blog! So far, I use it for short fiction and analytical/philosophical essays!

Check out some of my friends’ blogs!

And check out these other blogs I like!

This is part 1 of a 2-part series on magic systems in video games.

This was actually the first post I started writing for this blog, but I ended up dragging my feet on finishing it. Like most of my posts, it’s adapted from a rant I gave on multiple occasions, and then decided would be better communicated as a post I could refer people to.

Foreword

Magic is everywhere in video games, but is boring slag in so many of them, and it bothers me. So, in this post, I’m going to elaborate on the sorts of magic systems that exist in video games, a bit about how most of them are so fucking bland, and some ways in which a minority of systems do a bit better. Then, in the next post, I’m going to discuss more about what is generally missing and what can be done to improve on the current state of things.

What Should Magic Be?

What I, personally, want out of magic systems in games is as follows:

  1. Creativity and Expression: Players should have a wide range of creative possibility with your magic system. Creativity is one of the best things you can allow to exist in your game, and magic systems are a perfect place for it. I may also use the word “dynamic” to denote the quality of enabling this sort of creativity.
  2. Mechanical Complexity: This one might be more contentious, but I think a magic system should be complex. That doesn’t mean it has to have a high skill floor, but it does mean that it has to have a high skill ceiling: lot of depth. It can’t feel like magic if it’s less deep than a game of “dice”.
  3. Feels Like Magic: You’d think this would be obvious, but I’ve seen a number of games utterly fail at this one. Your magic system has to actually feel like magic. If it feels like I’m writing code or matching cards, you’re doing it wrong.

With that established, I’m going to detail several categories of magic system and their failings and successes.

Supercategory 1: Discrete Spells

The systems in this supercategory have the least systemic nuance, and honestly they might as well just be one category, with the next supercategory representing all the other systems. The only reason this supercategory is split in three is that it represents the vast majority of magic systems in games, so the differences in categories is more noticeable, and matters more than it otherwise might.

Discrete Spell Systems use a list of specific spells the players can cast, with their own discrete effects. A player who knows how to cast Fireball cannot necessarily also cast Ray Of Fire or Fire Bolt, even if those are both easier spells in the same vein as Fireball.

All that’s not to say that none of these categories can contain enjoyable systems, just that their complexity and creativity is severely limited. None of these systems feel particularly magical, but they do a better job than “Literally Just Programming” systems.

Vancian Spellcasting

Vancian spellcasting is the only system on this list with a specific name, which it gets from the author, Jack Vance, of the books it is based on (Dying Earth). This system is the system used by Dungeons & Dragons, and if you have any interest at all in this topic, it’s the one you’re most likely to be familiar with.

Vancian spellcasting is defined by the fact that characters can memorize specific spells, and when they cast them, they are forgotten. If my character has the ability to memorize 4 spells at a time, then I might have Haste, Fireball, Shield, and another Fireball memorized, and when I cast one of those spells, I can no longer cast it until I memorize it again (in D&D, that’d be at the beginning of an in-game “day”).

Newer variations of Vancian casting allow characters to memorize a certain number of spells at a time, which can then be cast any number of times using a finite set of “casting slots”, or forego the “memorization” step entirely and allow players to cast any spells they know using their limited casting slots. I’m choosing to still call these variations “Vancian” for simplicity.

This system is extremely uncommon in video games, and the only video games which use the standard Vancian system are based directly on Dungeons & Dragons (like the first Final Fantasy or Baldur’s Gate). The most currently notable example of a type of Vancian system in video games is the first Dark Souls, which differs from the standard only in that each memorized spell can be cast a specific number of times per spell, per rest, instead of exactly once.

Dark Souls

Spell Points

Spell Points spellcasting is similar to Vancian in that it uses a list of discrete spells, but instead of being able to cast each spell a set number of times, players can cast any spell they know or have memorized as many times as they like, but it uses a finite resource, usually called Spell Points or Mana.

How players regain Spell Points varies from system to system, as does how variable Spell Point usage is from spell to spell. Skyrim, for instance, has a large number of points which regenerate over time, and more powerful spells use more and more points; whereas some other systems might use one point per spell and require you to rest or drink a potion before you regain them.

This system is much more common, and is used by the Elder Scrolls games, most of the Dark Souls games, and the Final Fantasy games starting with II (please note, I have not played Final Fantasy games past III or Elder Scrolls games before Skyrim, so I may be slightly wrong about exactly which games use exactly which systems).

A spell being cast in Skyrim

Cooldowns

Cooldown Discrete Spellcasting works much like the previous systems, except instead of casting spells a set number of times or using up a finite resource, every spell can be cast as many times as you like, but cannot be cast again until a set amount of time has elapsed (usually a different amount of time per spell).

This is a popular option for real-time games with combat which relies primarily on spells (or skills that work like spells), but generally isn’t used in turn-based games.

Cooldown Discrete Spellcasting is also quite common, and is primarily seen in MMORPGs and games like Wizard of Legend.

Wizard of Legend

Supercategory 2: Dynamic Spellcasting

Ok, now we get to the good stuff. Every interesting and deep spellcasting system falls into this category.

Dynamic spellcasting systems vary a lot more than Discrete spellcasting systems, and are only really a group in that they aren’t Discrete.

Most of these sytems are much less common than anything in the previous section.

Combining Elements

This is the system used by the Magicka games and Mages of Mystralia. It involves combining several “elements” into an effect, generally with the first element defining the form of the effect, in combination with which “form” you cast it in (by pressing a different cast button).

For instance, in Magicka, you might “force/beam” cast a spell starting with death and following with 3 fire to shoot a beam of fire. Elements can also be combined into other elements by adding them after eachother. for instance, if you have both fire and water in a spell, they will merge into steam.

These systems also generally include the ability to cast special spells by inputting a specific set of elements and casting using a special form. For instance, in Magicka, you might “magick” cast a spell with lightning, arcane, and fire (in that order) to double your speed for 10 seconds.

WTF IS ARCANE? IS THAT A REAL MAGICK?

This system definitely allows for much more variety and freedom than any of the previous systems, and still allows for some of the special discrete spells of the previous system. Personally, I prefer a system with slightly more allowance for creativity, but this clearly scratches the itch for some people.

A spell being cast in Magicka 2

Form + Effect + Spice

I haven’t seen this system as a core part of any games, but it exists in at least two places:

  • the tabletop roleplaying game Pathfinder (1st Edition)’s Ultimate Magic introduces an optional spellcasting system called Words of Power;
  • and the Minecraft mod Ars Magica (not to be confused with Magicka, which we just discussed, nor Ars Magicka, which is a tabletop roleplaying game), which was later succeeded by a mod called Ars Nouveau.

So, in this system, you may combine a number of “effect words” or “components”, which determine the effect your spell has on the game world, with a single “target word” or “shape”, which determines the spell’s maximum range, how it affects its target(s), and how those targets are chosen. For example, a spell with the cone target word affects everyone in a 10 foot cone-shaped emination from the player, but a spell with the selected target word would affect a number of specifically selected characters, and a spell with the projectile shape would be launched in the direction the player is looking.

In addition to those two types, there are “meta words”/“modifiers”, which modify the effects of a spell in miscellaneous ways. For example, the distant meta word increases the maximum range of a spell, the manifestation meta word makes the spell target the character’s physical defenses if it would otherwise target their mental defenses, and the bounce modifier makes the spell bounce on the ground until it disappears.

This system is definitely interesting, and allows for some creativity and adaptability. I would be interested in seeing more video games pursue systems like this, particularly as a core system. I imagine a game built around a mechanic like this could be very interesting.

The spell creation interface in Ars Nouveau

Noita

I’ve only seen this system in the one game, but it’s unique enough to definitely deserve its own section.

Noita is a powder-physics based roguelike game with a spellcasting system based around creating and customizing different wands.

These wands are randomly generated with a number of properties, which determine how many spells can be held within, how those spells are cast, etc.

They also rely on a series of different spells, which consist of the following main types:

  • Projectile spells, which shoot a projectile from the wand, generally in the direction the player is facing;
  • Projectile Modifier spells, which modify the next Projectile or Multicast spell the player casts;
  • Multicast spells, which cast a number of later spells at once;
  • Passive spells, which take effect for as long as the player has the wand active;
  • and a lot of other types of spells that I’m not going to go into, because it’s not really necessary for this article. Suffice to say, Projectiles are not the only type of active spells.

These spells can be combined in any order in a wand, and the wand runs through them when cast, up until the last projectile spell (barring multicasts, where it of course lasts through each affected projectile spell).

The combination of these spells and wands is definitely interesting, and while it’s somewhat more limited than the next set of systems, it does have the advantage of being much easier, while still being very dynamic and allowing for a decent amount of player creativity.

Wand creation in Noita

Nurose

Nurose is an online dueling game where players fight eachother using custom spells. It has a spell-building system a bit like Noita’s, except on a graph instead of a line/array, with a heavier focus on shooting and controlling discrete projectiles.

Spell creation in Nurose

The grid programming system allows for a lot of creativity, but doesn’t feel magical at all, and the oversimple game world limits its complexity.

Additionally, while it’s an interesting system, it’s sadly tied to a multiplayer dueling game with a very small community. Still, it’s worth trying if you’ve got a friend to play with or want to join the Discord server to find players.

Programming as Spellcasting

Okay, so there are enough important differences between these systems that I’m going to address them separately.

In general, these systems are differentiated from the others by being much more dynamic and complex, but in many cases just not feeling like magic at all.

Literally Just Programming

The least interesting subset of all: these games are almost exclusively educational, and do very little to make themselves feel like more than just doing my desk job in a fantasy setting.

In these games, you generally type out the thing you want to happen in code, with access to a number of functions and/or objects which do things in the world, and then it happens. This just feels like opening up the console for a game written in JavaScript, and is about as interesting.

I honestly don’t care to find examples of this type of system: it’s been thoroughly explored by low-quality edutainment games, and has been found boring and bland. NEEEEXT!

Psi

Psi is a Minecraft mod based on the (frankly, amazingly terrible 1 No, really, try reading it. It reads like an Ayn Rand novel, if Rand were a horny teenage boy who really wanted to have sex with his sister. I was surprised when the main character joined the Morals Committee (a thing I’ve literally only ever seen depicted as evil in anime), but then baffled as he proceeded to be even more evil than any other depiction I’ve seen of the role, but still consistently treated as a hero! Wild! ) webnovel / light novel / manga Mahouka Koukou no Rettousei. In it, you create spells by placing and connecting tiles on a grid. Some tiles are arithmetic or geometric operators, some provide information, and some do things with that information. It’s a lot like if Scratch was on a 2D grid, and attached to minecraft.

Psi's Spell Grid

This system is definitely not literally just writing code, but it sure still doesn’t feel magical. We can do better.

Hex Casting

Another Minecraft mod, Hex Casting is quite possibly the best magic system I’ve had the pleasure of engaging with. The fact that it’s functionally just a programming language behind-the-scenes should serve to demonstrate how poorly-plumbed these mechanical depths are, but nonetheless, it is the best.

Hex Casting is a fully-functional, Turing-complete programming language. What sets it apart from other programming-as-magic systems is its input method.

With Hex Casting, a player draws different patterns on a hexagonal grid, each one forming a part of the spell being cast. The programming language is minimal, and reminiscent of an assembly language or possibly an esoteric programming language.

The pattern-based input method does a lot to make this system feel like magic instead of just programming. It’s not perfect, but it’s a significant improvement.

Hex Casting is also different from the other systems mentioned thus far in that it uses the same system for two different modes of casting: free-casting and making reusable spell-items.

Where Psi and Noita both involve creating reusable spellcasting items with set spells, and the Magicka games involve free-casting spells in the moment, Hex Casting lets players do both with the same system. Players can create casting-items by drawing the patterns of their spell, encapsulated within a set of patterns which cause the spell’s patterns to be stored instead of cast, and then casting another pattern to inscribe the stored patterns into an item.

What’s excellent about this system is that it means the time you spend crafting reusable spell-items also trains you for free-casting. Gaining and using this type of expertise is an amazing feeling.

I remember clearly the first time I was out in the wild and needed to get somewhere, and I cast a spell from memory to launch myself up a mountain: I felt like a real fucking wizard!

Spellcasting in Hex Casting

Bonus Example: Trickster

Trickster asks the question: “What if Hex Casting used Lisp-like functional programming?”

The answer is that you get something even weirder—and, as a magic system, thus *better!* 2 I’m half-joking here. It’s less magical-feeling than Hex Casting, but it’s definitely an interesting system.

Spells are written practically in-reverse, starting with the final glyph and ending with the inputs. While less polished than Hex Casting, it’s a fantastic system, and I absolutely urge you to give it a try.

Spellcasting in Trickster

Conclusion

Magic systems in most games amount to “click the button, get a specific effect”. There are a few indie games which buck this trend, but it’s a vastly unexplored part of design-space, and like half of the interesting examples only exist as Minecraft mods.

Magic systems are a vast and untapped part of game design space, and I think it’s a bit of a travesty that they’re such an unexplored part. Hopefully, with this post and its upcoming sequel, I can convince you to try your hand at it, and together we can make something really magical.


  1. No, really, try reading it. It reads like an Ayn Rand novel, if Rand were a horny teenage boy who really wanted to have sex with his sister. I was surprised when the main character joined the Morals Committee (a thing I’ve literally only ever seen depicted as evil in anime), but then baffled as he proceeded to be even more evil than any other depiction I’ve seen of the role, but still consistently treated as a hero! Wild!
  2. I’m half-joking here. It’s less magical-feeling than Hex Casting, but it’s definitely an interesting system.

For as long as I’ve been using the internet, direct messaging, video-and-voice chat, and group messaging have predominantly been the domain of closed services.

I’ve used Facebook Messenger, Skype, Discord, and probably a handful of other platforms, and every one of them has gotten worse and worse until a critical mass of my friends got annoyed enough to switch to the next.

Well, that process has been progressing with the most recently adopted option - Discord - and I’m fed up. It’s time to break the cycle. A lot of the internet is moving towards federated services, and it’s time for the messaging space to move with it!

What’s XMPP?

XMPP is a messaging protocol that’s been around for nearly 30 years.

It’s an open standard that accepts updates by committee, and it’s been used all over the internet in places you probably wouldn’t expect: Google Talk was built on it, Facebook Messenger was compatible with it from 2010 to 2014, Skype was in 2011 - and according to its Wikipedia article, AOL was compatible with it in 2008, and both Origin and PlayStation use it as their messaging protocols (though they presumably don’t allow users to connect to external servers with it).

Speaking of connecting to other servers, that’s one of the great things about XMPP: It’s federated. Your account lives on a specific server, but that account can connect to other accounts and group chats on other servers as well! No one company runs all of XMPP, and there’s no central authority controlling who can use it or what they can say or do.

Its nature as an open standard also means that there’s no one official client! There are a variety of clients (most of which are open source) for a variety of platforms, meaning that if you don’t like decisions one has made, you can switch to another!

Why Should I Care?

Alright, so this thing exists. Why should you care about it at all?

Well, to start with, everything about XMPP is open. An open standard means anyone can make a client or server without fear of legal takedowns, and that combined with open-source clients means the community decides what features are or are not added. Open federation means you can communicate with your friends on different servers without a hitch.

Closed services like Discord can start out as good as they want, but their primary motivator is making money, and that means that no matter how good their creators’ intentions, they will always inevitably get worse. This doesn’t and can’t happen with open frameworks like XMPP.

Privacy matters for messaging platforms. If you’re talking to your friends, you don’t want to have to worry about what the company that owns that platform thinks is okay to talk about—or worse, the advertizers or payment processors that keep them afloat. My conversations online should be no more the business of a random corporation than my conversations in-person.

Lastly, sovereignty matters. I’m a denizen of the internet, and have been since I was a child: My chatgroups are my home on the internet, and they should feel like home. I don’t want my conversations or friends or even just my UI messed around with by some corporation anymore than I want that corporation moving things around in my house, kicking my friends out, and threatening me with a big stick if I don’t do as they say.

On the internet, my XMPP server is my home, and I own that home. I feel safe on that home. Do you feel safe on Discord, or Messenger, or Telegram? Me neither.

What’s Bad About It?

Ok great, those are the main selling-points, what’s the catch?

Mainly, features.

XMPP has a lot of features in theory, but what matters is which features are implemented, and how widely. The answer to that depends on what server and client (mostly client) you’re using, but I’ll give an overview.

All the server software and most clients support:

  • Profile pictures, notifications, emoji, etc.
  • Multi-User Chats / Group chats. This, notably, does not include Discord-style servers, only group chats.
  • Retrieving missed messages or message history from servers. Minor thing, but XMPP has the least-buggy implementation of this out of any platform I’ve used. Especially compared to Discord or Matrix.
  • File/image sharing
  • Encrypted messages
  • Read receipts, replies, and mentions
  • Message formatting (italics, bold, lists, etc.)
  • Registering on a public server via your client

Most clients support:

  • Video and Voice calling - Every client I’ve used except Gajim supports this, but Gajim is the most accessible client on Windows.

Most clients don’t yet support:

  • Discord-style custom emoji - there’s an extension specification for it and some other related features, but most clients don’t support using it for custom emoji yet. Once they do, which custom emoji you can use will likely depend entirely on what emoji you have added on your client, which is nice.
  • Voice messages and stickers - they’re both part of the aforementioned specification, and some clients support them, but most don’t. Gajim supports voice messages, and Movim supports voice messages and stickers.
  • Discord-style guilds/servers - there’s an extension specification for it, it’s just really recent, so it’s not really implemented anywhere yet. This will probably exist in a year or so. Until then, you can still group chatrooms client-side in basically every client, there just aren’t server-defined groups of them.

Some clients will soon apparently support:

  • Serverless client-to-client messaging - messaging other people peer-to-peer without a server. Apparently Gajim supports this? But I haven’t tested it yet. Either way, it’s a cool feature to look forward to.

What’s Good About It?

It Works

Current implementations are missing a few features, but XMPP has all the essential features for you to begin using it right now. Other in-the-works alternatives such as Stoat (formerly Revolt) are still missing basic features like notifications, but XMPP is fully-functional.

It’s Improving

The clients and protocol are and have been improving slowly but surely. The standards-based feature-set means that developers and users are able to talk over features before they’re implemented, instead of haphazardly adding things nobody wants, and the open protocol means that if a client makes changes you don’t like, you or someone who agrees with you can fork that client or make their own, without being in violation of terms of service like they would be for doing the same with Discord or other closed apps.

It’s Federated

Unlike both mainstream options such as Discord or Messenger and alternatives such as Signal or Stoat, XMPP’s federated nature means that you aren’t reliant on one centralized service.

If Signal’s servers are taken down and the company is attacked by national governments, you might not be able to keep using it; if Stoat runs out of funding for their servers, you might lose contact with your friends; but if your XMPP server goes down, you can move to a new one, add your contacts back, and go back to your life without much fuss.

It’s Friendly

XMPP’s protocols and interfaces are functional and relatively easy to use. They might not be quite as seamless and polished as something like Discord, but they’re a far cry from the constant security-hounding and obtuse interfaces of something like Matrix.

If I were to use one word to describe the difference in feeling between using it and XMPP, it really is “friendly”. XMPP lets me access all of my messages easily, has much better multi-account handling, and doesn’t constantly force me to use excessive security features while still leaking my data. 1 See Matrix Notes by Anarcat. 2 See also Matrix vs. XMPP by Luke Smith. Fair notice: I don’t endorse Luke Smith’s politics. His stances on technology are pretty good though.

It’s Here To Stay

XMPP has been around for nearly 30 years now, and in that time it’s survived multiple attempts to replace it with services which nobody uses anymore. AOL is dead, Skype is dead, Google Talk is dead, but XMPP lives on.

Its open nature and extensibility means that XMPP cannot ever truly be killed.

It Isn’t Just Getting Worse

The last advantage to XMPP’s nature as an open protocol primarily run on open-source software is that it isn’t vulnerable to the corrosive effects of profit incentives and monetization.

This article is being posted now because Discord is pushing age verification in order to make it seem like they’re doing something about the abuse on their platform, making it worse for the sake of appealing to payment providers and government officials. XMPP will never—can never do that. Discord adds premium-only features that should be available to all users, and then adds more that get in the way of the base usage. XMPP, again cannot and will not ever do that.

It isn’t perfect, but it’s as imperfect as it will ever be. It’s getting better, not worse.

How Do I Start?

Getting an Account

Being federated means that there isn’t one canonical place to create your XMPP account, and that means you need to choose a server.

  1. (Easiest for everyone) Find an open-registration server from this list, and register there.
  2. (If you’re a friend of mine) You can message me and ask for an account on my server, and I’ll make you one!
  3. (If you’re technically-inclined) You can host your own server! I recommend ejabberd.

Once you have an account, you’ll want to select a client or clients and login on them. Most clients actually support registering within the client, but there’s no convenient list of servers in them, so you still need to decide where to register first.

Choosing a Client

I’ve split these up by platform, since you’ll presumably want to use this on all of your devices.

Android

Conversations

Conversations a very good Android XMPP client, and close to the best overall native client, to boot.

The two major features it doesn’t support are message editing and workspaces (groups of chats). These aren’t usually a major problem, but it is weird that it doesn’t have them.

Screenshot of Conversations, from their website

Monocles

Monocles is a very good fork of Conversations, with a few added features and better multi-account support.

Screenshot of Monocles, from their website

IOS and MacOS

Monal

I don’t use IOS or MacOS, but the best client for both appears to be Monal.

Screenshot of Monal on IOS, from their website

Screenshot of Monal on MacOS, from their website

Windows and Linux

Fluux

Adding this after the original posting because wow. Fluux doesn’t yet support calling and isn’t quite as feature-complete as Gajim, but it’s close, it looks beautiful, and it’s like a month old! Seriously, the first commit to the git repo is from January! This January!

Bonus points: It’s built in rust—in Tauri, so pretty soon it’ll be available cross-platform! The current build is available for Linux, Windows, and MacOS, but I’ll bet Android and iOS are hot on the way.

Screenshot of Fluux, with some information bluured for privacy

Gajim

Gajim has my favorite desktop UI, and is the most stable and feature-complete, except it doesn’t currently support calling.

It’s available for both Windows and Linux.

Screenshot of Gajim

Dino

Dino supports calling, but is slightly less stable in my experience than Gajim, and I don’t like the UI as much.

It’s available on most Linux package managers, and there are unofficial Windows builds available, but the main app doesn’t have an official Windows build yet.

Screenshot of Dino

Pidgin

Pidgin looks like it came out in the early 2000s and doesn’t support the most widely-used encryption method without a plugin. However, it has support for a bunch of chat protocols, including Discord, which makes it easier to switch to.

It supports voice and video chat in XMPP, but potentially only on Linux.

It’s available for both Windows and Linux.

Screenshot of Pidgin, with a large number of windows on-screen

Plus, I was able to theme mine to look like Homestuck’s Pesterchum!

Screenshot of Pesterchum and Pidgin, with Pidgin themed to look like Pesterchum

It does have a new version in the works, but that’s not fully functional yet, so keep an eye out for when it releases.

Web

Movim

Movim appears to be doing something interesting and trying to be an XMPP-based social media platform, with social blogging features.

It’s web-only, but it’s clearly trying new and interesting things, and it has the most modern UI out of probably every app here, so it’s probably worth checking out.

It does support calling.

Screenshot of Movim messenger

Screenshot of a Movim blog post

Converse.js

Converse.js is a web-based client also available for desktop on Windows, Mac, and Linux.

It appears to be mostly feature-complete and doesn’t look bad, but I’m listing it last because web-based desktop applications are resource hogs and I don’t recommend them, and also because it doesn’t support calling.

That said, if you’re having problems with other clients, Converse.js is probably a decent fallback.

Screenshot of Converse.js

Conclusion

Ok, you’ve got an account, you’ve got a client: Go out there and connect! Get your friends to join, suggest it for the next group chat you need, and enjoy being free from corporate enshitification forevermore!

I know network effects are intimidating, and not everyone wants to up and join some new thing, but XMPP is good - better yet, it’s improving, unlike other platforms - and you can just do things! There are opportunities! Even if you can’t get an old group to switch, consider it the next time you or a friend is considering making a new one! It’s brighter and freeer over here, and I can’t wait for you to join me.


  1. See Matrix Notes by Anarcat.
  2. See also Matrix vs. XMPP by Luke Smith. Fair notice: I don’t endorse Luke Smith’s politics. His stances on technology are pretty good though.

Or: On the Value of Commonly-Maligned Emotions

The 7 colors of the Emotional Electromagnetic Spectrum—not counting Grey

The emotional electromagnetic spectrum, as written in the DC Comics superhero universe, is terrible and badly-written. There are like two emotions that aren’t evil, and those ones are perfect snowflakes that could never do anything wrong. Every other emotion is exclusively evil, and should not be trusted. 1 Love is on that list, by the way. And I don’t think they meant for their version of compassion to be awful? But it is.

This, uhh… fucking sucks.

So, here’s my take on the emotional electromagnetic spectrum.

Red: Rage

Rage is the emotion of those who have been wronged. When something is terrible and wrong and unfair, the bearers of Red light stare it in the face and scream no!

For as long as there is wrong in the world, there will be the rage of those who feel it and oppose it. Without rage, the wrong goes unrighted, and the wronged continue to be wronged.

At its worst, rage is senselessly beating against the world, flailing against the injustices and hurting anything you can.
At its best, rage means seeing all that is wrong in the world and tearing it out at its root, protecting all that wrong harms at your back.

Orange: Avarice

Avarice is the emotion of those who have gone without—the emotion of those who need. It is the urge, when you find something important, to take it and keep it, safe from all who would harm it or take it away. Avarice is about knowing how you want the world to be shaped, and needing to make it that shape. Avarice is the emotion of protectors: It drives us to keep what we love safe, and what makes us reach far into the heavens for our goals.

At its worst, avarice means desperately clutching things so close to you that they crumble, and never letting go of that which is not, or should not be ours.
At its best, avarice means fighting to get what we need, cherishing what is ours, and protecting it with all we have.

Yellow: Fear

Fear is the emotion of the wary. When something is precarious, fear is what keeps us alert and focused, ready to respond the moment things go wrong.

At its worst, fear means quaking at every sudden movement or sharp sound, even when all is right—it means preparing forever, at the cost of the ability to allow or appreciate those things we are afraid of losing.
At its best, fear means holding onto and appreciating that which we are afraid to lose—being ever-ready and ever-prepared for something to go wrong, and to spring into action and protect it.

Green: Will

Will is the emotion of the committed. It is the emotion of those who strive and those who continue to strive, no matter how hard the journey becomes. Will is our drive and ambition to carve the world we want out of solid steel if we have to.

At its worst, will means controlling others, enforcing your will against them and substituting their will for your own.
At its best, will means unceasingly working for what you and others want, in spite of any and all opposition.

Blue: Hope

Hope is the emotion of the downtrodden. It is the belief that no matter how bad things get, they can always become better. Hope gets us through our darkest days, and sees us through the other side. Hope is the possibility that can never be destroyed.

At its worst, hope means believing, against all reality, that things will get better, and letting that hope deter you from making it so.
At its best, hope means staying strong in the face of hardship, and knowing that things can always get better. It is seeing your house burned down, and knowing that eventually, you can rebuild it.

Indigo: Compassion

Compassion is the emotion of those who have been to a dark place, and come out the other side with understanding for anyone else who is suffering. Compassion is the emotion of those who have done wrong, and know what it is like to be someone who does wrong—of those who have felt pain, and know that none of us deserve it.

At its worst, compassion means letting those who have harmed you harm you again and again, because you understand why they do it.
At its best, compassion means lifting those who have hurt you out of the darkness, and making them into the people they deserve to become, and who you deserve to live amongst.

Violet: Love

Love is the emotion of those who have been alone. In its purest form, it is the desire and need for another person, and for the well-being of that person. Love is not the fear of losing someone, or the avarice of attachment. It is not the compassion of understanding. Love is valuing another being, not for who or what they could become but for who they are.

At its worst, love means taking someone, keeping them from any else who could love them, and never letting them leave your sight. It is the worst of many other emotions, bundled together and tied around another.
At its best love means wanting the best for someone, no matter what. It means cherishing them not for who or what they could become, but for who they are. It means protecting them from all that could harm them, and making a better world for them, because they deserve one.

Grey: Sorrow

Sorrow is the emotion of those who have lost. It is the emotion of those who know that the world is not right, and that horrible things are happening, and who choose to accept that reality and to keep going. Sorrow is about seeing the horror and pain of the world, and refusing to look away or hide. Without sorrow, there is no acceptance.

At its worst, sorrow means giving up. It means wallowing in the pool of infinite sorrow and deciding that nothing will ever be good again.
At its best, sorrow means grieving. It means bathing in the pool of infinite sorrow and coming out of it with resolve and understanding.

Conclusion

Ok, so what is this for?

Well, you absolutely can (and I might) use it to write Green Lantern fanfiction with much more interesting worldbuilding than the original, but that isn’t the primary thing I meant this for when I was thinking about it.

No, when this caught my eye and bothered me enough to write my own version, I was thinking about it as a way of thinking about types of people, and what drives them. 2 Partly inspired by Duncan Sabien’s conceptualization of the MTG Color Wheel as an intuition pump for understanding people.

A person can have any number of these colors, but they tend to be primarily driven by one or two. For instance, you might know someone who is primarily driven by their knowledge and guard of their own desires (Yellow), or someone who is driven to do what must be done because it must be done (Green), but you also might know someone who is primarily driven by multiple of these emotions, like fear and hope, or love and compassion.

There are many different ways to express these colors, but I think it’s still an interesting and useful way of conceptualizing people, and naming a part of how they work.

It’s important that every emotion listed here can be both positive and negative. No emotion is solely evil, and none is solely good. The DC conception of this system is offensive to me because it places a normative judgement on each of its colors, where, in reality, each of them serves a purpose.


I wrote this post in a righteous fervor, after reading a wiki article on the Emotional Electromagnetic Spectrum and being heavily disappointed. I hope it’s useful to you.


  1. Love is on that list, by the way. And I don’t think they meant for their version of compassion to be awful? But it is.
  2. Partly inspired by Duncan Sabien’s conceptualization of the MTG Color Wheel as an intuition pump for understanding people.
More Posts