1. Tainted Grail: The Fall of Avalon
  2. News

Tainted Grail: The Fall of Avalon News

December Development Update



[h2]Hello, Travellers![/h2]

We’re ready to present you with our December development update! As announced the last time, WolfheartFPS has partnered with us as a pro content creator and prepared yet another overview video for the update’s content. You can watch it here:

[previewyoutube][/previewyoutube]

The end of the year is coming closer, and our team has been working incredibly hard to wrap up Tainted Grail: Fall of Avalon. We’ve got tons of updates to share, but first, let’s lay out our roadmap to 1.0 so you’re fully updated on what’s coming.

[h2]Road to 1.0![/h2]

We’ve been passionately working on this project for almost 4 years now—including 1.5 years together with you during Early Access. And guess what? We’re REALLY close to the finish line! No pressure...

There’s still A LOT to do, but we can see the light at the end of the tunnel. So, here’s the plan for the final, epic release of the game we all love:

First of all—monthly updates will continue! You can expect development update posts in January, February... and then we’ve got a big surprise coming in March! What’s that, you’re wondering? Well, first we have a confession to make: we lied to you. Not intentionally, obviously, but it turns out we did. And before we end up on the stake, let’s explain.


We recently announced that no more updates will go live before the 1.0. version in Q2 2025. Change of plans. There will be one more major update before the full release. In March 2025, the 0.9 update for Tainted Grail: The Fall of Avalon will see the light of day!
That’s it. That’s the whole lie. Please forgive us!

This update will include:

  • The fully finished and polished Prologue and Act 1 (Horns of the South).
  • Full English voiceover and additional translation options (more on that in the future).


It will also bring:

  • Better optimization
  • Final game balance
  • The majority of bugs fixed
  • 100% of mechanics and UI in place
  • Fully upgraded visuals
  • Tons of new dungeons, quests, and side content
  • And… ROMANCE! :D


One note: this patch will wipe your saves—BUT this will be the last time that happens! From Patch 0.9 onward, your saves should be safe and sound for the final release.

IMPORTANT: Alongside this update, we’ll also change the game’s price to its planned final 1.0 price of 44.99 USD (or regional equivalent). Why the increase? We simply believe that the game's planned scope will be worth the new price.

The full release of Tainted Grail: Fall of Avalon is planned for May/June. It will include tons of content:

  • All 3 acts of the game, including the main story
  • An estimated 70–100 hours of content
  • A vast, branching main storyline
  • TONS of side quests, activities, dungeons, and more


We’ll drop a full plan for Early Access progression below so you can see it all at a glance.



We’re sharing this news now—3 months in advance—so there’s still time to grab the game at its Early Access price of 29.99 USD. Obviously, if you purchase now, you become a full-fledged owner, and you’ll get the 0.9 update + the full game afterward, at no extra cost.

Before we jump into the new content, just a quick recap of the last development update, featuring new combat changes and a massive Prologue + Act 1 revamp. We’re really happy with the evolution of the game; hope you like it too:

[previewyoutube][/previewyoutube]

We’re now done with this prolonged intro, so: to the point we go!

Since our last update and beta test, we’ve mostly been fixing what was broken and considered weak by the community. As a result, we don’t have many flashy things to show. However, there are still some major cool things that we’ve managed to add or improve in the game!

[h2]Summoning is (almost) back![/h2]

You hear that right. We’ve listened, and we’re trying to bring it back. We’re quite happy with the progress, but there’s still a lot left to do. However, we already feel it’s better than before, and that is because…

  • … you can now command your minions: After summoning, you can click on an enemy, and your summons will attack whoever you’ve chosen;
  • … it’s been simplified: Each summon temporarily holds a flat value of your mana; the more max mana you have, the more you can summon. This prevents summon spamming while still allowing the use of other spells. We might change this mechanic in the future, but that’s where we are at the moment.




[h2]First iterations of housing and farming[/h2]

Everybody dreams of their own place, right? Thankfully, developing a game allows us to tease ourselves a bit and get a house, even if it’s only a bunch of in-engine rendered pixels. I mean, better a bare foot than none.

  • Housing: The current in-house version of the game allows you to buy a (prototype) house in the Fishing Village. You still have to be a millionaire to afford the property, but getting there is less harsh than IRL. You can also add and replace various furniture and homeware in the special Decor Mode!
  • Farming: Works pretty much like Housing, and will also see similar improvements in the future.




[h2]Shrines[/h2]

Shrines are our new “point-of-interest” type of open-world activities. There are different kinds of shrines you can find:

  • Shrine of the Wilds: These depict various animals and offer certain items related to these animals in order to get a one-time boost to your XP, proficiencies, etc. It also offers a new gameplay-related twist!
  • Druidic Shrines: These will allow you to constantly “feed them” with animal-based crafting components in exchange for a tiny XP boost.
  • Stagfather Shrines: These start a special event: you get a timer and you need to hunt down animals within the time limit to receive a reward (such as a skill point, etc.).
  • Memorials: You can find statues of various legendary warriors all over the open world, interacting with them will boost certain proficiencies.




