Nova Drift Dev Diary: Lessons Learned from Path of Exile
Or: Attempting to cram a hundred hour experience into 20 minutes
I started playing Path of Exile during Domination League in late 2013 and it quickly became not only my favorite ARPG, but my favorite game. Back then I worked as an artist at major game company. Over the last 6 years I've gradually transitioned into a solo game developer, and I've participated in nearly every PoE league. Naturally it's inspired everything I've worked on in at least some small way, but more importantly, GGG has become my gold standard for how a company should treat both its customers and its designs. Constant transparency, communication, and an uncompromising insistence that monetization not undermine design or player experience. Awesome. Path of Exile ended up igniting the spark that would become Nova Drift, an arcade shooter ARPG. I want to talk about some of the inspiration I've taken from Grinding Gear Games, and just as importantly, some of the divergences.
Wait, you've played how many hours?
"Action Role Playing Games"-- We really need a more appropriate term for "mechanics-driven building games"-- appeal to the tinker in me, the theory-crafter. These games notoriously absorb hundreds of hours of a player's time (and many would call those "rookie numbers"). I like this about them, the endlessness, but I became fascinated by the possibility of condensing that gripping experience into small play sessions. If it could be done, how much time would be needed for it to feel "complete"? After some experimentation during the development of Nova Drift, my best guess is about 20 minutes!
I am someone who wants to try out everything. I frequently experience "restartitis" in build-based RPGs. I'm usually more excited to try all of the mechanics and combos than I am to commit to the late-game and the grind that comes with it. It made me wish there existed a model where I could enjoy doing that without missing out on the good stuff. This premise became the basis for Nova Drift. Reproduce that glorious journey of formulating a build, executing on it, and "completing" the game, in as condensed an amount of time as possible, while remaining compelling. The theory was that if there existed enough possibilities and content to unlock, you could achieve a level of replayability which would forgo the need for a long campaign. With quick games, players would be excited to either refine their previous strategy, try an entirely new experiment, or enjoy the possibilities that arose from their previous game's unlocks. This is something that we've seen executed extremely well by Dead Cells and The Binding of Isaac, though they are longer than what I had in mind, and involve less deterministic character building.
I knew that creating a traditional RPG environment was near certain doom for a solo developer (If you want to read about that, there's no shortage of writing on the topic). I needed a simpler medium. A retro-styled arcade space shooter seemed an exciting way to provide total freedom in mechanical design while allowing the code and art to remain minimal.
Before I go on...
I want to express that my intention in writing this is to share my discoveries and spark conversation. When I mention divergences from my inspirations, I'm not criticizing, and I'm not trying to appropriate anything, either. My hope is that some of my discoveries influence other developers as they have influenced me. A game like Path of Exile is revolutionary in so many ways beyond the obvious, it would be a shame not to discuss what its innovation can do for the game industry. I'm sure GGG and other indie-spirit game companies feel the same way.
Deep customization and the homogeneity problem
Games like Path of Exile or Warframe offer countless choices to make about a weapon and myriad ways to arrive at a high damage value, but at the end of the day, "Tornado Shot" is "Tornado Shot", a "Dread" is a "Dread". That is to say: While you may see variance in perhaps the number of projectiles (and there is usually a "correct" choice) or the source of the attack, the resulting behavior and visuals are largely unchanged. An outside observer could not easily distinguish the difference without examining the build. Again, this isn't a criticism; I think these systems do what they were designed to do fantastically. It just seemed like a missed opportunity. These are games where you spend hundreds of hours fine tuning and customizing an ability by way of hundreds of micro-upgrades, but the end result is fairly homogeneous beyond damage output. With most ARPG systems, the game is the journey during which you arrive at these high numbers. I wanted to build a game where creating your weapon and character's unique performance was part of that journey, too.
One of the most galvanizing aspirations for my game was creating such a system that would allow genuine agency over how a weapon behaved beyond binary choices and simple numeric adjustments. The player would make many judgment calls about a weapon's performance which would provide dramatic differences visually, thematically, and in terms of handling.
To this end, I think I've had the most success with Nova Drift's Railgun weapon. In the example below, it's using modifiers that grant it a charge-up effect to fully capitalize on its innate ability to penetrate and shatter enemies into shrapnel on kill. The charged shot module also compensates for the damage loss from the blast radius mod, which provides some needed crowd control.
It was important to me that in Nova Drift you had an option in devastatingly powerful single attacks in a world of ARPGs where attack speed and projectile spam were king. If both avenues of building were to be valid, single attacks still had to be able to clear rabble, too, lest you become overwhelmed. To this end, I added more levers to pull. Modules that granted more projectiles meant not only reducing damage, but the size of the projectile, blast radius, submunitions, and any secondary effects it might have.
Additionally, the player is offered quite a few options about how the weapon behaves. Should it sacrifice damage upfront for a blast radius? A widespread for targeting? Chaingun-style spin-up fire rate at the cost of mobility and heat damage? Charged Shot / burst fire / screen-wrap / splinter on hit? Have your weapon be employed by a drone or mines instead of you? All of these can work for or against the innate properties of any weapon.
So, in my system, a Cluster Grenade which releases submunitions on detonation will spread them out across the total number of projectiles. Adding more projectiles would also reduce the initial blast and size of the projectile hit box itself. This allows the effect of multiple projectiles to be less multiplicative on your damage output, and as a result the decision leans more toward "player choice" and less toward "optimal output". Similarly, multiple Railguns results in less velocity and power, which diminishes its innate ability to penetrate targets and create shrapnel. Once these behaviors are a choice, the stage is set to provide the player with options to specialize and build within all strategies.
The other determining factor seemed to be that hybrid builds had to be a viable option (And I should say I've been very pleased to see PoE moving in this direction recently). So, if a player wanted to create an attack dedicated to single target damage, they would have other options in the ship body, shield, or constructs to provide control or area damage. And that would work the other way around, too. For me, this is more satisfying than feeling mandated to make one aspect be capable of handling all situations. Fortunately, this is a bit easier to solve for in a smaller game. I'll go into more detail about fun with "secondary damage" a bit later.
I think I've been partially successful in implementing this idea in Nova Drift. I'm gradually moving towards the vision, but it seems as though one could go far deeper down the rabbit hole with this concept. However, the difficulty of it has become painfully obvious, especially when attempting to retain both "weapon identity" and game balance. It's a huge multiplier to the workload and it affects nearly every aspect of development. For every layer of customization you grant the player, it seems as though every preexisting balance problem is amplified exponentially. The time sink is a real issue!
Making a (mostly) two-button game feel like more
Nova Drift tries to walk a fine line between being deep and easy to use. If it's too simple, it won't achieve its mission. ARPG fans will become quickly disinterested. If it's too complex, it will cease being accessible, which is something an undiscovered independent game kind of has to be. Moreover, I wanted the controls to pay homage to its arcade roots. The core game involves a D-Pad, a thrust button, and a fire button. While constructs can be assigned to hotkeys, I knew this had to be the extent of it.
Any other non-weapon attacks (and I wanted a lot of them) had to come from either the existing buttons or triggered passive defenses (such as being hit or your shields breaking - PoE and Borderlands 2 have a wealth of great ideas for this). I challenged myself to find other ways to utilize the mechanics inherent in oldschool arcade games and apply ARPG mechanics to them. One of which is the unique movement found in "Asteroid-likes". My favorite example is a pair of modules called "Celestial Lance" and "Celestial Surge".
Celestial Lance wreaths your ship in a burning aura, which flares up when you fly at high velocities, effectively transforming you into a comet. The faster you fly, the more burning damage is dealt to you and your targets and the larger the aura is. It's always on, so there's no activation, and the self-damage is manageable with the right upgrades or judicious use of high speeds. Players can choose to build around the burn effect or slam directly into enemies by setting up a "crash" (melee) build. If you specialize further into the "Celestial Surge" ability, you are also able to convert that aura into a massive burning projectile which rolls over enemies. This effect triggers if you stop abruptly, meaning no additional buttons are needed to perform the attack.
Since you take burn damage when using these modules, Celestial Lance can also be used to self-trigger passive abilities, such as "Volatile Shields" or "Tempest Break".
Melee in a SHMUP?
Originally, like most SHMUPs and arcade games, you'd be heavily damaged for crashing into enemies, but I made it do sizable damage to them, too. Players seemed to enjoy slamming into enemies so much that I started creating options to build into that play strategy. Now, it's a staple of the game and there are builds which can almost completely mitigate the damage, proliferate or splash the collision, and alternate weapon and crash damage for boosts, guerrilla style. There is even a "melee" option in dealing heavy burn damage with the ship's thrusters. This has been a fun discovery, because it has allowed me another avenue to build with traditional RPG mechanics.
Ever evolving
This past decade marks my favorite trend in game development, the "Living Game". It's not quite early access and it's not quite premium release. It's fully featured and yet always growing with a steady stream of content. Both PoE and Warframe are sterling examples of this. I realize this is a controversial thing, as many prefer one-and-done "full" releases, but for me it's a fantastic way to involve players in the development of a game (which I would posit is almost always beneficial) and massively increase its longevity and health. I've been sharing a steady stream of content and updates with my beta players for years, and as a result I have been more excited and invested to continue developing and refining. For a creative endeavor, that's everything. When done right, it's good for players and it's good for the developer. No more burn-out. Now that I've adopted the model, I'd never go back.