• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS

Game Design

Dual-wielding: is it worth it?

Something I've been pondering lately is whether it's worthwhile to keep the capability to dual-wield weapons in the game. e.ea It presents a bit of a balancing problem. Simply put, the ability to do two attacks in a single turn is REALLY POWERFUL. No duh, right? X) That's double damage output! Why would you ever pass that up?!

Now, there are some other factors involved, of course. The weapons that can be dual-wielded are short, literally single-handed weapons by definition. That gives me a good excuse to set their damage relatively low, and unlike in standard RPG Maker games, Forgotten Gates weapons don't just simply add a bonus to the wielder's stats -- they control what proportion of the stats are actually used. If I want to, I can set the single-handed weapons' attack power to half or even less of what the analagous two-handed weapons' power would be -- that way, their damage per turn will still be lower than their counterparts' even though they're attacking twice.

However, there's also the targets' defense to consider. Hitting twice means that the defense is applied twice as well. For example, suppose a hero could use two weapons that deal 6 damage each, or one weapon that deals 10 damage. 6 X 2 = 12, and that's more than 10, so two weapons is better, right? But if the enemy absorbs 3 damage in defense for each hit, that would result in (6 - 3) X 2 = 6 for the two weapons and 10 - 3 = 7 for the one weapon. Right now very few enemies have strong enough defense for this sort of thing to matter, but that will probably change, and that's a good thing -- it gives players a reason to switch up their tactics in response to the situation. But it also creates a tricky design space, where I have to make sure the numbers line up with one more thing. Are there monsters that have enough defense to make the weaker weapons extremely ineffective, maybe even totally unable to inflict damage? And is that true of all the heroes who can use these weapons, or just the weaker ones?

Originally I had a couple of heroes planned (Rizzen and Drakler) who would dual-wield short swords, but they're now both relegated to 'legacy character' status and may not make it into the final game at all. That leaves the only dual-wielders those who have the choice between double daggers or a bow and arrows. Most of them are toward the lower end on the attack stat spectrum, yet as things currently stand, they outstrip their single-wielding compatriots in damage per time when they dual-wield. I'll have to either seriously nerf daggers or boost most other things to make the weak attackers, y'know, weak. c.c

The other major option, of course, would be to cut dual-wielding out of the game entirely. That would make balancing easier, but it would also make the choice between dagger or bow and arrows much less meaningful. It would probably also feel immersion-breaking and/or unfairly restrictive for some players -- "Why can't I use a dagger in each hand, huh?" :P I don't see a way to mitigate these issues, so it'd essentially be a price paid in game quality for simplicity of development.

For now, I think I'm going to keep dual-wielding, with the understanding that I could cut it out later if need be. Balance is a secondary concern at this stage, something to keep an eye on and adjust roughly to keep things fun, but not spend a lot of effort tuning. The factors going into it are going to change as I add more mechanics, after all.

Progress Report

New demo + monster reactions

I mentioned last month that I was close to being ready to release a new version of the game's demo. Well, it took me another week after that blog post, so I'm glad I didn't rush myself. X) But yeah, it's there on the downloads page as v0.2.2 and ready to try if you're interested and haven't picked it up already. :)

After getting that done, I was fairly lax in my progress this month. The main thing I've gotten done is implementing a system for having monsters react to what's going on in the combat, changing their behavior for upcoming turns and telegraphing such to the player. I started with a relatively simple behavior case: if a deku scrub takes damage, they'll say "Owie!" in a message box (accompanied by the squeaking sound they actually make when hit in the source game), and their behavior changes to Hide in their next action. I'm tempted to change it so that it immediately hides without waiting for their turn, as that would be a more visceral way for the player to see the consequence of their attack, but it could make deku scrubs super-annoying to fight, since they'll instantly hide after any hit and the player will have to wait for them to come back out to continue hacking at them. e.ea


New demo v0.2.2 available!

Yay update! Here are the changes:

  • Added playable heroes Noab and Irina.
  • Added system for equipment breaking after a number of uses.
  • Added ability to switch equipment mid-battle.

Game Design

Character spotlight: Nabooru

Nabooru is the Sage of Spirit and leader of the Gerudo who aren't loyal to Ganondorf. Originally she was second-in-command to Ganondorf, but she secretly harbored plans to revolt against him due to his cruelty. After the events of Ocarina of Time, she brought the Gerudo clan into peace with the other races of Hyrule, although they still tend to be viewed as rather exotic and capricious. Nabooru herself is still a sassy and roguish personality despite her responsibilities.

