Starting to feel like a wizard, or a DJ, or both


It's been a while since last update and lots and lots has been done. I should get in the habit of writing these more frequently, but without defined phases, it's hard to tell when to stop and do a quick writeup. Was hoping originally to do these once a week, but I think realistically they'll just happen when I'm excited about where I'm at in the process.

Visual Overhaul

I've realized that, being a very visual person, I tend to get hung up on how things look in my prototype and then spend too much time finessing visuals instead of working on the underlying logics and gameplay. So I decided to use a shortcut and utilize pre-made assets from two creators whose work I really enjoy:

The assets were quick to implement and having some commercial-ready assets in game helped kickstart some of my ideation and get me excited about where I'm heading instead of feeling the weight and dread of a list of need-to-be-made-someday assets that gets eternally long. The pitfall right now is that if I have an idea and don't have an asset that fits, I'm more likely to push it aside and try and work on something that works with what I have. This is limiting scope in a good way, but also tamps down creativity just a little bit.

Audio Progress

I tried a number of musical ideas out to try and keep true to the concept of spells being rhythmic in nature. One idea was that the "music" was more atmospheric or ambient in nature. Maybe in this dungeon setting it's drips of water that plop at a steady rhythm. This was cool in theory but got really old really fast and made it harder to press buttons to the beat. So I went back to drums as the music you execute spells to, only now the drums come in only while you're in spell casting mode. This makes a sort of fun game-in-a-game where you're DJing your own experience. I've zoned out and just played around cutting in the drum beat at different times to make a little remix. And currently I've decided the bass line is the musical constant and I like it. The bass line doesn't get too old and lays down a steady rhythm you can predict when you go into spell casting mode— one of the challenges of a more ambient background music was that it took a moment to catch the rhythm when you were ready to cast a spell and that interruption in your groove was enough to fail the first couple button presses and made casting spells frustrating.

Rather than fight it, I'm going along with this feeling like you're DJing. Previously, when you dropped a spell you'd cast, like a fireball for instance, the fire music would end abruptly or I'd let it play at full volume until the fireball went out at which point the music would fade out quickly. Now I'm playing with the idea that the music is attached to the spell itself, so when you toss a fireball, the fire music is attached to that game object and is 3D spatial so you still hear it in the mix, it's just quieter and panned. It's a much less jarring experience than the music abruptly ending and leads to more layering of music and less dead space where you're just listening to the bass line repeat.

Spell Feedback and Glyphs

This is one of the bigger challenges I've wanted to tackle and I've come to a solution I think has a lot of promise. First off, I realized that the player needs something that shows what their input is when they're casting spells, so I did a quick-and-dirty little UI script that superimposed arrows around the player character that correspond to the button they pressed. And each time they hit a button on beat, a little magical explosion pops off in front of their character. If they are off beat, a little noxious green gas pops up and they start over.

This worked initially, but didn't solve my bigger challenge of making the magic an intuitive language. My first principle for this game was: Discovery over learning - intuitive spell language that encourages experimentation. So, I thought, if regardless of platform we consider spells a listing of coordinates (like how in Unity the buttons are referred to with cardinal directions east, west, north, south) then plotting those out would give you shapes and those shapes could resemble glyphs and if those glyphs are recognizable and learnable, then you have a language that players can familiarize themselves with to learn new spells.

So I doodled a bit and made some overly-complicated glyph systems and reached a point where I just needed to implement something in-game and see if it even felt right as a feedback mechanism— assuming I could implement it such that as the player cast a spell, the glyph was drawn on screen. What seemed like a large project was like 20 minutes of code using Unity's Line Renderer to do all the work. And the results, I think, are really really promising.

Lighting a torch

Casting a fireball and using it to light a torch

Detecting Magic

Now each spell had its own glyph that's determined by the sequence of button presses that created it. With that, now new doors were opened. I had the idea that something like a "detect magic" spell would be fun— after all, how do you know that lighting these torches will open a door or have some other magical effect?

Detecting magic

Using a "detect magic" spell to reveal the torches will react to fire magic

The "detect magic" spell will show a magic glyph hovering around objects that will react to certain spells. Torches that if lit on fire open a door show the fire glyph. Items that you can levitate show the levitate glyph. Broken items you can fix show the fix glyph. And each of these glyphs is the process for how to execute the spell, meaning, if you were to be shown a series of glyphs that resulted in a spell, you could copy that sequence and learn that spell.

Revealing a spell

Using a "detect magic" spell on a spell book reveals a series of glyphs that make up a spell

So then what if you had discoverable spell books around the world and you can use a "detect magic" spell to reveal what spell they have to teach you? No skill tree or MP upgrades or XP, just things you may not have tried yet? If you don't understand the glyphs at first, you can recast the "detect magic" spell and watch for how they're drawn and then copy that. This I hope gets me closer to fulfilling my principle of: Players should feel they have a sacred knowledge.

Casting a spell from a spell book

Casting the spells from the spell book results in a ball of electricity

Now that you've learned and executed this compound spell, you've created a new glyph in front of your character that tells the story of how that spell came to be. You started with a simple fireball, hit it with a tornado of wind, added a water ball and got steam, then you cast a spell in the shape of a lightning bolt and voila you have a ball of electricity. Each successive glyph is sized down and pushed back so that their order and layering is apparent.

I'll admit I've been hesitant to put any sort of text or dialogue into the game. I don't want to fall into the trap of writing out instructions on the screen, so this ability to reveal glyphs to learn magic may do a lot of the tutorial heavy lifting. My hope is that I only add text boxes when I have a story I'm trying to tell. To that end, the "detect magic" spell can reveal more than glyphs.

Revealing a magic item

