Myriavora cover
Myriavora screenshot
Genre: Indie

Myriavora

Coming Soon: Emergency Mode

Myriavora launched on Monday, July 5th, 2021 and there has been a content update every Monday since. But there won't be one today. The reason for that is rather weird and requires some explanation, but the short story is: I'm working on a new feature that I call Emergency Mode and I'll need a few weeks to properly implement and test it. There won't be any regular updates until it's done.

For the long story, we'll first need to take a look at Myriavora's world map.



This screenshot is from my replay on the Infestation: Best Journey leaderboard. The replay comprises all 68 camps that are currently in the game. They cover roughly two thirds of the world map, so if I keep adding camps at this rate, I'll end up at about 100 camps in the final version.

I play this journey on the hardest difficulty level (Hero), and so far it resulted in a total score of just over 500 million. I didn't try very hard to achieve good scores most of the time, and with so many camps yet to come I estimate an experienced player to typically reach a total score of around 1 billion once the game is complete. Battles are generated procedurally, so with some luck and dedication, 2 billion might be achievable.

This got me worried! You see, Steamworks leaderboards use a 32 bit signed integer field to store scores, so the maximum value is just over 2 billion (2^31−1 or 2,147,483,647 to be exact). That's way too close. If you'd manage to exceed that limit, your score would roll over and become negative.

Now, let me be perfectly clear that this is only an issue for the Infestation scenario. In Doomsday, you ever only get to fight at most seven battles, no matter how many camps there are. Yes, due to the much higher journey perks you tend to get much higher scores in the course of these seven battles, but I don't think you can get even close to 2 billion. My current Doomday high score is about 450 million, and that's after dozens of tries. I'm sure a talented and determined player can beat that score but certainly not double, let alone quadruple it.



So, how did this become a problem in the Infestation scenario? Why didn't I realize there's an issue sooner? Well, actually I did. The game has been storing scores internally as 64 bit integers for years now. Those have limits in the quintillions and there's no way to exceed that whatsoever. This is not a new technology by any stretch of the imagination, so when I brought Myriavora to Steam, I fully expected the leaderboards to support 64 bit integers as well, but much to my disappointment they don't.

I had no choice but to make some adjustments. For example, early versions of my game had a score multiplier that increased every few waves. I had to ditch it. I also edited the score tables for all spider types. But most importantly, I introduced a sleep mechanic to the Infestation scenario with the intention to only offer leaderboards for Best Battle and Best Day. And those boards will indeed never have a problem with the score limit due to their much smaller scope.

Unfortunately, I later decided to add the Best Journey board anyway. This was way before launch day, when the game only had twelve camps and I didn't have a clear idea of how many would be in the final version. I thought, if need be, I would simply make the world map generator limit the number of camps accessible per journey. It doesn't matter how many camps there are in the game if you can only access a random selection of, say, 50 of them at any given journey, right?

Well, yes, that would have worked. However, once early access had started, I quickly realized that adding new camps on a regular basis is going to annoy at least some players when there's no easy way to access the new content. So I made the decision to let the world map generator automatically import new camps into existing journeys. Which totally makes sense, it's just that it contradicts the idea of limiting the number of accessible camps. But at that point, this idea wasn't on my mind anymore, it was just a low priority item on my to-do list. Inevitably, I forgot about it. Until now.



So, what to do? Well, here are some ideas that I contemplated but, ultimately, rejected.

  • Limit the number of accessible camps anyway?
    No, that's way too annoying, at least during early access. Once I have a solution that does work in early access, I won't need this one anymore.
  • Remove the Best Journey leaderboard?
    That would be easy, but a leaderboard for journeys is a very reasonable feature. I would hate to kill it. Especially for such a stupid reason.
  • Cap the journey score at 2 billion?
    Another easy solution, but it would go against everything a leaderboard is for in the first place. Sooner or later people would start to pile up at the cap. No. Just no.
  • Store an IEEE floating point value in the leaderboard?
    Floating point values have much higher limits than integers. And it would work with the leaderboards because the bit representation of IEEE floating point values can be ordered exactly the same way as integer values. The leaderboards wouldn't even know the scores are floating point values and still sort correctly.
    It's a fantastic idea with one major flaw: floating point values have limited precision. Which is to say, if you beat another player's score by only a few points, you may get the same floating point value and end up below that other player's entry. Even if that happened rarely, it would be infuriating. That's just not acceptable.


Ok then. How am I going to solve the problem? Well, the basic idea is that after a certain number of fights (probably 68 to maintain compatibility with potentially existing replays) spiders all over the world start a large-scale invasion. There will be more and harder waves at all remaining camps, which makes them automatically switch to a new emergency mode. This will introduce two new elements to combat:

  • a time limit
    As soon as combat starts, a perimeter shield will begin to charge. It will activate after 15 minutes and prevent any more spiders from entering the camp. Once you've killed all spiders that are already inside the camp, the fight is over. Of course, if you manage to defeat all waves before time runs out, the fight will end as well.
  • access to special emergency skills
    These skills will convert your score to useful stuff like health, power, or super points. You'll be required to equip at least one of them in each wave, which means you'll always end up with no score as it gets converted to something else.