In Forgotten Gates, Nabooru wields an Iron Knuckle's axe, since she's portrayed doing such as a brainwashed Iron Knuckle in the source game and that gives me an easy way to check axe off the list of weapon types used by one of the Six Sages. Her element is obviously Spirit, making her strong against Light and Fire but weak against Water and Shadow. Her best stat is agility, but she's also a pretty strong physical attacker, and she has good mystical capability like all of the Six Sages.

Progress Report

Irina + DynRPG plugins

I made some decent progress this month, although some of it was unplanned. I started out with the primary goal of implementing the playable character Irina. Her special ability would be a relatively easy one to make, and with her and Noab added to the game, we'd have one character of each element. :) Should make for a good point to release a new demo, right?

Irina's Paint ability was relatively easy to implement, although I did run into a few snags along the way. Most notably, I had to rethink how it would be animated. Originally I'd envisioned Irina going up to the target, much like with a weapon attack animation, waving her paintbrush at the air over the target, and bringing the status symbol for the condition she's attempting to inflict into being. However, there's a technical nuance that made this impractical: battle animations that involve a hero directly interacting with a target are aligned with the bottom of the target sprite, so that it looks like they're standing on the same ground, whereas battle animations for status effects are aligned with the top of the target sprite, since they're speech balloons that should appear above. I couldn't do both in a single animation. The solution I eventually settled on was to make an animation that Irina does from her regular position, creating the status symbol painting near herself and then wafting it toward the enemies in general. The targeted enemy then gets that symbol briefly shown over themself as a natural consequence of being inflicted with it (or shows the Miss symbol instead if the attack failed).

Irina's regular skills are mostly water-themed magic spells, so I was able to make heavy use of the RTP battle sprites and animations to create them. Some of them are almost straight uses of the original animations, merely shrinking the sprites and pulling them closer together to match the smaller-than-typical-for-RPG-Maker enemy sprites I'm using in this game. Others were a bit more original, like blowing up the wave animation to maximum size and having it gently move up from the bottom of the screen for the skill Waterlog. The RTP animations even motivated me to rename one of Irina's skills from Water Blast to Bubble Burst, simply so that I could use one animation for that and save another one for use in Fallon's Cold Splash skill. ;)

While I was working on the battle animations I was reminded of the necessity of making "reflected" versions of some of them. Since my highly custom battle system does pretty much everything through scripts, including battle animations, any battle animation that has any noticable left/right directionality and could be reflected will need a separate version, because RPG Maker 2003 doesn't allow scripters to access its built-in mirroring capability. ...BUT CAN WE MAKE IT DO THAT? 8o After a little investigation, I determined that DynRPG does have access to the data flag which determines whether a given battle animation is mirrored. So I set about making a plugin to give scripters the ability to make use of that. It was a little trickier than I'd first envisioned; DynRPG doesn't have a callback to alert the plugin when a battle animation is starting, so I had to check every frame for whether an animation is being played and keep careful track of when one starts and ends. Then I noticed the first frame of a given animation wasn't getting mirrored, so I had to switch to using the onDrawBattler callback instead of the onFrame callback. There was also some difficulty with frames occasionally being skipped which I had to account for. x.x But in the end I cranked out the DynAnimationMirror plugin, and I expect it'll save me a good amount of time in the long run.

So, I got Irina set up, and it was looking like I might actually be able to release a new demo by the end of the month. :D But since I now had more characters than would fit in a party, I needed a new system: a way for the player to choose which characters they use in the quest (I was using hard-coded switches for my own testing). So I added a new map where the player can pick up little markers and place them on the heroes they want to use. That was also a little trickier than it first appeared -- what happens when the player tries to place a marker on a hero that already has a marker, for example? But I finally got that working properly...yesterday. I could have tried to throw together a demo release today before making this post, but I probably shouldn't rush it...especially since I ran into an actual game-crashing bug while testing this morning. X) And the new equipment-deterioration system could make the game kinda unplayable since there's currently not much way to acquire new weapons. e.ea

Oh, and I also updated the DynParams plugin with a new comment command that lists the currently waiting parameters, because I introduced a new bug while working on the hero-choosing system that turned out to be caused by unused parameters. Busy month.

Game Design

More weapons?

I'm running pretty low on well-established design aspects of the game to talk about, so this month I'm just going to mull over something I've been pondering lately: sooner or later the game is probably going to need more weapons. e.ea I don't just mean the game as it's currently presented in the available demo, where each hero starts with a single weapon (and in Link's case, a shield) and they use just that. I mean I'll have to fill things out a bit further than I have planned so far. Right now my design documents hold ideas for new, stronger weapons that can be found in the various locations that will be visited. For example, in the oriental-style land of Yamakage, longsword wielders will be able to find katana, dagger wielders will be able to find butterfly knives, etc. It's actually a little sparse as-is; most weapon types only have a single extra weapon to be found in each land beyond Hyrule, if even that (Yamakage currently has no axe-type weapon, for example). I came up with the planned weapons waaaaaaay back towards when I first started this project.

