Ring Fling – Developer Diary 5 – Strategery
Ring Fling launched today! It’s very tempting to give up on the continuity of this developer diary series and just jump to launch, but I’m going to refrain from that. Firstly, I think it’ll take some time for it all to sink in with me. Today has been unbelievably awesome. I’m still trying to put into perspective the number of times things went several magnitudes more awesome than I expected. So, I’m going to stay the course and talk about balancing Ring Fling.
I walked into that pub thinking I was basically done. I had all the features in. It was fun to play. I was 90% there–or so I thought. I wasn’t even in the ballpark. I was about 12 hours into development at that point. That’s about 10% of the total time I ended up spending.
After the pub testing, I knew there were loads of changes that needed to be made. On top of the changes that I had implemented in the pub, I had a huge list of feature requests from people who I have tons of respect for. More importantly, though, I watched them play and mentally noted things that concerned me.
There were a handful of things that worried me. The input handling wasn’t quiet right. There were behaviors that I just didn’t really consider. However, there was one thing that stood out more than anything else. There was absolutely no strategy. Scoring was nearly impossible and the only viable strategy was to spam rings as hard as you could.
In fact, this reminds me of a massive regret I have about the trailer. I recorded the trailer and edited it together in a rush. I posted a blog post announcing Ring Fling and it became clear that people wanted a video. I’m much better at writing code than I am at writing English and my descriptions just weren’t cutting it. So I set up a crazy Rube Goldberg mechanism to record some gameplay and edited it together. It was the first time I had ever edited any video ever. So the massive regret that I have is that when selecting clips, I seemed to grab the most “exciting” clips, which all show me and Carly spamming rings. In actuality, as the game is currently balanced, it’s much easier to win by patiently charging and shooting fast, accurate rings rather than a spread of random small rings. At least making that insane trailer got me a mention on the Huffington Post.
Anyway, I was very concerned that there was no strategy. After that day, every feature that I added was intended to encourage players to fling rings in a less spammy way. So the first feature was actually a recommendation from Luke at the pub testing. I tried to get it in live at the pub, but messed something up and got confused. The feature was charging rings. In a very simple way, it provided a benefit to holding a ring down and not just continuously firing a stream of poorly aimed rings.
The next feature was an ammo limit. In the original version, you could fling as many rings as you wanted. The first version of an ammo limit I tried was just a refresh time. Every quarter of a second, you’d get another ring to fling. However, it ended up being a really awkward thing to balance. If you were under attack, it was no where near enough to feel like you stood a chance. You’d just feel like once people ganged up on you, it was over. Also, when you weren’t under attack, it was way more rings than you could effectively use. To find the solution I shipped with, I actually thought back to my days playing Crossfire. I remember that when someone went massively on the offense, it meant the defending player had more ball bearings to fire back. It was a very nice risk-reward balancing mechanism. So I implemented conservation of rings. If you shot a ring, you had one less ring. If a ring entered your zone, you gained an extra ring. This created a few dynamics that I really like. The first was that if you were under attack, you implicitly got more rings to defend yourself. Secondly, it emphasized accuracy in two ways. It emphasized accuracy immediately in that you had limited rings, you needed to make them count. The more advanced way it emphasized accuracy, though, is that you always wanted to get a perfect shot so that the ring would bounce back into your own zone. This is a technique much easier to pull off in 2 player than 4 player games.
The last feature toward the goal of reducing spamming was the gameplay modifiers. At first, the theory was that you’d want to fire less rings when there was no modifier active since in a few seconds, you’d get much better rings than the ones you were currently firing. This gave you a few seconds while modifiers were inactive for everyone to take a little breather. This didn’t have nearly as big an effect as I had hoped for. In fact, in a lot of games I play, people spam much harder when the gameplay modifiers are inactive since the rings are weaker. They feel like they need to fire more to make up for it. The actual effect that I observed, and was happy with, was that because the the rings were more powerful with active modifiers, it was now possible to shoot a single ring in the perfect way to score. This is especially true with the Heavy Hitters and Fast Forward modes.
Once I had these features in, I could pretty much always defeat a spammy player by choosing better tactics. While new players will always start spamming rings, as long as it’s not the best way to win, I hope that players will drift into choosing better strategies over time. It’s not to say it’s not still an intense game. It’s just that if played optimally, it’s not a completely mindless flickfest.