Well, I don’t have my DMing notes in front of me, so I guess I’ll start off the blog proper with how Gathering Storm became the game that I wanted to make.
I guess I should begin by saying that I don’t rightly know. Very quickly after the idea to make a game formed in my head, that idea crystallized very clearly into a first-person dungeon crawling turn-based RPG, and how that crystallization occurred I cannot fully say.
For one, I hadn’t seen anything of the sort in all the Flash games I had played. In fact, I can count the number of good Flash turn-based RPGs out there with two fingers: Mardek and Epic Battle Fantasy. If you’re into that sort of thing, you should check them out. There are other decent ones, but typically they involve randomly-generated dungeons and little to no story. I guess there’s also Sonny, but fighting RPG-style battles without any sort of dungeon navigation is like eating a pizza with no cheese or sauce. The genre was woefully lacking, and I wanted to do something unique, so I guess that’s that.
It also deserves to be mentioned that I love the genre. The only game I have played front-to-back more times than Shining in the Darkness is probably Super Mario RPG. And SitD’s spiritual successor, Shining the Holy Ark for the Saturn is such a lovely gem of a game. Also Etrian Odyssey, Phantasy Star I, there really isn’t a first-person RPG I haven’t got a crush on.
And I guess the last motivation is that I could produce an ambitious piece of work without having to worry too much about gobs and gobs of artwork or issues with timing key inputs. I could make a time-insensitive, stark dungeon crawl with lots of story and depth, which is really what I wanted to focus on.
So, yeah, once I got it in my head to undertake this project, a lot of other stuff started crystallize pretty quickly in terms of the story and the gameplay. I have played more than my fair share of RPGs and I’ve seen it all, both the good and the bad, so my goal was to incorporate as much of the good as possible and cut out all of the bad. Pretty obvious, no?
The gameplay mechanics:
I wanted it strictly turn-based for ease of coding and other reasons. I have to limit myself somewhat as a first project or the thing would never get done (actually, as I’m writing this, I’m thinking about what sort of steps would be needed to turn it into an active time battle system and how it wouldn’t be TOO complicated, but, no, no, I’ve made my decision).
The first thing on my list of don’ts, however, is to not input all party commands at the beginning of a round and then let it all play out at once. One of my main foci is to give the player as much control over the battle as possible, such that you decide what a character does when his/her turn in the battle order pops up. Another huge benefit of this is giving the speed attribute more importance than just who goes first in the round. By not defining specific rounds at all, I can allow characters with higher speed to get more overall actions over the course of a battle. Basically how it works is that initial character order is determined by a random number weighted by a character’s speed, then to determine who goes next, another number weighted again by speed is added to the original number. The program just looks for the next highest number in line and that means their turn is up. The higher a character’s speed, the lower the number added, so characters can essentially “lap” each other in the action order and come out with more turns.
The second mechanic I really wanted in my game was a materia system: basically a set of gems that characters could add to their equipment to augment character stats and give them special abilities. Out of any mechanic in any game, the materia system in FF7 really takes the cake for adding a tremendous amount of depth in the gameplay. The only downside to the system, however, was that the characters were largely interchangeable and unspecialized. They had slightly different stats, but all abilities (outside of limit breaks) a character had were tied to the materia they were using. So I decided to create a “rune” system that operates largely the same as materia, but without the magic materia, i.e. most skills and spells are learned by individual character through leveling up and talent trees. The runes are still in a fledgling phase in my head at this point, but basically they will be added to equipment to augment skills already known my the character and possible add a couple extra ones. And the runes themselves will also level up through rune points acquired by killing monsters.
10 playable characters with 4 characters fighting battles at once. For some reason, 4 always seemed like the right number to me. I might have settled on that number way back in my Dragon Warrior 3 days, when I realized how much better controlling 4 characters was than controlling 1. But I also didn’t want to force my players to play with a specific 4 characters. I mean, that wouldn’t allow for much customization. No, I needed no fewer than 10, all with different skills and battle tactics, so that, again, the player would have as much control as possible. I could have just gone for the full control route – where the player goes through character generation, choosing class and stats for their own party, but that severely limits the story. I want my players to connect with the characters, and that’s not possible with randomly-generated mutes.
One side note on the above 2 issues – I love Mardek. I think its really well-developed and fantastic, but I hated the fact that if you set a character aside to try a new one, it was hard to pick them up again because they fell behind in terms of level and skill learning. In Pseudodragon’s augment learning system, character augments were learned from items onto individual characters through battles. I’ve combatted falling behind by having the runes themselves level up, much like materia, and then these runes can be interchangeable amongst equipment. And the solution to characters getting left behind in terms of levels is to simply have experience distribute among all characters, even if they didn’t participate in battle. I honestly can’t figure out why Mardek simply let low-level characters sit in the dust. Any aspect of an RPG that makes a player grind for no good reason is not a good aspect to keep in the game.
To add even more customization to the battle party, I added the rank mechanic. Basically, you can designate your characters to operate in specific ranks, 1-4, for the 4 fighting characters. You can place a character in a rank as long as there is a character in the rank in front of it. So you’ve got rank 1, which takes and deals full damage from all attacks, then rank 2, which someone can occupy as long as there is someone in rank 1, in which characters take and deal 15% less damage from melee and breath attacks. Rank 3, so on and so forth. So the player needs to establish tank positions with characters wearing heavy armor, and then put their squishy ranged characters in back where they’ll essentially be taking half damage. The monsters also have 3 ranks they can occupy.
And then there’s the talent trees, where every time a character levels up, they can invest points into augmenting certain skills are adding new one. I mean, seriously, after WoW came out, what game didn’t feature talent trees? It, again, just adds a significant amount of customization. This is especially important because there is a very clear main character in my game and it is required that he is one of the 4 people in combat at all times. He’s not really the proverbial “hero,” but the story is about him and he needs to be the one the player connects with the most. But I didn’t want one specific role in the battle party filled by this required character, so I gave him three wildly different talent trees so that he can fulfill 3 separate roles depending on the player’s desire: a melee fighter, a damaging spellcaster or a healer. And the player quickly finds other characters with redundant roles, so that no matter how you want to play the main character, there will also be other characters to fill the other roles.
I also want to mention that there will be puzzles, trap doors and all manner of insidious diversions in the dungeons of the game. I have actually done very little dungeon design at this point – I’m still working on menu systems and the like – but trust me when I say this aspect of a dungeon crawl will not be neglected.
One other thing I’d like to add that is unique among Flash games is that there is no mouse control. Everything in game is governed by the arrow keys, Z (confirm) and X (cancel). I didn’t do this because I didn’t know how to put in mouse commands – it would have been a lot easier to program selecting an item from the inventory with the mouse rather than having the arrow keys move a cursor around and ever-changing array of objects – but because I wanted to give it that nostalgic console feel I have grown so fond of over the years.
I guess I still need to talk about the characters, the basic plot and my quest to write the best story possible (Epic Battle Fantasy’s main failing), but that will have to wait. This post is seriously way too long as it is.