James Petruzzi talked about the development of the metroidvania game Chasm: level generation, battle mechanics, pixel art, Kickstarter campaign, and more.
Introduction
80lv: Could you introduce yourself to us? How many people work in the studio? Your team seems to be quite small, so we’re interested to learn how you manage the production.
My name is James Petruzzi and I’m the director and designer of Chasm. There were five people working on the production of Chasm until the end: Tim Dodd (engine and tool programming), James Stevulak (SFX/Music), Glauber Kotaki (Animations), Dan Fessler (background art), and I. Everyone worked remotely (our animator is in Brazil while the rest of us are in the US) so it was always a challenge to keep everyone in sync. It was in our benefit to keep the team as small as possible and let each person “own” their work on the game so to speak.
Start of…
80lv: You’ve started working on Chasm in 2012 before going to Kickstarter. How did those early prototypes look like? What were the initial ideas and elements that guided you?
I originally started working on the game in the summer of 2012, and it was a sci-fi mining game – think something along the lines of Starbound. As the summer went I eventually changed it to fantasy and then decided to scrap the mining altogether since I thought it was slowing down the action.
Initially, it was a block-based world with the terrain carved out of it, but I tried to simplify it by using hand made room templates that were procedurally assembled together to build the world and it worked perfectly. The rest just seemed to follow naturally once the basics were locked in. I tried my best to stay true to the mantra of “always follow the fun and hold nothing sacred”, and the path just seemed to reveal itself as we went.
Development of the Game
80lv: The game looks very well polished and put together. How did you manage to achieve such a high quality of your final product, its controls, and other elements?
The controls were one of the first things that were refined. I wanted them to feel just like the classic games, which meant a lot of experimenting with things like acceleration, air time, attack timings, etc. By keeping the overall scope of the game relatively small we were able to make sure everything included was well polished and thought out. I played things over and over as much as I could, but our Kickstarter backers helped a lot in finding issues, balancing, and fine-tuning.
80lv: What way did you approach the procedural level generation? With metroidvanias, it seems like a good level design is half of success. Weren’t you a bit afraid of letting the algorithm build the whole thing? How did you manage to make the structure still look like it’s hand-made?
The procedural generation was certainly one of the trickier aspects of production. The original Kickstarter prototype was a bit more straight-forward and felt more like a standard Rogue with isolated generated floors that had an entrance and an exit. Each floor was assembled as you entered it from a big repository of hand made room designs. We wanted it to feel more like a big inter-connected world you’d expect from a standard Metroidvania, so after the Kickstarter, we made quite a few changes. In the final design, it still has similar logic to the floor generation where there are groups of 10-12 rooms that are generated together, but it also contains hardcoded islands that tie it all together. This allowed us to give more purpose and direction, with guaranteed story points, obstacles, and challenges peppered throughout.
80lv: The battle mechanics for different monsters must have been a huge challenge, too. What way did you come up with these? Did you take a lot from Castlevania? How did you test the battle mechanics?
Coming up with a few enemy designs is challenging enough, but there are over 90 enemies in Chasm so it did end up taking a lot of time to design and refine them. Castlevania and other classic games were definitely a big inspiration and a starting point. One thing that helped fill out the core set was coming up with some standard behaviors, then having each successive area grow on them. For instance, there is a strafing enemy that throws small rocks at you introduced in the first area, but closer to the end that enemy type moves much faster, throws knives much faster, and also melee attacks you if you get too close. This also helped create a natural difficulty curve where battles become a bit more complicated each successive area. As we worked through the game it became apparent what stuff worked and what didn’t, and we continually refined things until they hit a point where it felt consistent.
Pixel Art Style
80lv: The pixel art style really works in your project. Could you tell us a bit about the way you worked on the art style? What programs did you use for pixel art models of the characters? How did you decide on the resolution and the colors? How was the animation for the monsters and characters made?
One of the things that really give the game its own identity is the low native resolution. Everything is drawn to a 384×216 buffer first, then upscaled to your display resolution (5x for 1080, for instance). This really helped keep things consistent and feeling authentic. The artists used Photoshop pretty much exclusively. The palettes are very limited. For instance, all the enemies in an area share the same core palette of 20 colors. Since there are no outlines on the characters we had to be very careful to make sure everything (including the player) popped from the background. All the animations were delivered as separated PNG strips (one strip per action, i.e. Player Walk, Player Idle, etc.), and then we used a custom internal tool to import them, define the configuration (FPS, frame count, etc.), line them up, and create the hitboxes.
Lighting
80lv: In a scenario of some technological restrictions like yours, how does the lighting work? Do you have a special dynamic lighting solution here or is everything just painted in the environment?
All of the lighting in Chasm is static. The torches and various lights are just animated strips like the characters. This was a hard choice, but in the end, we decided to try to stay as authentic as possible to a title somewhere between the SNES and PS1 eras.
Why Kiskstarter?
80lv: At the time you were organizing the Kickstarter campaign, what would you say were the biggest challenges that made you ask for help from the community? Was it the scope of work? How did the monetary support from Kickstarter help you build the game?
I started Chasm with the proceeds from our previous game Take Arms (Xbox Live Indie Games). I was able to work most of 2012 off that sum full-time and develop the prototype that we took to GDC to find a publisher interested in helping with funding. By the end of the show, we knew we’d have to find our own way to raise money for it, and our funds were nearly depleted so it would have to be quick. The next month we ran the Kickstarter with the GDC demo and the rest is history so to speak. There is no way we could have made the game without Kickstarter, so we are eternally grateful for all our backers on there.
Recommendations for Artists
80lv: For someone who’s trying to go into pixel art games, what would be your first recommendations? What are some common mistakes to avoid?
My number one recommendation is to work at a native pixel resolution. It solves a lot of the issues you will face trying to get things feeling consistent and authentic. There are a lot of different options when it comes to resolution, other popular ones are 320×180 (6x scale to 1080) and 480×270 (4x scale to 1080). Another thing that cannot be understated is the palettes you choose. Even subpar pixel art can still look good with the right set of colors.
Distribution & Future Plans
80lv: Finally, where and when can we purchase the game? Is there any hope for a sequel?
Chasm is available now for purchase on Switch, PS4, Steam, and Xbox One for $19.99. Check out our website chasmgame.com for more details on that. Now that things are winding down I am starting to look into what’s next. It could be a sequel or something a little different but set in the same world. So stay tuned ?