Friday, June 22, 2018

Custom Calendars and Times

Hi all,

So I've fallen off the blog wagon again, but never fear, I haven't just been checking out the latest cosplay porn videos based on Nier: Automata or Overwatch. I've put work on Particularly Wavy on hold for the moment to focus on a creation tool for the Unity Editor: a tool that lets a game designer create a custom calendar.

Why would I do this? This is yet another part of my plan for creating a deeply reactive RPG/RTS smashup. I don't want to just use the default calendar system, with 365 days in the year, 12 months named their familiar names with their familiar lengths, seven days in a week, 24 hours in a day, 60 minutes in an hour, and 60 seconds in a minute. I want to set my game in a fantasy world, so it makes no sense for them to use our calendar. But, at the same time, I don't want to hard code everything for that particular game. I'd really like a tool that lets me set up the calendar how I want, and then get on with designing the rest of the game. The NPCs in the game will make plans based on this calendar, they will have needs and moods which change based on events (which happen at particular times and last for set amounts of time), quests will have time-based elements to them, such as meeting an NPC at a particular time of day, or completing a task within a time limit, and of course there will be a day/night cycle which influences NPC activity and stealth, etc, etc.

I have now began working on such a time system three times, and I think the 3 time could work. The first two were based on an extremely flexible system with classes something like the diagram below. The work flow would go something like this:

  1. Create a calendar
  2. Start adding time categories. The first time category added is always primitive.
  3. The secondary time categories can be changed on the fly:
    • their base category
    • the number of base categories
    • the names

As a small example, if you wanted to mimic Erikson's Malazan Book of the Fallen time system, you could first create a calender, then create a primitive time called Beat, and set the length to 1 real time second. Then, create a non-named time called Bell and set it to equal 3600 Beats, making it the same as an hour. Next, you could create a non-named time called Day, and set it equal to..., say, 24 Bells, for now, although we really don't know exactly how long it lasts. Lastly, you create a non-named time called Year and set it equal to...nobody really knows, for now let's be uncreative and set it to 365 Days. If we wanted to add months, we could to this by adding a SequentialGameTime before the Year, calling it Month, and then adding however many month names we wanted inside this category, and then setting the length to be identical, or giving each month a different number of days in it.

However, I needed to duplicate most of the code for every class because the BaseTime class is based on Unity's ScriptableObject class, which can only be created inside the Unity Editor and not during actual gameplay. This would prevent me from making a new date or time requirement dynamically, which defeats the whole purpose of creating the time system in the first place. I was also using Unity's UnityEvents, which function something like C#'s delegates and events, but are serializable, so their listeners persist after you close the program down and relaunch it. However, although they sound nice to work with, they are actually a huge pain in the ass.

So, instead of having complete flexibility, I created a system with Second, Day, and Year built in, and then allowed the designer to create subdivisions of Day and Year in order create however many or few categories they wanted.

Right now, I am at the stage of making sure that I can accurately update this system during runtime, after which I will worry about saving and loading a game time, and still later I will worry about setting times for events and conditions such as those described for NPCs and quests above. So far, it seems to be flexible enough and easy enough for me to understand what to do etc, and does not require duplicated code.

I do still plan to return to Particularly Wavy in the near future, but for now this is what I'm most interested in working on.

Nioh Game Analysis

Nioh Analysis

Nioh Analysis

David Hunter

June 22, 2018

1 Overview

Nioh is an action RPG developed by Team Ninja and published by Koei Tecmo in February 2017.

2 Formal Elements

Nioh falls under the general group of games known as ”Souls-likes,” due to their similarity to the Souls series developed by FromSoftware. These games are primarily single player experiences, which allow the player to enter other player’s games online in special circumstances. The player controls a 3D avatar in a 3D world that features winding, twisted, and complexly overlapping interconnected levels. In these levels, the player will fight a variety of human and monstrous enemies, including bosses, most of which are based on Japanese history or culture. In combat, stamina management is key. Using attacks and blocking/dodging drain stamina, which can put the player in a weakened and vulnerable state. All enemies can kill the player if the player is not careful; every enemy does a lot of damage. If the player dies, they will be respawned at the nearest resting point, with their unused XP left where they died. In order to get it back, the player will have to fight back to that point. If they die before doing so, the XP is gone forever. To anyone who has played a Souls series game, Lords of the Fallen, Salt and Sanctuary, Ashen, Necropolis or DarkMaus, these features should be instantly recognizable.

2.1 Players

