Category Archives: Game Design

Dreamblazers Update: Week of November 30, 2015

It’s a little tough for me to think super clearly right now; I just might have pushed myself a bit too hard last week—Thanksgiving time here in the US and also making some more preparations for my trip later in December— since I seem to have either come down with some kind of sickness for the first time in several years or the fatigue has finally caught up with me.

Fortunately I did have some time to write about what I intend to do with grids, so let’s talk about it anyway!

Grid-based battles in RPGs are typically handled in one of two ways. Probably the most common of these is the Fire Emblem style, also seen in other games like Tactics Ogre:

Fire Emblem Battle

In this style of battle, all the blue characters are in your control and all the red characters are enemies. You can move your characters in any order one at a time and they move within a certain number of square spaces, e.g. the one riding a horse can move farther than the ones on foot. When you’re within range to battle an enemy, heal an ally, etc., you can do that. After you’ve moved everybody, then the computer takes its turn (or “phase”) and also moves its characters in any order one at a time to battle yours.

This is probably more straightforward than I’m making it sound! If you’re on your computer or for some other reason won’t mind streaming video from YouTube, then you could start here around 2:19:49 to get a feel for it:

Fire Emblem is one of my favorite game series, but everything about the design comes with its pros and cons.

Moving each character one at a time is mentally engaging because of the needed strategy to readjust your plan after every one or two moves depending on how battles play out, but it can also feel somewhat tedious physically later in the game when you’ll be moving twelve or more characters in each phase.

During your turns, almost everything goes according to plan and even in cases when you’re rolling dice (e.g. you have a 65% chance to hit the enemy), you’re told upfront what those odds are and you don’t get blindsided by anything, so it has a strong feeling of fairness; on the other hand, since you don’t get blindsided by anything during the moments when you’re in control, the game can feel a little less dynamic compared to other RPGs where your attacks might be interrupted by enemies and you have to adapt.

The system of switching between your phase and the enemy phase is simple in theory and gives you maximum control over coordinating your characters’ movements and attacks, but it also comes at the expense of making sense from an in-universe standpoint. For example, a horse-riding enemy who might theoretically want to run away from your mage, who’s running on foot, can’t get away just because it’s not the rider’s phase, not because of something in the game world that would explain how this happens. Another example is that you can move your character with 3 Speed before your character with 20 Speed.

The bottom line is that there’s a reason this type of grid-based system is reserved for strategy RPGs, emphasis on the “strategy.” Just by the nature of each “player” taking their entire turn at a time, there’s not as much back-and-forth between you and the enemies, but instead you’re switching roles frequently between being the active player and the passive observer.

The second most common way to use a grid in RPGs is the Final Fantasy Tactics style:

Final Fantasy Tactics Battle

Yikes, have those graphics ever aged ungracefully. :P

Anyway, in this setup, characters on both your side and the enemy side act one at a time according to their Speed stats. So it could be that one of your characters moves first, then an enemy, then two of yours in a row, then four enemies in a row, then three of yours, etc.

To a certain degree this makes more sense from an in-universe standpoint than the Fire Emblem style, but it still makes a lot less sense than the traditional Final Fantasy style (like, say, FF through FFX). This is because of the component of movement. Why does the character with 7 Speed get to move 5 entire spaces before the character with 6 Speed gets to move 5 entire spaces? It would be incredibly tedious if they traded off moving only one space at a time until finally the character with 7 Speed gets one extra space at the end, so we know why the developers didn’t design it that way, but that doesn’t explain how it works in the game universe.

In games like the traditional Final Fantasy series or Chrono Trigger, characters act according to their Speed stats, but with no movement in the game to muddy the waters. Of course the character with 7 Speed gets to cast one magic spell before the character with 6 Speed, but that’s all it is… one action. Makes sense. It’s the old spaghetti Western trope of whoever draws the fastest. (Things do get complicated when characters get to take multiple actions per turn later in a game, but more on that perhaps another day. :P)

An upside to the FFT style of system is that there’s more of a give and take. Your plans are always being interrupted or thwarted by enemies getting in your way, which can feel a little more authentic, and you aren’t simply setting up your goals and then moving toward them with no obstacles.

