News from the Seven Realms • issue #32 • May 24, 2024

the headline

RAIDS SEASON 8: EYE OF THE STORM!

A little parched from battling dusty Pharaohs in the desert?  Need a respite from that scorching Equinox sun?  Then prepare yourselves to journey down once more into the dark chasm beneath the land, where, within an ominous tower inhabited by nefarious beasts, each the master of their own terrifyingly unique realms, a new chamber has emerged. Furious winds howl from behind its locked door.  Crashing waves, violent thunder, and piercing blasts of lightning rattle its frame, as does the echoing roar from a mighty wyvern who impatiently beats his massive wings in anticipation for any and all naive trespassers to encroach upon his lair.

Suit up, intrepid heroes, because Season 8 of Raids, The Eye of the Storm, approaches and with it comes the arrival of a brand new raid and a monstrous new boss! Get ready for Tempest’s Reach, and the electric ferocity of the gargantuan wyvern known as Telemachus.

what’s new

TEMPEST’S REACH!

It’s always rather thrilling to unlock a fresh adventure filled with wondrous new sights and challenges, isn’t it?  We think so, and are excited to bring you all, not a castle or a forest, a swamp or a pyramid this time, but a lonely island set amidst a raging sea which, though pleasing with its white sands and lush greenery, its purplish skies forever ablaze with crackling electricity, is an eerie place of crumbling ruins that will test the skills of even the most tried and true raiders!

Why is that? Because Tempest’s Reach introduces an all new gameplay mechanic to V&H, one not seen before in previous raids, which will, yes, initially frustrate some, thrill others, and will certainly provide all players with a unique experience in which there is much more than meets the eye. Problem solving, organization, timing, and strategy are but a few of the characteristics involved, but to elaborate in further detail would surely diminish the fun for players in unlocking the secrets of this new mechanic on their own!  So for now, we’ll only dangle that shiny bit of bait in front of you, and leave it at that. 🙂

Not to worry, though, there are plenty of other specifics we are happy to share with you regarding Tempest’s Reach – like, for example, Rewards!  Vivid new flair evoking the electrically charged atmosphere and turbulent skies of the stormy island await those who survive the perils of the Bronze and Silver Tiers.  And, for the first time ever, this raid and home of the mighty Telemachus, will be offering not one mount, but two mounts of this exciting new species!  Those who conquer the Gold Tier can expect to claim for their efforts the exciting ‘Umberwing Wyvern,’ while the brave heroes who go on to master the Platinum Tier will be rewarded with the ‘Storm Wyvern,’ a winged creature of ferocious beauty upon whom players will delight in taking to the skies with. (Fear not, both of these stunning wyvern mounts do indeed fly over water.)

Tempest’s Reach also boasts what many of you have been requesting for the past several raid seasons:  the addition of two new Relics!  These potent magical objects, dropped randomly within the raid, will grant their possessors powerful new advantages.  The Mirror of Light provides exciting Inferior Blasting bonuses, and the Storm Crown grants formidable Inferior Brutality bonuses. Both of these unique new Relics will be undeniable assets to those lucky enough to chance upon them.

With The Eye of the Storm, players can also look forward to an increase in the quality of dropped items found in the Heroic levels, as well as a rousing new Heroic Curse, and, for all those players who perhaps missed out on previous seasonal rewards, the raid vendors will now be selling Legacy Raid mounts for ducats!  And of course, there’s always the fun of new lore to be had – where did Telemachus come from? Why did Mallok loathe the wyverns?  What tragic fate befell their species during the Shadow Years? And just what happened to the noble dynasty of people who flourished long ago upon Tempest’s Reach, where now only the broken remnants of their once majestic fortress remains?

It’s going to be an exciting eighth season of Raids, so prepare yourselves for The Eye of the Storm!

fan works

FAN FRIDAYS

As always, our amazingly talented player community has created some wonderful Fan Friday entries over the past several months!  Please enjoy this look back at the terrific works submitted by your peers! 🙂

interview

V&H PLAYER: ANTAVIOUS (EU1)

We always like to hear a player’s origin story!  Can you tell us please when you first started playing VH, how you discovered it, what aspects initially attracted you to it, and what keeps you playing today?