The player controls William Adams, an English navigator from real history who sailed to Japan and served on Tokugawa Ieyasu. The player moves a 3D avatar of William around a 3D world, interacting with NPCs, killing monsters, and finding items and equipment. The player may discover graves of other players throughout the world. Touching them will allow the player to engage in battle with an NPC controlled version of that player and if won, to pick up some of their equipment and earn Honor.

The player can even join in-game covenants based on powerful Japanese families of 1600 that offer bonuses to particular weapon types and abilities.

The player can where different armors and change their hairstyle and beard to achieve a look that is pleasing to the player.

2.2 Objectives

The game starts much like any game in the Souls series: the protagonist is thrown in prison without armor or weapons and must escape. This area serves as the tutorial of the game. During this mission, the player’s guardian spirit is stolen and taken away to Japan. The rest of the game is the player’s quest to stop the thief, an man named Edward Kelley, in his plans to use a special kind of stone called Amrita (found only in Japan), to resurrect demons and allow England to take over the world. To achieve this, the player will travel across many areas of Japan, foiling Edward Kelley’s plans.

2.3 Rules

2.3.1 Areas

Unlike the Souls games, there is no interconnected map for every area. Instead, there are self-contained areas which play like levels in a more traditional game. These levels feature the hidden items, secret paths, dark environmental story-telling, and booby traps that you would expect in a Souls game. Each area is loaded from a map screen, from which the player may also load different non-combat related areas, such as a store to trade, dismantle, and upgrade items, a tea house for online play, and a dojo for training. Like in the Souls series, saving is accomplished at a save point where the player may also level up. This is a shrine, similar to the bonfire of the Souls games. As an added twist, there are small green spirits called Kodama hidden throughout many levels. As the player finds them, they gather at the shrine. The player may use them to grant a special bonus, such as increasing item drops, elixir drops, armor drops, or weapon drops.

Although there are no minimaps as such, there is a small radar screen, which shows nearby save points, treasures, and a few other custom markers. The player may use special items to interact with the level in various ways, for example using a Travel talisman to return to the most recently prayed at shrine, or using a Harakiri sword to commit suicide, leaving the area and returning to the main map, but also losing any Amrita the player has accumulated in the mean time.

2.3.2 Combat and Magic

The player will spend a large amount of time in combat, and it features more complicated rules than the series it owes so much to. For starters, there are four stances for all melee weapons: high, mid, low, and sheathed. High attacks are highly telegraphed, slow and powerful, while low attacks are rapid, near instantaneous, and weak. Mid stance strikes a balance between the two. The sheathed stance is mainly useful for swords and dual swords, which have unique attacks from this stance. No matter the stance, the player has two kinds of attacks available: fast and strong, and unlike the Souls series, the player can unlock combos and special moves for each kind of weapon. For example, by investing in the spear skill set, the player may unlock a move where the player runs straight forward twirling the spear in a figure eight pattern until you run out of ki, or you may invest in a leg sweep to knock enemies off their feet, leaving them vulnerable to a ground thrust.

The player can use these attacks and combos to deal damage to enemies, and the player may either block enemy attacks or dodge them. Both use up Ki, which slowly recharges, allowing the player to initiate more attacks. Besides melee attacks, the player may also use ranged attacks and magic to kill enemies. Ranged ammo is extremely limited, but offers the player the chance to potentially one-hit kill distant enemies. Magic is much more limited than in the Souls series, mostly consisting of a few elemental bolt or shot style attacks, protection spells against those same elemental damage types, and a few extra status effects.

The player may also lock onto nearby enemies, but this lock-on is disabled once that enemy dies.

As described before, the combat is in many ways the same as the Souls series, but there are twists. At the end of a series of attacks, the player’s used up Ki disperses in the air around the player. The player may gather some of this Ki back by using a Ki pulse, which must be timed correctly to achieve the best result. Although inspired by Gears of War’s active reload mechanic, it makes Ki/stamina management more interesting in combat. Changing between stances further deepens the gameplay, allowing the player to adapt to better deal with the current set of challenges.

The other main change is due to guardian spirits. As the player deals and receives damage, a meter for their chosen guardian spirit fills. When it is maxed out, the player may make use of it. This triggers a dynamic animation, after which the player’s weapon’s become imbued with the power of the guardian spirit. They will use slightly different animations, do more damage, and are usually faster than the regular attack animations. Depending on the guardian spirit, there may be additional benefits or triggering conditions as well. For example, the Phoenix guardian spirit will automatically trigger if the player loses all health, allowing the player to continue to fight and possibly win through and survive. In the beginning, the player only has access to three guardian spirits, but with each boss defeated, the player gains a new one. The guardian spirits generally have an elemental damage types, plus other passive bonuses that the player receives just by having it equipped. As an example, the Nine-Tails guardian spirit gives a bonus to Divine/Ethereal item drop rates and lowers enemy defense.

