As a game designer, sometimes you have an awesome idea, you manage to get the idea approved, someone creates a feature and it all works beautifully. But very often, the path to gameplay goodness can be more like Internet Dating – things usually don’t turn out how you expect, and you have to try a million different options before you get what you’re after.
As developers, we like to feel as if we know what we’re doing, so we call this process of chaotic iteration “prototyping”. This is basically when you keep fiddling and tweaking your original idea until it eventually becomes totally awesome, or you run out of time and admit you were actually completely wrong. In an ideal world, prototyping happens at the beginning of a game’s development. This way you can get the basics of your game figured out before you start the scariness of proper development. But in reality, often a feature ends up being prototyped way down the line, almost mutating as the game itself starts to take shape.
In the early stages of Bulletstorm we had some ‘Bullet Time’ in the game. It was kind of cool since instead of it being an on/off toggle like in most games, it was instead linked to performing a move, like kicking or leashing a guy towards you. So you kicked a guy, the whole world went into stylish slow motion for a couple of seconds, and you had a moment to blow his head into spaghetti meatballs. Good stuff.
But there were some niggles. If you were close to the end of your clip, you could end up having to reload your weapon during the slow motion, causing the reload to be twice as slow. This was not cool. So to counter this we tried having player continue at normal speed whilst the game was slowed down. Not only did this solve the reload issue it suddenly created some interesting side effects. Now you could slide into a guy to flip him into the air – launching him into slow motion – then you had enough time to run round the side of him to kick him sideways off a ledge to his doom. It allowed you to place enemies exactly where you wanted them for executing skillshots. Good stuff!
But like a poo in a swimming pool, something unexpected came and reared its ugly head. And that was multiplayer. What if one player kicks an enemy? Do all the other players have to go into slow motion? If we keep all the players the same speed then won’t it feel weird if you’re fighting in a different part of the map and suddenly the enemy who’s charging at you goes into slow motion for seemingly no reason? A solution needed to be found, and this is where our elite physics coder Tomek Mazurek came in.
Famous for stuffing entire donuts into his mouth and simulating a ragdoll by strapping bubble wrap to his chest and falling onto the floor, Tomek was not scared of a challenge (we actually have videos of both of these – leave a message in the comments if you want us to post them). Basically through some insane physics code he changed the way it worked completely.
What he came up with was technically ‘localized bullet time’. In simple terms, what this meant was instead of the whole world going into slow motion, only the enemy that you kick or leash would slow down. So whilst one enemy is gracefully drifting through the air towards a deadly man sized cactus, another enemy can be charging toward you at full pelt to thrust a rusty metal bar into your face. So because it was localised to just the enemy you attacked, it didn’t affect any of the other players.
Tomek explained that in order to get this working he actually had to create an entirely new world within the normal game world that ran at a significantly slower rate. So the moment the enemy goes into bullet time their entire physical representation is copied to this fake world where everything runs in slow motion. Their motion and collisions are then calculated in the slow world and at the moment the bullet time runs out they are copied back to the original game world. Insane is not the word.
The introduction of localized bullet time completely altered the feel of the combat. And it also made it bloody hard! You could no longer just kick someone then take your sweet time about what to do next. You had to think about what enemy to engage and you had to make sure there were no other enemies behind you whilst you tried to carefully place a bullet into a slowed-down enemy’s smell hole. Leash was no longer the one-stop solution to every problem, choosing when to use it was much more important than before. At first we were worried that the game was too hard, and we nearly abandoned the idea completely. But after a serious amount of tweaking and balancing it finally just fit.
It ended up bringing an intensity and flow to the combat that felt like no other game out there. Once we demoed the game, it was even nominated by Kotaku for “Best Gameplay Mechanic” of E3. So as much as I’d like to say that we’re totally awesome game designers here at People Can Fly, the truth is that often the best stuff comes from just fiddling around.
If you enjoyed reading this, you may also like:



I wanna see a guy covered in bubble wrap, fall over. I’m sure people would pay good money for that sort of entertainment. so that’s a yes for me, on both counts.
yes the videos please!
Be careful what you ask for, it might just come true
Damn right! I love those vids!
I want to see the videos and I also like monkeys !!!
Still, no jump ? Can you develop the process happening to this decision ? (We had the same problem, and resulted in the same decision in our game). I’m curious here
Thanks
(Ho, and of course you have to post theses vidz :p)
Please just stop talking about “jump”, bulletstorm is a freaking funny game which gameplay must absolutely not have jump !
It’s not a PK-like ! If there was jump (and bunny hopping in Bulletstorm), gameplay and fun would be totally destroyed.
> (we actually have videos of both of these – leave a message in the comments if you want us to post them)
Do want!
WHOA, I smell some serious code optimization to make this world-inside-the-world simulations to be possible
and yes, give us the videos
Yes.Please post those videos.
Videos! Yes, please!
World in the world? Inceptstorm, anyone?
Viedeos! Videos! Videos!
Ps3 version has no god beams but the 360 does. come on guys, im tired of paying full price for an inferior product.
I LOVE YOU. IN FIVE YEARS, WHEN i HAVE MY SHIT TOGETHER, I WOULD LIKE TO WORK FOR YOU.
Chris I was wathing comparision and X360 version has no screen saying that demo don’t represent full product and PS3 has this info, so maybe in full version god beams will be present in PS3 vesrion.
i want to come true i want VIDEOS!!!