[h2]NPC improvements[/h2]

Being a vital part of every RPG, NPCs also deserved our attention. After some adjustments, they feel more natural and are a more integral part of the world.

  • Better looks: We’ve improved NPC faces, hair, and beards across the board. Most should look better now (though some surprises may arise due to global changes, we’ll be fixing them later).
  • More natural movement: NPCs now turn more naturally when you approach them.
    (This one is subtle and may go unnoticed unless you're aware of it. You might just feel something is better without being able to pinpoint exactly what. Previously, you couldn’t talk to NPCs unless you approached them head-on, and even then, they would rotate toward you like robots. This has been improved so their movement appears more natural. We plan to refine this further, but the first iteration of this system is now working.)
  • Dynamic reactions: Enemies now respond faster when interrupted during “simple interactions” (e.g., sitting).
    (This change addresses enemy interactions. Previously, if enemies were in a “simple interaction” (for example, sitting) and you attacked them, it took them ages to stand up, draw their weapons, notice you, and get into combat. We’ve now implemented a system that handles interruptions and uses prototype animations to make their reactions more dynamic. This is just the first iteration, but we’re pleased with the progress we’ve made.)
  • Coming Soon™: Enemies will move their lips and show facial reactions in combat. You’ll almost be able to measure their level of hate for you, just by looking at their faces when they bash you down.




[h2]Further balancing changes[/h2]

Balance, balance, balance… While it’s hard to explain, be sure that balancing the whole experience is still one of our top priorities. The feedback from the recent playtests has been super helpful in that matter (thank you, beta testers!). For example, we’ve fixed some issues with bows since the tests showed we’d nerfed them too much.

We’re now surely moving on to balancing the mid-to-late game areas, starting with Cuanacht.

[h2]Fashion Grail continues[/h2]

Let’s be honest: in RPGs, armor is all about fashion. Well, not really, but you get the point. So more not-so-shiny stuff to wear is always welcome.

  • New enemy armor sets.
  • New player armor sets: Over 18 new armor variants, including the Plaguewraith and Children of Morrigan sets. Take a peek:




[h2]UI improvements[/h2]

We hope you like the recently shown new version of the game’s UI! We’re polishing it and adding more options to make the navigation easier and more intuitive.

  • Equipment grid categories: This is a huge deal, as we’ve always wanted to implement this feature. Items in your bag are now categorized, e.g. when you select “weapons”, they’ll be sorted into categories like one-handed, two-handed, shields, etc. This system will soon be applied to all other inventory screens, not just your bag, and will be further refined.
  • Equipment display: The “body” equipment slots are now presented more intuitively.
  • Character progression & handcrafting menu: We added category artworks for character progression and handcrafting.




[h2]New content in Cuanacht[/h2]

Cuanacht is perpetually getting expanded and polished, and the whole area is now even more vast in terms of content.

  • Quests: We’ve added 15+ new quests so far. All of them are at various stages of being done (or broken).
  • Dungeons: A 7+ new ones of those.
  • New interiors: Previously unavailable areas are now accessible (or will be soon). The work in this field continues.




  • Something for later: A new huge dungeon, the Abyss of Sagremor, is in progress. Want a peek?




[h2]Smaller & misc changes[/h2]

  • New lockpicking minigame models: Simple as that, lockpicking looks better now.
  • Enemy variants: Some of the old bad guys and their models received new variants that will differ between regions. Also, some completely new bad guys have been added, too. Remember Bonemasks from a few updates before? Their shaman version will be resurrecting the enemies you fell. Ready to get annoyed?




  • Enemy animations: We’ve smoothened up some enemy animations, including their idle versions. Some of them are just adorable:

[previewyoutube][/previewyoutube]
[previewyoutube][/previewyoutube]
[previewyoutube][/previewyoutube]


[h2]And that’s it for now![/h2]

The comments section is yours. Tell us what you think about the newest changes.
We can’t wait enough for March to share the 0.9 update with you! Join the Discord if you want to get in touch more directly: https://discord.com/invite/Hn5zJYV

Stay tuned, stay safe, and good travels!

https://store.steampowered.com/app/1466060/Tainted_Grail_The_Fall_of_Avalon/

November Development Update



[h2]Hello, Travellers! Hope you’re all doing well.[/h2]

We’re ready to present another development update for Tainted Grail: The Fall of Avalon! It’s been a while, though we believe our content showcase will compensate for the wait. But before that, let’s begin with some huge news!

Starting from this dev update, we’ve partnered with one of the most well-known YouTube gaming creators, WolfheartFPS, to help us prepare a video overview for each update until the game leaves early access in the next year! If all goes to plan, those will be released monthly, along with the Steam update posts. His videos will contain exclusive behind-the-scenes, never-before-shown content. That also includes heavily work-in-progress stuff that is subject to change. Wolfheart’s a pro, and he’s done a great job showcasing new additions and tweaks, so just grab yourself a drink and enjoy watching!

[previewyoutube][/previewyoutube]

And for the written text enjoyers, below’s the update done in the old-school way.

Internally, we’re now in the 0.8 beta phase of the game, and it goes without saying that the game has changed DRASTICALLY, which nearly 500 playtesters have already witnessed during closed tests. The first bits of feedback we collected were very positive, and while there’s still tons of work to be done, it seems we’re headed in the right direction!



Based on your feedback and our analytics, we wanted to address the most important matters. As a result, tons—and we’re not exaggerating—tons of stuff have changed, so not to write a novel-long, let us just point out everything we’ve been working on.

By way of clarification, we’d like to point out that version 0.7 (Quanacht Rebellion) was the last Early Access patch, and the next update will be the full-fledged release: version 1.0. The monthly updates serve as progress reports on the game's development. Additionally, version 0.8 (the one described in this development update) is available only for closed beta testers, who are diligently helping us improve the game with every iteration. However, it will not be publicly available.

[h2]1. Game rebalancing and progression improvements[/h2]

TLDR: We’ve overhauled nearly every aspect of gameplay, focusing on making the progression, and the overall experience, more rewarding and fairer.

  1. Melee combat: Rebalanced to function seamlessly across all enemy tiers. Weapon damage, stamina cost, and other stats have been fine-tuned.
  2. Ranged combat: Ranged archetype now requires more investment in skills and better equipment to become a viable playstyle. Achieving the “stealth archer” fantasy will still be possible, but it will require more work.
  3. Enemy adjustments: Behaviors and animations have been improved, along with a comprehensive rebalance of enemy stats. No more one-taps (excluding special scenarios).
  4. Skill trees: Dozens of new STR/DEX/END skills have been added, with plans to expand to other trees soon™.
  5. Attributes and proficiencies: Both were rebalanced, with attributes receiving notable nerfs. Some might even be controversial, so we’re playtesting to get more feedback on that.
  6. Status effects: These now scale properly, preventing overpowered effects on higher-level enemies.
  7. Economy overhaul: Gold rewards, item pricing, and loot distribution have been adjusted to provide a more balanced progression.




[h2]2. Magic revamp[/h2]

TLDR: Magic has been completely reimagined for smoother, more dynamic gameplay. Casting spells should also feel more “snappy” and just more fun.

  • Casting system: Spells now offer light and heavy casting options, doubling their tactical use.
  • Mana efficiency: Simply put, you can cast more spells per mana bar.
  • New spells: 14 rebuilt or entirely new spells are now available, with more on the way.
  • Summoning temporarily removed: Summon-related issues have been among the most frequently reported. We’re working to resolve AI issues before reintroducing this feature.




[h2]3. Quest and story enhancements[/h2]

TLDR: We’ve made major narrative adjustments and introduced new quests, as well as other open-world content.

  • Main storyline: King Arthur has always been the highlight of the game, woven into the lore. Right in the prologue, you’ll now learn from the Once and Future King himself that he is your
  • SPOILER*. This allows the main storyline to have better pacing and be more flexible/less linear.
  • New side quests: Around 15 new side quests in the Horns of the South, alongside extensive updates to already-existing quests, including new interactions or dependencies, and bugfixes. Just a few of the new missions will be your typical fetch quests, but let’s be honest: we all need a breather sometimes.
  • Guilds: Yes, they’ve arrived: the Children of Morrigan (thieves, murderers, bad guys in general), Alchemists, and Stonewardens (tribal blacksmiths). Completing each guild’s storyline will reward you with unique abilities, grant some lore insights, and unlock alternate endings to the main story. Also, more guilds coming soon™.
  • Expanded world: 10 new dungeons, redesigned zones (the Keep, Prologue, and Jail), and interiors for all houses.
  • Romance: To the “Romance when?” guy who asks the question under every update post, here’s our response: romance now! A new storyline for Alisa is being made, and she can become your partner as a result.




[h2]4. Wyrdnight overhaul[/h2]

Nighttime gameplay received significant changes.

  • New enemy: The Wyrdstalker is a new terrifying presence during Wyrdnight. Still a work in progress, but in his final version, he’ll be slowly walking towards you, constantly, during the night. Think of him as a literal stalker.
  • Ethereal Cobweb: We’re changing its properties, and it’s slowly becoming a more integral gameplay element, with future crafting applications planned.





[h2]5. Crafting improvements[/h2]

Crafting is now more intuitive and flexible.

  • Crafting logic & UI: As non-precise as it sounds, crafting’s been changed so that it… well... makes more sense now. Also, this system’s UI has been rebuilt for clarity and intuitiveness.
  • Streamlined crafting: Players can now craft anywhere using a Grindstone, without having to talk to the Blacksmith.
  • Enemy-themed armors: Unlock new gear by completing special quests given by the blacksmith in the Horns of the South. This will become a general theme for all blacksmiths in the game.




[h2]6. Combat, gear & enemies[/h2]

Here’s what’s new on the battlefield:

  • New enemies: Over 10 new enemy types and revamped bosses, including a completely rebuilt Mistbearer fight.
  • Gear: Over 50 new armor pieces, more than 10 weapon models, and at least 10 new variants of the currently existing ones to collect.
  • Duels: This allows to engage in NPC duel-type combat without triggering crimes and other bad consequences. Future updates will expand this further, allowing for proper fight clubs.




[h2]7. Additional features[/h2]

We’ve introduced several other, miscellaneous gameplay elements:

  • Farming: Long-awaited and ever-wanted, it’s finally in the game. Clean up your gardening tools!
  • Sketching: Our unique photo mode; lets you create beautiful sketches of the game world.
  • Fog of war: Maps now hide the yet-unexplored areas for a more immersive experience and fewer spoilers.
  • Accessibility improvements: Better color coding, UI adjustments, and toggles for enhanced visibility and customization.
  • General: All houses in Horns of the South now have interiors, NPCs follow a proper day-night cycle, Wyrdnight arrives later, and numerous other small QoL features.
  • Heavy work-in-progress stuff: Crimes and sneaking mechanics still need great attention. So does the VFX optimization, especially when players are casting lots of spells.





[h2]That’s it for the content update![/h2]

This wraps up our recent work on revamping and polishing Tainted Grail: The Fall of Avalon. As always, we appreciate and thank you for every piece of feedback provided! Thanks to that, we managed to make some grand changes that are slowly turning the game into a completely new, better experience. And to the nearly 500 beta testers of the 0.8 version: you rock, and it’s hard to express our gratitude for all the help provided!

To end with, just a reminder that apart from the Prologue and Horns of the South revamp, we’re constantly working on the newest, before-announced snowy area: the Forlorn Swords. Stay tuned for more info about that.

Let us know what you think about the changes! And make sure to watch Wolfheart’s video to get a better view of all the newest stuff.

Stay safe, Travelers!

https://store.steampowered.com/app/1466060/Tainted_Grail_The_Fall_of_Avalon/

Tech Development Update



[h2]Hey there, Travelers![/h2]

Welcome to our new development update—and buckle up because this one is about to be pretty long and different from other update posts we’ve shared so far!

This time we’d like to delve deep into the abyss of video game optimization and its technicalities—and answer some questions that keep popping up on our Steam forums and our Discord channel.

And yeah, we've tried to make this post as readable as possible for a non-technical audience!

BUT! Before we step into the world of game development, let us start with a HUGE request and an opportunity for those who can't wait for the 1.0 release.

To ensure our work and changes to the game meet your expectations, we're looking for eager beta testers to try out and provide feedback for the revamped tutorial and Horns of the South area! The tests are planned for the end of October. Please note that you will have to own Tainted Grail: The Fall of Avalon on Steam to participate in the beta test. If you'd like to join and share your opinion, please fill out the form below. For people who will help us with their feedback, we will also have a small secret surprise as a thank you!

Registration form: https://forms.gle/kwEo7TsCNsL2iUiW8

Now, let’s get to the point of the update!



So, first off, our game is made using the Unity engine. Unity is a multipurpose engine that allows people to make pretty much everything—from Web applications, through VR and mobile applications, to PC or console games. It supports both 2D and 3D games, and it’s REALLY popular because getting something, anything, to work is very easy and fast—there are many tools you can use without having to write your own.

However, while built-in Unity systems and tools work well for most use cases, Tainted Grail: The Fall of Avalon isn’t exactly a standard use case of the Unity engine. Creating an open-world, first-person RPG requires a bit more... customized approach.

A game like Tainted Grail: The Fall of Avalon poses various complex challenges, like drawing dozens of NPC’s, 150 to 300 thousand instances of assets, and all the logic that actually makes the game work, all at the same time. As you can imagine, these aren’t exactly “standard challenges” for the Unity engine. Or most game engines, for that matter!

So, what we’re constantly doing is adding new sets of customized tools and solutions to Unity in order to make our game run better.



But before we get to these tools and solutions, let’s consider the Magic Formula:

[h3]STABLE 60 FRAMES PER SECOND[/h3]

Every gamer knows that a stable 60 fps is the magic number that every game should aim to achieve. We—as developers and gamers ourselves—agree with this sentiment, and we laugh out loud whenever we hear that we can’t spot the difference between 24-30 fps and 60. We can. You can. Everybody does, and 60 fps just FEELS better, period.

However, when you’re working on a video game, especially while you’re trying to make it run better, you quickly stop thinking in frames per second. In development, it is, essentially, a useless number because it’s the outcome, and not the solution.

As a dev, you quickly learn to think in terms of technological “cost” or technological “expenses”. If you were to hear our conversations, you’d hear sentences like “this and that is very expensive” or “no, this will cost too much”, pretty much every single day.

What we mean by that is that we have a certain technological “budget” for stuff that can happen in a single frame of the game, and this budget is our Magic Formula:

[h3]16,6 MILLISECONDS[/h3]

This is how much we have to calculate the next game state and render it in order to achieve 60 fps on recommended specs.

As a point of comparison, one blink of a human eye takes 100 milliseconds.

This means that everything that we do on the technical side, the things we’ve already mentioned—like drawing dozens of NPC’s and 150-300 thousand instances of assets, and all the logic that actually makes the game work—needs to happen constantly, within 16,6 milliseconds.

Now, as you can imagine, everything we add to the game has a technological cost. So what we’re constantly doing is an act of balancing: we constantly want to ADD MORE AND MORE STUFF TO THE GAME and MAKE IT BETTER and PRETTIER but at the same time we need to hold our horses and always refer to the magic number—the damned 16,6 ms.

So, with all that out of the way, one last note: whenever we say that “System X gives us 2ms,” it means that we’ve reduced the cost of something by 2 ms. Without that particular system, which in this example gives us 2 ms, we would hit 18,6 ms, and this translates directly to 53 fps instead of 60. And that’s what we don’t want.

[h2]The essential tl;dr of this post is this:[/h2]

  • We are continuously working on the optimization of our game.
  • Since our Early Access release, we have filled the world with many new objects and still managed to improve performance at the same time (the last patch runs at 10-15 fps more than the Early Access release).
  • Now, only 4 months after our last patch, we have again internally managed to find a few fps more and reduced memory usage with features like Kandra (you can read about them in the rest of this update).
  • We hope to deliver as good optimization for the final release as possible. It’s a very difficult and tedious process, and we’ll try to bring it closer to you with this post, describing our challenges and biggest accomplishments in this area in the last 2 years.


If you want more information, please read on!



[h2]Challenges[/h2]

There are three main challenges we face while optimizing Tainted Grail: The Fall of Avalon.

The main challenge we have on high-end PCs is heavy CPU usage.

This is caused by various CPU-sided calculations—the rendering pipeline, animation system, physics, or game logic. It means that at some point, GPU doesn’t matter anymore, and RTX 4090 won’t do better than RTX 4070 since the bottleneck lies elsewhere—in a single core of the CPU.

Yes, single core—most game engines, Unity included, don’t handle multithreading very well.

The second challenge that we have to keep in mind is RAM+VRAM usage.

It requires good management of textures, models, animations, audio, etc.

The last challenge is not to overwhelm the GPU.

It’s easy to add better effects and shaders, which will work fine on higher-end rigs but totally destroy machines at the opposite end of the spectrum. So we need to make improvements to the places above, and at the same time, we continuously have to watch all other metrics.

[h2]Our Approach To Handling Them[/h2]

First, we have to explain something about the Unity Engine.

The default, basic systems of Unity Engine are called GameObjects and Transforms. You can think of them as containers: they’re used for storing information about space and positions of data that’s required by other systems. This means that plenty of stuff is referring to these basic systems—but, even though they’re very convenient and great for simpler games, it turns out that they are unfortunately very expensive, especially when counted in thousands.

So by not using these two fundamental building blocks, we can improve performance. The issue starts with the fact that many other systems that Unity provides are fully based on them. This means that, without writing our own implementations of many GameObject-based systems, we cannot get rid of this dependency. Obviously we do not have the resources to rewrite everything with our team size, so we need to pick and choose which systems to rewrite and slowly go forward.

In many cases, optimizations force us to rewrite or remove various dependencies on default systems of the Unity Engine and use newer systems that Unity provides (ECS, BRG). We’re very happy whenever we get a new shiny toy from them, and we keep improving our backend to use ANYTHING that we’re given; we’re trying to stay as “current” as possible.

But, sometimes, we have to invent stuff on our own.

And here we finally got to the main part of this post: an explanation and showcase of systems we’ve been working on for the past two years in order to optimize the game.

Some of these systems are already in the game. Others are being written as we type this because, as we’ve said before, we’re CONSTANTLY working on optimization.

[h2]Systems We’ve Already Implemented[/h2]

[h3]Vegetation: Leshy[/h3]

You can’t have a dark fantasy game without trees, grass, and other types of vegetation. And obviously, the more of it you want to have in the game, the more expensive it becomes. That’s why we created Leshy—our own, custom way of rendering vegetation. The name comes from Slavic mythology; it’s a tutelary deity of the forests ;)

