1. The Hand of Merlin
  2. News

The Hand of Merlin News

Dev blog 61 - Ports & Pirates

Hi!

This week, it's my turn to write a blog post. The topic: ports! But not the kind with pirates and ships. No, the kind where you make your game run on a new platform. (Come to think of it, we'll probably have pirates too, on all our ports. Eh.)

Since I've never written here before, let me introduce myself. I'm Robert, the founder and CEO of Room-C Games. I do a whole bunch of stuff: project management, recruitment and hiring, team coordination, programming, playtesting... That's indie game dev for you, everyone has to wear many hats. :)

Since I'm originally a programmer, and have been coding at Croteam for the past 10 years, I know SeriousEngine quite well. That's why I did most of the engine features for The Hand of Merlin, like our custom grid-aware terrain system, outline/fill shaders to help notice occluded units, etc. And yes - now also porting to other platforms.

I'm happy to say that as of right now, we have fully functional, state-of-the-art Linux (Vulkan) and macOS (Metal) builds! That, and the supporting automatic distributed build system to compile & finalize all those binaries and shaders and content for all the different platforms and upload it all to Steam.

Rather than diving into the nitty-gritty technical details, I wanted to talk about my experience as a primarily Windows programmer trying to work on Linux and macOS.

-- Linux IDE --


Let me start by saying this: thank you Microsoft, for making Visual Studio Code, and making it run on Linux. That software is a boon. :) Being able to run and debug the game directly on a Linux machine and to harness the awesome power of GDB (GNU Debugger), all from a familiar, friendly IDE, is such a huge time saver.

As for the game itself, porting to Linux was not a huge amount of work. Luckily, SeriousEngine 4.0 already had legacy Unix support from previous versions and titles, and it natively supports Vulkan. Basically, it boiled down to getting our game code to compile on Clang (rather than just MSVC - Microsoft's compiler).

So after a day of fixing compilation issues, thinking how easy this was, I started the game and... black screen. Sigh.

As it happens, SeriousEngine 4.0 dropped support for OpenGL and its shading language (GLSL) altogether. So, all of our shaders are written in HLSL now (Microsoft's shading language). That's important because Vulkan only supports GLSL out-of-the-box. On Windows, there's Microsoft's DirectX Shader Compiler which can translate HLSL into Vulkan shader bytecode (called SPIR-V), but that's just for Windows - right?

Wrong! :) Thank you, community, for the awesome work of porting DirectX Shader Compiler to Linux and macOS. That's right, Microsoft's HLSL shader compiler runs on Linux - and we're using it to power our Linux Vulkan renderer.

After this major hurdle was resolved, there were just a few Linux specifics left, like detection of high-DPI displays i.e. getting the true native resolution regardless of scaling. Since I use a 4K monitor myself, I couldn't have The Hand of Merlin not handle this properly. ;)

This blog post is getting a bit lengthy now, so I'll save my macOS adventures for next time. As a small teaser, I'll just leave you with this: macOS was definitely a bigger challenge and made me really hone my Port-Fu skills.

If you have any questions or want to chat, stop by the forums or our Discord server. We're pretty much always there.

Stay tuned!

Robert

https://store.steampowered.com/app/600610/The_Hand_of_Merlin/

Dev blog 60 - Early access

Heyaa!

Yes, we’re going into early access! :O
This blog post explains why and what to expect.
When? May. I don't have more info than that. When I do, I'll let you know.

We’ve been asked a few times whether we would do early access, and my answer every time was “dunno”. If it was ever to be on the table, it would be for a relatively short time, and its primary purpose would be balancing, QoL features, accessibility aspects, crash fixes, and similar. This hasn’t changed, and the primary purpose for our early access is exactly that.

Since our publishing deal with Versus Evil was signed, some other options opened up, like porting to other operating systems and localization.
As of this moment, we have the game running on Linux, macOS, and Windows. I know some people are already happy with just this :)

Since there’s a ton of text in the game (and this is not an understatement, we have over 800 pages of text!), localization is going to take a while. We want the full release to be fully localized (don't have a complete list of languages yet, when I know, you'll know), so early access will likely last for as long as localization needs, which I’ve been told will be a minimum of 3 months.

While waiting for localization to complete, we want to polish the game up as much as we can. Mat’s been playtesting the game, but he can only get the game balanced up to a point. We plan to have at least two difficulties by EA release and add a harder one during. Feedback on how hard or easy they are would be much appreciated, and if you’re an expert player, which aspects should be tweaked for the hardest difficulty.

In general, we’re at a point where we just need some feedback. We want a large number of people to play the game, and tell us what they think. Tell us what’s confusing, what’s not explained, which abilities suck, which spells are just so OP you never want to go into battle without them, which encounters have typos, which encounter choices feel bad, etc. So if you’re interested in the game, and want to help us make it the best version it can be, we encourage you to join our Discord for a direct communication channel, or post on the Steam forums for a bit delayed communication channel. I do read all of these, it just takes me a bit to see steam posts.

For some other news, here’s a screenshot of some achievements in the game. The icon is brought to you by the magnificence of my doppelganger programmer MarkoZ. Don’t worry, they’ll be replaced with proper ones.



We've also updated some art on the store page. Mad props to my main boi Shiv.
So yeah. Big news. Give us your thoughts! We’re all on our Discord server and happy to talk. I also monitor the Steam forums, but not as quickly as the Discord.

MarkoP

https://store.steampowered.com/app/600610/The_Hand_of_Merlin/

The Hand of Merlin @ Game Dev Direct

Good news, everyone!

The MIX selected The Hand of Merlin for its official Game Dev Direct Showcase!

