Showing posts with label Dungeon Crawler. Show all posts
Showing posts with label Dungeon Crawler. Show all posts

Wednesday, September 23, 2015

Update 9/23/2015

Hail Wanderers!

Shorter post today, with a longer set of posts to follow soon. I'm planning on getting the next inside the dungeon post up when I get the chance, but I'm also going to make a post explaining some of the revisions to the combat system (yes, it has changed again).

It's not a major change this time, sort of, I'm just trying a new structure for how the turns execute. I'll expand on this in said follow up post, but the short version is that I felt that the original one didn't cause enough interaction between the player and the enemies. Specifically, if there were multiple enemies on the field there was no reason for the player to attack enemies that were defending. Furthermore, it was hard to display all the information about what the enemies were going to be doing if they had more than one action stored in the turn, or in what order those actions were going to execute and why that mattered, if at all.

Anyway, this is a little visual I threw together that (hopefully) explains how the new system will work. I may come back and change the visual later so it's clearer (once I get a second pair of eyes on it and what not) but hopefully it'll do the job of explaining what the new turn system will be, if not all of the why.

Click to enlarge

Until next time!
Charles (Guardian Soul)

Saturday, September 5, 2015

Inside the Dungeon: Engaging Combat

Hail Wanderers!

Today, as promised, I'm going to start going into a little more detail about my plans for the dungeon crawler. This series of posts will include some of my design philosphies, my intent for the game's final experience, and a bit of the logic behind the decisions I'm making. This will be a multi-part series, and I'll eventually collect them and put them under one page or something similar for more easy access, but for now expect more posts like this one in the standard blog feed.

To start, I'm going to be tackling the first goal of the game: changing and engaging combat scenarios. My plan here breaks down into three points: providing the player with more information each turn, changing the combat space each turn, and eliminating single-choice combat scenarios. I'll hit each point in turn, but first a short explanation of how the combat in game works.

The combat system shares many components with other turn based RPG systems of its kind (think games like Golden Sun, Etrian Odyssey, the Persona series, and similar titles for the basics). The player and enemies have health pools that are depleted by using offensive skills against them and also have defensive skills to mitigate or recover from that health loss. However, instead of combatants in the game having a basic attack command, all actions in combat are performed through skills. Each skill used consumes and generates resources from a global pool that all combatants share. I'm calling this shared resource mana for now, just for the sake of standard conventions, and it comes in earth, water, fire, and air mana. Again, just for the sake of simplicity in these early phases. I'll get deeper into what that shared pool means for combat below.

In addition to requiring resources from that global pool, each skill consumes a certain number of action points. Action points regenerate by a fixed amount each turn and can be carried over, up to a max value, if they are not all consumed in the turn. So long as the player, or enemy, has enough action points and resources in the global pool, they can queue as many skills as they like each turn. This allows the player (who only controls a single character) to better engage the multiple enemies (who have comparatively low action point pools).

Lastly, damage and defensive values from skills are broken down into physical and magical types. A defensive skill that blocks magic damage won't reduce the damage from a physical skill, and vice versa.

I'll write up a more readable version of the rules at a later point, but that should be enough for the purposes of this (already somewhat lengthy) post. On to the main topic!

Providing the Player Information
I want to make each skill choice in combat meaningful for the player, and to help with that I plan to provide the player with more detailed information not just about what each skill does, but its actual effect against the target it is being used on in that turn. I'm not sure how soon certain components of that information will be available to the player (enemy weaknesses, if those are eventually part of the combat system, etc) but at a base line the game will display how much damage each skill is predicted to deal to the target.

This will take into account any defensive skills the target is using that turn, and the intent is that the player will look at what type of damage the enemies are defending themselves against and plan accordingly to exploit the gaps in their defenses.

Similarly, the game will display what skill(s) the enemies will be using each turn, and display how much, and what type, of damage the skills are projected to deal to the player. Again, I'm still iterating on how much information about each skill will be displayed, but for now I'm leaning towards displaying a complete set of information for each skill (that being how much damage and of what type it will deal, what the skill is targeting, and how much of each global resource it is consuming and generating). The reason for displaying the skill type is simple enough, as it allows the player to properly match attack skills and defensive skills by their type, but the reason for displaying each skill's effect on the global resource pool is a little more elaborate. Because those resources are needed to use skills, both by the player and the enemies, it is important for the player to have a solid idea of what resources they will have available to them next turn. I'll explain in the next section the intent behind this and how it works.

