Tuesday, June 25, 2024

Dawnfall's Combat and Mechanics Part 3

I dunno if it's just because I'm excited to get this demo made, but something has me back to working at the pace I was at when I first started on Maids & Masters, and that means it's going to be big. The second mission is built and being tested as I'm writing this, and while my original goal was to have the first 2 or 3 missions done, it's looking like I might be able to get a whole lot more than that done. 

 

Where most of my demos are roughly the size of Arrival in that they take 20-30 minutes to get through, maybe 45-60 minutes if you really scrounge around looking for secrets, Dawnfall's demo is roughly 15 minutes just for the tutorial, which mostly revolves around giving you the main character as he would be at the end of the game and telling you how to absolutely wreck shop with overpowered units. For reference, my personal save is roughly 40 minutes after the first mission, and that's with me skipping some of the dialogue. The addition of all these extra missions should bring the demo well over an hour in length, and that's if you beeline the missions as quickly as possible.


So, for this last post (at least for now), I'll go over the system that I haven't quite figured out how to represent visually yet - the companionship system. 


Like I mentioned last week, if you're familiar with Fire Emblem, this won't be anything new to you. The idea is that if units are close to each other when they act, they gain companionship points. The closer together they are when they act, the faster they earn points. Unlike an affection system that largely only focuses on the main character's relationship with the individual love interests, each pair of characters has their own companionship score. This system means each character can have unique relationship growth with each other character that progresses naturally within the game. This plus the camp lets you see as much or as little of each individual character as you want. All of this works perfectly behind the scenes, but there's no way for you to check progress, and I want you to be able to see both character relationships and weapon mastery while at camp.


The camp is also set up to let you continue on with missions or stop to go through character events at whatever pace you like. If you want to stop in between each mission to see if any new events opened up by poking your head into everyone's tents, lighting a campfire, and taking the time to talk with everyone - you can. If you want to go straight back to the mission map to get to the next battle, you can. I've set this up so every character has a fixed progression for their non-story events, so you'll never have to worry about missing a character's events because you progressed too far in the story or progressed more with one character than the other. This might get a little messy when the game gets bigger as I try to maintain continuity between individual character events and group character events, but that isn't a concern for the demo.


Right now the only obstacle is getting all of that information into a screen so you can see it. I've tried a few things, like expanded status screens that let me add custom variables, as well as things similar to the Estate Info screens in Maids & Masters, but while my attempts so far have technically met the requirements of communicating the information I want to communicate, I'm not happy enough with any of them to call the system complete just yet. Since the companionship system won't have any real impact on the demo, the visual representation may not be present if I don't manage a breakthrough by the end of the week, but like I said up top, this demo is going to have plenty of content for you to enjoy.


If you want to get your hands on the demo, it's going out to Patrons this Friday, June 28th. It'll be available to all tiers right away, so if this sounds like something you'd be interested in, I'd appreciate it if you considered going to my Patreon page and supporting me.

Tuesday, June 18, 2024

Dawnfall's Combat and Mechanics Part 2

I have finally managed to get my productivity back to where I want it to be. Some things are a little different from what I laid out in my last post, but the important thing is that the core gameplay of the necessary database work is done, the demo's core gameplay is working, and the skill system is working and fully implemented. I still have some assets to make/fix and the companionship system to get working, but I'm now confident enough in my progress to say I'll have a working test build up on Patreon for VIPs on Friday, and the demo should be ready for release to all Patrons on the following Friday, June 28. That does mean the demo is going to be my monthly release, which puts me a bit behind schedule, but things are the closest to normal than they've been this year. It's a good feeling.


