Thoughts on Engines

Image
Icon for the 'Burnish' counsel

Icon for the 'Burnish' counselHi all,

Long-time readers of this blog will know we spent three years working on Cryengine before concerns about its future caused us to switch to Amazon Lumberyard, a game engine that's a cousin of Cryengine and shares our ambition for delivering globally connected experiences. 

For a tiny team like ours, the cost of switching was enormous. It took at least a year to transition most of our code, but even the Lumberyard team was (and still is) rewriting parts of Cryengine. There often weren't new systems ready for us to transition to. (Plenty of other work on the game was happening in parallel, it wasn't all refactoring!) In any case, we've been on a hybrid engine for a while.

In January, we took a decision to finally move our codebase all the way onto Lumberyard. It took a couple of weeks, and now we're on Lumberyard 1.22 (aside from the newer physics engine). The upgrade involved us rewriting the back-end code for players and shops, and fixing emergent issues with pathfinding, texture processing, and audio.

On the plus side, we now have access to some neat new features, and a better toolset overall. Has procedural generation been played with for lane-pushing games yet? At some point I'd like to try it out for making maps. Adjust distance between lanes, density of jungle camps, etc...

The best outcome from this upgrade has been overall stability: we've seen a few "random" crashes disappear. There is no telling how long it would have taken us to find those manually.

In between fixes we've also made good progress on content and features. Adding "double-tap to teleport home" was a nice perk, I've loved that shortcut since first encountering it.


On Advisors

We've mentioned before that Advisors are part of the equipment system for RoW. There's currently 38 counsels ("items") in the game. I haven't implemented Advisors themselves yet, as they're more macro-oriented (I use the term loosely).

Imagination is the limit when it comes to making new counsels. Our tech makes them dead easy to add, yet it's hard to resist the temptation to copy what works in other games. A bit like dogs eating chocolate: the wrong items can poison a game. Even a single one can be transformative: what would DotA look like without Black King Bar?

When I worked on Dota Outland, there were some interesting items that never got used because there were 10+ shops to investigate and they simply got lost in the crowd. Writing and reflecting during the Lane-Pushing Games review, I resolved that the next time I wanted players to use the interesting items, I would simply not have uninteresting items available.

It's not easy to stick to that. Allow too many passive stat-padding options (say, life leech), and players will stick with them because familiarity and self-sufficiency wins. And even if I'm looking to encourage teamwork: self-sufficiency should still be an option.

Right now, I think good counsels should work independently, but work better together. Here's a recently added example:

Burnish

Burnish

Increases your ability damage against enemy heroes by 20%–40% as long as you or a nearby allied hero are above 75% life.

I worry about creating too many "engines" (in the card game sense), particularly those which encourage a deathball lifestyle. The most natural way to encourage teamwork is encouraging proximity... but there are many more tests of coordination and we should aim to reflect those in the available counsels.

I think with the most recent couple of additions (I added three counsels in the latest patch) we've just hit the threshold of where build options are not obvious any more. That feels pretty good; though we'll have to see if testers agree.

Thanks for your patience everyone. Stay safe!
Softmints

Add new comment

Plain text

  • No HTML tags allowed.
  • Lines and paragraphs break automatically.
  • Web page addresses and email addresses turn into links automatically.
Image
Icon for the 'Burnish' counsel