It was early 2020 and my main game at the time was hearthstone. I played a lot of games mostly rpgs, strategy, collectible card games then my pc at the time went kaput and i decided i could still play hearthstone on an ipad and i would get one instead. Covid hit and i lost faith in blizzards direction for the game and started looking for something different, played a good few free to play mobile games for a few months and frankly to the most part they were quite poor and i found myself with a single thought “i want a game where i can grind for ages and actually achieve something or at least improve my gameplay experience over time”. 

I needed an mmorpg. So I open the app store and the first one I see is V&H start playing and realize pretty quickly this is exactly what I was looking for: a real F2P mmorpg on mobile. I kind of had a hunch that with my vast experience with rpg’s in general I would thrive but honestly even that was an underestimate and this game makes me feel a bit larger than life because my specific skill set fits so well, who wouldn’t want to  stay when a game makes you feel like that.

Let’s talk about Raids! I know you are a seasoned raider and have always enjoyed them. I want to know why. What do you find most stimulating about them? Which one is your favorite? What kind of challenges do you look for in a raid? Are there aspects you would like to see improved?

Raids are the most diverse bits of combat content going, you have set goals you need to complete in time that consist of a variety of different types. First you have to deal with small groups of mobs that need to be gathered for efficiency, then you have mixed groups with hard bounty targets. Sometimes you need to find things or stay your ground for a set time then suddenly you have to deal with a larger more threatening boss all in the space of one run. It’s this changing and mixing of what needs to be done that makes raids interesting. Then to top it off the diversity of who you play the content with makes runs even more interesting. 

Catacombs really does quite well at staying unique each time with its random room design and is definitely the most interesting but I also like flooded cloister for a more relaxed run as most of the mobs there are in nice tight little groups. Swamp was my preference for grinding my fables last season as getting massive group pulls is best there and as a dedicated tank big pulls are efficient.

As a dedicated tank I’m always looking out for new ways to die. Yep you read that right my goal when building and playing a tank is to identify and resist death. Slightly contradictory I know but the greatest achievement for me is to win in a seemingly unwinnable situation and to take as many other people as possible along with me for the ride. That’s why I favor hard big group content and what I’m always looking for.

As for improvements, well for me I would like there to be no gaps between raid seasons but instead i would like to see rotations. So say we get 5 raids & rewards for 3 months then the next 3 months we get 5 different raids and new rewards keeping it interesting and keeping us missing our favorites when they’re not around. The pool of raids can gradually grow over time and new ones can slip into the rotation so that every 3 months we get an entirely different selection of raids. Perhaps it’s asking too much but it’s a fairly good long term answer to keeping the game forever interesting.

Recently, a new genre in games has been popping up, that of ‘survival crafting.’  Players must craft or die essentially.  What are your thoughts on it?  Would incorporating such a feature into VH be appealing to you?  Why or why not?

Maybe, I’m not too familiar with it but in a more subtle way aren’t we already doing this? It’s definitely clear that if you’re not doing crafting you will find that you don’t have access to a lot of valuable tools and will definitely find the game harder. Personally speaking I will never reject any aspect of the game outright and feel any player who does is hurting their own experience.

What single most feature would you most like to see added to Villagers & Heroes, and why?

There was this one Idea I saw a while back on the forum, it was similar to the village wellspring project. Basically everyone in a village would gather for a big  project then once enough villager work had been done it would grant players access to a big boss fight where they could work together as heroes to gain great rewards. I would love to see players working together, chatting about how close we are to our joint goal and when we think the big fight would happen. That kind of team work reflecting both the hard toil of villagers and the combat prowess of heroes would really be something special I think.

Each of the servers in our game seem to have their own distinct personality, or vibe to them.  In a sentence or two, how would you best describe the EU1 server to a new player?

One word: proud. I love the people of EU1 and they make me feel incredibly proud of how much respect they show me. I started my daily runs out of necessity (if i didn’t step up and ask people to join me i don’t know if the runs would have happened) but now i get so much support its just really great to see. EU1 is home to a population of people who are all about kindness, respect and consideration. 

You recently submitted a Fan Friday entry about all the things you ‘don’t do’ – paint, sing, write –so I’d love to know about the things you DO enjoy partaking in!  What are some of your hobbies, or activities that you enjoy doing outside of the game?