Anyway, on to changes from last week. The big thing is the core gameplay. I can now actually test how everything works in a live game environment, which was my biggest hurdle before now. I'm still working on equipment switching, but for now, changing equipment is a free action, but can only be done before movement. I kinda want it to take your turn, but I haven't figured out how to make that happen yet, so I might just seal everything except your weapon so you can't change literally everything every turn and still act normally. For the sake of balancing things out (and stopping combat from taking way longer than it should), I dropped the baseline for max HP down to 10 so it's in line with all the other stats. Other stats haven't changed, and the formulas haven't changed, and testing so far has been pretty good. Enemy max HP came down along with player unit max HP, so you're still only needing to hit these early enemies 1-3 times to down one. Combat should feel reasonably quick and both dealing and taking damage should feel meaningful. Balance is definitely going to be a concern, but it always is, so that's not particularly new. Overall, I'm pretty happy with where everything ended up, even if I still want to tweak a few things here and there.


That also means that - aside from making new enemy types - all the math is basically done. I'll be eagerly awaiting feedback when it comes to how fast skills are learned, because I'm impatient and have a lot of things to test so I've been manually setting these variables for myself, but I'm also really happy with how the system worked out. 

 

The main thing that I'm really excited about but only barely mentioned last week is the weapon skill system. The basics are that each weapon has a skill associated with it, and "mastering" that weapon will permanently teach you the skill. Each character has their own set of variables that track both their affinity for each type of weapon as well as each individual weapon. I couldn't find a clean way to have that affect damage, but high weapon category affinity will affect how quickly a unit learns skills. For example, once a unit swings any sword 20 times, that unit now learns all sword skills twice as fast. If the character has a negative preference (e.g., the knight has trouble learning magic), it stops there, but if there's no preference, it can go up to 30 and they'll learn sword skills three times as fast. If they have a positive preference, they can learn sword skills up to 4 times as fast. The same applies to spells and spell books, with the exception that spell books have four spells you can learn from them instead of a single skill.

 

I've even figured out some other modifiers to further make characters feel more unique, in that - on average - you'll need to get 30 affinity with a weapon to learn its skill. If a character should learn a particular skill particularly quickly or slowly, that number might go as low as 20 or as high as 40. The unit's weapon affinity can drastically change the number of times a weapon needs to be swung in order to learn the skill in question. In some cases, a weapon category might have a negative preference except with a specific weapon, so that unit using a certain sword might lead to a better understanding of all swords.

 

To use the earlier knight example, her book affinity caps at 20 because she has a hard time learning magic. That also means she learns spells slowly, so even at maximum affinity, you'll need to use the spell book 15 times to learn the first spell, and a total of 60 times to master that magic. Conversely, she learns weapon skills much more quickly, taking roughly 8 attacks at maximum affinity to learn a new spear skill. 

 

Where this gets really fun is hidden skills. For a completely different example, each character has an "unarmed" skill that you can only raise by unequipping your weapon and punching things. Once you do that enough, rather than learning one specific "super punch" skill, each character has a unique skill they can learn. Aside from an unarmed skill, I can do this in any number of ways on top of having it be character-specific. The knight might learn a skill that no one else gets once she's mastered all the polearms, the mage might learn a spell no one else learns once she's learned certain spells from two or more elements, the paladin might learn a new skill once the knight knows a certain skill and the mage knows a certain spell and he gets the idea to combine the two, so if he learns both, he gets a new hidden skill. I can even hide unlocks within unlocks, so unlocking certain hidden skills on two characters might unlock a companion scene back at camp that leads to both characters learning a combination skill - it's a fun system to play with from a design standpoint.


I want every unit to be able to equip everything, so the major differences between units will be in base stats and how quickly units learn certain skills. That does present it's own problems (because what's stopping you from giving everyone bows and books and super heavy armor and trading movement for defense?), so that might change in the future (or if I get extra spicy, maybe make equipping different weapon and armor types unlock as part of the skill system), but I don't have enough of the game built to know whether those changes are a good idea yet. Same goes for the speed of learning skills and spells; I don't have enough game to know if it happens too quickly or if where it's set is just right.