2.3.3 Stats and Leveling

There are eight stats that the player may invest in when they level up:

  • Body: increases life, and resistance to poison and paralysis. Increases weapon damage, mostly spears. Also unlocks samurai points.
  • Heart: increases Ki. Also increase weapon damage, mostly swords and bows. Unlocks samurai points.
  • Stamina: Increases life and maximum equipment load. Unlocks samurai points.
  • Strength: Increases Ki pulse (how much Ki is recovered) and damage with axes, hammers, and odachi. Unlocks samurai points.
  • Skill: Increases Ki pulse, and damage with dual swords, tonfas and rifles. Unlocks samurai points.
  • Dexterity: Increases ninjutsu power and damage with kusarigamas. Unlocks Ninja points.
  • Magic: Increases power of Onmyo magic, increases resistance to Yokai debuffs. Unlocks Onmyo points.
  • Spirit: Increases power of Guardian Spirit, and the speed with which the Amrita Gauge fills.

But in order to level up one of these eight stats, the player will need to collect Amrita. This can be obtained by damaging and killing enemies, by consuming soulstones which can be found by exploring, and by completing missions. Much like the Souls series, leveling up requires an increasing amount of Amrita.

2.3.4 Crafting and Inventory

Another point of difference between the Souls series and Nioh is the crafting and inventory systems. Although the weapons and armor pieces have similar stats to those in the Souls series, items may be dismantled in Nioh to produce materials which may be sold or crafted into new weapons or armor pieces. These materials, like the items made from them, have different rarity ranks, and give different bonuses to the items. There are also numerous sets of armor that give different bonuses, depending on the number of items from the set the player has equipped.

As the player uses a weapon or Divine rank piece of armor, rather than degrade, the player increases their familiarity with it, which increases its damage (reduction).

Besides these points, there is refashioning, reforging and soul-matching. With refashioning, a player can take the stats of one item and simply replace the looks with another item, for example, by taking an Oni Sakon’s Spear and reforging it to look like a Tombikiri spear. This is mostly for cosmetic purposes. With reforging, the player may use different materials to take different bonuses or effects on the item and alter those for a randomly selected bonus. Depending on the rarity of the item, you will have access to fewer or more bonus slots. Finally, with soul matching, the player has the chance to take items they like and match them with other similar items. For example, the player may take a level 75 Tombikiri spear with excellent bonuses, and match it to a higher level Tombikiri with poorer bonuses, or even to any other higher level spear, such as a Greatspear, or Great Frog Spear. This lets the player keep equipment that they like throughout the game, and also opens up the possibility of combining the weapons to create something that has great bonuses from both items.

2.4 Procedures

2.4.1 Leveling and Upgrading

Leveling proceeds much like in the Souls series. There are no class restrictions, so the player may use any equipment or abilities that they meet the requirements for. The main decisions the play must make is how to increase their stats to most benefit their playstyle.

2.4.2 Exploring

Nioh does a fine job of making moving around a level interesting. There are many hidden items and unlockable shortcuts, and hints about the events that happened just before the player arrived.

2.4.3 Boss-Slaying

Like the lesser enemies, the bosses are each designed to be challenging to the player in different ways. Some are extremely aggressive, some are fast, some attack slowly but do massive damage, others use mostly magic attacks. Many of the bosses have stages to their battle, and several actually come back to life after the player has ”killed” them. Other take advantage of the level to move in unique ways, such as jumping off walls to launch lunging attacks on the player, flying in the air, or being confined to particular elements in the environment, such as water.

Their attack patterns must be learned, and there are often clues as to what they are weak to somewhere in the environment or in dialogue with an NPC.

2.4.4 Crafting

With the completion of the main game, the player may start one of several New Game Plus modes, which unlock a new class of items: Divine items, and later Ethereal items. These can be soul-matched with identically leveled items to produce even stronger items of the next level up, for example two Divine Level 150 Kusanagi Tsurugis (a type of sword) may be combined into one Divine + 1 Level 150 Kusanagi Tsurugi. This Divine +1 weapon has its familiarity reset to zero, but the base damage starts at the maximum of the previous Divine weapon. Another Divine + 1 weapon may be combined with the previous one to produce a +2 weapon, etc. This creates many new opportunities to craft items, but even before this the game allows the player to use soul matching to raise the level of their favorite weapons, disassemble unwanted items to salvage their parts, which can then be used to create items you do actually want. Or the player could take their favorite items and reforge them to try to get bonuses that better match their playstyle.