Non-technical tl;dr ->

  • It’s a custom way of rendering all vegetation in-game, and it’s multiple times faster than any other available solution.


Technical:

  • At the start of development, we decided to use a store-bought package for displaying vegetation. But, in time, we found that it did not scale well with a rising amount of vegetation types, which we decided we needed. It also relied on outdated systems and methods. And last but not least, packages have poor streaming capabilities, which is very important for the second challenge we mentioned (RAM/VRAM usage).
  • This forced us to rewrite the runtime part of the system to use the new Unity API: BatchRendererGroup, as well as make a translation layer between the asset editor flow and the new runtime implementation.
  • Now, all vegetation in-game is rendered by our own solution, which manages changing LODs (Level of Detail), loading and unloading assets from memory, culling, etc. It’s multiple times faster than the best solutions offered on the Asset Store or built-in Unity.
  • The streaming was also fully remade with performance and memory as the main focus.


Leshy gives us about 1-1.5 ms (about 9% of our total budget) and requires under 30MB (RAM+VRAM combined while the old solution required ~500MB) while allowing significantly more species of foliage.

[previewyoutube][/previewyoutube]

[h3]Static Repetitive Objects: Medusa[/h3]

If you played Tainted Grail already, you probably noticed that we have a lot of ROCKS in the game. They’re a part of what’s known as a “static environment”, so, in essence, things that don’t move or don’t change but are constantly there.

