By ZaneDubya on Jun 22, 2020
Hail Friends! Hope you have all been well. After a month of rest I am back working on MedievaLands.
Today's patch is small, in that it does not add any new features.
But it is also large, in that it involves thousands of changed lines of code and a huge update to the framework used by the game to show graphics, play sounds, and run on your computer.
This is necessary preparation to keep the game compatible with future versions of Windows and macOS.
If the game crashes on you, please let me know by e-mail to hello(at)medievalands.com.
I hope I will have more new features to share with you soon. Until then, take care!
By ZaneDubya on Apr 8, 2020
Hail Friends! Here is a list of what I've been working on in the past week: bugs fixed, other changes to the game engine, and a small change to allow the new elemental items to be sold in the keep. Much of my work this week was in preparation for new features which I'll hopefully be adding to the game soon: new items, achievements in Twinion, and a new higher definition dungeon exploration screen.
Changes in game functionality:
Changes to the game engine:
By ZaneDubya on Apr 1, 2020
Hail Friends! We are sixteen days away from the Grand Release of Twinion. I have almost completed the outstanding features I wanted in place for the release, and I am hopeful that my work schedule is easing up to the point that I can start working on some stretch goals.
I haven't posted patch notes for some time, so this is a bit of a catch up edition. Read on for a list of features added and bugs fixed over the past three weeks, and as always, let me know if you come across any bugs!
Changes in game functionality:
By ZaneDubya on Mar 27, 2020
Today have news about a delay in the grand release of Twinion, patch notes from the features and bugs I've been working on in the past few hurried weeks, and a call for discussion about MedievaLands SysOps.
Before I continue, I would like to relate how thankful I am for everyone who is logging in to play this game. I so much enjoy seeing people in the Tavern, talking with you, and responding to bug reports, feature requests, and the occasional bout of roleplay. I am continually motivated to continue working on this game when I see people playing.
I know that many of us are working overtime in response to the pandemic, and many of us need a diversion from the same, and many of us are not quite sure what is going to happen in the coming weeks and are looking for an escape. I feel all of those things every day; I'm right there with you. And I'm happy MedievaLands can help fit that need.
Thanks for taking the time to read this little ramble of mine. Let's get on to some updates!
Grand Release Delayed to April
I don't like to miss dates that I've set, but I also know this is for the best. I had originally planned a 'grand release' of Twinion for today, March 27. I am temporarily delaying that release. This delay will not change the fact that every player of MedievaLands already has access to Twinion; it merely delays the wide publication of the availability of this game.
I make this decision because work has stolen me away for the past three weeks, and the slowdown in development has kept me from completing features and bug fixes that I want to have in place before we enter a period of publicity. Also, I feel like when this game does go public, I'll need to be highly available to answer questions and greet new players, and I admit that I don't have the energy to do that right now.
I have no doubt that this period is temporary, and as soon as things begin to calm down I will let you know when to expect the general release. My hope is that I'll be able to do the grand release in three weeks, on April 17. Keep an eye on this space, and you'll be the first to know when we're getting ready for the Twinion debut.
What I've been working on
Although I haven't been present in the Tavern of late, I have continued to focus the time I have on fixing bugs and adding features requested by players. Thank you so much for your detailed thoughts - even where I haven't responded, I've read everything you've said, posted, and sent via email.
Some of you have expressed surprise that new bugs keep popping up, and I think that's an entirely fair concern. Behind the scenes, I've been rewriting many of the game systems that underpin Yserbius and Twinion. Most recently, I've rewritten the treasure table system, allowing custom item drops in the dungeon (which is where those elemental stones which Azameth has written about come from!), moved the map hosting to the server, and have recently started a new item framework that will allow the addition of even more new items.
By the time MedievaLands is ready for the grand release of Twinion, I hope to have added the original Twinion music, a simple form of player pets, more options for items to find throughout the dungeon, debuffs on enemies in combat, and continued polish throughout the game's user interface. Look out for more good stuff, coming soon!
What are your thoughts about SysOps
I'm going to be starting a conversation about inviting people to be SysOps on MedievaLands. Please look for that in the General Discussion forum. I really appreciate your time and thoughts on this topic, as I think it will help free up my time to focus on development. Looking forward to hearing from you!
As always, my absolute best to you all.
By ZaneDubya on Mar 6, 2020
I want to let you know that I have added Twinion to the MedievaLands game, and I am inviting you to beta test this new game. You will find that your account already has access: you can download the game at https://medievalands.com. If you need help with your password, please e-mail me at hello(at)medievalands.com and I will help you directly.
I am so excited to share this with you and other testers before I reach out to anyone else. I hope you will join me in testing this recreation of Twinion. As you test the game, when you discover bugs, you can let me know about them by:
This is not simply a recreation of Twinion. On MedievaLands, Twinion and Yserbius run side by side on the same server. Although the two games have different dungeons, they share the same Tavern, Guilds, and Bulletin Boards. You can even switch the game you are playing without logging out.
You are receiving this email because you signed up for beta testing in the 'Account' screen of MedievaLands. If you are busy at the moment and can't join, I completely understand. This is the only email I will be sending about Twinion testing, so please don't worry that I will be regularly spamming you.
If you have also signed up to receive emails about new features, you can expect an email on March 27 regarding the public release of Twinion. On that day - which is the one-year anniversary of the release of the original MedievaLands server, I will be inviting every player to check out the game. My hope is through your help in bug testing, we will have ironed out any issues in the game before then.
Take care, friend. All my absolute best,
By ZaneDubya on Feb 28, 2020
Hail friends, and happy Leap Year Eve! We are one week out the Twinion public test, and four weeks from the Twinion grand release. I have watched as the first testers in Twinion have slowly been solving that dungeon. It's been exciting to follow your progress, and I have appreciated the opportunity to fix the game stopping bugs that arose in your path.
On my end I have whittled away various bug reports and feature requests. These are all tracked on the Github repository. I added a link to the Github to the MedievaLands website, which you will see in the top menu bar, and under the hamburger menu on mobile devices.
As I add these small features and squash those bugs, I can't help but wonder if I'm missing the forest for the trees. I have been hard at work polishing up the original experience, and many of you have told me that MedievaLands is much more fun to play than the original game. And that's good to hear! But is there something fundamentally unsatisfying about playing Yserbius that my work on MedievaLands hasn't begun to address?
It's instructive to look back at the contemporaneous reviews of Yserbius. I added a handful of these to the MedievaLands website under the 'Press' page. While all reviews of Yserbius are generally positive, focusing on how much fun it is to play with friends, there are negative notes as well.
Bernie Yee's 1994 review of the Yserbius boxed set, published in Computer Gaming World, discusses issues with the game's mechanics. In that review, Yee notes that Yserbius's "minimalistic game design" was essentially the same as 1985's The Bard's Tale. He touches on NPC interactions (none) and character progression (very little nuance compared to other contemporary RPGs). Yee points out that Combat is "simple" with no tactical nuance. "Combat becomes tedious after a while," he write, "between the random encounters and set piece 'monster squares' that refill with enemies to fight over and over."
Yee has the right of it. Yserbius is a great game - it obviously made an impact on me and if you're playing MedievaLands, it made an impact on you too. But it's also clear that Yserbius feels less than fully engaging.
I felt this as I was working on the original MedievaLands release. At that time I was focused on recreating the exact original Yserbius experience. It turned out great, but my focus on the original game meant that MedievaLands kept everything from the original game's design, both good and bad. Now, as I work on adding Twinion, this second full pass through the game's mechanics has given me the experience to consider what is keeping Yserbius from being a more engaging game.
The Core Loop and a Lack of Engagement
The problem with engagement in Yserbius arises from the game's Core Loop. By "Core Loop", I mean the mode of the game that takes up the most of both the game's design and the player's moment-to-moment focus. This is different from the overarching goal of Yserbius, which I would describe as "explore a dungeon with friends, solve puzzles, and grow in strength by defeating monsters so you can defeat a final tough boss."
The Core Loop - the thing that demands the player's attention and which the game's design focuses upon - is the combat. And not a combat from beginning to end, but rather a single round of combat: the player chooses an action, the game runs the combat simulation and supplies feedback to the player, and the player adjusts their mental model of the game based on that feedback.
I don't think the choices the player has, nor the feedback the game provides, are really that engaging.
Player Choice and the Lack of Balance
I discussed the issue with the player choice previously in news posts (see 'Is Yserbius a class based game') and we have carried on that conversation by talking about why the various classes, in their current implementations, aren't much fun to play. Yserbius suffers from a lack of balance, in that by the mid game, the player does not have many meaningful choices to make. There is objectively one best character type to play, one best set of equipment, and one best action to take in combat: physical attacks most of the time, after an opening round of shields, buffs, and occasionally debuffs. Because there is a best action to take at every single step, the possibility space for player actions within the game is not very broad. And if there's no possibility space to explore, the game is not very engaging for a player - they are just there to repeat the same action over and over.
So how could we fix this? I think a fix would arise from balancing the current set of player choices, and by adding new choices where the current game is most restrictive. To balance the current set of player choices, we will have to make more of these choices viable. For example, we could make the Wizards and Rangers more valuable by making their ability to contribute to combat more equal to that of Knights and Barbarians. We could do the same thing to the game's itemization by adding more options for player equipment, each with different advantages and disadvantages. I've recently rewritten the game's item framework that can handle much of this, and hope to introduce some of these new items soon. As for adding new choices - this would be more difficult, but I would like to see classes that really do have to focus on physical attacks - like Barbarians - have more options to play with each round. Perhaps there should be multiple kinds of physical attacks. Reginald had some ideas on this subject recently - perhaps we could have attacks that damage multiple enemies, or attacks that focus on one enemy, or attacks that apply debuffs to enemies. Yserbius has many skills - can we make more of these viable options in combat.
Feedback and Juice
The second issue with the core game loop is the poor way which the game gives players feedback. To be more clear: almost all the results of combat scroll past you in a very small text window. In large combats, it is hard to see what has happened. This is frustrating. I hamfistedly tacked some feedback on to the existing engine last year, with the player health bars and damage/healing numbers appearing over the player tiles. Honestly, this is not enough. It's still far too difficult to see who is attacking you and what your character is doing.
There's a game design term for improving game feedback - it's called "Juice". Check out the talk "Juice it or lose it" on Youtube for an overview and demonstration of the subject. In short, Juice is a set of graphical effects that give the player the impression that their actions are making a meaningful impact on the game's state. Yserbius was designed in an era before programmers and artists started to focus on juicy feedback, and when there was not really enough computational power to show the juice a designer might want to include.
I think there is are many ways we could improve the feedback in the combat mode. We could make the user interface less static, allowing the user interface controls that represent the combatants to move around and actually hit each other (this would not change the current combat tactical options - players and monsters would still strike at each other from two rows of six tiles each). We could add more particle effects, beyond just the damage numbers. We could increase the size of the text box, similar to how I've increased the amount of text visible in the Tavern. And we could move more of the combat action out of the tiny text box and into the visible game world.
I honestly don't know how much of this I'll be able to add. I don't know which of these ideas will turn out to be easy to design and which will be easy to implement. But I want you to know that I am thinking about how to fundamentally improve Yserbius, and make it not just a fun remake of a game we played thirty years ago, but a game that is fun and relevant for today's players as well.
Until next time, friends. Take care down there!
By ZaneDubya on Feb 26, 2020
Hail Friends! We are nine days away from a public test period for Twinion. In the meantime, I've been working steadily on some real improvements to Yserbius. Here are the patch notes for the past two weeks:
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.
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% of the time, and CriticalHit 40% 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!