Since emergency battles will always end with no score, they provide a way for me to limit the number of camps that can contribute to your total score without preventing you from exploring all camps. The perimeter shield / time limit wouldn't strictly be neccessary, but I think it's a cool addition and fits the theme.

In fact, I think this would also be a cool feature to be used strategically. I'm considering to allow players to manually activate emergency mode for individual camps, for example to help overcome very difficult battles.

However, all of this is subject to change. There're a lot of things to consider, like replay compatibility or whether it's going to enable exploits. Planning, implementation, and testing are going to take a couple of weeks. I hope to be able to release the next update at the end of March or beginning of April.



Any ideas, thoughts, or suggestions would be more than welcome, just drop a comment below!

Camp Luxuriæ + Camp Proventus

Changes made in revision 8106:

  • Added Camp Luxuriæ.
  • Added Camp Proventus.
  • Fixed a bug that sometimes prevented the ice missile skill from dealing damage when multiple instances where active simultaneously while the power level was very high (more than 1000%).





Camp Luxuriæ's hilly terrain is covered with dense vegetation. There are five small but powerful frost shock facilities in the few clearings. They activate upon entry and then trigger every 6 seconds.

The terrain can be quite challenging in combat, even for the spiders. I recommend staying alert at all times and quickly changing positions if the situation gets dicey.







Camp Proventus has two pairs of traps located on the north and south sides respectively. The pairs are alternately active for 20 seconds each and then switch off for 25 seconds. Between each pair is a teleporter with a 35 second cooldown.

The teleporters have a generous overlap with the traps. This can be used for devastating attacks provided you time their use with the trap activation pattern.

Camp Vitæ + Camp Sterilitatis

Changes made in revision 8102:

  • Added Camp Vitæ.
  • Added Camp Sterilitatis.
  • Added Chicago leg straps.
  • Character model rotation is now calculated more accurately, resulting in a more realistic animation when dashing backwards or sideways.





Five thermal turrets and four time bubbles enclose Camp Vitæ in a wide arc. All facilities are triggered by entering and remain active for 10 seconds after leaving. There're no cooldowns.

This is a solid and pretty straightforward defense that provides both protection and fire power. However, keep in mind that the time bubbles can't completely stop incoming enemies, so you need to be prepared to constantly adjust your position. Watch out for the hilly terrain and stray enemies.







Camp Sterilitatis provides three large traps, each spezialising in a different type of spider (elite, assault, and regular). When you enter a trap, it activates for 20 seconds. When the time runs out, the trap turns off and five powerful thermal turrets get activated for 5 seconds. The trap can be reactivated as soon as the turrets shut off.

The fact that the traps only catch certain types of spiders often proves to be a challenge in combat. I highly recommend paying close attention to what exactly you are dealing with. Note that spider names are color-coded (red for assault, yellow for elite, and grey for regular).

When play-testing this camp, I first tried to activate all relevant traps as often as possible, rushing back and forth. However, I soon realized that activating a trap doesn't do anything for me if it doesn't actually catch spiders. Often that meant I had to stay nearby as a lure. In that case, focusing on one specific trap usually turned out to be the more sensible approach.







The Chicago leg straps, shown here on the London boots, are compatible with all shoes, boots, socks, pants, and even other leg straps, except for the Köln and Milano straps due to clipping issues. Each strip can be customized individually (material + pigment), allowing for interesting designs.

Camp Æstatis + Camp Epidemiarum

Changes made in revision 8095:

  • Added Camp Æstatis
  • Added Camp Epidemiarum





Camp Æstatis features three large transformers that harvest energy from dying spiders, granting you a temporary power boost. Each of the transformers contains three small fetchers, which specialize in regular, assault, and elite spiders, respectively. They activate briefly each time the transformer triggers.

On the one hand, this is quite convenient, because it guarantees a constant supply for the transformer. On the other hand, it can backfire if you don't have enough firepower to deal with all the incoming enemies. I recommend keeping an eye on the situation and switching to a different transformer if there are any signs of trouble.







Camp Epidemiarum is defended by three powerful thermal turrets. They trigger when you enter and stay active for 15 seconds whether you remain inside or not. They then turn off for a 35 second cooldown.

The turrets are flanked by a wall of traps, which are triggered by the turrets. They can offer some protection, but keep in mind that they turn off shortly before the respective turret.

Camp Gladii + Camp Successus

Changes made in revision 8092:

  • Added Camp Gladii
  • Added Camp Successus
  • Fixed a bug that sometimes caused spiders to get stuck after they got caught in a trap.