The fact that they’re constantly in the background means that they, too, can become expensive because your computer needs to take them into consideration whenever it’s rendering a new frame or whenever you move your character. So even though they’re just there and don’t move and don’t change, they’re costly.

That’s where our custom solution for the static environment comes into play—we called it Medusa because, just as Medusa in Greek mythology used to change people into stone, we use this tool mostly for rocks, and we want to keep them in place :D

Non-technical tl;dr ->

  • In open-world games, you will find many assets repeated in hundreds, if not thousands of places. Rotated, scaled, and fit in so many different ways that they blend perfectly with the environment.
  • Assets that are everywhere in the game and don’t move (like rocks) can be rendered really fast (or in a cheap way), but it requires another big system that makes best use of Unity’s rendering capabilities.


Technical:

  • By default, such objects are still quite expensive because of GameObjects and many calculations on the Unity side that can be stripped, knowing their (objects) limitations.
  • Medusa renderer collects data about such objects, destroys respective GameObjects, and takes care of rendering them by itself, using, again, BatchRendererGroup.
  • Since they are repetitive, there is no need to continuously stream in and out associated assets. This way, we achieved probably the fastest possible way of rendering that is available in Unity.


Medusa gives us about 1-1.5 ms (about 9% of our total budget).

[previewyoutube][/previewyoutube]