Besides just having a bit of variety, the main reason I've been thinking lately I'll need some more weapons is so that enemies can drop cheap ones. Right now all weapons have decent durability, lasting for 20 uses (in my development version that is, equipment deterioration is a feature I haven't released in a demo yet). If I have enemies frequently drop weapons like that, equipment deterioration won't mean much because the player will always have more stock than they can use anyway. However, if most enemies drop lower-quality weapons, with both less power and less durability (I'm thinking 5 uses), suddenly we have a meaningful economy. Should you keep your strongest weapons equipped all the time, or use up the junky ones on weaker foes, even if it means taking an extra hit or two, to make it less likely you'll shatter your good sword in the middle of a boss fight? What if there's a shop in the quest, is it worth selling all your accumulated low-tier weapons for one high-tier weapon? If Shemri is in the party, should you just use the junk weapons as fodder for her Throw ability, or meticulously use them to the point of breaking first?

This would also allow me to match the weapons more organically with the enemies fictionally. Breath of the Wild did this with bokoblins and moblins using primitive weapons of wood and bone, lizalfos being more likely to have actual metal (but still comparatively shoddy) blades, guardian robots having special forerunner tech weapons, etc. I could occasionally even have the enemies themselves become weapons after defeated -- for example, deku babas become deku sticks -- although mechanically the only difference there is that you can't disarm the enemy during combat.

The downside, of course, is that more weapons means more work. X) I'll have to create animations for each hero capable of using a given weapon, sometimes more than once since some special skills involve weapon usage. It should be relatively easy copy-paste-modify work on the whole, but it's not non-existent. Also, while I did leave some room in the game database for expanding weapons, it's not that much -- just 10 total weapons of each type. That felt like plenty when I was only planning on around 5 weapons of each type at most, but I could easily exceed that if I'm making weapons out of monster parts and the like. If I have to rearrange the item database to make more room, I'll have to be very careful to update anything affected. I've already been burned before by that sort of thing, even though I do my best to use variable values instead of direct references to database stuff.

Progress Report

Noab's skills

Progress was fairly slow again this month. In addition to the Satisfactory run with my brother taking up most evenings, I was sick for about a week and a half near the start of the month.

What I did manage to get done was finishing Noab's skills. This was mainly a matter of creating animations. Graphics are far from my strong suit, but making them does tend to go a lot faster than coding. The biggest one was Goron Roll, which involved Noab curling into a ball and doing a spin-up, then blasting forward through one row of enemies and off the screen, then returning through the other row of enemies and finally skidding to a halt. I'd like to make a GIF to show it off, but I've never had any luck recording RPG Maker 2003 games, and similar trouble with other things -- I think it probably has something to do with my graphics card. e.e

Game Design

Character spotlight: Rizzen

Rizzen is the last of the legacy characters I mentioned who won't be one of the main heroes and may not be playable period. I sorta hate to do that since his player was the one who pointed out to me the existence of RPG Maker 2003, but he's long gone from the Triforce MUCK/Zelda RPG scene. That, and the character of Rizzen ended up dead. X) Including Rizzen now would make the story relationship between Forgotten Gates and its role-playing community of origin quite stretched -- for example, Rizzen died before Aubrey and Fallon even met.

Rizzen as a character was...a little hard to describe. He was an impetuous loner, sort of an anti-hero type. He sided with the good guys, but he was always doing things his own way and getting into trouble. He viewed Aubrey as a naive kid who needed protection and steering, and he often got into arguments with Shemri.

In Forgotten Gates, the plan was for Rizzen to be a jack-of-all-stats with a lean towards offense. He dual-wielded short swords, a style which none of the current playable characters use. His element was Fire, making him strong against Forest and Shadow and weak against Water and Spirit, and his regular skills had a dragon theme.

Rizzen's special ability was called Blade Combo, and it worked very similarly to Sabin's Blitz from Final Fantasy 6. The player would input one of several possible predetermined arrow key combinations, and if successful, it would trigger an associated technique, anything from a simple but strong single attack to an energy wave to stealing MP from a foe. The logistics of animations on this would be rather tricky, since Rizzen might have any type of short sword in EACH hand. X) I suspect I could manage it with some DynRPG magic, but I'm loathe to spend the time and effort for a character who'd only be available in non-story extra quests at best.

Progress Report

Noab's Tactics and DynBattlerChange update

