Game Designer Jacob Reynolds, the developer of Unsewn, the second-place winner of Houdini Game Jam 2022, has told us about the idea behind the project and spoke about creating platforms and FX using Houdini.
My name is Jacob, and I’ve been interested in game design for about as long as I can remember. While I didn’t go to school for game design, I have had an insatiable desire to learn about and understand everything that goes into the medium.
I make YouTube videos, many of which are about my main project that’s still in development called Rustwalker Legends, and create assets for the Unreal Marketplace. Recently, I started developing games as I joined the team at Big Brane Studios, making Sushi Ben VR.
Houdini was always a program I wanted to learn but found getting started just too daunting. I would install the free version, make a cube, then quit. Fast forward to the 2020 Epic MegaJam, and I knew that Houdini would be essential in making content alone, so I decided to learn it. After watching all the tutorials I could find, (I really enjoyed the Houdini Isn’t Scary series), I felt comfortable enough to actually start making HDAs by the time the Jam started. Once I got over the initial learning curve, I’ve used Houdini for all kinds of projects ever since.
One thing that surprised me early on was how much one person could make with a good set of HDAs. If you understand the basics of 3D modeling, creating simple procedural tools is actually very straightforward and logical. Once I started thinking procedural, it was hard to imagine building certain things manually anymore. The scope of what I can make has grown so quickly by using Houdini, and that’s really motivated me to continue using it.
The Unsewn Project
As with a lot of projects, I started by trying to combine different elements together to create the overall theme of the game. By adding these "rules: or limits, I found it more fun to come up with a weird and more interesting world. For Marsh’s Journey, the main rule was everything had to be made of candy, so all the environments, characters, and items fell into this rule. Unsewn was no different. I wanted to stitch together elements of sewing, threads, and feathers. This guided the design of everything going forward.
The fantastic animated movie 9 by Tim Burton was a major guiding inspiration for wanting to do the patchwork style characters. As for the gameplay, the reason I wanted to make games as a child was because of the classic platformers like Spyro, Mario, Ratchet and Clank, and anything that fell into the genre.
The game takes place between Heaven and Hell, in the world of Limbo. You play as a “lost soul” sent to navigate the afterlife and stop the fabric of reality from being destroyed. The enemies of the game are designed off of sewing machines, and they are the ones who normally keep the fabric of reality stitched together.
Another goal was to create and use voice acting in the game. It was something I’ve not done before, but I’ve always wanted to try, so I wrote up a script and voiced the raven while my brother supplied voices for the lost souls you save in the game. It was a really fun experience, and I feel like it gave a little more life to the characters.
Using Houdini to Generate Platforms
In the past, I’ve made platforms using splines, then extruding them upwards. For this project, however, I wanted a totally different style of platform. I also wanted to block out the entire level with cubes, and make a tool that processed these into playable game spaces with minimal effort.
Since the platforms were intended to be chunky and rectangular, the tool creates a box around each selected item and uses that space to create each element of the platform. It starts by creating a top mesh and adding pillars to the bottoms. It also adds some random cables to the bottom, giving it a nicer and more interesting profile than just poles. As with all HDAs in the project, variables are exposed to give precise control over each aspect of these parts from the thickness of poles to the droopiness of cables. It even has parameters for assigning materials to each element of the mesh, allowing for a variety of platform looks in each area.
Turning Curves into Walls and Cables
As for the cable, I cheated. Houdini ships with a Cable tool, and while sometimes you need to draw your own cables (like in the underside of the platforms) a lot of the time it’s better to use the premade tool. By making an editable spline and feeding that into the cable generator, I was able to add drooping cables to the level in a short amount of time.
As for the walls, the tool for these works off spline data. The main mesh is an extrusion of the spline, with a larger, capped version on top. Then the tool runs over the points, and adds pillars to the building giving it an improved visual profile, and adding a "chunkiness" to the structures. Having these tall structures gave the ability to block off and shape the playable area in a way that was fast without too much hassle.
It wasn’t until watching great tutorials by 1MaFX on YouTube that I even considered making meshes in Houdini for game FX. Thanks to one of those tutorials, I had the knowledge to make different kinds of radial and spiral shapes for the FX systems in the game. This went a long way in telegraphing the wind systems in the game in a natural way to the player. Going forward, my projects will be leveraging Houdini for more meshes for particles and effects in the future.
The rings started off by creating a SubDivide plane and applying bends and modifies to it to get a good shape. One of the benefits of doing things procedurally, it’s really easy to apply vertex colors, create UVs and do adjustments throughout the process without ever having to remake anything. It’s completely non-destructive and allowed me to really dial in the look I wanted.
Cloth Simulation in Houdini
Vellum inside Houdini is actually quite easy to work with once you have the basics understood, so making the cloth walls was very easy. Plus, because it was procedural inside Houdini, I could have made as many variations as I wanted. If not for running out of time, I would have made an HDA for cloth draping over parts of the level, because while the cloth system works great in Houdini, it also has the ability to use Unreal objects as part of the collision in the simulation, which makes for a very dynamic environment.
Modeling cloth like this by hand would have been a waste of time when the solver can do this for me, and keep the UVs aligned properly so that the folds happen and the textures remain looking as you’d expect, which is nearly impossible to replicate with a hand-modeled approach. Going forward, I think it would be interesting to see if it’s possible to bake in some of that animation to the asset to make it more dynamic looking, and possibly do an actual cutting effect.
I’d prefer not to imagine what the development process would look like without Houdini because there is no way I would have finished in time. It would have required manually modeling, unwrapping, and texturing all the assets required. Not to mention variations in platforms require the entire process to be redone, and the meshes imported into Unreal.
With Houdini, I spent most of the week building the characters, tools, and art. Once everything was prepared, creating the level was extremely fast. It only required me to drop the blockout meshes, and use parameters and different procedural textures to get a variety of platform looks all with minimal effort.
Inside Houdini, it might be sometimes slower to build the initial HDA, but the amount of flexibility and variety makes development exponentially faster. It’s definitely the most powerful tool for a small team (or even a single person) to build a game world that would traditionally take a large group of artists to make.
I’ll be covering more about this game and others on my YouTube channel!