[h3]Other Objects: Drake[/h3]

Now this one is tricky. So we have Leshy for vegetation and Medusa for static objects. That’s all great, but it turns out that in order to be optimized, we needed something similar to them for everything else. That’s why we came up with Drake.

(Why is it called Drake? Mostly because we didn’t want to call it a Dragon because it would be tacky. What does it have to do with Dragons, though? Well, as the main brain behind this system once said: “Dragons guard gold, and this system is gold”.)

Non-technical tl;dr ->

  • We already have vegetation and static rocks that build the overall world's static environment. However, to fill it with content and details, we needed another system, called Drake.
  • So, essentially, it’s very similar to Medusa and Leshy, so we won’t repeat the explanation, but it’s used for other types of objects.


Technical:

  • It utilizes Unity ECS and Addressables to manage resources and to render them.
  • By default, ECS doesn't work with resources and mipmaps streaming, so we needed to implement it in-house.
  • ECS rendering is slower than Leshy and Medusa but allows for more dynamic operations (Leshy needs to be baked and static as well as Medusa) and gives more flexibility.
  • Also, streaming is another hit for the CPU, but a big relief for RAM+VRAM.


Drake gives us about 1.5-2 ms (about 12% of our total budget) and is 700MB easier on RAM.



[h3]Huge Structures: HLODs [/h3](hierarchical level of detail)