The intent of displaying so much information to the player is that the player will be making counter plans to the enemies' actions in the turn they are taking those actions instead of reacting next turn. I'm currently balancing the game so that, if the player doesn't match damage types and pay attention to what skills the enemies are using, they will find combat to be very difficult, if not impossible. Yet if the player makes an effective counter plan to the skills the enemies have selected, they should take very little damage in combat. It's also intended to take some of the guesswork out of the equation ("that enemy's health bar looks small enough that this light attack should kill it, right?") and help the player cope with a more dynamic combat environment.

Which feeds pretty nicely into the second point...

Changing the Combat Space
In addition to simply selecting skills that are effective against what the enemies are going to do that turn, what skills the player and enemies can use is determined by what resources are available in the global resource pool that turn.

The purpose of the global resource pool is to prevent combat from always following the same skill rotations or set counter strategies. With it in place, what skills are available for both sides to use changes each turn as the state of the pool changes. Without that, it becomes a simple matter of matching defense types to enemy attacks and selecting the opposite type for player attacks.

Furthermore, because the pool is shared by both sides, this opens the door to more strategies for the player and also presents some additional concerns that they need to keep in mind for longer combat encounters. If the player knows what resources particularly dangerous enemy skills consume, they can use skills that deplete that resource type from the global pool, effectively preventing the enemies from using those skills. But at the same time, if the player over uses a certain resource type without taking care to replenish it with other skills, they may find themselves without enough resources to use key skills later in the encounter.

I'm not completely certain that this is the eventual form the system will take, but I think it's a solid starting point that captures at least the basics of the intended experience. I'm toying around with having skills that consume certain resource types also be of that type, and deal more or less damage against certain enemies based on those type match ups, but I'm leaning more towards having the state of the global resources be what has an impact on the skill's effectiveness instead. The player doesn't have any control over what enemies they are facing, so having skills of type A deal more damage to enemies of type B would place the player back in a more reactive position. On the other hand, if skills of type A deal more damage when resource type A reaches a certain level in the global pool, the player would be able to actively plan to reach or avoid that threshold, depending on what their skill setup is and what skills the enemies are using.

Eliminating Single-Choice Combat
This one is a little more nebulous, so first I'll explain what I mean by 'single-choice combat'. The term is in reference to combat scenarios where one choice can be easily taken to achieve victory, no matter what the opposing side tries to do. In many turn based RPGs, this is the 'attack' command, which can carry an on-level, or especially a slightly over-leveled party through most fights without too much of an issue. That or having the choice of which skill to use simply break down to which the enemy is most vulnerable to. It's not that those are bad systems, though I would argue that hitting 'attack' for every enemy in an often lengthy dungeon can get a little tedious, but that they don't engage the player beyond the initial formulation of the strategy. Outside of random events (a critical hit, or a miss, or the like) most of the time those strategies will work well enough for the player. Even if the strategy is a little more detailed, outside of boss battles or similar encounters where enemies are much more powerful the same basic strategy tends to apply to each encounter.

Part of the reason for this, I think, is that in these style of games the generic encounters are balanced so the player isn't constantly having to heal and recover after every fight. If basic mobs are proving to be a challenge for the player, it's usually a sign that the player isn't strong enough for the area yet. Some games get around this in part by fully healing the player between each fight and having every fight be a more challenging one (with the bosses being even more punishing) but enemies still follow a reasonably predictable pattern after a while, and once the player is strong enough fighting them becomes time consuming rather than challenging. I've seen some games get around that by having low level enemies either not fight the player or be one hit kills if they are engaged in the proper way (the Mana Khemia games, for example, allow the player to kill sufficiently weak enemies without even triggering a combat screen) but the dungeon crawler doesn't share a similar game space to those games.