…but a downside is that it can also be a bit overbearing. In a Fire Emblem or Tactics Ogre style of game, at least when it’s your turn it’s really your turn because you get to move all of your characters with full control. In FFT, when it’s your turn, it’s only that individual character’s turn. Even though the battle technically comes across as more realistic and dynamic, in a way it can feel slower to only be offered one character’s action menu at a time.

Both of these previous styles were strategy RPGs and Dreamblazers isn’t a strategy RPG, so let’s look at one more game… This one doesn’t use an explicit grid, but it’s still one of the closest examples I can find to what I have in mind.

Lunar Eternal Blue Battle

Lunar Eternal Blue Battle 2

These are two screenshots of Lunar: Eternal Blue (albeit from different versions of the game), a traditional turn-based RPG. In this style of battle system, you choose actions for all of your characters and the AI chooses actions for all of its characters, then that turn (that round of combat) plays out according to each character’s Speed. If any character on either side dies, gets put to sleep, etc. before they get to take their action, then they lose their opportunity until next turn, so you try to plan in advance, but not too far in advance.

These are the very fundamentals of a turn-based RPG and Lunar basically doesn’t deviate from them except that depending on which enemies you want your character to attack, they’ll move automatically across the battlefield toward whatever they’re attacking and can’t hit it until they’re close enough.

In theory this sounds pretty cool to make close-range fighters and long-range magic users feel more distinct, but in practice it didn’t mean all that much (at least for the melee side of things) because generally both the heroes and enemy monsters would always be rushing toward each other on the relatively small battlefield anyway. You were always close enough to attack, so the only question left was more about keeping Lemina’s delightful self out of harm’s way.

(Or at least that’s what I remember. It’s been over fifteen years since I’ve played the game. :P)

Now that I’ve constructively criticized everything, what am I going to do differently?

Here’s the idea… Let’s take a look at a battlefield:

Dreamblazers - Forest Battle Grid Mockup Part 1

Right now all you’re seeing is the beautiful sprite work from Becca, Alex, and Liz, so let’s instead break it down more mechanically into a grid…

Dreamblazers - Forest Battle Grid Mockup Part 2

Becca’s tiles were specifically built to be 16×16, so that’s the grid I used here, but I’ll figure out how to handle the differently-sized sprites when that time comes. In any case, now you can start to get a feel for how much space there is for our protagonists and these kobolds to move around. But now my idea comes in! Imagine this field is divided into two sides…

Dreamblazers - Forest Battle Grid Mockup Part 3

…where you can only move your characters within the blue area and the AI can only move enemies within the red area. Because characters can move extremely fast in the Dreamblazers universe, I don’t want it to ever be the case that anything is ever “too far away” to be battled even with close-range combat techniques.

So either side can attack anywhere from anywhere. But my thought is that rather than targeting an enemy specifically, you’re targeting that enemy’s current space and a certain range around it depending on your form of attack, e.g. a burst of icy wind covers a wider area than an icicle crashing down from the sky. You can loosely think of this like the board game Battleship, but instead of taking a shot at a single spot, you might take a shot at a 3×3 square or a diamond with a diameter of 5. Here’s a visual illustration:

Dreamblazers - Forest Battle Grid Mockup Part 4

Let’s say you’ve targeted the green, yellow, and pink areas. The Kobold Chief in green hasn’t moved yet and has no chance to avoid the attack because it isn’t able to move its entire body out of all of those spaces. The Kobold Rogue in pink was originally at the center of that rectangle and moved to the left, but because it’s still inside the rectangle, it also gets hit. The Kobold Rogue at the upper right part of the yellow plus used to be in the center of it and already moved up and to the right, but that’s still within range, so it gets hit… and the Kobold Warrior at the bottom of the plus also gets hit!

Please keep in mind that I don’t actually know yet what will be in ORK’s grid feature (assuming we get enough contributors anyway), but this is the gist of the idea I’ve been tossing around in my head. :D

The first benefit is making it feel like it’s possible for characters to narrowly avoid taking a hit. Of course, it’s still possible to use your pure Evasion stat to dodge a hit, but this would add a second method of artful dodging.

