Skip to main content

Marvel’s Spider-Man’s web-swinging took almost three years to get right

Marvel’s Spider-Man comes out swinging, literally. The first thing you do in-game is squeeze R2 and arc into a swing through New York, chasing down a helicopter.

Developer Insomniac knew that this form of locomotion is what makes Spider-Man different to all the other superheroes, so it made sense for this to be players’ first experience with the game. On the development side, things were much the same.

During a talk at GameLab, Barcelona, game director Ryan Smith spoke about how web-swinging was the first thing the studio tackled and one of the last things to get right.

When development began, the studio knew it wanted the swinging to be physics-based, creating that pendulum-like feel to traversal. But when it was completely physics-based, Spider-Man often slapped into walls at high speed, which didn’t exactly feel heroic. The team decided to change this, allowing contact with a building to flow straight into wall runs instead.

There were other barriers, however. For one, corners were an issue - something the team solved by allowing Spider-Man to automatically turn when contacting a corner. Another issue was fire escapes - something the environment team added to make the city feel authentically New York. From a gameplay perspective, fire escapes were just a barrier that ruined the flow, so they had to create a solution for Spider-Man to be able to traverse these smoothly as well.

“Carrying momentum through transitions - that was something where, when we unlocked some of that momentum transfer between big swings and different places you can leap off in a swing, that was a huge game changer for us,” Smith said. “Adding an expressive camera that makes you feel like you are Spider-Man - how would you feel during those swings, during the dive, and how can we emphasise that with the camera?

“All of that was developed over the space of two or three years, finding those opportunities based on the prototype we had.”

Read this next