Procedural Spell Generation

Procedural Spell Generation Featured Image

Since the last time we chatted about research plans, I covered matchmaking systems. Make no mistake, I’m still interested in game development. That’s why my latest idea is to develop a procedural spell generation engine.

Table of Contents

Core Idea

In games that feature magic, often times spells are rather static. In other words, they have a fixed appearance that scales rather simply. For instance, a fireball might grow as you progress in the skill.

I am interested in developing a procedural generation engine for spells. With this engine, users could customize the parameters for a particular spell and watch it generate in real time. The following list contains a set of potential parameters that would be available in the engine:

  • Type (Projectile, AoE, etc.)
  • Duration
  • Distance
  • Area
  • Size
  • Bounds
  • Colors
  • Lighting
  • Shape
  • Directions
  • Paths
  • Target
  • Fork

Keep in mind that I don’t care much for the effects of a spell. In other words, I don’t care about the damage of the spell or any ailments it may inflict. I care only about the visual appearance of the spell and how easily it can be modified within the constraints of the engine.

With an engine like this, teams could rapidly prototype spell ideas. Then during main production, animators could add their personal touch.

Inspiration

When I was younger, I played quite a few video games. Here’s just a short list of some of my favorites:

  • Halo
  • Phantasy Star
  • World of Warcraft
  • Elder Scrolls
  • Overwatch
  • Call of Duty
  • Heroes of the Storm
  • Super Smash Bros
  • Zelda
  • Pokemon
  • Final Fantasy
  • Gears of War

As you can see, I had a clear preference for shooters and role-playing games. With shooters came my interest for developing a better matchmaking system. As for role-playing games, I’m more interested in injecting some creativity and excitement.

In fact, my interest in procedural spell generation came from Phantasy Star Universe (PSU). In PSU, spells had levels which changed their power and cost as well as their visual appearance. Take a look:

Despite how bad the graphics look now, I loved this game as a kid. Who wouldn’t love to watch their character visually grow stronger over time?

Of course, you really don’t see games like this anymore. I suspect that’s because animating spell ranks is incredibly time consuming. As a solution, I’d like to develop a procedural spell generation engine.

Existing Research

Unfortunately, existing research in procedural spell generation is rather limited. However, procedural generation in games is not a new concept:

Perhaps there is more research in the are, but I was unable to dig it up. Honestly, I’m probably just searching in the wrong places, so let me know if you find anything more helpful.

That said, I did manage to dig up a project from Carleton University in 2010 that seemed to be trying to tackle this exact subject called Procedurally Generated Spell EffectsOpens in a new tab..

In addition, I managed to find a pretty solid Reddit thread on the subject from a year ago:

Whoever kicked off this thread seems to be interested in a similar project.

Risk Assessment

At any rate, let’s dig into the final risk assessment for this project.

Specific (7)

When I think about this project currently, it’s a bit amorphous. Like, I have a general idea of what I’d like the engine to be able to do, but I don’t have a concrete set of objectives at this stage in the process.

Measurable (5)

To be honest, measurable should probably be a 0. After all, I’m not sure what data we could possibly collect with a project like this. Would we measure user satisfaction with the engine? Would we measure spell likeness to expectations? I’m not sure.

That said, I picked 5 because I know that we would be able to determine when the project is finished. At least that is measurable.

Achievable (9)

Again, I don’t see why we couldn’t tackle this sort of project. At this time, I’m not sure where I would begin, but I know real time rendering of spells is already possible. Making a rendering tool to procedurally generate spells is the hard part.

Relevant (9)

For someone who plays a lot of role-playing games, I imagine game developers would love this engine. Who knows though.

Time-Oriented (8)

Since this would largely just be a piece of software, I am comfortable with the timeline. That said, I couldn’t give this project a 10 without knowing exactly what I would be measuring.

Overall Assessment (7.6)

Much like our matchmaking systems assessment, we’ve ended up with a 7.6 overall score. Personally, I think this project would be harder than matchmaking systems simply because I don’t have enough background in graphics. But, numbers never lie! Perhaps I was a bit too generous in some of my assessments.

Journey to a PhD (49 Articles)—Series Navigation

As my current career trajectory shifts away from engineering, I find myself in a peculiar position as a PhD student. As I explore the latest concepts in Computer Science, you can find that journey documented here in my series titled Journey to a PhD.

Jeremy Grifski

Jeremy grew up in a small town where he enjoyed playing soccer and video games, practicing taekwondo, and trading Pokémon cards. Once out of the nest, he pursued a Bachelors in Computer Engineering with a minor in Game Design. After college, he spent about two years writing software for a major engineering company. Then, he earned a master's in Computer Science and Engineering. Today, he pursues a PhD in Engineering Education in order to ultimately land a teaching gig. In his spare time, Jeremy enjoys spending time with his wife, playing Overwatch and Phantasy Star Online 2, practicing trombone, watching Penguins hockey, and traveling the world.

Recent Posts