The second benefit is making battles feel more awesome—because my intent is that it should be much less likely that your targeted enemy will dodge your attack than that an enemy you didn’t target will also step into range!

Exceptions, of course, include big duel scenarios with top-level warriors involved. Kobolds themselves might be able to transcend light speed in bursts, but they’re not the fastest things around. If you ever just so happen to play as Leaf training to grow stronger with her best friend Celty, who is the fastest character in the game and has the ability to teleport on top of it, then you could certainly expect her to step out of range of your attacks more often than a very large majority of enemies.

But that would be an unusual scenario to play since Celty has never once defeated Leaf in training. Maybe the opposite will happen. Who knows? ;)

Anyway, that’s the gist of the idea. All of this is within the context of a turn-based system, so you can use the first turn to gauge the Speed of each enemy, then plan out your next moves accordingly! (Except when enemies get faster or make you slower, of course…!) Sounds exciting to me and I’m definitely hoping the funding for this goes through so I can see what sorts of magic I can work. :D

Dreamblazers Devlog: Week of December 1, 2014

Last week’s achievements

* Made functional ally-summoning enemies
* Tested out EarthBound-style HP drain and inadvertently figured out how to do Pokémon-style HP bars
* Tested out one-turn-delay priority attacks

Current focus

Touching up various features.

Weekly goals

* Send art feedback for final Winter design
* Integrate animations with ORK
* Make the 2D camera follow the player
* Design layouts for Seaside Slime Cove, Den of Kobolds and the Unicorn, Spring Lake Valley
* Write bestiary flavor text for remaining enemies

Comments

Since I’ve been on animation for a while, I jumped back into tweaking the battle system for the past week (aside from visiting family for Thanksgiving). Somewhere in the ether exists an incredible RPG, simply waiting to be created, with priority attacks that change turn order on a one-turn delay, but I feel that the entire game would have to be built around that mechanic with methodical and strategic battle pacing. It’s kind of like Flamberge, a recent Kickstarter strategy RPG where both sides take their turns simultaneously: a very interesting idea that demands an RPG’s full attention and commitment.

(I will say this: if delayed priority was going to make sense in any game, then it might have to be one with physics like mine where everyone has super speed; mechanically it feels sort of like the turn-based version of bullet time.)

And then there’s EarthBound HP drain. Though it’s a great mechanic for adding some real-time flavor to turn-based battles, it turns out that most of the reason why it works is because that series, like its inspiration Dragon Quest, has very easy decision-making. My decision-making is more akin to competitive Pokémon, so rolling HP either puts too much pressure on players if it’s fast or looks silly if it’s slow.

It also conflicts with my Last Stand battle mechanic, where a character at 0 HP loses EP until finally going down (basically like a certain showdown in Final Fantasy V, but active in every boss battle); because they’re similar concepts, Last Stand gets lost in the shuffle if HP also drains that way under normal conditions. I still love the idea of HP drain, but like with delayed priority, an RPG needs to be built around it. The good news is that now I know how to do justice to Pokémon HP bars!

That brings me to the bigger success of the week: enemies can summon allies now! They’ll mainly come in two varieties of summoning multiple fragile enemies or single strong ones, but a certain puzzle-esque “boss” also has her own spin on the idea. I didn’t keep many ideas from 1999-2001-era Me without major tweaking—not even my magnum opus boss battle—but that one’s staying mostly unchanged. =)

Anyway, of the first continents’ enemies, Kobold Chiefs are the best at summoning because they can give party-wide stat boosts to whatever they summon. Kobold Rogues used to outshine them since they could (and usually do) blind the player party, but now there’s real choice in deciding whether to go after Chiefs or Rogues first. And worse yet are the Chiefs who have tamed Greatwolves. Greatwolves only call more of their pack when they’re weak, so one might try to leave them alone, but their stats are almost as good as party members, they can be buffed by Chiefs too, and they can pin party members to take away their turns and feast on them for massive HP recovery like those cannibalistic hydras in the final dungeon of Chrono Trigger.