A fresh gameplay trailer should premiere on Sunday, around 10:30 AM PST, offering a glimpse of the new zone and some brand new content we haven't shown before.

Want more than a glimpse? Mat, our game designer, has you covered! Not to keep you waiting, he'll be playing through the latest build here on Steam.

When's the game coming out? Join our Discord server, ask, and watch us smile awkwardly while beating around the bush!

Remember to follow us here on Steam and wishlist the game.

https://store.steampowered.com/app/600610/The_Hand_of_Merlin/

Dev blog 59 - Story mode

Hello!

Lately, we’ve been discussing difficulty modes and how they affect the game. We decided a while back to add a lower difficulty mode to allow a wider group of people to experience the game.
Hand of Merlin effectively has two different games in it. One is the tactical layer where you fight against enemies in a turn-based fashion on a grid, and where the chances are high that you’d lose Heroes. The other is the strategic layer where you move between a network of nodes and carve your path from start to end of the area, picking which locations and reward types you’d like to go for. There’s also a lot of reading here since all encounters are small short stories influenced by your choices. You can also lose Heroes on this layer, but it’s much more difficult to do so because that requires you to travel without supplies while your Heroes are low on health. Each jump to a new location without supplies does 1 point of health damage to all Heroes, and health does not regenerate without explicit healing actions.

So our primary method of game difficulty stems from the combat itself. We want the game to be a bit on the harder side, because we want the loop of dying and trying again, having learned something new about the enemies and their skills. That said, some people might find the default difficulty too hard, and would otherwise put the game down. To that end, we talked about adding a Story mode of sorts, where the difficulty of combat is reduced to some degree. We’re calling it Story mode because its purpose is to allow people to focus more on the story of the game rather than the combat aspect (some people just want to read what Jonas&Verena wrote). In this mode, more resources would be granted, your Heroes would have more life and enemies would have less life.

This introduces a slight issue for us: unlocking Heroes, new Guardian cores, achievements, etc. Without a Story mode, we’d just have everything unlock normally as you play the game, and you’d go through the loop of dying and restarting with new knowledge. If Story mode would make the combat aspect much easier, then a lot of the balancing for the intended experience goes out the window. Additionally, if you could unlock everything in the game by playing the lower difficulty, then there’s no real incentive to play the harder mode at all.

(descriptions are temporary and made by me, so don't worry :P)

We still haven't made a decision about this. We've been fighting about it for a couple of days now. If you have a suggestion about this, do tell us!
A short summary of our unlock mechanisms:
Unlocking a Hero means you’re able to start with that Hero from the beginning of the game, having him in your default roster.
Unlocking a Hero’s Prowess gives you another version of that hero with an alternate model texture and some bonuses to health and armor, and can only be unlocked by having the Hero survive from start to end.
Achievements should be self-explanatory.
Guardian cores are an alternate set of Spells you can play with. Each core has a selection of 9 Spells (with a default passive one), from which you can pick 3 to use in combat. These are unlocked by encountering other Guardians during your encounters and talking them into giving you their support.

Thanks for reading. If you've got ideas, do share! Let us know what you think about the whole concept on our Discord server. We’re very open to feedback and scrutiny.

MarkoP

https://store.steampowered.com/app/600610/The_Hand_of_Merlin/

Dev blog 58 - Al-Andalus world map

Hey folks!
It’s been a while since we’ve shown how the world progresses as you go through the game. Once you finish the snowy mountainous zone of Marca Hispanica, you’ll land (not literally because you weren’t flying) in the sandy region of Al-Andalus. Unlike some other zones, Al-Andalus doesn’t have an overarching story outside of just getting to the end. This is explained upon entering the zone, as Al-Andalus is almost overrun with the Corruption. (The map visuals aren't final yet, we're still working on making it prettier!)



The atmosphere in Al-Andalus is bleak, filled with encounters that convey struggle against the forces of Corruption and attempts to survive the onslaught. Most of the nodes in the zone will be corrupted, and the rare uncorrupted node will be a welcome respite with no inherent danger. The progression from Albion to Al-Andalus should be clear: Albion has the occasional corrupted node which almost guarantees a fight against the abominations, while Al-Andalus has the occasional uncorrupted node, guaranteeing no fights.
That doesn’t mean all corrupted nodes have fights, it’s just that the roles and their implications on having to fight are reversed. Al-Andalus doesn't feature human enemies, as all humans are focused on fighting the Corruption.



We also played a bit with some encounter constructs in this zone. There’s one short stretch of the journey where you can go to an island city. It’s a set of several handmade encounters that only appear there, with two of them being over water. These will have custom encounters with internal variations so every visit feels different across sessions.



The way Mat has setup the combat progression is also interesting. Each zone adds a new mechanic (so to speak). At the end of zone 1, you fight the first large unit. During zone 2, you see large units during standard combat encounters, and at the end, you’re introduced to waves of units that appear during combat. During zone 3, wave spawning is used in most combat encounters, and at the end of the zone, we introduce a mechanic you’ll need to defeat the boss in the last zone.

I’m not going to talk about this mechanic, as I want to keep at least some unknowns for all the people who read these blog posts. If you’ve been reading them all so far, you’d have seen a lot of things the game has to offer, along with their evolution during the last year of development. I’d like to keep at least some things untold via blog posts, doesn’t make sense to spoil it all, eh? :)

Thanks for reading! If you’ve got any questions or want to comment on anything really, join our Discord server and ask/suggest/complain/praise/hang out. The whole team is there.

MarkoP

https://store.steampowered.com/app/600610/The_Hand_of_Merlin/