Mana Khemia, for example, has a level exploration system where the player encounters monsters as blobs of various shapes and sizes. Weak monsters are cleared with a simple slash that doesn't even trigger combat, as stated above, while that same slash provides the player an advantage when they start combat with stronger monsters. It's a good system, in my opinion, as it keeps the player from having to slog through battles that they'll easily win, but in addition to encountering monsters the player is also exploring the area in real time and collecting resources. The dungeon crawler's dungeons will exist in the form of text and choices that the player can make, not in that real time space, so similar solutions don't apply as easily.

I intend to partially mitigate the issue by having the more dynamic combat system, as explained above, and thus requiring the player to make a new plan based on what the enemies are doing each turn in addition to the general strategy for taking them down, but that still leaves the issue of how to deal with enemies that aren't strong enough to provide the player a suitable challenge.

I could have the enemies scale to the player's level as the game goes on, but for now, my solution is to have the encounters themselves change as the player gets too strong for them. I'll get deeper into this when I'm talking about how the game world can be shaped by, and reacts to, the player, but for now I'm thinking that once the player reaches a point where they are over powered for an encounter, new options will come up that allow them to engage with the encounter in new ways.

For example, let's say there is a basic bandit ambush that the player has to deal with. On-level, the player simply fights the bandits and gets loot if they win. But once the player is strong enough that the bandits won't pose a threat, the bandits recognize this and instead of attacking, offer to lead the player back to their hideout. The player now has the option to take them up on the offer, which leads to an ambush against stronger bandits at the hideout that is a level appropriate challenge (and provides level appropriate loot!), the player can simply keep on their way if they don't feel like dealing with the encounter, or the player can start the old combat encounter if they so desire. It's a more complex system, and it may only be implemented for certain encounters, but I think it will make the game more interesting and prevent the player from having to do the same old easy combat yet another time for rewards that aren't worth the trouble.


Alright! That's all for that topic. Thank you for sticking around to read all of it, thank you for coming to at least see what's up if you didn't, and I hope these plans are getting some of you excited for the game when it comes out. Most of what I talked about today is actually implemented in the game already, so look forward to it when the next version rolls around (I'm not making any release date announcements, I've learned my lesson there).

Until next time!
-Charles (Guardian Soul)

Tuesday, September 1, 2015

Still Alive, Still Designing

Hail Wanderers!

My sincere apologies for not making a post in so long. My life has been a little hectic, what with graduating from college and trying to get a foothold on my next step in life.

But enough with that! Long story short, I'm back, and will be updating the blog regularly until further notice (that eventual notice being that I, happily, have a job and, sadly, won't be able to devote as much time, if any, to my side projects).

Until that happens, my goal is to make as much progress with the dungeon crawler as I can. In fact, significant progress has already been made! I've overhauled the dialogue system and added a proper UI (many thanks to Alexander Beauchesne from the NeverYear Games team for his help with both), along with making changes to combat and the core experience of the game to get it better in line with my original intent.

Which, because it got a little lost as I tried new ideas over the months, I feel like I should repeat again. I'm going to go more in depth in a later post, but for now let's just leave it at this:

I intend to make a turn based RPG with a focus on changing and engaging combat scenarios, player-NPC interactions, player customization and play style choices, and a shifting game world over a slowly expanding game loop.

I'm going to expand on how I intend to accomplish those goals, why I want to make this game in the first place, and what you all can expect from it when (and yes, I really do mean when) it is finished.

Until then, my sincere apologies again for the lapse in communication, and I hope to share this journey with you all!

- Charles (Guardian Soul)

Friday, January 16, 2015

Update 1/16/2015

Hail Wanderers!

A new year, a new semester, and in my case at least, a new team! I'm very grateful to the wonderful people at Neveryear Games and look forward to working with them on We Love Nuclear Armageddon. I will be taking the role of the main systems designer, working alongside the narrative designer and reporting to our lead designer and producer throughout the semester. Primarily I'll be working on adding faction specific upgrades for all of the buildings currently in the game, but I'll also be doing some work on the narrative and, at least for the short term, working on a re-balance for the economy in the game.