This is another one of our custom solutions, and this time it has no fancy name—just an abbreviation. If you come up with something cool, please let us know in the comments!

In order to understand HLODs, we have to start with LODs.

When you look at an asset in a game from a certain distance, you don’t have to see it in its full quality—it would be VERY expensive to render fully detailed stuff that’s hundreds of meters away. What you’re actually seeing is a particular Level of Detail.

Each asset can have various Levels of Detail (LODs), which change its quality depending on the distance from the player. They should switch seamlessly and should be prepared and setup so that you never notice the change—but taking into consideration how many assets need them, it’s rather tricky and difficult to set it up 100% properly.

And if we take this idea and apply it to the multiple objects that are next to each other, we have Hierarchical Level of Detail, or HLODs. Hierarchies and groups: plenty of stuff dynamically changing its quality depending on how well you can see it at a particular distance.

Non-technical tl;dr ->

  • We’re merging objects into bigger objects, and they get their hierarchical level of detail so that everything is even cheaper.
  • However, we can’t merge objects and simplify these hierarchies at the asset level because it would prolong artists' jobs by the order of hundreds, so it needs to be automatic.


Technical:

  • Hierarchical Level of Detail means packing structures in the same areas in hierarchical trees and baking simplified meshes for each node.
  • When we move away enough, a given node replaces its contents (many little objects) with one big mesh that is significantly cheaper to render.
  • At the same time, it is cheaper to make visibility calculations for 1-4 objects than for thousands.
  • The last part is streaming (again); distant objects are less detailed so we can use less detailed (smaller) resources.