The only downside to these possibilities is it makes inventory management much more crucial and more of a time sink. Should you offer up an item and receive some Amrita, sell it, disassemble it, or use it and then soul match it to another? Which one makes the most sense for the player may change with the next loot drop, or upon more careful examination of one’s inventory.

2.5 Resources

2.5.1 Abstract
  • Health: Losing all your health means dying and respawning back at the nearest shrine. As mentioned before, the player will lose all currently possessed Amrita as well.
  • Ki : Ki determines the player’s ability to attack, dodge, and block during combat, and managing it is critical in every encounter. It is drained by running, dodging, and attacking, and slowly regenerates when not engaged in those acts. It regenerates even more slowly when blocking.
  • Damage Meters: There are many kinds of special damage that the player can receive: water, lightning, fire, wind, earth and poison damage, for example. These damages fill a special meter that only becomes visible when the player receives them. If the meter fills up completely, a special status effect will take effect on the player. Poison damage, for example, will cause the player to slowly lose health until the poison meter is empty, while frost damage will slow player movement and prevent rolling until it is empty.
  • Amrita: Amrita is collected from Amrita stones, killing enemies, and completing missions. It is used to level up your character and improve your spirit guardian.
  • Weapon Familiarity: Depending on the rarity of the weapon, there is a familiarity limit. For Divine weapons and armor, this is 999, but it decreases with each rank below it. The higher your familiarity with a weapon, the more bonus damage you receive.
  • Prestige: Prestige is awarded for completing any of a huge number of tasks in game. Killing 50 humans with a sword awards a prestige title, completing a level within a certain time limit awards another, and killing a boss or group of enemies without taking damage gives another. Dealing certain amounts of lightning, water, fire, etc elemental damage yield many more titles. In general, melee titles give points towards Ungyo, and magic titles give Agyo points.
  • Agyo Points: By using magic, the player will receive prestige titles and unlock Agyo points. These can be spent on a pool of randomly generating bonuses loosing dealing with magic.
  • Ungyo Points: Similarly, by engaging in melee combat, the player can receive prestige titles and unlock Ungyo points, which can be spent on a pool of randomly generating bonuses.
  • Honor: Honor is acquired by killing NPC versions of player characters. It can be used to buy items, gestures, and other objects from the Teahouse.
  • Level: The player starts at level one, and after collecting enough Amrita, may increase any stat. This increases the player’s level.
  • Proficiency: Besides familiarity with specific instances of weapons or armor, the player gains overall proficiency with the class the weapon belongs to. Like familiarity, this increases the player’s damage bonus with that weapon class over time, and also serves as the criteria for unlocking certain missions.

2.5.2 Physical
  • Weapons, Armor, Items: Depending on the player’s luck, they may receive different drop rates of different types of items throughout the game. When opening a container or after killing an enemy, these may spawn. These may be left as is, equipped, sold, dismantled, reforged, or refashioned. At shrines, they can be offered to the gods(?) in exchange for Amrita and the chance of receiving extra items, such as soulstones, elixirs, etc.
  • Materials: These are received from dismantling weapons, armor, and other items, and also by defeating certain types of enemies. They can be used to craft new weapons, or sold.
  • Companions: At several points during the game, the player will travel through a level together with one or more AI controlled companions. The player may also summon human players to assist them through difficult sections, much like in the Souls series. If the AI companion’s health reaches zero, they will enter a dormant state, kneeling on the ground waiting for the player to assist them, while if the human companion’s health reaches zero, they will be returned to their own game. The same will happen if the player is killed.
  • Money: Unlike the Souls series, Nioh has separated XP and currency. The player can find money on the ground after killing enemies, breaking containers, and receive it as a reward for completing a mission. The player may also earn money by selling unwanted items at the Blacksmith. It can be used to buy items, or to pay the Blacksmith for special services, such as soul matching or reforging.

    Guardian Spirit: The player starts with three Guardian Spirits to choose from. These may be switched at a shrine, and the player will unlock more after completing missions and defeating bosses. After completing the base game, the player may even equip two Guardian Spirits, and switch between them on the fly (with a short cool down between switching). The game also allows the player to level up their Guardian Spirits by using Amrita. As mentioned before, when the player dies, their Guardian Spirit is left behind to guard the Amrita the player collected before dying.

2.6 Conflicts

2.6.1 Stat Point Investment

As the player invests points, it becomes apparent that around 40, the benefit of each additional point invested starts to decrease. This effect of diminishing returns forces the player to consider whether investing in a different stat might better benefit them. Further, the cost for increase one’s level increases dramatically at higher levels, further forcing the player to carefully consider each investment.