Right now my main focus is testing all these skills and spells to make sure they function as intended and getting this proximity-based companionship system working (if you've played Fire Emblem games, you know what this is about) and seeing if I can find a plugin that'll let me display all these extra stats so you're not lost on how a unit is progressing with their skills (and where their relationships with the other units stand). That's probably what next week's post will be about, and then you'll be able to get your hands on the demo to see it all for yourself (as long as you're a Patron).

Tuesday, June 11, 2024

Dawnfall's Combat and Mechanics

I have been significantly less productive than I'd have liked over the past week due to some real life issues, but this demo is still creeping closer to something I can actually release. Part of the reason for the crawl is the sheer amount of math I've needed to do in order to get the game balance to where I want it to be.


Unlike all of my other projects that largely leave RPG Maker's base math alone, I want Dawnfall to be closer to the games that inspired it - Fire Emblem and Advance Wars. That means the numbers are going to be much smaller and - hopefully - more predictable. For example, right now I'm having characters start with around 20 HP, with 10 being the average on a stat. When you level up (to a max of 20), those stats might be 40 HP with 20 being the average stat. These will all adjust up and down depending on the unit type - mages will have lower HP, Attack, and Defense, but higher Magic Attack and Magic Defense. Knights will be the opposite; higher HP, Attack, and Defense, but lower Magic Attack and Magic Defense. I also want to keep enemies more or less in line with this, because I kinda hate games that have enemy stats and player stats be vastly different from each other. This should also help with tactics; identifying which unit is what type so you know who to charge and fight and who to stand back and sling spells at.


For actual combat, I also want to simplify damage formulas so the difficulty of combat comes from the strategic skill of the player, rather than sheer numbers. Obviously, there will be some maps that will be "easy" or "hard" based on the number and/or type of enemies, but that sort of parameter will mostly come later in the game, once the characters have mostly been assembled and the story is in full swing, and that won't be at the start of the game, so it won't be in the demo. Which is just as well, because I need to figure out the more granular bits first anyway.

 

The trouble with the more granular bits right now is making sure gameplay is still satisfying. If the damage formula is simplified to "Attack - Defense = Damage" and both characters have 10 in all their stats, that results in zero damage. You'll have equipment to work with, so let's say the basic sword gives you 4 more attack. Well, if I want enemies to function off of the same baseline as the player characters, the enemy should get bonuses from wearing armor, and now we're right back to "14-14=0." I've mostly made up my mind about weapons having a point or two higher attack than what the equivalent armor provides (in math terms, "14-13=1" - hooray, a point of damage!), but since I can't use the built-in battle tester to test things quite the same way as I can for projects that use the default combat system, I need to do math to figure out how many times I want you to need to attack a given type of enemy. Using the baseline of 20 health as an example, you'd be attacking an enemy 20 times to down them one HP at a time. That's hardly my idea of a good time, so obviously there's still some tweaking that needs doing.


The short term solution is that early enemies will have below-baseline stats. For example, they'll be magic users focused on status effects, so they won't do damage directly to your units and they'll have lower than average HP and Defense. That makes sense, and now you're doing 4 damage and you only need to do it 3 times to deplete their 12 HP. With three starting units, that's maybe a little rough, but easily manageable. Other enemies might be built as fodder, so they'll have half of the baseline stats before applying modifiers for unit types; 10 base HP, 5 base Defense. A back-line unit like this might only have 4 Defense and 8 HP after modifiers, so they go down in one hit. Even a front-line fodder unit might only have 6 Defense and 12 HP, so you only need to hit them twice, and you might one-shot a few of them if you get a lucky critical hit. That feels like a much better starting point. Of course, that still leaves later enemies a bit unresolved, but the stat increases from levels should mostly cover that. Not to mention any learned skills or a potential weapon affinity system.


This, plus the decision to make all attacks do a minimum of one damage, took me nearly a full week to work out and test as best I could without having a battle map built in the demo yet. There's still a lot I need to figure out, like whether I want you to be able to switch weapons on the fly or have you be stuck with whatever you decide at the start of the battle (or compromise and make switching weapons a "skill" that takes up your action), and whether or not I want to include (and how to include) an affinity system, where a character can (maybe) learn skills faster and (possibly) do more damage if you have them focus on swords or lances or a certain type of magic instead of bouncing around to learn all the skills (which I still want to be possible, because I'm absolutely the sort of person that wants to bounce around and learn all the skills). I might split it up so you have "sword affinity" as well as affinity for each individual weapon (currently, individual weapon affinity is how you learn skills), but working all those variables into the damage formula and having the formula properly update based on the current character is complicated.

 

And all this really just scratches the surface. There's still how extra stats affect skill damage, how "hybrid skills" behave (like swinging a sword but targeting Magic Defense), how Agility factors in (if it's high enough, your character will act twice on a single attack), area of effect attacks (I don't care how big the room is, I said "I cast fireball"), damage types and resistances (nothing likes being on fire, so should everything take extra damage from fire magic, or is that imbalanced?), and how status effects should work, and how many weapon types I should make, and exactly how the skill system works, and on and on. All of this and more before I can even start to put an encounter together.


I'm really hoping what life has me going through right now will pass sooner rather than later, because I'm still genuinely excited about getting this demo put together, but I only have so much time and energy.

And hey, if you made it this far, maybe consider checking out my Patreon? I'm mostly doing lore posts for Maids & Masters while I get this demo figured out, but if you liked reading this, you'll probably like reading those. And once I have it figured out, the demo will be going up there for all tiers before it goes public a month or so later.

Tuesday, June 4, 2024

Next Demo - Light Eternal: Dawnfall

Lore posts got voted for on Patreon, so if you want way too much detail on specific things, head over there and give the most recent post a read. The first one was on the importance of names and how they're handed down between Masters. This Friday's post will probably be another one while I wrap up my client work. Speaking of, all my client work is written, but I'm still waiting to hear back from both of them. I may have some edits or subsequent drafts to get done, but the majority of the time I spend on work from here on out will be on the next demo.


This is the first time I'm posting about it here, and it's been a while since I posted about it on Patreon, so here's the logo.



Like I mentioned on Patreon, this is a special project to me, because it was the first thing I tried to pitch to someone else to get started on trying to become a full time game developer and writer (before ultimately starting on MnM since I had the tools to do so). The elevator pitch is something like this:


We've won. The dragons have been slain. The darkness has been beaten back. The man aspiring to godhood behind an army of daemons is dead, and his soul banished to a plane beyond resurrection. The daemons themselves have been routed and are in full retreat, only stopping to fight when they're attacked.

And yet the war rages on. The paladin leading the Army of Dawn, chosen and blessed by the holy goddess, continues to fuel the hatred and zealotry of her army, hunting what remains of the daemons almost for sport.

It's unbearable watching her devolve like this. Her blessings remain, so the goddess must think this course the righteous one, but after such a grueling campaign, you long for peace. You've tried talking her down before, but she's never listened. It might cost you your own blessings and leave you with a stain of dishonor, but parting ways might be the best course of action.


That's more or less the prologue of the game. I want a little more than that to be playable, because this will be a turn based strategy game. That's the big thing that's kept me from making this game on my own; all I know right now is RPG Maker, and while the engine is a very powerful tool, it does have its limitations. Lucky for me, a new plugin set was released not that long ago, enabling me to take all my knowledge of RPGM and apply it to this strategy game I've wanted to make for years.


The trick is that, as a strategy game, there's a ton of work that needs to be done on the back end before I can even think about writing out the story and building out battle maps. I've gotten most of it done in between getting other updates out, but it still isn't quite to the point where I can launch the game and test the first battle. I think I've got the math more or less where I want it, but I can't be sure until I get everything else done and can test it in the live game environment.


There's definitely a lot to cover besides the premise for the story, so expect to get more about the project until the demo is ready to launch.

Most Recent Update

Maids & Masters (& More Progress on v0.19)