HLODs give us about 2 ms (about 12% of our total budget); the number is getting higher as your GPU goes lower spec. (In future releases we will also implement VRAM optimizations based on HLODs; stay tuned.).

[previewyoutube][/previewyoutube]

[h3]Critters:[/h3] giving life to the world

If you’re working on a video game in Unity, you’ll quickly realize that

Animation systems are EXPENSIVE.

Rendering animated characters is EXPENSIVE.

So when we wanted to put some crabs on the beach, we noticed that this, too, needed to be rewritten and optimized on our end.

Non-technical tl;dr ->

  • We have created a custom way of animating critters so that a couple of crabs on the beach won’t destroy the game’s fps.


Technical:

  • We have baked animations into textures and applied them to skinned mesh in shader (VAT: vertex animation texture); that way we completely bypass Unity’s animation system and SkinnedMeshRenderer.
  • As a cherry on top, we moved them to ECS, which means other improvements against Unity’s GameObjects flow.


[previewyoutube][/previewyoutube]

[h2]Last but not least, an in-progress system...[/h2]

[h3]Character rendering: Kandra[/h3]

Our custom solution—with a name taken from the novels of Brandon Sanderson—Kandra.

Kandra was a creature that could absorb someone’s bones and skin to impersonate them, and... that’s kind of how it works in our game, too!

This is our newest addition to the game, and it’s a system that’s still being written at this moment, but we’re extremely excited about it because the performance boost is substantial!

Non-technical tl;dr ->

  • It renders characters (all NPCs, monsters, etc.) in a way that is cheaper on the CPU side and uses a lot less VRAM than Unity’s default way.
  • You can think of it as compressing a huge .wav file into an .mp3 :D


Technical:

  • That one is very simple, but at the same time, it is very difficult, complex, and technical. So in order not to make this update even longer, let’s say that:
  • There are certain things that we use, such as skinned meshes (mesh in which every vertex changes its position and other attributes with respect to changes to its skeleton’s bones), blend shapes (deformations that contain displacement of each vertex of the mesh), and clothes culling (which allows us to hide certain parts of the mesh). For various technical reasons, they generate A LOT of data.
  • There’s also something called Compute Dispatch which is essentially related to the way in which, in certain cases, the CPU transfers data and communicates with the GPU, and both of these operations are SUPER SLOW.
  • For various technical reasons, Unity forces us to store the same data multiple times, and the data is uncompressed, so the result is high memory consumption as well as insufficient CPU and GPU usage.
  • Kandra stores this data in a highly compressed version and makes communication and data transfers between CPU and GPU MUCH FASTER.


Results of our internal tests. It shows the cost of rendering 150 NPCs on an empty scene.



[h2]Conclusion[/h2]

We’ve come to a point where we use Unity’s out-of-the-box rendering only for VFXs.

We have our own systems that make better use of Unity’s capabilities for pretty much everything else in the game. This allows us to create an open-world, first-person RPG in Unity with as few loading screens as we managed to.

There are still many things that could be improved, like the animation system, physics, parts of game logic, HLODs setup, streaming is far from perfection (and obviously the assets themselves can be improved), etc.

As we move forward, new things appear, and we have to maintain our systems and take care of new challenges at the same time.

But in the end, you should see major performance boosts with every major patch that we release, and we plan to continue this effort.

[h2]Measurements were done on PC with:[/h2]

  • AMD Ryzen 7 3800X—the lower end of the medium bucket
  • RTX 3080TI—the lower end of the high bucket


That’s it for now! Tell us what you think about those types of technical updates. If you find it interesting, we might share some more details in the future. For now, stay tuned for our upcoming content update. It will be a bit delayed, but we’re sure it’ll be worth the wait!
Stay safe, Travelers!


https://store.steampowered.com/app/1466060/Tainted_Grail_The_Fall_of_Avalon/

August development update!



[h2]Hello, travelers![/h2]

Some of you may’ve already seen that we announced an estimated release date for the game’s 1.0 release! If things go to plan, you can expect Tainted Grail: The Fall of Avalon to leave Early Access somewhere in Q2 2025. Apart from Steam and GOG, we’ll launch on PS5 and Xbox X/S too!

For that occasion, we launched a brand-new story trailer that was shown during Xbox’s presentation at gamescom! See for yourself if you haven’t already:

[previewyoutube][/previewyoutube]

What's important is that with the 1.0 release, we'll have to wipe your save files. You will lose your current characters. That's something we've always kept pinned as a warning here on our Steam page. We understand this can be a pain, but unfortunately, there’s no chance for us NOT to do that. We treat Early Access as a tool to gather feedback and polish the game as much as possible before the final launch. Thanks to your comments, we have a lot of grand changes and pivots planned, and we’re sure they will make the game more enjoyable both for seasoned players and newcomers. However, the system tweaks will be so game-changing (pun intended) that wiping the current saves will be unavoidable. Thank you for your understanding!