I had another month with not as much progress as I'd have liked, though I did make some. My excuse this time is that my brother got me Satisfactory for Christmas and has been pinging me nearly every evening to continue our shared run in the game. Gotta make time for family, right? ;)

Another, more respectable reason is that I ran into some unplanned work on the project. I started out trying to implement the playable character Noab, beginning with his Tactics ability. The basic mechanics of it didn't take super-long, but I had trouble thinking of a good way to show to the player that the hero chosen by the Tactics ability was intercepting enemy attacks aimed at other heroes. So I asked for ideas on an unofficial RM2K3 Discord server. I mentioned that Final Fantasy 6 showed something much like what I wanted by having heroes literally move in front of each other to take hits, but that wouldn't be possible even with DynRPG, as I had discovered when making my DynBattlerChange plugin.

...Or would it? Cherry (the creator of DynRPG) pointed out that it is possible to change the locations of actors during a battle. So I went back to fiddle with DynBattlerChange, and of course Cherry was right. I'm not sure why I thought before that it didn't work; maybe it's because I was using the actor's database values for starting position and just didn't realize there were also variables in DynRPG for their current positioning mid-battle. Anyway, I spent a good amount of time updating and rereleasing DynBattlerChange. I not only changed it to be able to reposition actors in mid-battle, I added the ability to work with the actors by their party spot instead of their database ID and commands for checking what the current positions of actors and enemies are.

After that, I of course finished implementing Tactics by having the chosen hero moved forward slightly while targeted and moving them in front of whatever other hero would otherwise be hit by a given enemy attack. That in itself turned out to be a fair bit of work -- I had to add tracking for who the original target was for any given battle effect and update all the heroes' positions every turn according to whether they're the current Tactics target. Then I got through some of Noab's more ordinary skills.

Game Design

Witch Maple and getting rid of excess equipment

I recently implemented an equipment deterioration system which relies on a subset of the inventory set aside to represent single pieces of equipment -- weapons, shields, armor, etc. -- each with their own amount of remaining durability. Just this month I tackled the problem of what to do when the player overflows this subset by acquiring too much equipment. It's not something I expect to happen often in regular gameplay, but it does have to be handled when it crops up. When the equipment is bought from a shop, the solution isn't terribly complicated: just inform the player by how much they went over the limit, refund all the equipment-type items they bought, and let them redo their purchase from there if they wish. It's a little inconvenient to be sure, but I think it's good enough for a fangame working within the limits of RM2K3.

It turns out there's another situation that's not quite as easy to deal with, though: when the player acquires too much equipment through a non-shop situation, such as an enemy dropping equipment as loot or finding it in a treasure chest. In a game like Breath of the Wild, the player would just leave the new stuff on the ground or in the chest, and if they wanted to they could drop other stuff from their inventory to make room. RM2K3, however, actually provides no mechanism in the menu system for disposing of unwanted inventory. I could rig a system for cycling through the equipment one item at a time and asking the player if they wanted to drop it, but it would be clunky and arduous for both me and the player.

Just when I was starting to write up a description of my problem to ask for brainstorming in the Game Design & Development forum, another solution occurred to me. The Open Shop command in RM2K3 provides a sell-only option, so I could use that as a way to let the player dump unwanted equipment. They'd also be able to dump other stuff, but that seemed like an acceptable downside -- it wouldn't kill the player's chances in most situations even if they did get rid of some potions and stuff, and I could show a message explaining to the player that the idea here is they need to get rid of some EQUIPMENT. Problem solved!

While writing up the text for explaining this unusual situation, I thought of a way to make it a bit more fun and narratively sensible. Instead of explaining the system to the player directly and having the disposed equipment just disappear into the aether, I brought in the self-proclaimed "Great Witch Maple" from the Oracle games! Thanks to Mister Mike for his sprite rips, which I doctored up to match the style of Forgotten Gates:

When the player gets too much equipment, Maple floats down from the north to tell the heroes in her typical sassy fashion that they've hoarded too much equipment and it's lucky for them she's here to take some off their hands. Originally I was going to have her reset the player's money after the transaction so that it's really like they're just dropping the excess equipment, but that led to a difficulty with treasure chests: wouldn't the player be able to just leave the equipment in the chest in such a case? I tried to implement it that way until I remembered that the contents of the chest are randomly decided the moment the player opens them. e.e; That means the item they get will probably be different when they come back later. I almost went the extra mile to change that and record what the contents of each chest are when generating the dungeon, but then I figured, why not just have Maple pay for the equipment like a regular shop? :P Then I don't have to explain why she's not paying even though it looks like she is in the shop menu, and the player won't mind too much having to sell something from their overflowing inventory with no choice to just leave the new item and come back for it later.