1. The Hand of Merlin
  2. News

The Hand of Merlin News

Patch Notes - Early Access Build 677457

New features:
• Added notifications for Feats of Strength, unique accomplishments deemed too difficult to be classified as Achievements. These are hidden at first, but will appear in the Codex under a new tab when unlocked.
• Added and/or improved several visual effects on Heroes and enemies.

General fixes:
• Fixed the Warband achievement from being unlocked after only 9 prowess unlocks to being unlocked after 12.
• Fixed a bug that caused Morgana or Atlantes to be unable to spawn once you started/progressed/finished the other one.
• Fixed a rare occurrence where it was possible for status effects to recursively trigger each other to infinity, causing a crash.
• Fixed a rare bug where triggering multiple effects that grant an out of turn action and action points would fail to resolve all of them and only leave the effects of one of them.
• Fixed an issue with Warrior's Coordinated Parry skill where it would fail to grant the nearest ally 1AP when attacked.
• Keen status effect will now correctly expire after a single attack (e.g.: Warrior's Cleave will deal extra damage to all targets, but Ranger's Double Shot only to the first target as it is 2 attacks).
• Warrior's Vengeful Parry skill upgrade is now different from its base version: can be used every round.
• Warrior's Sharp Vigil skill will now grant appropriate debuff to enemies on hit.
• Warrior's Fencing Lunge skill can no longer miss with the Evading buff.
• AP gain from Positive Warp spell can no longer miss.
• Piece of Avalon relic now grants appropriate status effects.
• Heroes will no longer get unusable rank up points if they have nothing to spend them on.
• Fixed wrong node labels in Jerusalem world map, which would say "City of Outpost" instead of just "Outpost".
• Fixed an issue where the camera could behave strangely in the final fight in Jerusalem if you started combat with a status effect.
• Fixed a bug in the Lobby where the hero selection X for removing a hero from warband didn't do anything.
• Fixed a bug where: if you were using a gamepad in a skirmish, had a Hero near the Hero portrait bar or enemy near the enemy portrait bar, hovered over that unit in the world and pressed Y (show unit tooltip), the tooltip would stay on screen when you released Y.
• Fixed an issue where the gamepad control hint for End Turn would be partly cut off from the screen.
• Fixed an issue where some tooltips could flicker on mouse press.
• Fixed various typos in encounters and tooltips.

Quality of life changes:
• All cutscenes now support a "hold to skip" feature (with a non-intrusive info message) instead of immediately being stopped on a keypress.
• Removed icons from confirmation dialog buttons. Instead, the buttons are hover sensitive now.
• Added mouse wheel scrolling to the core selection and hero selection columns.

Gameplay balancing:
• Lindworm's Gob now only applies 1 stack of Rooted to target (down from 2).
• Thorntoad's Leap (including its Dire version) is now classified as an offensive skill, meaning its use can be prevented with a skill like Warrior's Slam.
• Grace status effect now has a stack cap of 1.
• Miserable status effect no longer reduces AP.

Dev blog 107 - Porting Fun, Vol. 3

This post was written by Robert, one of our programmers.

Hi again!

Robert here, programmer at & founder of Room-C. At long last, it's my turn to write a blog post again! A while back, I wrote about porting the game to Linux and macOS.