Away from the game i have a lot of responsibilities, im a husband and father so when i’m not working im watching various children’s shows with my 8y old daughter or playing various board games with her. She has played V&H with me occasionally but she can’t quite play it properly yet.

What is your favorite quest line in the game, and why?

I guess I would say I liked the structure of everything that happened in Summer’s Hollow, as the quest progresses so does the zone keeping the story flowing. That’s not exactly something that happens with a lot of the other areas.

What types of new rewards would you most like to see added to the game, and why?

Plate armor, there are less choices when it comes to the visual appearance of these heavy armor sets especially when it comes to gloves and boots and what i really want are boots that match my armor or gloves (i use the purple and gold marat’s chest elder gear and the marat’s gloves with the enchantment from the crown shop) my boots in particular are super hard to match well. Other than that I enjoy all the fun little toys i can get my hands on and i really like having mounts that have a function. It would be really nice to have housing items with function too.

Time for the old desert island question, but with an add-on!  If you were stranded on a desert island with three historical figures, or famous people, living or dead, who would they be?  And if the island happened to have a copy of only one book on it, what would it be?

Richard Attenborough, Marie Curie and William Shakespeare. I’m sure each would have a lot of interesting things to say but to perfectly honest I would trade them all for my wife, my daughter and my cat (because he is people too)

Remember those old game books where you could pick different options “go to page ect” fighting fantasy i think they were called i would take one of them so i could read it over and over like i used to do when i was a kid.

behind the scenes

OUR OTTER INTERN!

As some of you might remember, in our last livestream, we mentioned that we have a new art intern working with us!  Timothy is interning at Mad Otter Games to achieve his Associates Degree in Animation. He also has his own Animation YouTube channel, where he has been fostering his video-editing skills for over 8 years now.

We’ve been keeping Timothy busy! His promotional video for Villagers & Heroes, which we’d previously given you all a sneak peek of in the stream, is now live in the mobile Playstores, and can also be viewed here:  2024 V&H Trailer.

But we thought you all might also enjoy seeing just what else Timothy has been up to!  Please enjoy this original new advert for the game, which he has created:

TECH TALK FROM DAMON

More Lag Fixes

