Developer: Tribute Games Game Title: Flinthook Release: April 19, 2017
Pixel Art: Modernism & Nostalgia
Flinthook is a fast paced action game. The hero, the enemies, hazards and projectiles need to pop out of the background. We took this approach so the player’s eye can rapidly recognize threats and react accordingly. There’s also a language created with the color scheme for menus and interactive objects that conveys information to the player in an efficient way.
We have a few reasons to do pixel art on all of our games. We try for a feeling that reminds us of Super Nintendo. It’s not just a sense of nostalgia, it’s an art style all its own. It’s a style the artists here at Tribute have mastered. For me as a game designer, I love pixel art. It has the tightness and precision of excellent game design. Since everything is on a grid, it’s easier for a player to evaluate distances, to know if they’ll make a jump or not, to see if they’re going be hit by an obstacle.
It’s a mix between the universe we’d like to create and the style that benefits gameplay the most. We wanted to create a brand new, colorful, cartoony sci-fi universe, and we needed enemies with a variety of cartoony abilities to do it, enemies with shooting missiles or floating and creating shields. We went with weird cartoony aliens. We wanted the levels to feel alive and more colorful than basic metallic ships, so we went with medieval and pirate-themed art. Plus, it made sense. The main character’s weapon was an anchor!
16-bit Visual Inspiration
One of my favorite games of all time is Spelunky, the ultimate rogue-like platformer. Spelunky had a fantastic physics system that let all its enemies and traps interact in crazy dynamic ways. It’s probably the one thing I wish we could have done for Flinthook, but in the end, we arrived at something different, a game about shooting and fast vertical movement.
The 16-bit aesthetic didn’t limit us. We didn’t try to faithfully recreate games from that era, like Shovel Knight or Retro City Rampage. We used the aesthetic as a base and expanded on it as much as we needed. So regarding colors, we did have a limited palette but tied the visuals together nicely.
Our art director was inspired by multitudes of different media, but not directly inspired by other games. We spent a lot of time watching weird science fiction movies, old movies like Star Crash or Silent Running, or wacky anime like Spaceship Sagittarius. We wanted the game’s universe to feel like an 80’s or 90’s cartoon, with fresh new characters that would look great as toys.
Accomplishing the 16-bit style
We tried to go beyond just recreating old games. I think you have to nowadays. Classic games in our memory are often way better looking, so we don’t care about retro fidelity that much. We create smoother and more detailed animations. We use more colors. We have a higher resolution than most 16-bit games. We use screen effects that wouldn’t have been possible on retro systems. We put a lot more visual effects on the screen than possible in a Super Nintendo.
Randomly-Generated & Assembled Levels
We created archetypes of rooms, and sub-archetypes. Some traversal rooms are all about the Hookshot, crossing over a pool of poison by grabbing moving rings with good timing. Some rooms emphasize the use of projectiles, dodging bullets coming from electric turrets all over the room. Others are about combat, shooting down missiles to reach that one enemy and blowing it up with a bomb.
Generating a level with randomized rooms automatically creates variety in pacing. The player understands it’s not just chaos. We have rules for what elements go in which environment, to make sure there’s new stuff for the player to interact with as they progress through the game.
Pirates & Outer space
The pirate theme comes from the anchor-like Hookshot, which is the core mechanic of the game. The sci-fi setting originates from the need for strange new creatures with various abilities. Environments in disarray with rings, poison clouds, ghosts, and traps. Mixing the two built the base of a new cartoony universe, made for the gameplay we wanted to present.
Creating Levels in Flinthook
Each obstacle we designed in the levels is independent. It has its own behavior. So when placed in a room, we hit play, and it’ll play its animations, do its attacks or movement.
We built a lot of elements that interact with each other in interesting ways. When we create rooms, we make sure not to use all the elements at once. We use only elements we haven’t used or haven’t thoroughly explored. With our layout system, we create multiple possible sets of hazards and enemies picked at random during the game, based on difficulty and variants so the game won’t feel repetitive. When you enter the same room, it looks different every time you play.
We tweak completed rooms all the time. We go back and change placements that don’t feel fair, adjust difficulty numbers for layouts, and add variants like spikes and lasers for variety. We’re done creating new rooms for now, but we’re tweaking and adding to the 500 or so rooms we have until we’re ready to ship!
There were a few ideas that couldn’t make it in. We were looking for an iconic character, something simple, so we played with basic kinds of helmets and masks. We looked at superheroes and supervillains for ideas. We ended up with a simple white cloak and a mask inspired by Spider-man and Deadpool, but much cuter and armed with Batman-style gadgets.
I enjoy the depth of randomly-generated games like Flinthook. In a linear game, if you hit a tough obstacle, you can just force your way through by dying and trying something else until you make it. In a randomly-assembled game, you have one chance to get through that random set of obstacles. If you die, you’ll get a brand new set, so you can’t just learn that level’s pattern, you have to get good at the game! It’s also really neat to have a game you play over and over and still get new, interesting mixes of elements.
We thank Tribute Games and Dominique Ferland for letting us discover this part of their design & development process.