Ahhh… If it isn’t obvious, this is the stuff I love talking about in these updates. ♥ If I had any good business sense then maybe I’d find somebody and pay them to figure out all the animation stuff and create maps while I do what I like, but I do appreciate knowing what is and isn’t difficult in this process. So back to that I go!

One last note:

It’s a crazy thing to find yourself singing along to a piece of music when you’ve never heard it before, but I actually have heard it before. : D Going back to things from an earlier era that I’ve thrown away, the story of my RPG’s 2001 version opened with the heroine wondering whether people dream of adventure for a reason and launching into a solo musical number about loving her steady life but still wanting more.

I was 16 and so the lyrics are mostly embarrassing and I’m not posting them now—except for the ending. I haven’t thought of that song in years upon years, but the first time I heard 0:20 of that Pokémon Omega Ruby and Alpha Sapphire theme, the two repeated choruses came rushing back to me:

And I think I will find—no, I’ll find out, I know
What awaits me if I just move on

There is loving and living and so much I’ll never know
Until I’m out exploring what’s beyond
And so very soon, I’m sure, I am going to find
What awaits me if I just move on

The bold part has almost the same cadence as the Pokémon piece except that it pauses before “no” instead of before “me”; the notes and scale of the first line in particular are exactly what I had in mind way back when. <3 It also fits even better with the “And so very soon, I’m sure” line other than having one fewer note. Sometimes I write lyrics for pre-existing game songs for fun, but this might be the one and only time where things happened in reverse. =P

Dreamblazers Devlog: Week of July 21, 2014

Last week’s achievements

* Rebalanced HP formula
* Altered battle menu displays
* Rebalanced damage formulas
* Fixed HP displays
* Added elemental resistances to all enemies
* Added remaining enemies and bosses of first and second dungeons: Centaur Warrior, Dryad, Elven Archer, Feligas, Grisly Bear, Slimectric, Slimelter, Slimercury, Slimerime, Sylph Mage, Zanari Arcadian, and the two bosses who I won’t name
* (Mostly) Papered out new attacks, magic, and other abilities: Acid Barrier, Angel Blade, Angelic Clasps, Angelic Protection, Aqua Rush, Archsilk Bolas, Arrow Hail, Ballad of Bravery, Barrier, Blazing Arrow, Chain Lightning, Clarity, Crystal Shield, Defense Command, Divine Intervention, Draw Slash, Dual Slash, Electrical Aura, Enduring Echoes, Fearless Faith, Fiery Cling, Flame Jelly, Freezing Cling, Full Bloom, Harpoon Thrust, Healing Arrow, Healing Horn, Holy Field, Icy Jelly, Inspiring Stand, Intangibility, Intuition, Jolting Cling, Light Healing, Mercury Cling, Mighty Burst, Miracle Healing, Neutralize, Noble Salvo, Poison Jelly, Poison River, Purifying Burst, Reinvigorating Rondo, Remedy, Restabilize, Revitalize, Run Down, Rupturing Quake, Sacred Salvo, Scalding Wave, Shield, Shining Flare, Shock Torrent, Snow Sweep, Solar Arrow, Spinning Spear, Spirit Beam, Stun Jelly, Tangling Vines, Torrential Waterfall, Toxic Brambles, Trample, Unbind, Whispering Wind

Current focus

Battle balance.

Sample stuff

I still have a bit left to do here this week! Green indicates an upside of an attack, such as how much it costs to use relative to how much damage it deals or extra status effects it inflicts; yellow indicates a downside, such as how much it costs to use period or how inaccurate it is.

Not shown, though, is another hidden element of balance: distribution. Flame Spray is all around superior to Fire Wall, but the latter can be used by almost any mage with a fire affinity while Flame Spray is reserved for wyverns, dragons, and other rare fire breathers.

…also, looking this over again, somehow I only now noticed how fundamentally flawed my Power For Tier column is. I’m leaving this picture in untouched, though, as simple evidence that I’m not perfect. =P

Weekly goals

* Make tentative “final” decisions on Jelia’s moves
* Finish papering out damage-dealing attacks
* Implement all the new attacks into the game
* Give the new enemies their AI

Comments