The last Ardent Ledger (issue #31) talked about some of the lag fixes that were made in January.  The primary fix was to reduce the amount of data being passed from the C++ “torque” servers to the players.  Two strategies were used:

  1. A priority scheme so that the servers weren’t sending all effects from all players to all players  
  2. Compressing the data that was being transmitted from the server to the players

However, after these fixes, there were still reports of lag in the level 95 elder runs and the Rift. The players welcomed me to come join them on their runs so I could see the lag for myself. They also provided some theories on the source of the lag that turned out to be correct. Thank you to everyone for your help!

After some investigation, it became clear the two main sources of the lag were:

1. Combat Charts

2. Special Effects from Spells and Feats

CLIENT-SIDE LAG DUE TO COMBAT CHARTS

While on some elder and rift runs with 25 to 50 players, I noticed that turning on Combat Charts cut the frame rate in half!  

In order to figure out what was happening with Combat Charts, I built a custom version of the game that would print out reports on what was going on.  The first problem was in this code that runs on each player’s computer (not on the server):

    @EventGroupAwake.bind(combatChartItf.EventChartDataChange)

    @EventGroupAwake.bind(playermind.EventTickSecond)

    def refresh(self): 

       …do lots of stuff here…

This is python code that is defining (“def”) a function, with the name of “refresh”.  This function updates all the combat chart data and its presentation to the player.  It is not particularly slow in and of itself.  The problem was in how often it was being called.  Above the function definition you can see two python “bindings”.  Bindings are what we call “syntactic sugar”*: a fancy way to do something without writing explicit code.  In this case, these bindings cause the refresh function to be called whenever either of these events occur:

    @EventGroupAwake.bind(combatChartItf.EventChartDataChange)

    @EventGroupAwake.bind(playermind.EventTickSecond)

These events are called “EventChartDataChange” and “EventTickSecond”. The first event occurs every time any data for the chart changes, and the second occurs automatically once per second.  One might think the problem is that the chart is being updated every second, even when no data changed. However, this isn’t a problem. For computers, one second is a long time.  Instead, the problem was that this function was being called every time any data changed due to this binding:

    @EventGroupAwake.bind(combatChartItf.EventChartDataChange)

In solo play, or even with a normal-sized party, that’s not a problem.  However, in a large group with 25 to 50 players, the data is being changed as often as 100 times per second.  That means the combat charts were being completely refreshed 100 times per second!  To compound this, in a large battle, it is tracking a lot of data on all 50 players.  This puts a massive workload on the computer.

The fix was easy.  Just remove that binding so we now have:

    @EventGroupAwake.bind(playermind.EventTickSecond)

    def refresh(self):  # type: () -> None

       …do lots of stuff here…

The combat chart is still being updated once per second which is plenty fast for a human.  Unless you are a mutant, I doubt you can mentally process the combat chart in less than one second 😉 (note: we could make this even faster by only calling refresh when data changes, but never more often than once per second).

This fix is what we call “low-hanging fruit”– an easy fix that provides a lot of benefit. We are always looking for low-hanging fruit.

And, to be clear: many players already understood that combat charts were a problem, which is why they would just turn charts off in large battles.  However, that’s pretty sad: Why have a feature that can’t really be used?

Anyway, this was an easy and big win.  However, it was still troubling that charts were:

* putting a heavy load on the server (which could produce server-lag)

* transmitting a ton of data to each player’s computer which can cause both server-lag and client-side lag.

* Footnote: Syntactic sugar refers to language features that make code easier to read or express but don’t fundamentally change how the code behaves. Essentially, it’s a way of writing code more conveniently without altering its underlying functionality.

When programming languages introduce syntactic sugar, they provide alternative syntax for tasks that could be done using existing language constructs. This makes the code more readable and intuitive for developers. The term “syntactic sugar” implies that these features are not strictly necessary for the language to function but are instead designed to improve the developer experience.

For example, in many programming languages, there are shorthand notations or special syntaxes that simplify common operations. These might include things like list comprehensions in Python, arrow functions in JavaScript, or operator overloading in C++. These features don’t add new capabilities to the language but make certain tasks more concise or easier to express.

SERVER-SIDE LAG DUE TO COMBAT CHARTS

The fix discussed above only fixed client-side lag problems.  The server was still sending out all the combat data about every player to every player. This is what in computer science is called an “N squared problem”.

(Note: order of complexity is an important concept in computer science.  Programmers are often optimizing code, like sorting, to reduce from “order of n-squared” to “order of n-log n” or even “order of n”.  By the way, if you’re wondering why I keep saying “n”, it’s because “n” refers to the number of elements being manipulated.  In the case, say of sorting a player’s inventory that had 210 items to sort, n would be equal to 210.  In the examples here with combat charts, n equals the number of players). 

In the case of Combat Charts and combat messages, we have an n-squared problem. This means if you have one player, then the server must send out one message for that player to one player = 1 message. With two players, it is 2 messages sent to 2 players = 4 messages.  With 3 players, it’s 9 messages. This grows rapidly so that with 50 players its 2,500 messages!  Non-linear growth is bad bad bad! 

To reduce this, I added a synchronization scheme between the server and each player so that if a player has his or her charts closed, the server simply doesn’t send the data at all.  After all, why send the data if it isn’t being used?

To put a final bit of polish on this system, I compressed the data being passed.  This is similar to the work done in the last batch of lag fixes.  Instead of passing strings and large numbers for each combat message, it now passes indexes and small numbers.

In fact, it tries to reduce the data to the smallest number of bits possible using “bit packing”- and then transmitted these bits across the internet “bit streaming”.  For example, if we are sending the character’s gender across, the most natural way a human would send this information would be in a string: “male” or “female”. However, the string “male” requires 72 bits of data to encode. “Female” takes 104 bits.  However, since we know there are only two possible character genders, we only need to send one single bit: either 0 for male and 1 for female (a bit is a binary digit- it can represent 0 or 1, no or yes, false or true, or in this case, male or female). In this trivial example, we have reduced 104 bits to 1 bits, a savings of 99%.  

The overall bit packing done on the combat charts messages reduced the amount of data being transmitted by about 20x.  Since about half of all players have charts off, this will reduce data by about 40x (about 97% savings).

SPECIAL EFFECTS AND LAG

Some players reported that special effects were severely reducing frame rate. After investigation, and with guidance from players, we identified these three as the worst offenders: 

Rain of Destruction

Deep Freeze

Ice Storm

Rain of Destruction: The meteor shape being used was comprised of 40 extra parts causing it to be drawn an extra 39 times!  The fix was simple: just use a different shape with only one part. Problem solved.

I also made a general fix by improving the priority scheme for transmitting and displaying special effects.  This is really just an expansion and refinement discussed in the last Ardent Ledger. 

It takes into account how busy the server is, and whether or not the player has the flag “Show all effects” on or off.  It gives high priority to effects cast by or targeting the player, monster spells and feats, and harmful zodiacs on the ground.  Spells and feats from the player’s party are given medium priority.  Players outside the player’s party are given a low priority for displaying their spells and feats.  In a large battle, if you have “Show all effects” turned off, you might see wizards casting “invisible” fireballs 🙂  This is the reason. If you don’t like this, you can simply turn on “Show all effects”, and the server will make the fireballs and missiles visible (unless the server is really busy).

We haven’t yet fixed Deep Freeze and Ice Storm, but plan to have these fixed soon. 

Summary

* The goal was to allow players to play with Combat Charts open, and not have them cause lag.

* Rain of Destruction should no longer cause lag.

* Deep Freeze and Ice Storm still cause client-side lag- we hope to have a fix soon.

* The priority scheme for sending and displaying special effects should also reduce lag somewhat.

As always, there’s always more to be done to improve game performance.  When you experience lag, let us know… and also, please let us know what you think may be causing it.

Thanks!

P.s.

What is “lag”? In this case, most of the lag was caused by the player’s computer being overloaded.  This type of lag manifests as:

  • Sluggish and clunky movement
  • Low frame rate: the scene appears to chug along slowly
  • Button presses are responded to slowly or not at all
  • In the case of Villagers & Heroes: “green feats”

This makes for a terrible gaming experience.

sneaky scribbler

No one is safe!  The mischievous eavesdropper who gallivants around the servers collecting amusing player utterances is baaaaack!

YOU SAID IT

THESPIAN CONFESSIONS

Spamduin:  R u a real priest like in real life?

Priest Daimheach: no… I only play one on pc

–US2

WHOOPS

Phantom banshee: Is there anyone that could help me with a bronze cloisters run? Tried on my own but got absolutly violated

Absolutly: what did I do?

WickedShot: can you read? you violated him

—EU1

AUTHENTICITY

Ardent City Beggar: I need 10 gold… ugh   

––US3

A REAL THRILLER

Vesuvius: Weird bug in the crystal sanctuary in spire. I can only get to the npc’s if I walk backwards: xd

Xoka: michael? 😮

Cogncaillasse: Bonsoir

Zbok: jackson virus

Salla: facepalm

—EU1

FOOD FOR THOUGHT

Tuckster: anyone have a pomegranate?

Tuckster: just need 1

Rishi: sending one

Tuckster: thanks!

SlapChop: haha sent one too

Rishi: now has 2 YAY

Smirkin Mirkin: always good to have a backup fruit

SlapChop: don’t take that pom fer granted ;D

—US2

SINFUL SIGHTINGS

Blaasphemi: <<Grimoire>> is recruiting new and experienced players 🙂 Please whisper if in need of a guild

Duudaad: That’s Blasphemy

Blaasphemi: you know it duud

—US3

FORESIGHT

Juiblex: so any plans, so i can make some 

Juiblex: wc 

WickedShot: I usually go as the need appears

WickedShot: dont plan my wc routine

—EU1

MEDIUM ROAST CALIPHS

Rugslug:  we doing a calf run after this?

Alpenglow:  i want to

Juanes:  i would love a calf run

Lil Chaos:  make mine a latte

tamale3:  I would like a decalf please

Kodiak74:  MOOOOO

—US2

SO LET IT BE WRITTEN, SO LET IT BE DONE

Honey Bee: its friday, where’s our weekly troll?

Hapries: under his bridge

Kitzykitt: I don’t know what a troll says… ie there a special sound?

Goldmund: he’s over there

Goldmund: assuming it’s a male troll

Stenlar: trolls say”you know what im sayin right”

Hapriest: he’s partying in shreks swamp with donkey and the crew 

Troll Warlord: hi

Stenlar: oh my..

Honey Bee: lol

Honey Bee: i seeeeee him!

Joy Sehr: hi

Hapriest: lol

Honey Bee: hi trolly 🙂

Kitzykitt: TROLL!!!!

Stenlar: haps sayeth..sayeth and it appears

—US3

WHAT’S UP

Romantic: third fabled drop today, something must be in the air.

WickedShot: nitrogen, oxygen and small amounts of other particles

—EU1

WHEN THE CAT’S AWAY…

Cernun: wow usually this game kicks me out after about 20 or 30 minutes. I walked away for the pc 53 minutes ago, still logged in

Pepper Blossoms: cernun finds out later his toon unbeknownst to him has been moonlighting as a greeter in Ardent Castle

—US2 

SUCK IT UP

Jalut Azzil: soo im looking at this guy called Lord Pyrrus here.. anyone can help smash his head?

Zbok: omw

Jalut Azzil: awesome thanks

Rox: need more or are you ok, Zbok?

Meagan: probably a hoover to clean up the stone lord’s remains

Joan of Dark: lol

Rox: well, I have been told I suck

—EU1

WHAT’S THE BUZZ

Honey Bee: wtt some ez thing for 7 salts pls

Shayesissisila: sec have some

Honey Bee: yay  what would you like back?

Honey Bee: i keep thinking i dont want anything else lol

Murder Hornet: a buzzing good time

Honey Bee: oh always lol

–US3

A WEIGHTY MATTER

Edga Llionia: I feel proud gathering lvl 30 materijala lol

Bees Knees: ita always great when you reach milestones in anything

Edga Llionia: Yep 

WickedShot: it feels about 1.5 times better reaching a mile stone than a kilometer stone 

—EU1

KILLING ME SOFTLY

Verrick: definition of lag: fighting an already dead mob to the point it kills you 

—US2

DON’T BLOW YOUR TOP

Goatboyxyz: you do exist for sure

Vesuvius: I exist to eat goats

Sectator: and poor Romans

—EU1

SHADES OF GREY

DARKNESSoverload: Why am I against this shadow lord guy, if I’m a shadow priest…

Bobbylo: minor disagreement

Lucy Phera: Your shadow is better than his, and you need him to understand that?

Occultress: we dont discriminate

—US3

MODERN PROBLEMS

Goatboyxyz: would be cool if friends list said how long since someone been on

Juiblex: it does on pc

XokoulaThePriest: you guys have friends? 

Ektoras Bodrini: you guys have pcs? 

—EU1

EVERYBODY KNOWS

Everybody: so, what do you answer when someone asks, “Who plays V&H?”

Mohrigrim: everybody?

Everybody: ding ding ding!

Valkeri: is this a trick question

Everybody: 🙂

Lunariah: lol

—US2 

BEAT IT

Shambles: Ofc they are cracking up at AH with the content of eggs.   —EU1

SUMS IT UP

Antavious: 95 elders in 30 min

WickedShot: less than 20s per elder. That is quick

Antavious: good too see someone also uses there calculator app

WickedShot: V&H where bad dad jokes go to die

—EU1

contests

The Sneaky Scribbler Caption Contest!

It’s been awhile since we’ve done this one!  Since the Sneaky Scribbler always makes us laugh, let’s see if you all can return the favor!

For this contest, we are asking players to write an amusing caption for the screenshot pictured below.  That’s it!  Players can submit as many entries as they like.  This contest will close on Monday, June 3rd.  Please submit your entries here:  Sneaky Scribbler Caption Contest.

Prizes:

First Place = 150 crowns + 200 Ducats

Second Place = 100 Crowns + 100 Ducats

Third Place = 75 Crowns + 50 Ducats

Good luck, and have fun! We can’t wait to see what you all come up with! 🙂

ardent ledger submissions

We love player submissions!  If any of you have any musings, news, anecdotes, funny screenshots, puzzles, memes, or lively VH info of any kind that you would like to share in the next issue of the Ardent Ledger, please do so!  Please just send an email to:

social@madottergames.com

(Subject Heading:  Ardent Ledger submission)

We look forward to hearing from you!  😀