The "detect magic" spell reveals that putting a pot on this pedestal will have a magic effect.

So right now just about the only thing you do in this game is collect coins and open doors in interesting ways, but I see this as exploring and pushing what's capable and what's fun about the spell system I've created. In the above case, you see a magical apparition of a pot on this pedestal which means if you could put a pot on this pedestal, something magic will happen. If you break the pot, you'll have to cast a spell to fix it— only a mint-condition pot will do.

Thoughts on Meta Contextual Layers

I don't know what the actual term for it is or if there is one, but what I'm calling a meta contextual layer is something like your "Witcher Sense" in The Witcher 3 or "Third Eye" in Persona 5. Both of these are a mechanic where you hold down a button to reveal a normally unseen layer of information superimposed in the game world that is useful for whatever your task is. In The Witcher 3, you activate your Witcher Sense and key items and trails light up bright red making it easier for you to follow a path to complete a quest or find the object you need. 

An example of Witcher Sense in practice. Key items glow yellow and trails to follow glow red.

In games that have this mechanic, I live in this mechanic. The information is too useful and in a lot of ways makes the game more procedural and robotic. In Persona 5, I'm never surprised by an enemy because I'm always using "Third Eye". In Spider-Man, I don't risk alerting bad guys to my presence when I do stealth takedowns because I can wait until I see the symbol indicating it's safe to web up the bad guy. It's a cheat code that's a button press away and the game wants you to use it.

I think it's a mistake to make this overlay too useful or too critical. And don't get me wrong, the games I've named are all favorites of mine. When you give me a bright marker on the screen showing what's important and train me to look for that, I get tunnel vision. A slightly deviant example is Persona 5's mini map which was so useful in showing exactly where bad guys were and the layout of the space that I spent most of my play time staring at it instead of immersed in the game world, which is a damn shame. That's a beautiful game that would be fun to be able to navigate based on landmarks or other visual cues, but it's just much too easy to use the mini map. Remember how we used to know the layout of every GoldenEye multiplayer map based only on sight?

So for "detect magic" I'm thinking of these principles:

  1. Don't interpret for the player – in the Spider-Man example, it's fine that your spider sense allows you to see enemies through walls, but the extra UI that shows if it's safe to do a stealth takedown is a layer of interpretation that removes risk from the player choice. Let the player interpret what they see and make a choice based on that.
  2. If it's crucial to gameplay it should be transparent – what if in The Witcher 3 you explore and pick up a trail and then it's highlighted because that's how Geralt experiences it and you don't have to hold down a button to see it? Sure there's less interactivity this way, but if you're not going to do anything more interesting with that interaction, then it seems unnecessary.
  3. It's not for the player, it's for the character – or don't create UI layers, create the world. I have this dumb joke I may include in this or some other game in the future where the player finds a map and then when they choose to inspect it or read it, their character unfurls it and looks at it. The player doesn't ever see any cartography. I think this borders on the notion of not interpreting for the player, but really this is about making these layers immersive and not just UI for quality-of-life reasons. I think some of our modern conveniences are bleeding into our games as table stakes features when they don't have to be— the mini map is my biggest example. We navigate via GPS in the real world and now every game, no matter the technology level of the setting. has the equivalent of Google Maps. Geralt's Witcher Sense is a good example. I think the rationale for the ability and visual execution work well to make it something Geralt would experience and not some giant glowing arrow pointing in the direction to run.
  4. If it's real, it's not static – I think if this is an ability or spell or something that the character is responsible for and not strictly UI, then it should be affected by the world in interesting ways. I can't remember any quest where Geralt's Witcher Sense didn't work because of a spell that was cast or some weird sage was burnt or whatever. Nier Automata may be the golden example here where the barrier between UI and game is almost non-existent and you can sell your mini map or drop all your hard-earned upgrades if you die.

Looking at this list, I think number two will be the biggest challenge. In the current implementation, detect magic could be used by a player as soon as they enter a room to see everything their magic could interact with. Whether it's wise to do so or will help towards their goal will depend on the level design, but if that's the first thing they do every time they're somewhere new, then I'll have to find some ways to subvert it. Maybe there's a dungeon where detect magic doesn't work for some reason or certain magic items can be cloaked?

What Kind of Game is this?

Right now, beyond a DJ Wizard simulator (wah wah wah wahhhhhhhh), I see this game as some sort of exploration puzzler. Something Zelda-like without combat (and definitely no jumping). Maybe you roam a fantasy world as a wizard and solve people's problems and increase your magic knowledge. You could help a villager with water for their crops or maybe search a dungeon to find a way to rid a village of a curse. I'm not sure, but I'm trying to stay open to what the gameplay dictates and where the fun lies. Right now, there's just this interesting element of expertise feedback that's happening. If I come across a challenge and I know just the right spell for it, then I feel accomplished. Kind of like knowing the right answer to a trivia question or having just the right thing in your pocket right when you need it. But then I feel like once the player learns a new spell or sees how a spell can be used they may ask themselves "what else can I do with this" which lends itself to a Zelda-like overworld where not everything is accessible until you gain certain knowledge or abilities— where more of the world reveals itself to you as you learn more about it. Maybe you didn't think anything of that ledge, but now that you know you can levitate small platforms, what is up there? That's the sort of thing that excites me about this concept right now— a progression system that's really just based on how much you've learned and explored, not how much you've collected or invested.

Next Steps

  1. Explore and define more magic rules and interactions beyond "light torches to open doors"
  2. Place some NPCs in the world and see how that feels
  3. Try out some objectives beyond "collect coins" and see where they go

Get Working Title: Rhythmagic

Leave a comment

Log in with itch.io to leave a comment.