Tuesday, September 9, 2014

Update 9/9/2014

Hail Wanderers!

Apologies for not posting an update yesterday, but more revisions were made to the tree game concept so I thought it would be best to post all of the revisions in one shot rather than breaking them up over two days. In any event, the current gameplay sketch looks something like this (click to expand):



The game is planned to be for 1-4 players, with each player controlling a different core (the large circles). These cores generate energy each turn, and allow the player to grow nodes (smaller circles, connected by lines) to expand their area of influence. These nodes have no defensive value of their own, and must grow trees over the node to both defend and attack. Each tree is tied to a different element through essences, and each player starts with a different essence (earth, air, fire, and water). As the players fight with each other, they slowly accumulate essence of the elements that they come into contact with, eventually unlocking more of the elements for them to use and combine (EX: if the fire and water factions fight enough, eventually they will learn how to use each other's essences, giving both players access to both elements). There are other ways to gain both energy and essences, through random events, by capturing neutral nodes on the map, and by capturing some environment features. Most of the above has remained the same through the various iterations, but the combat, tree types, and victory conditions have seen quite a few changes.

The original trees had large stat blocks consisting of attack, defense, health, energy cost to grow and upgrade, energy gained per turn, and then an additional special ability. The original combat system then used these various stats in a direct comparison (so the formula would look something like damage = attack - defense with the resulting damage subtracted from the defending tree's health). This had a few problems, not the least of which being the challenge of balancing all the planned tree types while keeping each variety feeling fresh and at the same time holding true to the general theme of each element (fire was attack, earth was defense, air was low cost, and water had high energy generation), never mind then balancing all the various special abilities both against the other abilities and with the associated stat blocks. In addition, the combat became very predictable, which is not necessarily a bad thing but it could lead to one element having an unfair advantage against the others (fire, for example, could wipe out air with ease due to its high attack power and air's overall lower stats. The fact that the air trees were outnumbering the fire trees didn't make too much difference.)

Eventually, after going through a few more iterations, I dropped the idea of different stat blocks entirely and gave each tree growth stage, node, and core one set of global stats for all elements to use. This simplified the balancing process tremendously and also allowed me to focus on making the unique skills of each element (which, frankly, are far more interesting for gameplay than just different stat variations) exciting and well balanced. Yet this brought up another issue, now combat was even more predictable as higher tier trees would almost always win out over low tier trees. That isn't an issue on its own, and it makes a certain degree of sense, but it does limit the strategic choice of the players somewhat and it also makes the game predictable, which runs contrary to our focus on randomness in the design intent. Eventually I cut down the stats still further, just leaving attack, cost, and energy gain, and made combat a simple win/loss state where whichever side had the higher attack would simply destroy the other tree. To give this new system some interesting depth and allow for player choice, I made it so that both sides could feed energy (which, remember, is used to grow nodes, grow trees, and upgrade trees as well) into their trees before the damage is applied to change the outcome of the combat. So now the combat calculation looks more like: Player 1 attack + player 1 energy vs player 2 attack + player 2 energy. This simple system allows the players to take a more active role in combat and make strategic decisions about what trees are worth investing energy in.

Moving on from the combat, the original goal of the game (open ended exploration and discovery) was changed to a simple elimination style goal where a player wins by destroying the opponents' core. This provided fun gameplay, but it ran into two major problems. For one, it was a departure from the original intent of growing and cultivating the player's trees while exploring and discovering new tree types. For two, part of the requirements for the game to go forward later in the semester is that it must have a functioning single player mode in addition to any multiplayer modes. This meant that we would have had to create AI capable to navigating the various strategic and tactical decisions that make up the game. Not an impossible task by any means, but a little out of our scope at this stage. In the end, a rather simple solution was reached for both of these problems, the same solution that I was working on yesterday and the reason that this update is going up a day later than intended.

Now, the player does not win by eliminating the other players, but by awakening the spirit that slumbers within their core. (A little story background here, in the new concept, the player is taking control of a core, as already mentioned, that fell along with its brethren to a planet long ago. These cores grow and spread their influence in the new world through the nodes and trees, creating lush and vibrant landscapes wherever their influence touches.) With this new version, the player's overall goal is to expand this network of nodes and trees to the point where they can gather enough vital essence to awake the spirit in their core and win the game. Each node that the player creates generates one victory point per turn. When the player gains enough victory points, the core evolves to the next stage, with the last stage being the awakening of the spirit and victory. Each stage also comes with various benefits and passive buffs that are also determined by the elemental type of the core. This new goal not only solves the AI problem (with the single player mode forcing the player to react to a range of randomly selected environmental conditions as they try to awaken the spirit) and also allows for a greater strategic range in the multiplayer game. Now a defensive strategy is more viable, while offensive strategies are still important to slow the other players down. Furthermore, this new goal lends itself to several interesting alternate gameplay modes, such as a possible 4 player co-op mode where all four players are trying to work together to awaken one giant spirit while working together with their various unique essence types to combat environmental challenges and basic hostile AI.

So that covers the major iterations on the game since the last post. We were also considering having some form of ecosystem system implemented into later builds as another layer of gameplay, but that will be iterated on once the core systems are better locked down. Expect to see more updates on this and other subjects related to the tree game soon.

Moving on, I have a little bit of dungeon crawler news before I wrap this up. I'm in the process of redesigning the combat system with the intent of making the HP and MP win systems work better together. As they are now, there is little reason to use both in a fight, and the MP system as a whole feels very awkward to use (and even worse to try and balance). The current revision of the system works like this: when HP is reduced to zero, the combat ends as normal but if MP is reduced to zero, the entity takes 1/4 of its max HP in damage and regains full MP. MP also regenerates a little each time a standard attack is done, but there will be lower MP totals overall. The intent is to make MP more of a fluctuating value, often used and often recovered, while still keeping the danger of letting it get too low and preserving the logic that it represents fighting energy whereas HP represents physical condition. The way to trigger the special events for each character is now to get the opponent's HP below 1/4 and then drain all of its MP, making both values zero. I'm going to implement and test this system soon, and hopefully it will make combat more interesting. I really want to encourage the player to use skills (as opposed to in other RPGs where the most often used action is the simple, and free to use, attack command) in combat and to make tactical choices about what skills to use, how often, and how best to balance offence, defense, and their MP pool.

There are also two new systems in the works for combat, a talk system (which will hopefully help with the PC/enemy interactions and links into the second new system) and a new system and concept of essence states. Explaining that one will require explaining the changes to the overall story of the game, which will come later as this post is already long enough and I want to devote the proper amount of space to the subject, but suffice it to say that enemies will react in more interesting ways to how the player is fighting. If the player is aggressive, the enemies may suddenly become more aggressive in kind, and if the player is more diplomatic or defensive, the enemies may also respond in kind. Both systems are still very new, but I'll post once I have more of them developed.

As a last note, I've decided to prioritize the new combat changes instead of the level design changes (which will take much longer) and have added an arena to the town menu that will allow the player to fight up through ranks of enemies, get cool rewards, and other cool arena-y stuff. It also serves as a good place to test out the combat while the dungeons are under renovation.

And with that, I'll finally bid you all good night. Or morning, or whatever time it may be when you read this.

Until next time,
Guardian Soul

No comments:

Post a Comment