Right now, the game's economy is balanced. It works well, and all the various costs of creating buildings, nukes, and activating shields, along with overcharging towers, all work very well. The economy runs off an interesting system were it is impossible to stockpile resources. Instead, the player has a max value for the two resources (uranium and chromium) that they generate each level. Because of this the player is encouraged to use as much resources as possible in their turn, as any left over resources won't carry over to the next turn. The system works very well, and that's not the area that I'm going to be looking at for balance. What I want to do is to try and streamline the economy some. Right now, many of the buildings and the nukes use a combination of the two resources, so it can be hard to figure out how many buildings that produce each resource the player should build. This issue is compounded by the immense importance the game places on the position of buildings on the player's planet (the planets rotate, and both shields and nukes work based on an area of effect, so it is important to keep in mind what is next to what) and the fast pace of gameplay. It would be ideal for the selection process of a building to be as simple as possible so that the player can focus more thought onto the placement of the building or other tactical and strategic decisions. Ideally, I would like to have chromium be a sort of defensive resource (used to build buildings and power shields) and then have uranium be a more offensive resource (used to build nukes and overcharge towers). I'll probably keep it that nukes require both resources to build, but I'll experiment on a few iterations of the offensive/defensive split over the next few days and see where it leads me.

In other news, I'm part of the way done with yet another revision of the lore for the dungeon crawler, and intend to add more to the combat system. I want to add different combat states (grappled, etc) that will present different options to the player, with the intent of both making the skills enemies will use more diverse and also presenting more interesting and unique combat scenarios to the player. I'll have more information about that as I continue to work on it.

Finally, (and quickly), I'm taking a creative writing class this semester, so expect to see some short stories and the like appear on the blog from time to time (I'll spare you all the poetry, don't worry). I'll probably have to do some messing around with how I want to present the stories, as the standard blog posts are pretty terrible for presenting long blocks of text, but we'll see how it goes.

Finally finally, I'm going to be working on a portfolio website over the coming semester as well. No real details as of yet, but I'll still maintain the blog as the main source of updates for the projects I'm working on, etc, and use the portfolio to showcase the work that I've done.

There are lots of exciting things happening in the coming months, and I look forward to sharing them here.

As always, until next time,
Guardian Soul

Sunday, October 12, 2014

Update 10/12/2014

Hail Wanderers!

Back to shorter posts for this week. Most of the work has gone into locking in the main systems we already have for Treevolution, and testing those systems so that we know what areas we have to refine. That has taken up the majority of this week and I have to say, the results have been quite informative. The game continues to grow by leaps and bounds, as we have the core gameplay experience for the first tier of the game all but completely worked out and implemented, with a fair amount of the balancing completed. Though we haven't fully blocked out the remaining systems we would like to implement, we have a rough idea of how the latter game stages will look, as outlined by the chart below. Next week, we will continue to implement and test these new systems, building off the foundations we have established this past week and bringing the core gameplay experience for the game closer to completion.

That, and we're going to get as much testing done on our game as possible.


In other news, I have a rough version of the new dungeon exploration system for the Dungeon Crawler done, though I need to actually mock up a dungeon to test the system. I expect that there will be many iterations before the system is complete, but progress is being made, even though it is on a somewhat sporadic basis.

Until next time,
Guardian Soul

Sunday, October 5, 2014

Update 10/5/2014

Hail Wanderers!

Somewhat thin post today, partially because some of the work that was completed this week will end up going unused, but that's not necessarily a bad thing! Anyway, on to the news.

I spent some time this week working on the farm system for The Last Days of Greys (aka the sprite game) and had the mechanics for that fleshed out. The player would upgrade the core trees using resources obtained in each level, allowing them to grow more seeds for less resources and upgrade how powerful the effects of those seeds were. The trees would consume water (which would be distributed by the player to the trees from a pool that would regenerate over time) to create new seeds, and the amount and type of seeds that would be created would depend on how much time had passed since the player had last returned to the farm, which would in turn be measured based on how many area transitions the player had passed through.
In addition, I had created a system for crossbreeding the seed types with each other (a feature that was often mentioned in test sessions, in class discussions, and in conversations among the team). In early versions, entirely new seed types would be created as a result of these crossbreeds, but that eventually became too cumbersome both from a systems design and a level design standpoint, and I shifted focus to instead applying modifiers to the effect of each seed type based on what other element the seed was mixed with. For example, seeds that were modified by the air element tended to have their range expanded, allowing the effects to function as projectiles or to extend beyond their normal area of influence. These crossbreeds would be discovered by selecting a base seed, selecting an element to cross it with, giving it some water, and then letting it sit at the farm and (hopefully) germinate into a new seed type which would then start to grow from the appropriate core tree.