In the meantime, we decided to expand into consoles as well. But rather than talk about consoles themselves, I wanted to make an overview of all the great things that came out of the console porting efforts that made the PC/Mac version better, too! So, here goes:

  • Gamepad support
    Well, duh! :) Can't have a console port without them. But I daresay, after several iterations, we got the gamepad controls to a point where it's quite nice to play with a controller even on PC/Mac.

  • UI improvements
    There's a couple of big things that happened here.
    1. Dynamic UI scaling
      We knew we wanted to support resolutions like 1080p and 4K. So instead of just keeping the UI tiny and small on 4K, or scaling it up naively to cause blurry text, we made sure to support this properly and deliver crisp, legible UI and fonts on any resolution.
    2. TV mode
      But what if you play the game on a TV? For me at least, my TV is a lot further away from my eyes than my PC monitor. So even though the TV is bigger, the picture still seems smaller. And that means we had to upscale the UI even further, to make sure our text-and-UI heavy game is legible even when played from the couch. How does this benefit PC players, you ask? Well, there's Steam's Big Picture mode, which we were able to add support for easily.
    3. UI clutter reduction
      Last but not least, simply scaling the UI up revealed design problems. We had a lot of stuff on our tooltips! Too much for it all to fit, in fact. It took some creative thinking to reorganize and simplify, to reduce clutter while still being informative. That alone was a major improvement for all players anywhere!
  • Optimizations
    Now, this is a huge topic. In short, we were able to get pretty big gains in performance, while also reducing memory usage quite a bit. On top of that, we made sure there are no performance swings - all areas of the game, even during spell casting and wrecking the destructible environment - retain consistently good frame rates. This means the game now runs better and smoother than ever, even on older PC/Mac hardware.

But let me break down a few techniques we used!
  1. Code optimization
    Good ol' profiling your code, looking for bottlenecks. Rewriting slow functions, getting a few FPS here, a few FPS there. Consoles helped here because they amplify problems. What might be a tad slower on PC, ended up being noticeably slower on consoles.

    The hottest topic here was probably AI, which on most PCs would take no more than a few seconds, maybe five at most, per enemy. On consoles, you'd be waiting up to 15 seconds per enemy!
    Through careful optimization, both in code and in AI config, we were able to reduce AI think times by 50-70%, so again, even on PC/Mac, it should feel much faster and smoother.

  2. Texture optimization
    Oversized textures mostly have to do with wasting precious memory, but they also affect performance. By "oversized", I mean using textures which have too many pixels for the size of the object on the screen.

    Imagine a small rock, which uses up a small area on the screen, say 100x75 pixels. It makes no sense to apply a 2048x2048 texture to it, right? You can't even see those pixels.
    So, I created a tool in our Editor to visualize texture density in shades of gray. The lighter the image, the higher the density. That made it easy to spot light (dense) spots in any scene, at a glance.



  3. Mesh optimization
    With meshes, it's a similar story. Why waste thousands of vertices on an object which only takes up a small area on the screen? Also, excessively dense meshes affect performance more so than memory, so there were big gains to be made.
    However, decimating a mesh is not as simple as downsampling a texture. Luckily, our Editor already had a powerful QEM (Quadric Error Metric) mesh decimator built-in.

    But - we have upwards of 800 unique meshes in the game. How do we process them all, making sure we decimate each one just enough, but not too much to introduce visible artifacts? Well - we write a tool, of course. :) And so, I wrote an automated tool which tries to guess an appropriate decimation factor, applies the decimation, and takes screenshots of the mesh from all six cardinal directions (north, south, east, west, up, down). If the before and after screenshots don't differ by more than some percentage of pixels (say, 3%) - the decimation factor is accepted.


    Then it's a simple matter of trying an increasingly or decreasingly aggressive decimation factor until a sweet spot is found. Voila! You let the tool run for a day, and you have meshes guaranteed to use up as few vertices as possible without visible artifacts.
    This gave us FPS boosts of up to +50% on lower end hardware.

  4. Shader optimization
    We have a custom terrain system which allows level designers to directly paint layered materials on the terrain, such as grass, mud or rock, via a special mask texture. The shader then applies these materials and the transitions between them, using the mask.
    We were able to reduce memory usage quite a bit by compressing the mask, and optimizing the shader itself. This also made loading times faster, not to mention rendering itself.

  5. Misc optimizations
    Finally, there's lots of things which don't fit any of the big categories. For example: destruction effects! We noticed these can cause performance drops, and identified the issue to be physics-engine-related, due to spawning large numbers of inter-colliding physics-driven objects. Rather than just reducing the number of said objects (which would make the effects look flat), we found ways to reduce the impact on physics computations without sacrificing the number of visible object parts. So much so, that performance drops due to destruction FX are now negligible on any platform.


