By Adrian Chmielarz Posted in Witchfire on 2022/07/06
We asked you this:
Reveal of features and candid devblog entries lead the pack, so let’s feature both today.
If you follow Witchfire, you probably know the basics. It is a first person shooter with dark fantasy vibes. There are guns, there is magic, and there are undead swordsmen trying to kill you.
But there is a lot about Witchfire we have not revealed yet. With many reasons for it. One is that we’re keeping some powerful cards close to our chest …for now. Another is simply because some features are not fully developed yet, and we don’t want to “advertise” something that may change or even be removed from the game.
But it is also because we are hiding all the UI elements for our trailers or GIFs. This is a standard practice that makes these videos better. Here is how Derek Lieu, a trailer-making guru, sees it:
One of the most common problems I see are game trailers which have way too much stuff in them. It’s as if the trailer maker assumes if it throws everything can at the audience, they will receive and retain it all.
The problem is people are not buckets that can be filled with information. I think people are more like sponges, and trailers deliver information via a hose. Depending on how focused the stream is, varying amounts of information will be absorbed into the sponge.
I think of an ineffective trailer like a hose whose spray is too wide, and an effective one is like a hose with a focused stream aimed at the sponge. If I may continue this analogy further, sponges reach a point where they cannot absorb any more water. This is why it’s important to mitigate the volume of information you deliver to the audience.
Here’s the entire post but this is the part relevant to us at the moment:
And thus in our videos where want to, for example, showcase the visuals, we’re removing the HUD. Which, by the way, is also something you will be able to do in the game. From the full version with all the info, to the absolute zero HUD – the UI customization choice is yours.
One element we rarely showed and never explained is the Warning System.
The Warning System is basically a HUD element that offers extra information about enemies who are NOT visible on the screen.
Here’s a big problem with first person games. According to Wikipedia, human field of vision (FoV) is 200-220 degrees. Even if you’re rocking a good PC and play games with FoV 120, you’re barely half past that mark.
More importantly… Well, think about the monitor or TV you are looking at when playing. What you see is not natural, it’s actually much closer to what a knight can see in his helmet:
It’s not the end of issues. I remember reading pro-tips from a soldier who said that if you ever want to hide from the enemy approaching from far away, you should never do it quickly. Because while we don’t clearly see objects in our peripheral vision, we can easily detect motion. That is how our eyes work.
In detail, we only see a small part of what we’re looking at, though. This is what solutions like Dynamic Foveated Rendering use: the fact that you need to render things in high resolution only in that part of the screen our eyes are focused on.
All right, so two problems to deal with:
Now imagine you are making a game which tries to adhere to the mantra of “when the player receives damage, it’s always the player’s fault”. In other words, a game that is the game of mistakes: a delayed reaction to a stab, miscalculating the trajectory of an incoming arrow, or missing a clue to dash away from danger.
A game that, in theory, can be finished without a scratch.
How to make such a game when enemies can be anywhere? In front of the player, to the sides, behind them?
One solution is to make a top down view game, sure. Then the players have a 360 vision around the hero, and can react to danger from any direction.
But we are making a first person shooter. So this is not applicable for us. What could work, for example, is disabling enemy attacks when the enemies are behind the player. But this sounds super fake, and let’s be honest, imagine the cheese if you discovered that… You’d probably start abusing the feature by always trying to face the smallest number enemies possible, wouldn’t you?
Another solution is binaural sound, but a) this does not work for deaf players, b) if you have a shooter with multiple enemies and lots of sound effects like guns and spells and foleys and whatnot, positional cues would get lost in the noise anyway.
Long story short, there are only two good solutions out there.
One is a radar, a minimap that shows all enemies in a certain relatively small range. This can be a precise info…
…or something a bit vague but still clear enough as for the general direction of enemies present.
And we do use this solution. But since the look of the minimap is not finished, and there’s nothing really special about this feature, let me skip to the second solution.
That second solution is the Warning System. We did not invent it. You have seen a version of it in games like Fornite, where sounds are presented in visual form:
Or in Call of Duty, where the circle on the screen imitates the space around the player:
My issue with these rings is that it feels very hard to translate the HUD cues to the actual XYZ position in 3D space. Sort of like holding a map vertically but having to translate it to the vertical space. Okay, so I see a warning cue displayed at 8 o’clock, but is this enemy to the left and a bit down, or is he behind me?
So we decided to try for a fake 3D ring of warning cues with additional lights at the edges that together form an invisible link. I should have probably kept all the iterations we went through; it might have provided for an interesting insight into the process. But I didn’t, so let’s just say it took us weeks if not months to come up with something that was very readable. Here is how it works:
Everything matters here: the size and shape of 3D “arrows”, the way they translate to space, the angle and size of the ring, those extra lights at the edges of the screen.
Originally, it was too much. Sure, I knew I had enemies to the side or behind me, but it was noise. Since you can freely run around, dash and jump, and the enemies can run around, magically teleport and flank, the screen was basically always filled with the arrows.
The next step was, then, to limit the presence of the arrows only to attacks. Which is why we call the feature the Warning System and not the Enemy Position System.
But we also do not call it a Damage Indicator System. That’s a separate thing. The arrows in the Warning System only appear when the enemy is about to attack. Think of it as our witch-hunter’s Spider-sense. The enemy started to aim his musket at us? A wild arrow appears!
Great but …not enough. The system works well for the enemies on the sides but was kind of unclear on enemies behind the player. Even with the 3D ring, and those arrow shapes we worked on for so long, I didn’t feel we’re getting enough information.
Now here’s why I believe any serious designer needs to play tons of games. In an old game, and for the life of me I could never recall which one, I saw this solved by having both upper and lower edge of the screen tagged with additional visual cues. Like this:
Whoever thought of that is a genius. To this day, I am not quite sure why this works. But it works perfectly.
But the system was still not quite there. The main issue was, again, the translation of the direction cues to the actual direction I need to look at to localize that enemy. I saw the arrow, I understood it’s 5 o’clock if the clock lied on a flat surface – but I kept over- or under-turning, if you know what I mean.
My peripheral vision needed help. We tried a few solutions and after a while we found the winner. Can you see what’s happening here?
Yes, if the enemy that the arrow was pointing at enters the screen because of the player turning around to locate them, they flash for a split second. Figuratively screaming “Me! It was me! I was the one!”.
Note how the flash is actually not really a flash but the same light that was at the edge of the screen when the warning appeared. It’s as if the enemy absorbed that light into himself.
Another thing to point out: other enemies are attacking the player, too, but no warning is present. This is simply because they are already visible on the screen. A sharp blade flying your way is a cue enough.
To sum it up, the Warning System in Witchfire consists of three core elements:
The system is not perfect yet. We need to carefully select, for each enemy, what exactly it means that they are about to attack. And we need to make sure the game does not overwhelm the screen with arrows during more frantic battles.
But the Warning System is in the game for a few years now and I am really happy with the feature. Once you play with it and get used to it, it feels weird when it’s not there. You feel naked and scared.
However, as I said it before, if that’s your thing, you’ll be able to turn it all off. It is literally a life saver, though.
Of course, while pretty cool, it’s not really a game-defining feature like the fattier things we have in the game. I would even say that the Warning System is at its best when you do not notice it working, as if it’s a natural, intuitive element of the play like reload or aiming down sights.
I know, I know, it’s hard to imagine that when looking at the GIFs above, but trust me, personally I don’t see it anymore. Actually, when recording some videos in the past, I accidentally left it in and you can find it in some of our older videos – because, again, I don’t quite “see” it anymore.
But I hope this blog post shows the attention we pay to every single second of the experience. As for the “fattier things”? We will be talking more about these in the near future. Till then!
There will be lore and stories to discover and experience, indeed. That factor is extremely important to us. My assumption is that initially with the Early Access release the game will be more focused on the gameplay with some important story elements but the rest of it will be added throughout that period, with the resolution of the main story in the final release.
Worth mentioning that we’re constructing it all the Soulsbornes way. If you just want to shoot some monsters, you can easily ignore all of the lore. But if you are into that stuff, you can dig a bit deeper and discover many dark and tragic stories this brutal world is filled with.
Pssst… You can wishlist Witchfire here.