I finally pinned the damage formula to a comfortable level, then wound up creating more moves than expected! Similar to Pokémon, most enemies in Dreamblazers appear in multiple areas at different levels and share from a large pool of moves. For example, the Greatwolf and Feligas monsters share attacks such as Mega Slash and Vital Fang and recur on several continents because wolves and big cats are everywhere. (No, there won’t be any Zubat or Tentacool appearing all the time.)

This type of setup means that move creation is very front-loaded. Since I didn’t have any archers until this point, suddenly five new moves appeared for the Elven Archer enemy—five moves that I won’t need to create again for any of the Ranger enemies! Likewise, the Dryad and Sylph Mage had twelve new moves created between them, but other magic-using enemies will share their attacks.

Again, Pokémon is a useful analogy. If I created moves in Pokédex order, then I’d get through 18 Pokémon with only one Electric-type move before suddenly several show up at the Rattata mark (#019) and even more for Pikachu (#025). However, by the time I hit Gengar or so (#094), I’m guessing that over 85% of moves would be created for only 13% of Pokémon. Not that I’m operating on such an enormous scale, of course, but the ratios are a great point of comparison.

All of this does entail lots of spreadsheet legwork to creating attacks before I can even touch Unity or ORK. I don’t mind, but progress feels more tangible in a playable demo than in rows and columns, even if it’s a playable demo loaded up on placeholder everythings.

Dreamblazers Devlog: Week of June 16, 2014

Last week’s achievements

* Preliminarily finalized dodge rate formula
* Sent art feedback for Jig (alternate outfit) round 2 and Lash round 2

Current focus

Balancing and testing enemies and enemy groups.

Weekly goals

* Send in art feedback for at least two out of Tango, Telia, and Kelly
* Send in face portrait requirements for at least three characters
* Add hit rates to all existing attacks
* Test a range of player party attacks against various early-game enemy groups and vice versa

Comments

Considering I got swept up in E3 hype for half the week and only had three and a half effective days (late Thursday to Sunday), I pulled off basically everything I intended to. Getting evasion correct proved more challenging than expected, though; I didn’t have my breakthrough until nearly midnight on Sunday. Testing nine characters or monsters against each other in various permutations, I aimed for a few key points:

* Celty, who has the game-best accuracy and game-best evasion, should almost always be able to hit a character who has exactly her stats
* Even characters or monsters with notably above average accuracy should have trouble hitting her even half the time
* Playable damage dealer characters, including fairly inaccurate ones, should always hit enemies except for the most extreme cases, who they should still hit more often than not
* Evasive playable characters should have dodge rates hovering around 25-40% against average enemies
* Level advantage should give a bonus to hit rate but not to dodge rate
* A certain early-game joke boss should almost never hit Celty but should hit “normal” evasive characters like Evelyn and Sakura around half the time

I went through a couple dozen iterations of increasingly intricate formulas, each missing the mark on at least one of these points, but found my solution when I decided to start from scratch, tossed out all the mounting complexity, and created a simpler formula. Now I only need to test a bit further to make sure it holds up at higher levels, then start running real in-game simulations with multiple-character parties and enemy parties.

Dreamblazers Devlog: Week of June 9, 2014

Last week’s achievements

* Finished creating early-game moves used by the original player party…
* …then rebalanced nearly all of them after testing
* Rebalanced damage formulas
* Rebalanced damage of nearly all enemy moves after testing
* Rebalanced a few enemies’ stats

Current focus

Balancing and testing enemies and enemy groups.

Weekly goals

* Send in art feedback for at least 60% of everything that came in (a large batch arrived on Sunday night, so I didn’t finish it)
* Implement dodge rate formula and add hit rates to all existing attacks
* Test a range of player party attacks against various early-game enemy groups and vice versa

Comments

I probably should have known this after three and a half years of relying on Scald burns in Pokémon, but comparatively speaking, 30% is a very high chance when it represents the odds of your most brokenly powerful monsters using their most brokenly powerful attacks.

This week is all about nerfing without neutering. So far I’ve largely been taking the powerhouse attacks down several pegs while elevating the weaker attacks to compensate, making monsters more consistently threatening but holding back from letting them one-shot party members. The other key will be adding the dodging formula since Celty is an artful dodger who needs her core ability added.