That all being said, after further exploration into each game concept, the team and I made the decision to go ahead and devote our full efforts onto Treevolution (formerly known simply as the tree game). For that game, my efforts have focused on the new biodiversity system that we have just recently implemented into the game.
The main idea behind the system is that as both players create more entities within the game world (be they trees, grass, animals, what have you) they will increase the biodiversity of the overall ecosystem, thus unlocking more entities in the game world as the ecosystem is now robust enough to 'support' them. This will hopefully add a strong sense of progression to the game, and also has many interesting implications as the biodiversity level can actually go down if too many entities are destroyed without enough taking their place.
For the moment, I've been working on the first level of this new system which adds two new entities and one new ability to the game, birds, bugs, and seeds.
Bugs are a non-controlled entity that spawn randomly on trees. When on a tree, they burrow through the tree's back and eat the leaves, dealing one point of damage to the tree every turn. This is countered with...
The birds. Birds will eat any bugs that are adjacent to the tile that they currently occupy, saving any associated trees from being chewed hollow. The players can not directly control the birds, but they can attract them by having their trees grow...
Seeds! But not the sort that grow into the ground. These seeds instead serve as a beacon of sorts that draws in any birds on the map. The birds will fly over and roost in the tree that produced the seeds, ridding it, and its neighbors, of any pesky insects.
Interestingly enough, these three systems, while designed to work together, have implications on systems outside of this cluster. Just as one example, bees, which are a higher tier entity that are attracted to flowers (grown from grass) and give an energy boost to nearby trees, may also fall prey to the hungry birds. Once we have more of the different systems fully fleshed out, tested, and implemented, I plan on making a food web of sorts that will show the various interactions between the entities in Treevolution. The end goal is to create enough simple and interconnecting interactions, just as in a real ecosystem, that the players will have a great depth of strategic options available to them.

