Indie developers Simon Cubasch and Luca Scaramuzzino joined Unity at GDC to discuss the iterative design process behind their slippery VR sandbox game.
From Godzilla to King Kong, kaiju (“strange beasts”) are vicious monsters that wreak havoc and destruction. Firepunchd’s new VR game Tentacular challenges that expectation with a kraken-like hero who causes chaos, but has a heart of gold. Players must manipulate its tentacled appendages to construct projects for an island community – with hilarious and unpredictable results.
Firepunchd’s Simon Cubasch and Luca Scaramuzzino joined Unity’s Hasan Al Salman, Kal O’Brien, and Unity Insider Justin P Barnett on Twitch at GDC 2022, where they shared behind-the-scenes insight on Tentacular’s development, covering everything from iterative design to optimization. Read on for highlights from the stream, learn what they’ve been up to since the game’s launch, then scroll to the end to watch the full Creator Spotlight.
Kicking off with a VR game jam
Tentacular is a game about experimentation, and it’s a bit of an experiment itself. The unique project came together iteratively, evolving over several game jams. Cubasch and Scaramuzzino are friends through Berlin’s tight-knit gamedev community, which includes Tinytouchtales and Studio Fizbin, and they remain active members of Saftladen, the city’s first indie collective.
In 2015, Firepunchd collaborated on a prototype that would eventually form the basis for Tentacular. The game, Hatchlings, is an eight-player local co-op with insectoid critters vying for control over eggs via grabber appendages. They knew a local co-op experience would be a tough sell, but, seeing its potential, they continued to develop their idea, receiving valuable input and resources from their community, including an early HTC VIVE Dev Kit.
“At the beginning of development, I reached out to Safladen and asked if anyone could put us in touch with publishers, help us with budgeting and business plans,” says Cubasch. “Everyone was crazy helpful.”
“We have a really good gamedev community here in Berlin,” adds Scaramuzzino. “You can reach out to developers on teams of all different sizes for help and advice."
Storytelling and gameplay
Firepunchd knew that they wanted to make a VR game with tentacles, but finding the right perspective – narratively and literally – proved to be an interesting challenge. Their first idea had the monster running a food stand and making tiny hot dogs for hungry islanders, but floating point errors became a major issue. Another possibility (which they successfully pitched to the Medienboard Berlin Brandenburg) was a kaiju dating sim called Life, Love, and Tentacles, but they decided not to pursue it due to scoping concerns.
As they further refined the gameplay, Tentacular’s narrative came into focus. Initially, the game had a top-down perspectival view, but Firepunchd found that the world was more engaging at eye level. They decided to move the monster into the sea, which meant they had to come up with a narrative justification as to why the monster was always waist-deep in water. In one iteration (cheekily titled, My Pants, WTF?) the monster’s pants had been stolen, and it was hiding in the water to preserve its modesty.
Firepunchd landed on the perfect storyline while watching playtests of Tentacular’s early prototypes, which combined destructive and constructive gameplay. The developers noticed that while players had fun wrecking the environment, building things with the monster’s awkward appendages turned out to be much more engaging – and feeling like a fish out of water was a big part of that experience. Realizing the narrative potential of a clumsy monster trying to fit into a world of tiny humans led them to adjust their focus and come up with a winning formula. Tentacular launched the day after Firepunchd joined Unity at GDC, and the response has been extremely positive. It’s currently listed at 80 on Metacritic.
“We were a bit afraid of the response to the game because it requires a certain mindset to play,” admits Scaramuzzino. “But it’s been very flattering!”
“We were concerned people wouldn’t know what to do or where to go,” adds Cubasch. “But it seems people have understood what Tentacular is all about and they’re enjoying the mix of frustration and fun.”
Tentacles are key to Tentacular’s gameplay, and getting the right feel was essential for anchoring players in the world. Both tentacles have a default weight and stiffness. Lifting heavier objects will cause the tentacles to bend to gravity, while touching damaging objects will hurt the monster and make the tentacles floppy. Early iterations were animated using a combination of built-in joints and Rigidbodies. Getting the appendages to perform properly would be a tricky balance of trial, error, and profiling – a process that took more time than anything else during development.
“The tentacles were crazy heavy in the beginning. We did three complete reworks between the initial prototype and shipping the game,” says Cubasch. “It wasn’t just the performance of the tentacles in general, but also the physics interactions with objects with crazy different masses – 100 units to 50,000 units. The tentacles moving against these objects could generate penetrations and make the physics explode.”
“We struggled a lot to make the joints make sense,” reveals Scaramuzzino. “The first attempt was a total failure.” The tentacles would fall apart, jitter, or even explode. It took awhile to tame the configurable joint settings, but even with the first stable setup, there were issues. The tentacles were too long as they were supposed to reach behind the back. “Players would destroy the entire play area just by moving around,” he laughs.
Next, Firepunchd tried floating tentacles that were way more efficient, but proved to be problematic when they added standalone VR support. “They were super heavy, performance-wise,” Scaramuzzino explains. “For each bone of the rig, I was using a capsule joint. Every sucker had its own joint – it was super expensive to do, and they were still exploding a lot!”
To fix the tentacles, they adjusted the collision settings for grabbed objects: “The joints are actually carrying the objects, so you don’t need these collisions,” affirms Cubasch. “The optimizations aren’t just about performance, but also about usability or preventing glitches from happening.”
Bit by bit, they reduced the number of joints and Rigidbodies until the tentacles had both the behavior and performance they wanted. They fine-tuned stiffness and floppiness by manipulating the inertia tensors of each joint. Each tentacle’s Rigidbodies have two corresponding Scriptable Objects that respond realistically to the objects they’re grabbing.
“Whether you’re grabbing a huge rock or a tiny human, everything feels very lightweight in VR,” says Scaramuzzino. “Having a layer of separation between your actual physical hand in the real world and the tentacle allows you to have this sense of weight. When you’re lifting something very heavy, the tentacles stretch to really communicate the weight.”
“With that chain of Rigidbodies that reacts to the forces, it’s really interesting – when you carry something heavy, you really have to lift your arm to get it up,” adds Cubasch. “A lot of the gameplay is catered to making you experience that. It feels very special.”
Firepunchd didn’t want menus to disrupt gameplay, so they built a diegetic UI where every menu is an interactive object. The options screen (which serves as a soft tutorial for the game) has sliders and switches players can adjust using their tentacles to control audio, graphics, settings, and accessibility. One of the accessibility settings, tentacle size, exists so smaller gamers can reach objects that might otherwise be out of reach. “We knew from the beginning that we wanted the game to be inclusive,” emphasizes Scaramuzzino. “It’s a game about trying to fit into a world that’s not always built for you, so it was really important that as many people as possible could play it.”
Optimization is crucial for VR. It’s essential to maintain 90 fps and at least 4K resolution at all times, otherwise players will get motion sickness. To keep draw calls low, Scaramuzzino used Atlases for objects and recycled textures wherever possible. The team also used Scriptable Objects to organize a large chunk of game data – everything from unlocks, title screens, levels and progression, to quests, character designs, and localizations.
All assets in Tentacular are managed in two huge Atlases. Firepunchd chose pixel art because it’s a style they really like, and rendered most of the game using two 1K textures. “I didn’t want to have a texture for each color,” says Scaramuzzino. “I didn’t want to have an Atlas for red cars, an Atlas for blue cars, and I also didn’t want to have all the colors in the same Atlas. The cars were occupying three-quarters of it, because they come in four colors.”
To get around this, Scaramuzzino wrote his own shader. It uses the alpha channel of the texture as a mask for colored areas. The color itself is stored on the vertex color of the mesh. On Awake of the Prefab or directly in Blender, he colors the vertex. The shaders will then check if the sampled pixel in the texture has alpha, and if so, it will blend the RGB color with the vertex color of the mesh. This allows the same material to render different objects with different colors.
Progression in Tentacular is structured by main and side quests, each with their own stories and levels organized as Scriptable Objects. The quest system contains all elements from the game as well as the scenes that Firepunchd needed to load during each build. This enabled them to manage progression from one centralized location. “Some games manage this data with long lists, but I prefer modules,” shares Cubasch. “I can just click or duplicate a module, and I really like that workflow.”
Structuring quest data with Scriptable Objects helped manipulate game data and keep Reference Exception errors to a minimum. “If we need to add more stuff or delete, it’s very easy to make adjustments,” specifies Scaramuzzino. “The iteration of level creation was much smoother because of that.”
Scriptable Objects also influenced character creation. The team worked on a large number of individual character assets – eye color, hair color, clothing, and headgear – and used parameters to generate configurations randomly. This sped up Prefab creation considerably. Most background characters are fully randomized, whereas main characters are customized in the Unity Editor. These Scriptable Objects are then exported and dropped into the game, where Prefabs are generated at runtime.
To simplify switching between languages, Firepunchd linked a Scriptable Object to the database containing Tentacular’s localization strings. The Scriptable Object has functions for checking against the font/typeface and presence of certain characters. “We probably could have done this with different tech,” admits Cubasch, “but because Scriptable Objects are so convenient to use, for us it’s always a good place to go.”
“All of the localization strings are in a Google Sheets document. You can pull the data from a Google document using the Google API and populate the Scriptable Object,” explains Scaramuzzino. “This way, we can be sure that every time we build, we have the latest version of the localization files.”
Advice for aspiring indie innovators
Firepunchd comprises game jam enthusiasts who enjoy churning out crude prototypes to find the fun as quickly as possible.
“In our experience, innovation doesn’t come from a brilliant idea – that’s just the beginning of the process. For us, most of the work is done by exploring the possibilities of that initial idea,” says Scaramuzzino. “The faster you can iterate, the easier that journey is going to be. Don’t be afraid to fail, don’t be afraid to scrap everything and start over. You’ll learn more from a hundred failed experiments than from one super polished project.”
“Also, remember to have fun,” adds Cubasch. “Don’t force things, don’t overcomplicate things – if you have to explain a joke, it’s not funny. Surprising yourself during testing means you’re probably on the right path. Having a ‘giggle-driven’ development process has really worked for us.”
Firepunchd isn’t done with Tentacular just yet: They’re hard at work on a series of updates for the game, with plans to launch on more VR platforms, add brand new challenges plus a whole new city-building mode à la Townscaper. The game is out now on SteamVR and Meta Quest. Follow Simon (@firepunchd) and Luca (@MrLucaGames) on Twitter for the latest updates, and be sure to check out the full Creator Spotlight below.