Phew, that was a lot! Hope you enjoyed this overview. For any questions, feel free to join our Discord server.

Robert

Whispers of Doom Update Available Now!

Whispers of Doom introduces a complete overhaul of the games VFX for the games hero and enemy classes. Core to the VFX upgrades was the ability for the game to show the sci-fi orientation of the game more clearly. Cosmetically, the visual overhaul now better represents the distinctions of character skills such as the Mystic, who creates effects through knowledge rather than magic like a traditional wizard or mage would.

Also added in this latest update are legendary questline encounters which may reward relics of legendary power, as well as a new Guardian Core from Siglorel. The “Corrupted core” is awarded to players once they defeat the doomed world scenario, beating back the corruption in Jerusalem in Hard Mode with all Curses activated. This features 9 new and unique spells.

Alongside a whole host of bug fixes and performance enhancements, the ‘Whispers of Doom’ update now splits easy mode into two options, easy story and easy roguelike. Easy story mode presents the easiest option for players looking for a more narrative led experience with very little challenge. Easy roguelike on the other hand presents a good starting point for newcomers to tactical or roguelike games but who still want to be challenged.

Additionally, the option to create a randomized party when starting a new game run based on the heroes a player has already unlocked has also been integrated in this update, this also automatically picks Prowess unlocks if available.

Last but not least, 3 new achievements have also been added, Can't Run Forever (unlocking Atlantes' Core), Faevoured (unlocking Oberon's Core), and Legendary (obtaining a legendary relic through a questline).



“Our early access journey with The Hand of Merlin is now complete as we look to align our full version 1.0 launch. Being able to harness valuable community feedback has been immeasurable to us, and has helped us deliver six updates that have enhanced balance, challenge, meta progression and skill sets, not to mention lots of exciting new game content added as well,” Said Robert Sajko, Creative Director at Room C Games.

Patch Notes - Early Access Build 677290

New features:
• Added a new Guardian Core: Siglorel's, with 9 new and unique Spells. It can be unlocked by winning the doomed world scenario: beating back the Corruption in Jerusalem in Hard Mode+ with all Curses activated.
• Added new questlines which may reward relics of legendary power.
• Visual Effects overhaul: Hero classes' (Warriors, Rangers and Mystics) and enemy abilities' VFX updated where appropriate.
• Easy Mode is now split into two: Easy (Story) and Easy (Roguelike). The former is meant to hardly present any challenge at all, and is meant for those seeking a narrative experience above all else. The latter is a good starting point for newcomers to tactical or roguelike games but who still want to be challenged.
• Added 3 new achievements: Can't Run Forever (unlocking Atlantes' Core), Faevoured (unlocking Oberon's Core), and Legendary (obtaining a legendary relic through a questline).
• Added the option to create a randomized party when starting a new run. The selection is made from the Heroes you have unlocked, automatically picking Prowess unlocks if available.
• Added several new encounter illustrations.

General fixes:
• Fixed an issue on macOS where the game could have issues starting in fullscreen mode on Retina displays with resolution scaling enabled in OS settings.
• Fixed an issue on macOS where the Journal could sometimes appear solid red.
• Fixed an issue on macOS where in-game clickable URLs did not work (such as the button to join our Discord server).
• Fixed an issue on macOS where the Command button did not expand tooltips (like Alt does on Windows/Linux).
• Updated hints and tooltips on macOS to refer to the correct keys for that platform.
• Fixed a crash in the Lobby when removing Heroes from the party.
• Fixed a rare crash when using a gamepad during an encounter on the World Map.
• Fixed an issue where the run would be lost if game is stopped and started again during a certain encounter in Al-Andalus which interacts with the Holy Grail.
• Fixed a bug where force-closing the game during a transition between zones could leave that run in an invalid state, causing it to be lost.
• Fixed a bug where the fast-forward feature in skirmishes would affect the menus as well.
• Fixed a bug where enemy wave spawning in the battle of Roncevaux Pass didn't work correctly.
• Fixed a bug where the Blacksmith prices were not reset when arriving to a new Blacksmith.
• Fixed an issue where Salim's Measuring stacks would sometimes not get removed upon moving.
• Fixed an issue where Dire Thorntoad did not use Blast and Jump abilities as often as intended.
• Fixed an issue where the setting to confine the mouse cursor to the screen wasn't saved/restored when quitting/starting the game.
• Fixed a bug where multi-target abilities couldn't be used with the mouse on the same tile without first moving the tile away (i.e. it wasn't possible to double click a single tile).
• Fixed a bug where enemies that die affected by an aura didn't properly unregister themselves from the aura, potentially causing a crash or other incorrect behavior.
• Fixed a bug causing Wyvern to not trigger its Opportunist passive in case it was spawned in an ambush scenario.
• Fixed a bug where the auto-targetting logic of Morgan Tud's Druid Physician passive would not work correctly in certain situations.
• Fixed a bug where some effects could be applied to a unit after it died, if the sequence happened as part of the same ability use.
• Fixed an issue in Mallorca corrupted alternative skirmish map causing a potential AI chokepoint.
• Fixed an issue with the Blessings/Curses screen elements not scaling correctly on 4K / TV mode.
• Fixed an issue with the Blessings/Curses screen where the back button could be repeatedly triggered to constantly restart the animation.
• Fixed various cases of text clipping in Big Picture mode.
• Fixed a bug where the camera could still be manually controlled during the short cinematic momement of revealing the final boss in Jerusalem.
• Fixed a bug where screen fading would sometimes not work correctly when transitioning between game states.
• Fixed an issue where the Bestiary bookmark could reopen itself when not intended.
• Fixed an issue where bookmarks could sometimes not be clickable.
• Fixed an issue where reroll or cancel buttons were not reachable by gamepads when selecting skill cards at rank-up.
• Fixed "The Pen Is Mightier" encounter which would offer recruitment if party is full, rather than if not full.
• Fixed a bug where the portrait tooltip attribute breakdown didn't correctly show the base attributes for heroes with an active prowess unlock.
• Fixed a bug when gaining status effects where the scrolling combat message would show an incorrect number of stacks gained if they were higher than the max possible for that effect.
• Changed the description of Holy Desecration to note that it deals damage only to abominations.
• Changed the wording in the nourishment descriptions from past tense to present tense for the health/armor increased/decreased state, since they indicate state, not change.
• Fixed several typos in various tooltips.