Lastly, and on a rather unrelated note, I've finally completed the revised combat system for the dungeon cralwer! It still needs to be tested, which may result in some (hopefully minor) changes, but I'm much happier with the direction that the system has moved in and hope that it can more successfully convey the experience I was aiming to create with that game. Next on the list of things to do when I have time is redesign the dungeon system. I already have several interesting ideas that I want to test out, so look forward to hearing about them sometime in the future (though I'm not sure exactly when).

Until then,
Guardian Soul

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

Friday, August 15, 2014

Update 8/15/2014

Hail Wanderers!

I'm still working on the new area maps and all the encounters that will go along with them. Things are going rather smoothly, but there is still a lot of work to do before the next build. Anyway, the main point of this update was to show one of the mostly finished maps that I've been working on for the new levels.

Each level will have several interconnected areas that the player can visit. In each area the player can perform several actions:
Search - The player searches the area, finding loot, enemies, or other things.
Encounters - Triggered when the player enters the area, and can be all sorts of things from more story based enemy encounters to non-hostile NPCs.
Investigate - In some areas, the player may be able to investigate details of the area, learning more about the story that goes with each level, lore of one form or another, finding items, or other things.

Anyway, here is an example of what a level could look like if you mapped it out. This is actually the map I'm using to plan out the level, so some parts are hidden for obvious reasons! Each of the large bubbles represents an area within the level. The branches off of the main bubbles have details about what the player can find in each area. The blue arrows show the possible progression paths through the area (the area transitions go in both directions in game, but the program I'm using doesn't map that way).


I'm going to finish filling in this map and write up all the relevant text, and then I'll just have three more to go before I start implementing all this in the code.

Until next time!
Guardian Soul

Tuesday, August 5, 2014

Roadmap 8/5/2014

Hail again, Wanderers!

I realized that with all the changes I just mentioned, I should let everyone know what I'm doing moving forward. The basic plan looks like this:

1. Go back over each dungeon and change the structure so that it conforms with the new design goals. First up is fire, then water, air, and earth. This means actually make the dungeons dungeon-y. Or at the very least explorable.

2. Go back through each boss NPC and redo them so they conform with the new story goals.

3. Move around the old minor NPCs as needed.

4. Add in some form of introduction (either a dungeon or a quick narrative blurb) to introduce the overall narrative.

5. Bug testing/balance checking.

6. Release.

As usual, I don't have a timeframe that all that will happen in, sorry.

As a side note, I'm going back to college towards the end of this month. That doesn't mean work on this game will stop, but it will understandably take a backseat to school work when needed. On the other hand being in school tends to make me more disciplined than the summer does (to be perfectly honest) so expect to see a more even work pace on the project.

Guardian Soul

Update 8/5/2014

Hail Wanderers!

Sorry for not posting anything for so long. The game is still alive and well, but it is going through some growing pains. I've come to realize that the format of the game as it currently stands will not deliver the experience that I want so I am breaking down several parts of the game and rebuilding them. Progress is still being made, and the project is in no way dead, but the next build won't be out until I can work through the redesign. What follows is an explanation of the issues as I see them and part of my ideas for how I'm going to try and fix them, so if that doesn't interest you, feel free to skip the rest of the post.

The original intent of this project was to create a character-oriented dungeon crawler. The way I was going to accomplish that was by having each NPC the player encountered be unique. For example, instead of running into a random goblin the player would be running into the same named goblin. This goblin (we will call him Bob) would have a personality, a backstory, goals, dreams, etc. Over the course of several encounters, the player would get to know Bob and move through his character arc. This sounds great in theory, but it runs into several issues. I'll highlight each issue and then explain my intended solution.

The first issue is a conflict between gameplay and narrative. To really get to know Bob requires several encounters with him. Which is fine, Bob is a standard enemy, the player will run into him several times in the dungeon as they try to level up and get strong enough to fight Bob's boss. Yet Bob is a basic enemy, one who really doesn't have a large place in the narrative. Bob's boss on the other hand is a major character (being a level boss) both in terms of gameplay and the narrative. Yet the player will probably only encounter that major character a handful of times due to the nature of the gameplay (beat the boss, move on to the next level, usually don't come back). The solution to this is rather simple. Instead of having the boss of each level patiently wait at the end of the level for the player to come and fight them, they will have an active role throughout the level. They will confront the player (not necessarily attack them though) early on so that their character can be established and then continue to build up their character, and the player's relationship to them, over the course of the level. All of that will eventually culminate in the boss battle, but by that point hopefully there will be a relationship between the boss and the player which will then make the fight and the aftermath of the fight much more compelling. In addition to that, the basic enemies in this level (Bob and his friends) will play less of a role, which I will discuss more in a moment.

Going along with this issue is one of scale. To write a full character for every minor enemy in the game, while nice in theory, really isn't practical on any level. It takes a ton of time for one. For another, most players really won't be all that connected to every single NPC, and having what would normally be random enemies have full characters really bogs everything down. To put some numbers to it, there will (eventually) be 105 basic enemies in the game plus 35 bosses plus 7 major NPCs (plus or minus a few depending on what I add or take out as things go along). To make each and every one of those NPCs be compelling and interesting would take several games at the very least. The solution, as much as it pains me, is to turn the basic NPCs into exactly that, basic NPCs. Now the basic enemies within each level will simply be nameless enemies the same as in most other games. I'm not going to deviate from the format I already have of the different bits of combat flavor text (you can still expect enemies to have some personality and they will have all the basic parts that are already there) but they won't have any progression to them. You won't get to know Bob anymore, you'll just be fighting a bunch of goblins. A bunch of goblins with interesting combat text and mechanics, but still just nameless goblins. That being said, that means that the boss of each level will step into the narrative void that has been created and take on a larger role, as I outlined above.

