We’re changing things around a little. Instead of doing long posts irregularly, we’ll now keep you up to date on the development of our stonepunk arena action game Antegods with more frequent and somewhat shorter posts. And instead of bundling all game development disciplines together, we’ll now have separate Design, Art and Code posts. Design lead Wytze kicks things off with an update on the dash, which code lead Niels talked about previously.
So what’s the dash? Thanks for asking! It’s a temporary speed boost that also allows players to smash through terrain. After implementing this feature initially, we tested it in-house to see how well it worked. This lead to a bunch of changes that we’ll share with you today.
As always when implementing a new feature, I did a rough estimation of its values, as well as some very rough tweaking. Below are the initial values:
What does each variable do?
- Extra velocity: How much extra maximum velocity the player gains by using the boost.
- Extra acceleration: How much faster the player accelerates by using the boost.
- Dash Duration: How long (in seconds) the boost is active.
- Dash Cooldown: How long (in seconds) the player has to wait before he or she can activate the boost again.
- Velocity Friction On Terrain Hit: The friction applied to the player’s movement when hitting terrain.
As you can see, the dash is a considerable speed boost that allows the player’s Totem to move a large distance and fly through blocks without a care in the world. This first iteration felt great to use, but posed two major gameplay problems.
The first problem was that the Totem traveled as much as half the screen width, in a short amount of time. This meant the player would end up at what was previously the edge of his or her screen, causing a lot of chaos, because Totems would continuously travel into and out of players’ field of vision. To balance out the power and limit the chaos, the dash would then have to have a long cooldown… but that isn’t our design goal with the default dash.
The second problem was that blocks had no influence on the Totem’s travel path while the dash was available. Having a destructible level already takes away structure from the gameplay, as Totems can come crashing through from any location at any time, and the dash exacerbated this issue to the point where it became an actual problem.
The goal with the second version of the dash was to prevent players dashing across an entire screen and force them to take the terrain layout into account.
I lowered all of the dash’s variables to accomplish this, with a big reduction in extra velocity, extra acceleration and duration. To balance these changes out, I lowered the cooldown slightly.
As you can see, terrain had a much bigger impact on movement, and the distance traveled by the Totem was considerably smaller. However, I went a little over the top with the reductions. In this iteration the dash had a tiny impact, and didn’t feel good to use anymore.
We also discovered a new problem with the settings we were using, as illustrated below:
The aim for the next version of the dash was for it to be higher impact, allowing it to go through three layers of blocks at most. I also wanted it to feel more responsive when using it to change direction.
I tripled the extra acceleration, as that should allow the player to quickly move in any desired direction. To make up for this quick speed boost, I lowered the extra maximum velocity. And finally, I increased the dash duration to make it a little more impactful.
These tweaks worked out very well. The Totem could dash through blocks easily, but not as many as with version 1. The total distance traveled during the dash was about two-thirds of the very first implementation, which felt nice, but was still a little too high.
At this point the dash was almost where it should be, but the Totem wasn’t influenced enough by hitting blocks. As mentioned before, this made the gameplay less structured and more chaotic.
The only things left to do were making the impact of blocks bigger and decreasing the total distance traveled slightly.
To accomplish these goals, I made two changes. The first was lowering the dash duration, which means the dash feels as responsive and fast as before, but with a lower total distance players can travel with it. The second change was to apply a stronger friction when the Totem hits terrain. That keeps the dash equally fast in open space, but slows the player down more when breaking blocks.
It might not look as smooth as the previous dash did, but for the sake of gameplay it’s much better. When not dashing through terrain, the dash is nearly identical to the previous one, except that it lasts slightly shorter. This puts the dash at a nice power level that changes up the rhythm of the gameplay, while keeping the core gameplay intact. This version of the dash is currently used in-game.
Since we added the dash, we’ve been experimenting with it in the office during play sessions. We’ve found a wide number of uses for the dash. As expected, it creates more depth in the moment-to-moment gameplay. You can use it to aggressively move towards an enemy, or to dodge enemy projectiles and escape. It also makes the process of navigating through a level and digging out energy from the terrain considerably easier and more fun.
Additionally, Max discovered an interesting effect caused by a combination of two mechanics. When a projectile is fired in Antegods, its launch velocity is affected by the velocity of the Totem firing it. And because the dash increases the player’s velocity for a short amount of time, you can actually use it to increase the range of your projectiles. This is especially noticeable with the grenade launcher, as firing this during a dash allows you to lob grenades about 25% further than you would normally.
Finally, I tested a few variations of the dash. Once we implement the customization of Totems, players will be able to choose between different wings (jetpacks), which will have their own movement and dashing variables. I was recently working on Totem customization and quickly tried a few different dash types:
- A dash that lasts for 1.5 seconds, but has a lower speed and a longer cooldown. This feels a little like a long sprint and is great for escaping and repositioning in a level.
- A dash that lasts for 0.15 seconds, with a very high speed and a short cooldown. This allows players to continuously make unpredictable moves and dodge attacks.
It was good to notice we have a flexible system that allows me to create different dashes, so players can choose the type of movement that fits their play style best.
I personally have a lot of fun playing around with new mechanics and discovering the impact that the different variables have. This iterative process teaches me a lot about Antegods and how the various mechanics interlock. Hopefully you enjoyed this insight into the nitty-gritty of game design work as well!
In the next post, we’ll have an update from our art department.