Optimizations:
• Cleaned up and optimized several combat maps, to reduce memory usage and improve performance.
• Greatly reduced the impact of all destruction effects on performance, without noticeable visual differences.

Quality of life changes:
• The intro cutscene is now automatically skipped after being viewed at least once. It can be re-watched by clicking the Intro button in the Lobby.
• The vision pool in Merlin's Cave (the Lobby) will now show a view of the correct zone for the current run, rather than always Albion.
• Relic tooltips will now state the item's rarity, as well as use a color scheme to further help distinguish item rarities.
• The Guardian Core UI can now be accessed even during an encounter.
• Added separate icons for quest start and quest turn-in nodes. In addition, quest turn-in nodes will display the quest name.
• In addition to clicking the Shuffle button, random event cards can now also be clicked directly to initiate shuffling.
• The Hide Cards button, shown while selecting skills during rank-up, now says Cancel to make it clearer what it does.
• The Reroll button for skill cards is now disabled when the player doesn't have enough essence to use it.
• When selecting a skill upgrade, the current (base) skill is shown in the middle, with animated arrows pointing left and right to the skill cards available as upgrades. This should make it easier to compare the choices.
• Improved the Blacksmith tooltips to make it more clear that each upgrade tier is a replacement of the previous tier, rather than a stacking bonus.
• Improved Bestiary gamepad navigation, which should now feel more intuitive.
• Improved the presentation of the card selection screen in Big Picture mode.
• Skills with 0 AP cost which are self-cast now require the specific Hero to be targeted and clicked (or double clicking the ability itself) to activate it. This is to prevent accidently activating an ability when a hero is left with 0AP and is selected.
• Bandit enemy types now have names which should be more evocative of their signature skills, such as Executioner (Execute). This should help make them (and the threat they pose) more recognizable.
• Added prowess indicators to Hero selection screen in the Lobby, to make it clearer which type of Hero is selected for the run.
• The post-run report will from now on also show the modifiers (Blessings and/or Curses) that were affecting the run, if any.
• Changed the wording of the rendering resolution options to make it clear which resolution they represent.
• Added new sliders to the Options / Sound menu, for master volume, overworld music volume and combat music volume.