2.7 Boundaries

2.7.1 Stat Point Investment

There is a soft maximum level cap at 750, at which point the player will have 99 in each of the 8 stats.

2.7.2 NPCs

Unlike in the Souls series, non-combatant NPCs may not be attacked.

2.8 Outcomes

There are no major choices which the player must make during the game that affect its outcome. The only outcome is achieved by defeating Edward Kelley, and the final monster which he summons.

2.9 Inventory

The player may carry 500 items, some of which stack. Beyond that, they must sell, drop, or offer the items if they want to carry something new.

3 Dramatic Elements

In general, the story elements are stronger than in the Souls series, but at the same time there are no choices for the player to make.

3.1 Characters

The player takes the role of William Adams, an English ”pirate” who initially seems interested only in getting back his Guardian Spirit, Saorise. To do so, he tracks down her kidnapper to Japan and encounters many historical figures along the way, meeting with Hattori Hanzo, Tokugawa Ieyasu, and many others. While somewhat interesting, these characters serve mainly as a backdrop for the action, and as a loose narrative holding the missions together.

3.2 Story

William Adams tracks down Edward Kelley to Japan, and completes many missions all over Japan in order to thwart Kelley’s plans, or those of his allies.

4 Dynamic Elements

Much like the Souls series, Nioh lacks many dynamic elements found in other RPGs, such as NPC status tracking, reputation, dynamic weather, or a day-night cycle.

4.1 Patterns

This section focuses on game patterns as discussed by Ernest Adams and Joris Dormans in Game Mechanics: Advanced Game Design.

4.1.1 Playing Style Reinforcement

Nioh contains several examples of playing style reinforcement. By increasing stats such as Body, Heart, Strength or Skill, the player can receive Samurai Points to learn new skills related to Swords, Spears, Odachi, Axes, or Dual Swords. These new skills make it more beneficial and interesting to use one of those weapon types.

Additionally, the player may join a faction which gives bonuses to their preferred weapon, stance, or armor set. Armor sets themselves often give bonuses to particular weapons, weapon abilities, or stances, further incentivizing the player to make the most of weapons, armor, and stances that match how they like to play.

4.1.2 Dynamic Friction

Nioh contains many examples of dynamic friction. As the player progresses through the game, they increase their ability to deal and withstand damage, but so do the enemies.

With each level increase, it takes more and more Amrita to reach the next level.

Basic skills in the Magic, Samurai, and Ninja categories only take one point to unlock, but this amount increases as the player progresses further into the skill trees.

Soul matching Divine rank items requires an exponentially increasing number of higher and higher Divine items to get to the next level: +2 requires two +1’s, which require four base Divine items, while +4 requires two +3’s, which require four +2’s, which require eight +1’s, which require sixteen base Divine items.

Smithing higher level items of course requires more money.

4.1.3 Engine Building

The leveling, equipment and Guardian Spirit systems may together be taken as an example of the engine building pattern. The player may choose certain equipment and Guardian Spirits, and invest in particular stats to increase the amount of money they receive, maximize Amrita rates, or increase the amount of (rare) items they receive. It depends on the player’s goals and how (consciously) they take advantage of synergies between the systems to achieve them.

4.1.4 Stopping Mechanism

Ah, the stopping mechanism. Nioh makes use of the stopping mechanism almost as much as it makes use of dynamic friction. Ki is limited, preventing the player from spamming constant attacks and abilities. The player must wait for it to recharge.

As the player invests in stats more and more, the number of Samurai, Ninja, and Magic points they yield decreases.

After activating one’s Guardian Spirit, and in New Game Plus mode after switching between Guardian Spirits, there is a cool down timer during which the player cannot activate it again.

4.1.5 Trade

The final pattern contained in Nioh is the trade pattern. The player may sell any item in exchange for money, or offer up any item in exchange for Amrita and the chance of getting another consumable.

5 Conclusion

Nioh is not only a strong entry into the Souls-like genre, but excels in certain areas where its inspiration failed or lacked polish. The animations are much better than the early Souls games, and the combat retains the same tension while giving the player much more flexibility in how they play and use each weapon and each set of armor.

5.1 Potent Elements

The combat shines out as flexible, action-driven, and highly enjoyable. The multiple stances, Guardian Spirits, and special abilities stack together to create a complex multi-layered experience that you will probably want to come back to again and again.

5.2 Areas for Improvement

The story and the lack of choices that affect the story is Nioh’s weakest point. Managing one’s inventory is also more of a chore than it should be.