Before I go any further, let me take a moment to explain what is going to happen to the NPCs that are already in the game. Some of them will get removed from the game but most of them will remain in one form or another. The bosses will certainly stay, and you can expect to see them grow considerably, but most of the minions will either be taken out or moved to a new location within the game (some may wind up as shopkeepers or the like). If there are specific NPCs that you are attached to (even in passing, I know they aren't terribly well developed so far) please let me know which ones in the comments and I will try to find new homes for them.

One of the other major issues I've been having with the game is one of gameplay. To be honest, the linear form of the dungeons just isn't working. I did it for a variety of reasons, but the time has come to change it to be something more robust. What I'm probably going to do is something of a hybrid between the current system and a more traditional text based adventure format. There will be exploration and investigation of an environment (though not in 3D space, just through text) but it will still have some method to try and trigger random encounters. The idea is to have a system that will allow the player to explore the area in a more meaningful way, while at the same time allowing for random and scripted encounters.

The last massive issue, and one that I still don't have a good solution to at the moment, is one of narrative logic. I know the sort of story I want to tell in this game, and I have an overall plot in the works, but I can't quite figure out a good way to have a good aligned main character fight good aligned NPCs. As some of you may have noticed, there aren't any villains in the game as of yet, and all the NPCs are generally somewhere in the neutral or good end of the alignment spectrum (to borrow from the logic of Dungeons and Dragons). So, again as you may have noticed, I keep coming up with rather illogical reasons for them to be fighting. Now this problem partially solves itself for the minor enemies (as they will no longer have full characters it is easy enough to give them some sort of basic reasoning. "I'm going to rob/arrest/attack/etc you now" in essence but with better wording of course) but the major enemies need some sort of logic to back their actions up. I was toying with the idea of having the main character be part of a group that generally provokes a hostile reaction in other people, but that seems like it will get old fast and is rather unfair to the player. I can just spin a narrative reason for each NPC, but I would like to try and find some form of unifying logic that I can use though the entirety of the game....which I think I just thought of as I write this.

With that in mind (and as this is already quite long winded) allow me to apologize once more for the long gap between updates and bid you all a good day. I'm off to rewrite my narrative.

Guardian Soul

Monday, July 21, 2014

7/21/2014

Hail Wanderers!

Just a small update today on the progress (or lack thereof) on the build. Most of my time recently has been spent fighting bugs and the code editor I am using, but I think I've cleared most of the major bugs (and changed to a new editor) so I'm going to start on the update to the enemies tomorrow and hopefully that will proceed more smoothly than getting the random weapon generator working did.

Guardian Soul

Thursday, July 17, 2014

Update 7/17/2014

Hail Wanderers!

The update to the code is complete and mostly cleaned of bugs, though I haven't done very rigorous testing for anything beyond basic usability. Weapon tables are up next, along with a global balance shift (mostly focused on the NPC stats as they are now using the same damage range system that the player uses and as such are dealing far too much damage right now). The balance update shouldn't take too long as now the NPCs can have stats more in line with the player's stats and I can more easily compare the player's expected strength to the strength of an NPC. Anyway, I'm going to start on the new loot lists today/tomorrow and hopefully finish them within the next few days. I'm probably going to work on the NPC stats at the same time, so the process will take a little bit longer but it should mean that the balance should be a little bit better.

Once I have all that done, I'm going to clean up the user interface a little (specifically the status screen) and add a few minor features (specifically the ability to destroy items in the inventory). Once THAT is done and I do some bug testing, update 0-2 should be ready for release.

Next blog update I'll explain a little about how the weapon generation system works and may even include a bit of code for those who are interested.

Until then!
Guardian Soul

Wednesday, July 16, 2014

Update 7/16/2014

Hail Wanderers!

The code for the new item system is in and working, but it still needs quite a bit of polish and possibly some bugfixes. That being said, it shouldn't take much longer to complete the work that still needs to be done. After the code is at a point where it is ready for release, I'm going to spend some time creating item tables and setting up the system for randomly generating items. The framework for that system is already up and running so once I have the tables done out in a spreadsheet I can easily transfer that data to the code.

What that means is that the next update may be out within the next week and a half or two, but I'm not committing to that date as there may be unpleasant bugs that stall production or something else unforeseen may happen. Still, if all goes well it shouldn't be too much longer before release.

Guardian Soul

Monday, July 14, 2014

Roadmap: Build 0-1 to build 0-2

Hail Wanderers!

In addition to any bugfixes, balance issues, or other changes that come up as a result of feedback, build 0-2 will focus on an overhaul to the inventory and equipment systems.

The plan is to implement a more traditional inventory system with an icon based inventory and several equipment slots that items will be equipped to. Going along with that, the other major change will be the introduction of randomized loot. Initially this will only be randomized weapon and armor types with different stat values assigned to them but eventually the system will include other stat bonuses and effects. In the far future, the system may change to a component based system that will allow for a mix-and-match style of item deconstructing and crafting, but that will come later.

The other main change will be to the combat system. I can get into the messy details of how it will all work in a later update, but the plan is to change the current randomization system to a more weapon focused one. In the new system, weapons will have a listed damage range and the player (or enemy) stats will be added to a randomly generated number from within that range to determine damage. To allow for a greater range of minimum and maximum damage, all stats in the game will be increased by one decimal place (base player HP will now be 500 instead of 50, for example). Furthermore, both the player and the enemies will see a buff to their attack values and possibly to their total HP values as the balance of the combat system shifts.

This update will hopefully not take too long (certainly not as long as it took to create the first build of the game) but as this is my first time coding some of these systems, I have no estimate to give. I am going to start work on the inventory system today and will keep the blog updated with my progress. In the meantime I hope you are all enjoying the game even in its rough state.

Guardian Soul

Sunday, July 13, 2014

Demo Build 0-1 Release

Hail Wanderers!

I am very pleased to announce that the first build of the dungeon crawler is ready for release! You can get it here.

Please let me know if there are any issues (either through email or on the Bug Report page) and give as much feedback as you can on every aspect of the game. The whole reason I'm releasing this early build is so I can get feedback and make changes to make this game better, so the more I hear from all of you the better the next build will be. In any case, I hope you all enjoy the demo!

NOTE: Make sure you equip armor and a weapon (I or Right Mouse Button to open the stat screen) or you will have no chance against the enemies.

Guardian Soul

Thursday, July 10, 2014

Update 7/10/2014

Hail Wanderers!

All the code has been updated and translated into C#. It is also significantly more streamlined and less messy, so hopefully that will speed up the rest of the process. I'm going to start plugging in all of the enemy data and hopefully have that finished soon. Once that is done I'm going to go through and do some testing just to make sure that I have as many of the major bugs squashed as possible before the first testing build is released.

Guardian Soul

Monday, July 7, 2014

Update 7/7/2014

Hail Wanderers!

Well so much for frequent updates, but I'm done reviewing what I have written for all four dungeons. From here I'm going to start fixing up the code so that it is ready for me to plug all of the narrative and dialogue in. I have to translate everything from Unity's version of Javascript to C#, after which point I can start actually making changes to what the code does. To be honest I don't know how long this will all take, but I will post here as I finish each portion and try to give a projection of what I still have to do.

The first thing on the list is the translation process, so I'll post again once that is done or if something else important comes up.

Until then!
Guardian Soul

Tuesday, July 1, 2014

Update 7/1/2014

Hail Wanderers!

The water boss is done, a little later than I had wanted but done none the less. I'm starting to check over the fire dungeon encounters today and will post again once I'm done with that or if something else comes up.

Guardian Soul

Sunday, June 29, 2014

Update 6/29/2014

Hail Wanderers!

Fire boss is done, I'm going to start on the water boss now and finish her tomorrow. After that, I'll do a check over the text to get it ready to be incorporated into the code. I'll update the blog with my progress regularly and will post about the next step once that is nearing completion.

Guardian Soul

Friday, June 27, 2014

Update 6/27/2014

Hail Wanderers!

The Earth boss is done! I'm moving on to the fire boss tomorrow. Hopefully things will continue at this pace, but I'll keep the blog updated should anything change.

Guardian Soul