Gameplay balancing:
• Changed the Fey Touched achievement to have a lower fey reputation requirement (7, down from 10). This will apply to all new runs started with game version 677290 or higher, but not on-going ones.
• Changed the Well Stocked achievement to use nourishment instead of hunger damage for the condition.

Dev blog 106 - Whispers of Doom Update

This post is written by Mia, our gameplay designer.

Hello there!

With the new update being released today, we wanted to take the opportunity to talk more in depth about what you can expect from the new Guardian Core.

To start off with, the new Core belongs to Siglorel, a sorcerer like Merlin, who traveled into the most extreme and dangerous dimension. His ventures gained him many new insights and knowledge but left him “slightly” mad as well. There’s small tidbits of information you can find of him throughout the game, but he’s mostly shrouded in mystery. One thing that we can say is that one of the dimensions Siglorel has been to (or perhaps even still is in) is the dimension from which the abominations are invading our worlds. Because of this, Siglorel’s Core is intertwined with corruption.

Thematically, his Core is unlockable by saving a ‘Doomed World’ which even Merlin himself harbors little hope for. A Doomed World is ventured into by selecting all of the negative modifiers in Modified Hardmode difficulty. It’s a proper challenge, even for us who know the game inside out! If you’ve already beaten this mode, I’m afraid you’ll have to do so again as the Core is not gained automatically, but rather as part of the epilogue after defeating the final boss.

Obtaining his Core marks a true achievement and mastery over the game, as such we wanted to have the Core feel truly powerful. The passive gives one mana for each hero at the start of each combat, which should make mana feel cheaper and more expendable, allowing you to test out the spells in earnest.
Sticking with the corruption theme, the spells are modified versions of what the final boss can do, but tweaked and buffed in your favor. Siglorel allows turning their own power against them, quite effectively so!



Among the other content added in this update, being the Questlines, you’ll be able to find a legendary relic made by Siglorel. It’s a relic which combined with any Guardian Core should feel quite powerful, that is, if you manage to find it and repair it..

We hope you will enjoy exploring the new stories added in the update! If you have any questions or feedback for us, or just want to chat, feel free to join us on our Discord server!

Mia

Dev blog 105 - Warrior VFX

Hey folks!

As we’re trying to finalize the next patch, we wanted to finish up the VFX showcase trifecta with the Warrior skills. We asked Will to type out something to accompany the gifs we’ve prepared, and here’s what he wrote.

Will: When doing the visual update of the Warrior, I have been challenged to find a grounded and realistic way to show their abilities. I have tried where I can to keep the effects subtle and I have worked to revise some of the "placeholder" effects that were in place. For the most part it has been a case of reducing the colour saturation and emissive strength of the effects we had in place. A few places I got to really rework the current effects and so, skills such as upgraded Haste's and Warcry have had a fairly complete visual overhaul.

Here’s how some of them look!

Warcry Haste Stagger

Since our game is set in a low fantasy setting with no actual magic (remember the quote that “any sufficiently advanced technology is indistinguishable from magic” ?), having grounded and subtle VFX fits perfectly with the game. Not that we’re always doing so, some aspects do need a more overt VFX to indicate stuff is happening, otherwise we wouldn’t be able to indicate that a unit gained a status effect that changes a stat that has no external representation!

In our previous post, we mentioned a patch coming this month and we’re working on getting it out next week. Legendary questlines, more relics and a few QoL changes based on feedback!
We hope you try it out, and encourage you to join our Discord server and tell us what you liked and didn’t like, and any other changes you feel would be beneficial to the game!

MarkoP