There are six big traps in Camp Gladii, half of which are active at any one time. Every 15 seconds they switch over to the other half. Although the camp has no armament, it is easily defendable if you keep moving and watch the timers.







Camp Successus provides six frost shocks for defense. They each activate 3 seconds after entering and have a cooldown of 50 seconds. Since there are so many facilities to choose from, the long cooldown doesn't matter much in practice unless you're really rushing it.

The delay, on the other hand, is something not to be underestimated. During test play, I experimented with different values and was surprised at how much I had to adjust my strategy each time.

In the heat of battle, every second feels like an eternity. Two seconds is already hard to bear, three seconds is simply torture. And yet I had a lot more success with three seconds! That's because a longer delay gives more spiders a chance to enter the facility and get caught by the shockwave.

So in the end I decided to go for a three second delay. Yes, it's more challenging to deal with and can be outright infuriating at times. But I guess that fits the game perfectly.





When testing Camp Gladii, I noticed spiders getting stuck occasionally. It was always at the same spot: near a tree that was suspiciously close to the wall of one of the traps. After some investigation, I realized this was no coincidence.

The problem was that traps were implemented as a kind of force field that pulls trapped spiders inwards when they try to leave. It's the only thing in the game that works that way and the spider AI isn't really prepared to deal with that. The algorithms are robust enough that it sort of works most of the time, but when it doesn't, spiders get stuck.

I contemplated improving the AI, but then I realized that changing the traps to work like actual barriers was a much better idea. That's because the AI already knows very well how to deal with barriers. It does so all the time as rocks, trees, and collisions between spiders are implemented that way.

Of course, it wasn't exactly trivial to change the traps. They don't work like normal barriers as they have to actually let in spiders and allow trapped spiders to roam inside. That's the reason I implemented them as force fields in the first place.

So, in the end it took me a couple of tries to get it right. But once I did, I immediately noticed an unexpected but welcome side effect. Since the spider AI is aware of barriers, it can now sort of "feel" the trap and tries to find a way out instead of banging its head against the wall. It's a relatively subtle change in behaviour and you probably won't see a difference unless you know exactly what to look for and take the time to do so. But at least I can see it, and like a proud father it just makes me happy to see my "babies" deal with their world just a little bit better.

Camps Vigilantia & Nivium + more clothing

Changes made in revision 8089:

  • Added Camp Vigilantia
  • Added Camp Nivium
  • Added leg straps Köln
  • Added leg straps London
  • Added arm band Milano
  • Added arm band London





Camp Vigilantia is defended by three small but very powerful resonators. Using them effectively isn't always easy, but when you do, they can be devastating.

If something goes wrong, you can try to get some distance from the enemies in the forest. But it isn't dense enough to get more than a few seconds out of it, so better don't rely on that.







Camp Nivium essentially consists of a sinkhole with an enormously powerful turret at the bottom. You activate the turret by entering it. It stays active for 60 seconds after you leave it.

The main strategy is obviously to lure the swarm into the pit and let the turret do its job. Just keep in mind that spiders can climb walls. So, don't worry, watching them die won't be your only activity.







I made leg straps that are specifically designed to go with the London (left picture) and the Köln boots (right picture). However, they're actually compatible with all boots, shoes, socks, and pants, so feel free to mix and match. Since they don't overlap, you can even use both at the same time. The only combination I had to disable is the Köln straps with the Milano straps (from last week's update) due to clipping issues.





I also made arm bands. The pair on the left fits the Milano gloves, on the right you see the London version. As with the leg straps, you can actually wear them together and with all gloves, shirts, and jackets.

Camp Pruniæ + more clothing

Changes made in revision 8079:

  • Added Camp Pruniæ.
  • Added punk-style belt.
  • Added leg straps "Milano".
  • Added leg straps "Madrid".
  • Defense units now have a grey name & outline when they are inactive due to cooldown.
  • The reticle for precision turrets is now significantly larger so it's not as easy to lose sight of in the heat of battle.
  • Fixed a bug that made the health bar sometimes show an animation when you equip or remove Flash Healing.
  • Fixed a bug that made the minimap place the range indicator for the aimed attack (red line) at a slightly incorrect position.





The mountainous terrain at Camp Pruniæ can be tough to maneuver. Fortunately, there are six powerful thermal turrets to support you. They activate upon entering and stay active for 10 seconds after leaving. If you're fast enough, you can have multiple or even all of them active at any one time.







After the neck and wrist bands in previous revisions, you now get a matching punk-style belt. This concludes the set, at least for now.





I've started to experiment with ideas that might add a sci-fi look to Myriavora's clothing collection. These "leg straps" as I call them are the first result. They probably wouldn't be practical or comfortable when made with contemporary technology, but I can easily imagine some high-tech to make them work.

They're also perfect for customization as they're compatible with most clothing. This means you can use them as decoration on boots, socks, and pants.

I think, this is a promising concept and I will try to develop it further in the future.