By ZaneDubya on Feb 14, 2020
Two opponents square off in the dungeons of Yserbius. Whether this is a new adventurer taking on a wolf in the Mines, a grizzled veteran engaging the fiends in the Wind Knights Tomb, or two heroes duelling in the Dungeon Entrance, the same formulas determine what happens in each combat round.
But I'm getting ahead of myself. At the outset, it's important to note that combat in Yserbius is divided into rounds. Each round, every combatant that is not paralyzed or petrified will choose an action. Actions can be physical attacks, or the use of a spell, skill, or item. Players generally get to choose what action to take, unless Controlled, in which case they will choose a random ally to attack with a physical attack. Monsters will either make a physical attack or cast a spell. And then...
But again, I'm getting ahead of myself. There are two types of combatants in Yserbius: Player Characters (Characters), and Monster Stacks (Monsters). The basic Character attributes are Strength, Defense, Agility, Initiative, and Dexterity, which are defined in part by the Player's choice of Race and Guild for that character, in part by the Player's choice in how to allocate statistic improvement points granted on level up, and finally in part by visiting various stat boosting places throughout the dungeon. The basic Monster attributes are defined by a Monster Template, which has Strength, Defense, Initiative, MagicalDefense, and Dexterity. All monsters built from a template will have the same exact stats. Note that two monsters in the same map may have the same name, but will be built from different templates!
Now that we know the attributes in play, we can walk through the mechanics to determine what happens when a physical attack is in play.
The first thing that is determined is whether attacker hits the defender. The game calculates a "HitDiff", which is equal to the Attacker's Strength minus the Defender's Defense, plus 14, divided by 2, and clamped to a range of 0-14.
The final HitDiff value is used to select one of 15 rows in the HitResultTable. Each row has a different chance of three results occuring: Miss, Hit, or CriticalHit. Row 0 (used when the Defender's Defense value is +14 or higher than the Attacker's Strength value) always misses. Row 14 (the Attacker's Strength is +14 or higher than the Defender's Defense value) will hit 60 percent of the time, and CriticalHit 40 percent of the time. So having a high Strength will help you not just hit more often, but critical hit more often!
If the result in the HitResultTable was a Miss, the physical attack simulation ends here, and the combatant will be informed of their ineffective attack. Otherwise, we continue to damage calculation!
Now we calculate Base Damage, which is equal to the Dexterity of the Attacker minus the "Armor" value of the Defender. Armor for Characters comes from equipped items and skills. Armor for Monsters comes from the Template (ranging from 0 to 200 in Yserbius). If the base damage is equal to or less than zero, then the attack has been Parried, the attack simulation ends, and the combatant will be informed of the Parry.
Now we randomize the Damage. Characters will have a randomized damage between 75-125 percent of the base damage. A single Monster will have the same randomized damage range. However, if a Monster's template allows multiple attacks, and there are multiple monsters left in the Stack, then the monster can attack more times! Each additional attack adds a random value between 0-50 percent of the base damage value. The maximum number of additional attacks in the Yserbius monster template dataset is 2.
If the attacker is an Undead type monster and the defender is a Character with a protection against undead buff, the damage will now be reduced by half, three quarters, or seven eighths, depending on the strength of the defense buff.
If the attacker is a monster, then it will check its template to see if it should inflict a debuff state if it hits. Monster attacks may inflict any one or more of the five debuff states (poison, petrify, paralyze, backfire, and control).
Finally, if the attack is a critical hit (as determined by the HitResultTable), the game will choose a random critical hit type from the CriticalHitTable. Each critical hit type has a damage multiplier, and will inflict a reduction to the Defender's defense and initiative values.
Well, that's it for calculation of physical attacks. If you have any questions about how this all works, or questions about other mechanics, please let me know!
By ZaneDubya on Feb 13, 2020
By ZaneDubya on Feb 7, 2020
Another week has passed and I'm back with another post for Friday! This week I'd like to talk about character classes in Shadow of Yserbius. In this game, characters belong to a 'Guild', and a character's Guild changes their stats and limits what items the character can use. Are these Guilds 'classes'? Is Yserbius a class-based game? We might find an answer if we compare and contrast Yserbius with a different game from 1991 which is considered to be the progenitor of modern MMORPGs.
Yserbius has six Guilds in this game. These appear to be classes. The Yserbius manual notes that each Guild "indicates the career your character will follow" and "offers different initial skills and magic spells". A character's Guild sets the value of that character's initial and maximum attribute values, how quickly these attributes increase as the character levels up, which spells and skills that character gains automatically as they level up, and which items the character can use. In the game's dungeon, some doors only open for specific classes (in practice references to a character's class are very few and far between).
But compared to DikuMUD, another game released in 1991, Yserbius classes barely seem to matter. Examining this contrast that makes it seem as if Yserbius is not a class-based game at all!
DikuMUD is a contemporaneous multiplayer RPG, released in 1991, and which is widely considered to be the progenitor of modern MMORPGs. Yserbius and DikuMUD are very similar in many ways. Both games feature a dungeon composed of 'rooms' and a central 'respawn point' where players entered the game and socialized. Both games have immutable 'classes', and foc' on combat and defeating monsters for loot and experience points. Both games require players to return to the respawn point to level up their characters and unlock new abilities. And both have only a small number of quests, these being entirely hard-coded and not very repeatable.
While the game designs of Yserbius and DikuMUD are very similar in many ways, one area where they differ considerably is in their class systems. DikuMUD is said by game designers to be a "class-based RPG" where each class has a fundamentally different way of engaging in combat. Each of DikuMUD's four classes - fighter, healer, thief, and mage - had different attacks, different skills, different ways of imposing states like stun and paralyze, different 'stances' which changed what your character was doing in that moment, and different ways of "managing aggro" - that is, controlling which target a monster would attack. If these features sound familiar to you, it is because the combat in modern MMOs from EverQuest to World of Warcraft is very heavily inspired by DikuMUD's class-based game design. And compared to DikuMUD, Yserbius classes are not very different at all!
Quite the opposite in fact: by the mid to late game every character in Yserbius will have almost all, if not all, of the spells and skills in the game regardless of their choice of Guild. By the end of the game, the only difference the choice of Guild will have is the value of a character's attributes and whether that character was given enough spell points to gain maximum level in every spell. In short, the end result of the choice of Guild only determines a character's combat statistics - which are mechanically the same for every character, regardless of their chosen Guild.
The sequel to Yserbius, Fates of Twinion, made an effort to impose a more class-based design on the existing Yserbius codebase. In Twinion, a character's Guild has much more of an effect on what spells and skills you will learn. But still there are multiple ways to gain new spells and skills, and items available that will fill in the gaps where a particular spell or skill is missing.
The above gives rise to two questions.
First, is Yserbius a class-based game? Admittedly Yserbius has Guilds, which have thematic names like classes: "Barbarian", "Thief", "Cleric", and "Wizard". Guilds are immutable, like classes. The choice of guild limits the items a character can use and the maximum value of that character's attributes, like classes. But at the end of the day, because all the Guilds have the same combat abilities and thus fill the same role in combat: that of a combination fighter/magic caster. Whether a given character has higher or lower attributes or health/mana only changes the 'flavor' of fighter: Mages take more damage and can cast more spells before running out of Mana, where Barbarians take less damage and can cast fewer spells. Given that monster magic resistance ramps up in the deep depths of the dungeon and that everyone has easy access to some of the most important spells as scrolls, whether you're a good magic caster becomes less important. The end result of your choice of Guild is whether you're a good fighter. I do not think that Yserbius is a class-based game in the style of DikuMUD or modern MMORPGS.
Second - and perhaps the more interesting question - are there any opportunities to add more class-type differences to a Yserbius-style game? Would that take away from the existing game design (and the outcome where some Guild choices are just mechanically better than other Guilds). I have my thoughts.
What do you think? Please share your thoughts in the game forums!
By ZaneDubya on Feb 5, 2020
By ZaneDubya on Jan 31, 2020
Twinion has been in testing for one week! I'm grateful beyond words to the testers who have submitted bugs and suggested new features. (If you would like to join them, please email hello(at)medievalands.com). I expect we're still 4-5 weeks out from a grand release of Twinion. In the meantime, I'm exploring what kind of content and features I can add on top of the Twinion experience. For example, a new narrative that draws players in; new ways of chatting that convey how your character is feeling; gathering and crafting skills (these will modify the original battle mechanics by making them slightly easier); companion pets (non-combat) to keep you company in the dungeon; and perhaps most excitingly, a new "high-definition" dungeon experience. I don't know how much of this I'll manage to complete, but I want to let you know that I am planning on making the addition of Twinion truly a "grand" release. Good luck in the dungeon, friends!
By ZaneDubya on Jan 24, 2020
Today is an exciting day. Since October 2019 I've been working on adding support for The Fates of Twinion. It started out with a rewrite of the game engine - 35,000+ lines of code changed or were added. It has been a long road, and today I am thrilled to share with you that the game is running! This is an early look - I am still in closed testing. But I want to give some more people the opportunity to test it out and tell me if they see any issues. If you would like to join the testers, please e-mail your account name to hello(at)medievalands.com. For those of you who would prefer to wait for a finished product - make sure you're signed up to receive updates (in the 'Account' page in the Gallery). I expect we'll have a grand release in 4-6 weeks. Good luck down there, friends!
By ZaneDubya on Jan 10, 2020
Hail friends! I am back with another Twinion update. This week started with a brand new UI that allows players to select which game they want to play (Yserbius or Twinion). This was followed by a major refactor of the class that manages the state of the Yserbius 'world', and a reimplementation of that same class for the Twinion world. I am trying to share as much code as possible between Yserbius and Twinion, only differentiating where it is necessary for different game mechanics/assets, and where the architecture of the client/server requires it. It has been ten weeks since work on Twinion began, and this week all the hard work on the reorganization of the original Yserbius-only game began to pay off: I was able to see Twinion graphics and other assets in the character creation, keep, tavern, and street screens. I expect to be done with this first pass soon - and then will be on to bug fixing and adding new features for a grand release of Twinion.
By ZaneDubya on Jan 1, 2020
Happy New Year! I've added two walkthroughs for Yserbius to the help page: Sue Medley's Walkthrough, and Tiger's Quests and Items Guide. These guides are an essential reference for returning players looking to refresh their memories, and new players looking to complete the game for the first time. Check them out!
By ZaneDubya on Oct 27, 2019
I have started remaking Fates of Twinion! When I'm ready, I hope to have both Yserbius and Twinion running seemlessly alongside each other, each with their own dungeon, but sharing a single tavern, forums, and guild system. I expect to have Twinion done early next year. Make sure you are signed up for email updates in the game client if you want to be the first to find out that Twinion is available!