Design Combat

Anthodeus

Member
Contributor
Hey guys

I have been following the main GSoC issues and ideas for a while now, as well as research as much I can about the world (and other worlds like LaS). What is needed in the game is some good ol' combat :rainbowdetermined:, so I'm here to deliver :D (in collab with @korp or @Kartikey Agrawal ) . I'll be posting most of my ideas together with explanations, but I'm also here to listen to everyone's take on what you want from anything in the future. I'll be editing the main post with mentions to who gave the idea, as well as mark every progress made by striking said task and posting a video link next to it.

The whole concept of combat isn't new at all, as @aherber already created a branch that actually implemented some of the stuff I'm going to describe in his thread. What I want to do is not only replicate what he did, but also add new items/functionalities for the player.

Implementation Ideas:
  • Improved Health System : As you might notice in many games, having a clear indicator of how much damage you're taking is a must. For healing and other effects as well, we can either have instant or over-time ways of doing it, each with their own use-case:
    • Damage over time : We could turn the health bar to a color that would represent the effect that is affecting the player (as well as its intensity showing the rate at which the health ticks down). Healing over time I would suggest be a “wave” effect to the player’s health bar, just like a golden apple does in Minecraft. This way, the amount of regeneration would be represented by the wave frequency. This part might be quite involved with the UI side of things, but I'm sure we can collaborate well enough :flutteryay:
    • Instant damage will blink the health that was taken away, and instant healing will cancel the blinking effect if it heals for more than there was damage taken or lower the amount of blinking health if it was less. If the player was not damaged before instant healing (not to say that he has no missing health), the bar will refill quickly to the desired amount.
  • Sprinting System : Just like in Minecraft, there will be an energy amount that you consume for every moment of running, more for jumping, and you could refill it by either resting or other means (*cough* potions *cough*). The maximum energy amount will be determined by a set of stats of the player that will come in close contact with the Anatomy System. I am thinking about hunger, physical training, effort done up to the current moment and stuff like that. From this example alone, the energy limit should slowly rise towards max if the player is well fed. I will have to talk to @korp in a week or so to iron out the details and concepts about that system.
  • Combat System : Proper combat means weapons and armor. I will take most of what I have learned from games like “Divinity, Original Sin”, “Legend of Grimrock”, “Diablo” and “Mount&Blade” and apply that to various weapons and armors in game. A few starting ideas for this would be:
    • Weapon types and damage types : for example, a sword would have both piercing damage in thrusting and slashing damage in swinging, while the hammer would just be blunt damage. (this will mean that there will be different types of weapon damage events and effects (like swing time and sounds). The type of swing will be determined by the player state. If he sprinted recently, that is usually a sign of thrusting damage. If the player does swing his mouse towards a direction, the weapon will follow soon after (if he uses it)
    • Defense : Armors of course will be of different types as well. I have yet to do an in-depth search about this, but the main ideas would be armors reducing the player's speed via encumbrance (I'm not sure this idea will be accepted :rainbowlaugh:, although it could be reduced to only the really protective/hard-to-make ones), giving the player a status effect depending on the type of blow (some of these are [concussion+knockback->when player with plate armor is hit by blunt object], [bleeding->enemy weapon sliced through the armor and got to the player], [crush->when the player doesn't have blunt protective gear] and more to come). Armors themselves suffer durability damage depending on their type and the type of damage they receive. I'm still thinking of the mount and blade way of having armor values only for specific body parts, but yet again, anatomy system and design come into play here.
    • Counters : Players should be able to use a combination of movements as well as defensive maneuvers to parry, block, fake and possibly counter an enemy. Longer weapons will be vulnerable to counters from players rushing towards the one that had said weapon. Power bars for weapons would not be out of the question, as well as mechanics that use them. One example would be recovery time from a swing and this could make the character fairly vulnerable. I'm still a bit curious about how the player holds a weapon, because blocking arrows with a giant bladed sword or a giant maul could be possible by putting the hammer in the way of the arrow (and thus making it act like armor in a way, so it might as well take durability damage :twilightsmile: )
    • Fletchery : Bows and crossbows will be a good start, making them have multiple types of ammo and firing modes will not be as easy (alt firing mode for crossbow would be an upgrade to repeat crossbow - Chu-Ko-Nu style, while alt firing mode for bow would be holding arrows in the string hand, allowing for speed shooting - less damage due to short string pulls but more arrows; good against weak armor ). These weapons will have to include either an inventory of their own, a pseudo inventory where they have ammo patterns to follow (what to reload after they exhaust an ammo type), or the player can use them and it will reload by inventory proximity. Either way, having ammo of more than 1 type loaded might be harder to do.
  • Anatomy System : Anatomy, in my opinion, involves more than just body-parts, but everything involved in taking care of said body (what goes in, wounds, health, status-effects)
    • Survival : Going into detail about what survival would imply would make it too difficult (for the player to survive in-game that is :raritywink:). That said, that’s the reason people play some games: the challenge. Hunger is an easy implementation of a basic player need. The issue here would be creating recipes, a whole cuisine of items to be devoured. Some foods may give status effects if eaten raw, or might affect the outcome of a certain type of food you make. I’m thinking procedural stats for ingredients to affect the final food product from a recipe. Bad products could be used to make a safe food (that will not poison the player at least), while the good ones can be stored or cooked into nutritious foods. This plan would imply a heavy use of the crafting system, as well as procedural addition of properties to certain entities, creating a heavily populated family of foods of the same type. (should work well with the farming module:fluttersquee:)
    • Body-Parts : Hitting a specific part of the body will have to affect the player in different ways, affecting their movement and probably rotation. Just consider the player made out of the 6 components he is in minecraft (head, body, 2arms, 2legs), that is about it for an initial idea. This of course will be extended, and an entity might as well have more than 6 body parts, which I'm still thinking how would react to the terrain (like a tail when a creature or player backs into a wall - might want a generic tail for small creatures like Mibbles from LaS)
    • Falling + Gravity : Another concept that might not be wanted :rainbowlaugh:, but it does make sense theoretically. Falling damage should of course affected by the player weight. This could imply either the current equipment, the hotbar, the whole inventory, or a combination of the three. The player could also have some stats that prevent or reduce falling damage, so there are a lot of possibilities
    • Application : The system should be available for most entities in the game. From player to mobs and even structures? (turrets?). It should be structured well enough to allow a custom amount of inventory slots for items (rings, necklaces, sashes etc) as well as armor; this of course depends quite a lot on inventory and UI, so discussions about these will be great.
  • AI System : What is a combat system without stuff to kill, that also fights back? I plan on creating an AI that is capable of navigating terrain depending on its capabilities/abilities. For a start ground enemies with certain movement patterns will do the trick, but flying ones are always necessary. Level differences, blocks that control areas (anti-mob torches in minecraft), biomes or time of day (light levels) and even blocks (water/lava; cold/hot; dry/humid; acidic/alkaline) could affect what paths creatures prefer. This one is heavy on algorithms, but it could be related to a proper user interface if you wanted to give commands to some creatures by interacting with them, screaming commands to more creatures in an area around you or having some sort of remote control for all these purposes. This functionality is needed for MOO that @Upekshe Jay was interested in and is closely related to behavior trees. (although a simple version of pathfinding might work just as well for those purposes)
  • Sticky System : I know it's not the best of names... This system is created for the sole purpose of sticking blocks anywhere on terrain (where they can be placed). I already have a functional version of this, but I have to port it to a module before I do anything else with it. It's used to stick any type of "sticky" block (that has a StickyComponent) to any available surface in the landing area -> the item you throw will transform into a block that suits the needs of the side it landed on, which can be the top, bottom, or any side of the block it collides with. Improvements to this system will come by means of introducing a speed threshold for sticking (they gotta go fast to stick) and maybe a certain angle?
  • Projectile System : Name stolen straight out of aherber's combat branch again, this system deals with fast traveling projectiles and their interactions with the world. They can bounce, ricochet and embed themselves in the block they hit. This can be used in many, and one quick example would be a video I did on it. Climbing walls, using this system to potentially ride cannonballs or rockets; lots of possibilities, for destruction and otherwise :pinkiehappy:. Lighting up a cave has never been easier than with a TorchBomb™ (projectiles + sticky system = love... wait a minute... that sounds even more wrong :rainbowlaugh:)
  • Portal System? : I haven't discussed this idea too much (or at all) yet, bit it did sound like it had potential, in my head at least. Think about it like this: Minecraft portal; we all know it, fine and dandy; but how about if we saw the other world through the portal, like in "Antichamber"? Loading some chunks of a different world would be a start (if at least we can have 2 worlds on the same map - I know minecraft generates the nether as soon as we enter it; This portal could create the other world as soon as we activate it). Besides just a different world, I also discussed about chunks having different physical properties (denser air that you could potentially swim through, low gravity so you jump higher, reverse gravity (implies rotating the character as well -> probably going to become something like "VVVVVV") and stuff like that, but only for certain chunks). This could either be done with some wizardry @Immortius might know or have the tombs of, or special blocks that affect an area around them. Still working on this concept, and would like some ideas/suggestions.
I think that's about it for the systems I could think up on the spot. I'll be adding new system ideas and whatnot after I get some more ideas (anyone's, not just mine)

For a simpler way of regarding the tasks, I thought a more obvious and organized list would be in order. As such, this will be a start:
  • Improved Health System
    • Damage over time / healing over time
    • Instant damage / health items.
    • Blinking effect for health loss
    • Regeneration
      • Add visual wave effect to regeneration
      • Add correct frequency to the wave effect
    • Status effects
      • Health coloured properly
      • Icons for displaying on screen (/w timers)
      • Slowness
      • Dizzyness
  • Sprinting System
    • Add energy system
    • Add bar to to the UI
    • Add stats? (strength, stamina, agility - if anything just to have their potential there)
    • Create energy replenishing items
    • Make the Sprint bar dynamic (as explained above)
  • Combat System
    • Weapons
      • Create a few unique weapon prefabs to be used in game
        • Give them properties (reach, damage)
        • Create models for them
      • Add damage types to said weapons
      • Add weights to weapons? This will be of aid for when the power attacks come into play
      • if (Sprinting System) Add different types of attacks
    • Defense
      • Conjure several rare armors for in-game testing of weapons
        • Add relevant stats (armor thickness, armor type, durability, weigth)
        • Create proper models for said armors
        • Create the inventory slots necessary for adding armor and items
        • Find a way to show the armor on the player
        • Tie the armor to the player in such a way that its stats can be read from the player wearing it
      • Create defensive items (shields, bucklers, dreamcatchers wait what?)
        • Again with the properties
        • Models as well
      • Add player status interaction to type of hit -> type of armor relation
        • Bleeding effects for cuts and pierces
        • Concussion effects for bashes
          • We'll need some visual awesomeness here. Player should see jack buck
          • Slowness effect as well
        • Maybe just a camera shake for when the player receives damage?
        • Blood on screen? Too cliche? Thought so...
    • Counters
      • Implement vulnerability periods after striking and missing
      • Add power bars for harder hits
      • Add groggyness time for after getting hit by a powerful attack while defending
      • Create defense move (mouse 2)
      • Allow weapons to block projectiles
        • Means also adding material/armor type
        • Make the weapons 3D models that projectiles can interact with (if they don't already)
    • Fletchery
      • Add bows to the game
        • Add bow model
        • Add shooting power
          • The actual power bar
          • An animation for said power bar
          • Sound?
        • Add different ammo types to the bow
          • Normal Arrow
          • Fire Arrow
          • Explosive Arrow
          • Gooey Arrow (if you hit another creature with it, it explodes into tens of Gooeys moments later; Does not work on gelatinous creatures)
          • Torch Arrow
          • Platform arrow (embeds itself in the wall so that it makes a solid wooden block (like a sideways fence)
          • Ladder arrow? (drops a rope ladder all the way to the ground
        • Add item inventory?
        • Add alternative firing mode
      • Add crossbows to the game
        • Add crossbow model
        • Add shooting animation and sound
        • Add different types of ammo
          • Bolt
          • Thunderbolt (as much a reference to mlp as it would be a challenge to visually design the effect it would emit between targets and how it would sync up with the code itself).
  • Anatomy System
    • Survival
      • Implement hunger
      • Add ingredients
        • Add models for new ingredient items
        • Add spawn source for these ingredients
          • Add blocks out of which ingredients fall?
        • Add an "ingredient" component to already existing items that fit the purpose ( I know we have farming somewhere)
      • Invent basic foods
        • Add recipes
        • Add block models
        • Add effects? (like steam from soup)
      • Add stats for dropped ingredients
        • Make the stats a random chance between a maximum and minimum
      • Create dishes that combine ingredient stats.
      • Add status effect to foods depending on stats
    • Body Parts
      • Add a giant block around the player (for proof of concept)
      • Add a rigidbody for each bodypart
      • Add animations for types of movement
        • Flying
        • Running
        • Walking
      • Implement detection for player attacks
      • Implement wounds? (damage local to body parts)
        • Add impact towards overall movement (attack speed, running speed, jump height)
        • Add visuals? (cuts, bleeding effects, scars)
    • Falling + Gravity
      • Calculate a player weight depending on either armor or inventory, or both
      • Calculate relative damage for different falling speed impacts
  • AI System
    • Add a random movement AI to entities for testing
    • Add several simplistic pathing algorithms
      • Clump into an area
      • Disperse into a formation
      • Go from A to B straight
      • A to B with obstacles (with cases of impossibility)
    • Improved algorithms
      • Add preference system
        • Dislike dangerous paths
        • Dislike slower paths
        • Dislike forbidden paths
        • Approve healing
        • Wait if no reasonable way to get to target without hurting self too much
        • Hide if taking damage in safe zone
        • Recognize hiding positions
      • Aiming system (for ranged enemies)
        • Enemy recognizing
        • Proper ballistic trajectory plotting to stationary target
        • Position anticipation
      • Morale? (enemies run away when badly hurt or attack you if they are in a pack)
      • Add flying enemies?
  • Sticky System
    • Implement sticking blocks to terrain
    • Add threshold for sticking
    • Add sticking sound?
  • Projectile System
    • Implement proper arrow impacts
    • Solve tunneling issue
    • Add arrows with different physical properties
      • Pierce
      • Ricochet
      • Bounce
    • Add projectile "riding" capabilities
    • Implement possibility for mid-air projectile collision
    • Add TorchBomb
      • Model
      • Functionality
As for a MoSCoW assessment, i considered the following:
  • Must:
    • Bow + arrow that damages any entity (including certain blocks? [wall] )
    • Weapon defense mechanism (reduces damage taken from any source)
    • Simplistic hit detection (orientation + target position + click)
  • Should
    • Healing and Damage items(potions) + DoT/Regen
    • Simple sprint mechanism (no sprint bar)
    • Some weapons with different damage values and lengths
    • One armor slot that reduces damage by a set amount (depending on armor set)
    • Sticky items
    • Projectile that embed themselves in targets
    • Distinction between body areas (not necessarily body parts)
    • Simple AI that moves towards or runs away from the player (no pathing)
  • Could
    • UI feedback for effects and damage/healing
    • Proper sprint implementation
    • Interaction system between weapons types and armor types
    • Body part implementation
    • AI that can avoid obstacles, dead ends and dangers
    • Different types of arrows + crossbow
    • Hunger + food crafting + ingredient system
  • Won't
    • Different bow/crossbow firing modes
    • Varying sprint bar
    • Counters
    • Weight impact on falling damage
    • Smart AI
    • TorchBomb
    • Fletchery (special arrows)
    • Proper animations + sound + effects (for most of the stuff)
    • Flying enemies
    • Projectile riding
    • Random stat ingredients + foods
    • Wounds (affecting player movement and camera?)

I added some color coding depending on how I considered a certain task to be as : 3D Wizardy, Models, UI related. I'm not a pro at deciding what colors should be used where, but this is an alpha asessment :twilightblush:

Trello board
is also a WIP
 
Last edited:

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Discussion has been going on here and there on this, some on Slack, some on IRC, and now even Trello :)

We should probably bump this thread once in a while with some summaries/decisions.

After reading through the recent IRC log (argh, the one time I sleep in really late) with discussion between @Anthodeus @korp and @Kartikey Agrawal I wanted to highlight one thing I think I may have covered briefly with one or two of you in the past: Anatomy could be done extremely simply without needing to get into any of the model-related body part coding, which is a lot trickier. Just define an anatomical system via components and prefabs, then use test commands and test items to play with it. I think I talked Kartikey through the details there once. Can do again if we're online at the same time again.

On status effects check out https://github.com/Terasology/AlterationEffects - it exists! It just doesn't do much / hasn't been hooked up to much. I think it was one of the last things @Marcin Sciesinski did for TTA so it may just not have been put to use much.
 

Anthodeus

Member
Contributor
Hey there @Cervator :pinkiehappy:

We had a meeting to discuss how to lay out the tasks we think are part of Anatomy in general and would be useful for other modules. About trello, if there's no issue in having the board public, we can keep it that way; but I'd consider adding @Kartikey Agrawal to the group over there as well :fluttersquee: (and you can also talk to him about how to get slack up. I'm not sure how the chat logs there work, but I'm guessing it's a bit better than what we can get from IRC). That way, anyone who want to listen in on the convo can also just join that group. I think we might have one a week (maybe 2) to chat about how we plan the other bits of anatomy in as much detail as possible, or at least to structure them in a comprehensive way.

As for the body parts, we talked about using components and prefabs, but I'm not completely sure what the next step is from there if not the singled out entities for said body parts:rainbowhuh:. We could just do the system as a root node to which all body parts relate, and the test commands would just be "damageLeftArm" or something of the sort and the damage will be interpreted by the root, as well as the entity itself. Thus, another command would be "statusLeftArm", so you can see the hp and whatever status effect in a debug text. If that's not what you're referring to, please explain in more detail; I'm curious about how it can be easier :fluttersquee: ( + I always have a way to complicate everything so you your idea might be better. Making @korp 's investigation of how to do it easier would be pretty great as well :twilightsmile:)

As for the status effect, @Kartikey Agrawal didn't get around to approaching the issue, so I'm glad we hear there's already an example out there to gaze over. About implementation, currently I only had in mind a few stuff about it, thinking more about how it would be future proof. For the moment, it has the same issue as I considered the movement system has, which would be the monolithic nature of said module (the status effects, because I'm sure movement isn't a module). I was thinking of the case where a new module would want to implement a status effect, but that effect would have to go through the status effect (or AlterationEffects) system, thus that system would have to be updated so it knows about the new module as well. The issue would be the same for a new module implementing a new movement mode (say... 4th dimension planeswalking). We would have to modify the current movement system to support the new mode, which seems pretty monolithic (as @Florian pointed out in the PR I closed, or at least I'm thinking that's what he referred to). If you have any pointers as to how we should go about this I'm all ears :scootangel:.

As for the thread, I'll be sure to update what has actually been talked about (what modules we decided to split the stuff in the current one into and what they would cover).
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
We could just do the system as a root node to which all body parts relate, and the test commands would just be "damageLeftArm" or something of the sort and the damage will be interpreted by the root, as well as the entity itself. Thus, another command would be "statusLeftArm", so you can see the hp and whatever status effect in a debug text. If that's not what you're referring to, please explain in more detail; I'm curious about how it can be easier.
That's exactly what I meant :)

If you decouple all the systems like that without having to wait for one piece to get ready before you can test another piece you can involve more people more easily. As well as merge more often. Maybe one person looks at how to make it possible to hit a specific piece of a model and react to the specific piece. Maybe yet another can look at actually showing damage on different parts of a model or even chop off limbs.

Adding new modules that extend a previous one should be easy enough as long as there's only one central module doing whatever that is. So if AlterationEffects provides the base system you can add individual effects in new modules and just depend on the basics. You shouldn't need to update the base module at all to add something new like that. See also how something like Caves can add its functionality to an arbitrary world without having to define its own world generator or even depend on anything really world related.

Spawning sets out to do something similar via tagging, so a basic portal may spawn "goblins" and other modules later can tag a creature "goblin" to now have that base portal also spawn that new creature without ever changing the origin at all.

Finally you can also include specific components in prefabs that are from other modules but simply fail to load the custom components gracefully if the module isn't enabled. That's a bit more tightly coupled though.

Movement might be a bit trickier. I'm staying out of that one :)
 

Anthodeus

Member
Contributor
The long avoided update is finally here! I will miss some stuff, but the general point of these descriptions should be clearer than before. I'll compile a list of tasks + MoSCoW for each bit, some of it taken from the main post, some of it new. I'll be replacing the main post once we feel we have an adequate representation of what and how we want to do stuff.

Without further ado, this is what chatting with @korp , @Kartikey Agrawal and @Cervator resulted in:

  • Combat System: As the name stands, combat itself has nothing to do with what you wear or wield, but rather what you do. In consequence, what we actively want to achieve is the sense of being in a fight, the feel of fighting. Feedback is plenty important.
    • Sound feedback: For a start, having music fade in when you hit an enemy, or get close enough to an enemy that's aggressive towards you would be nice. The same concept can be used to create a feeling of eeriness at night or in different regions. This could as well be a system of its own in my opinion; On another note, creatures getting hit (including you) should have a pool of sounds to choose at random when getting hit, to add to the feedback, as well as some diversity. Weapons as well can make sounds if you just swing them, no need to hit. Maybe sounds for hitting
    • UI feedback : A text appearing at the top of the screen, a danger meter, some type of popup, a change of color theme. These could all be used to indicate that the player has entered a different state. This again is not related only to combat, but can be used here as well.
    • Visual feedback : Besides basic UI, animations are something we can go into. Just having different hit animations would be a great start, but then we can go even further, into the deeper end that involves positional damage, where the animation would be procedurally generated to mimic the character (or creature) getting hit in that area. (maybe putting one leg behind to stop it from getting knocked back too much as just eye candy; This would also require knowing the entity has legs... or at least some shape of ground movement)
    • Game feedback : When you hit an enemy, you want to know that it was hit; otherwise, how could you tell? MC does this by changing their color for a short while ( might be more observable when they fall ) and knocking them back; I was thinking somewhere along the same lines, because it seems to work well. If it ain't broke, don't fix it :fluttersquee:
    • Simple combat : On top of the "hit and give damage" idea, we can add functionalities. One of them would be "striking power" : A power meter would appear if you hold a key down for long enough and on release you would hit for damage proportionate to the said power bar. This in turn will also impact you as the character may move forward a little if he misses. The sound assets for this will be different from the base ones as well. Maybe just modulated? I'm far from a sound designer so I'm not sure. Blocking is the other possible mechanic : the animation would be just bringing the weapon across your body, in some way to deflect an enemy weapon. Blocking will either stop or reduce damage taken. Blocking should be broken by hard enough swings and bypassed by hits from behind or the sides.
  • Projectile System: This will be the main system to deal with fast moving entities in the world. Mainly regarding projectiles, this should be where most type of projectile behaviors will be defined. Note that any effects, travelling speeds and other stuff unrelated to physics or behaviors will not be direct part of this system. Embedding, ricocheting, bouncing, floating are only the few ways an arrow could act, but there might be others as well. Spawing mobs, setting stuff on fire, erasing blocks of a certain type in its path : these are behaviors unrelated to physics that should be added by other modules to their own arrows that they take from here. I'm still looking forward to mountable rockets that you can ride into battle :rainbowlaugh:
  • Alchemy System: Alchemy, as it is known, deals in snails and puppy dog tails. This is the section where everything about potions will be implemented. Potions with different effects (this will also implement alteration effects, which we have to look into), potions for instant heal/damage, throwable potions with area of effect... effects (think molotov... technically a concoction) or with an instant application of effects/damages/healing/whatever else you can think of around the landing location. This tightly knit concept can also be used for transforming some materials into something else ( using a diamond to transform dirt into coal; Philosopher's stone anyone? ). Brewing is the main point of the system, so why not make it also interesting? We can have various ways of crafting these potions, or ways to process ingredients needed (fermenting, boiling, condensing, pressurizing, compressing, centrifuging among many other possibilities). Any module that wants to create a potion should be able to do so through the alchemy system, while introducing its own way of processing (if it wants)
  • Crafting System: This isn't your average run of the mill crafting. As far as I can imagine, this should include tool crafting from various types of elements (like in "Tinker's Construct"; I know @Josharias already has refining ore in his survival, so we can all have a chat about such an idea), refining blocks into other blocks ("Chisel" much?), painting blocks? (this I'm not so sure we can do at the moment, but we can discuss it), having to hammer down your own items to repair them (thus maintaining the quality materials they're comprised of while wasting lesser materials to make the actual hammer - also this is from "Mariculture"). This might also work well into what I think @SuperSnark wanted to do with forges in LaS (although that would also require multiblock structures, which I haven't dabbled in yet).
  • Equipment System: Medieval times anyone? Well, no, this won't be as restrictive. This is where we define properties for equipment in general. Of course, the 3 main types of equipment would be:
    • Clothing/Armor : Defense items with clearly defined purposes. Each with their own upside and downside; balancing speed, mobility and protection. Protection is of course relative to the type of weapon used to damage you, which can be as varied as possible (piercing, cutting and blunt are only a few examples of concepts). Different types of protections against some weapons may cause unwanted side-effects (concussions, crushed bones, bleeding), besides the damage reductions relative to the type of attack.
    • Weapons : The concept of different types of attacks is already there, but how about we make it interesting? We have different attack speeds, different lengths, and of course different sizes. Think about polehammer vs warhammer vs smith's hammer. All hammers, all different possibilities. I'm still thinking if damage should be relative to the length of the weapon and the speed it gets to when it finally hits (thus requiring more skill to do more damage), but that's going to be a debate later on, whne we actually get there :flutteryay:
    • Baubles : As seen in other mods, these are jewelry, necklaces and rings that boost stats, defense, health? and may add status effects as well. This is a fresher idea I haven't gone into detail with, but it does sound like something we can do after we get the other things going.
  • Improved Health System: Feedback is important right? We already went over that, so this plan just improves on that concept. How do you know if you got hit, poisoned, healed, withered? By having an extensive interface that shows it. You want not only to be able to determine that you lost health, but make it so you understand why you're losing health just by the interface itself. Here, animations will be the main point of interest, colour/images will come a close second, and finally, instant/looping sound effects.
  • Anatomy System:
 
Last edited:
Top