[h2]Now, for the work-in-progress content updates![/h2]

Apart from working on completely new stuff, we’re also polishing the already-existing features. Some of the good old dungeons and locations are being revamped to better reflect their mood and atmosphere.



We have a thing or two for mutated animals. Soon you’ll be able to face big turtles and suspiciously fast snails.

[previewyoutube][/previewyoutube]
[previewyoutube][/previewyoutube]

Some enemies are having their visuals updated. Here’s an example of the Wyrdspawn.



We’re adding a new type of weapon - spears! Here’s a work-in-progress combat showcase.

[previewyoutube][/previewyoutube]

Now, watch out, as you might not’ve seen this coming… We’re adding farming! Finally a little breather from all of the Wyrd-touched peasants and other monsters trying to beat you. Nutrition is important, so there will be plenty of veggies for you to grow. And some roses for your loved ones, too!

[previewyoutube][/previewyoutube]

Remember the frosty Forlorn Swords we showed you the last time? Here are some more sneak peeks of its environment & assets that you will stumble upon while exploring the area.



New land means new foes to fight. Some of them are the Frostbitten Warrior and the Remors.



There will be many completely new weapons to try out! Below are just a couple of them to tease you a bit.

The Ravencrest Executioner:



The Doombringer’s Hook:




One of the first spears ever, the Midnight Wolf Spear:



We’re also adding various NPCs equipped with new armor sets.



As all RPG fans, we love dungeons and loot! For your eyes only, the early preview of the “Gates of Knowledge”. Can you feel that wizardry in the air?



[h2]And that wraps it up for the August development update![/h2]

Rest assured that we have more of this in stock; we just don’t want to spoil things too much! Each month the game is getting bigger and more packed with new content. Many of the changes and improvements are community-inspired, so make sure to keep the feedback coming!

Thank you for sticking with us, and have a good one, travelers!


JOIN GAME DISCORD
JOIN PUBLISHER DISCORD

https://store.steampowered.com/app/1466060/Tainted_Grail_The_Fall_of_Avalon/

June & July development update!



[h2]Hello, travelers![/h2]

Let’s start with an apology - sorry we haven’t been active on our Steam page for a while. Rest assured, the reason is that we’re working hard on new content while fixing and polishing the existing one. Just your casual “lost track of time” situation!

We’re all very happy about your warm reception of the recent Cuanacht Rebellion update. Thank you for the support, including all the feedback and bug reports provided. We read and analyze every piece, even if we can’t respond to everyone. So keep the comments going!

We know you want more of The Fall of Avalon, so without further ado, take a peek at what we’ve been cooking for you this time! Keep in mind this is a work-in-progress footage, so everything you see is subject to change.

Starting off with a big one: a first look at the Forlorn Swords, an upcoming snow-themed land. Yes, this one will be for you to explore.



One of the Dál Riata tribes, Theud, is a clan of mages, mystics and alchemists (actually, you’ve already had the chance to meet one of them in the game). Well-acquainted with the Wyrdness. They believe magic is a gift sent to them by Mathair. The Theud refer to themselves in the third person, believing that the name they have acquired is worth uttering as often as possible.



The Frostbitten Warriors - they come from the Oighreata tribe, which disappeared under mysterious circumstances. The warriors come in two forms: a slower, zombie-like one and a more dangerous version with ice crystals.



A few of the other Forlorn Swords enemies you can encounter.



Apart from all the brand-new stuff, we’re constantly upgrading the already-existing content! You can expect various quality-of-life improvements (not to mention the all-around bug fixing), as well as full-fledged additions. Below are some examples.

Some folks will receive new attack patterns. Treat with caution, fire-resistant gloves are advised!



In Cuanacht, you will have the chance to stumble upon a new lantern-wielding NPC. What’s his role? What does he do? Look for him in the game and find out!



A dark fantasy RPG wouldn’t be complete without… plague doctors!



Some say you can't teach an old dog new tricks. Yet, we decided it’s about time to take our fellow hostile NPCs for training and polish their movement - all to make the gameplay smoother and add extra depth to combat. We’re now focusing on two things:

  1. getting enemies to walk on uneven ground (this is important mainly for regular monsters, but if the system works, we will apply the rules to bigger enemies too);
    [previewyoutube][/previewyoutube]

  2. teaching enemies to dodge your attacks (they’re already pretty agile, as seen below).
    [previewyoutube][/previewyoutube]


That wraps it up for this dev update! We really hope you enjoyed this pack of teasers. We’re now getting back to creating new content and ironing out what’s already present. As always, all opinions and comments are welcome. Let us know what you think about the Forlorn Swords sneak peeks!

Stay safe travelers, and await the next updates!




https://store.steampowered.com/app/1466060/Tainted_Grail_The_Fall_of_Avalon/