Drawing the Depths: The Visual Challenges of Setting Your Indie Game Under the Sea
A few weeks ago, we wrote a blog talking about some of the design challenges we faced when creating our underwater metroidvania, Depths of Sanity.
Shortly after we wrote it, our lead artist spoke up and said “Are you guys kidding me? You didn’t even touch on how hard this stuff was to draw and animate!”
And that’s true. Which is why we’re covering that this week.
Visuals are always an iterative process, with lots of hurdles from concept to completion. But when your game is set underwater, with full 360-degree movement, there are a lot more animation obstacles standing in your way that wouldn’t even have to be considered in a traditional 2D side-scroller.
A quick refresh for any new readers: Depths of Sanity is a horror-tinged, underwater Metroidvania, and utilizes full 360-degree movement for it’s exploration. You play as Abe Douglas, commander of The Baroness, who makes it his responsibility to find it’s old crew when the vessel goes dark during a deep-sea investigation.
Bennett, our artist, has been working on Depths of Sanity for 3.5 years, and in that time he’s had to deal with a whole host of unique challenges. But today we’re covering two of the biggest — and most common — when it comes to an underwater game:
- Figuring out how to give enemies and characters weight in a weightless environment, and
- How to craft dynamic, interesting environments when there is only so much to actually see at the bottom of the ocean.
Hopefully, you learn a few tips and tricks that might be able to help you craft your own underwater adventure.
Bennett, take it away.
PROBLEM 1: How Do You Show Weight in a Weightless Environment?
Look guys, animation is hard. We all know that. I mean, how many movies have you seen with a bad CGI monster that wouldn’t pass a college art class? Usually it’s not the “look” of the creature that ruins the illusion, it’s the movement. Our brains can tell when something isn’t moving like it should — too fast, too smooth — and it can instantly break the illusion that something is real.
Game animation faces many similar challenges, and animators go over characters, enemies, objects, and environments over and over to make sure they’re conveying a proper sense of “weight” that sells them.
A lot of general 2D animation is focused on making an object feel like it has volume and mass, and that it isn’t just a cardboard cutout. A character interacting with the floor shows that both of those are ‘existing in the same space’ they aren’t just images floating around, and this is one of the most basic ways game artists tackle this issue. Walk/run cycles, jumps, falls, and more are all tools that 2D animators use to show your character reacting to the world around them, and give you the impression that these flat images are actually objects with volume that can interact with one another.
We could use none of those in Depths of Sanity.
Because the entire game is set underwater, the animations had to reflect that everything is inside of a quasi weightless environment. So instead, to sell a lot of the enemies and characters, we had to focus heavily on “momentum.”
It’s all about the subtle details.
Here’s an example: We spent a ton of time testing early builds to see what combination of control and animation tweaks gave the player’s ship the proper feeling of being “piloted”.
No one solution worked, and in the end, it came down to lots of subtle details to sell the ship’s movement, including an expanding bubble trail that follows and arcs behind it, screen shakes when you crash into things too hard, and a shadow trail that follows for a split second in your wake when you use the back-dash ability. You can see a little bit of each in this clip.
On a nitty-gritty level, it also meant that objects had to be shaded with a lot more detail than initially anticipated in order to properly sell their movement, which added significant time to all animation (especially since I’m the guy doing it all). And some enemies required very specific solutions — for example, we had to create a pseudo-3D looking version of some enemies in order to make them not look flat.
One of the most difficult examples was the manta ray.
This simple animation took forever, especially because making something like this look fluid is difficult under the best of times. You can actually check out a 30 second time-lapse of me creating it here.
The weight problem also affected the weapons.
We went through many iterations before our weapons started feeling worth a damn, and even now we’re still tweaking their visuals and overhauling their sound effects (and honestly, it’s amazing what sound can add to an animation). Check out the iterations on our “Compression Gun.”
But one of the harder visual issues to get around was embedded in the very concept of the game…
PROBLEM 2: What the Hell is In The Ocean Anyway?
Have you ever seen the bottom of the ocean? Ever watch a video on it? Do you know what’s down there?
There’s sand. Water, and sand. Sure, you’ve got trace amounts of shipwrecks, caves, coral reefs, and maybe some trash these days, but on the whole, the deeper into the ocean you go, the less actual environment there is. It’s mostly just darkness and emptiness. And while that’s great for some of the horror aspects of the late game, it makes creating interesting environments a huge challenge. Not only because there’s not a lot of things to draw inspiration from, but also, it’s very difficult to make things visually exciting and realistic at the same time.
Compounding that problem were some of the technical constraints we were working with. We built everything modularly, with tilesets, rather than full hand drawn environments, which creates an issue of not really being able to “see” what the environment is going to look like in its final form while you’re working on it.
Additionally, there was the issue of scale. Abe is 8 pixels tall. So anything we put in the environment, with any level of detail runs the risk of looking MASSIVE in comparison, which made set-pieces pretty difficult to create, requiring a lot of detail and a “larger-than-life” look to them to avoid looking vague.
That last issue was how pixelart functions as an art style.
WARNING: This next part will probably sound SUPER pretentious, but it has a point.
Stay with me.
Pixel Art has a BIG similarity to French Impressionism, in that it’s more of a representation of something, than a picture perfect recreation. For example, check out this painting:
Impressionism works by having your mind sort of “fill in the blanks”. I didn’t have to tell you it was a castle, your brain did, despite the fact that really, you’re just looking at a lot of differently colored dots.
Pixel Art works the same way, giving you the impression of a thing. When done well, it happens subconsciously. You can see what a “pixel art” version of this painting would look like to the right below:
Still understandable, because it conforms to a shared visual language. Underwater, there isn’t a lot of shared visual language to draw from. If you dig up obscure environments (or creatures) to draw inspiration from, your audience might not “pick up what you put down” so to speak.
Here is an example: You know what a tree looks like. I know what a tree looks like. Everyone has seen a tree. If you’re drawing a tree, you can make a general shape, and people get it. This is especially useful in background and environments. You can make a forest to your heart’s content and generally it will “read” well to the player.
When’s the last time you saw a coral reef?
There aren’t a lot of visual cue’s you can give someone to let them know “hey, we’re at the bottom of the ocean”, and so many of the environments have required a lot of iteration in order to read correctly.
It’s very easy for a coral reef to just look like a mess of colors, and some of the…stranger environments towards the second half of the game required a lot of passes.
Luckily, some of these issues were solved with the story. Without saying too much, as Abe goes deeper under the ocean and uncovers more of the mystery, things start deviating from “normal” pretty hard. This was incredibly helpful in having the freedom to get a little bit weirder and more inventive with the environments in the second half, but this is a challenge that many underwater games deal with.
In fact, I’d go so far as to say that rarely do you see a game set in the ocean that aims for realistic environments, probably because of this same issue. Two semi-recent games set in the ocean, Subnautica and Soma, create their own biomes and definitely go in “non-real life” directions as their games progress.
But all of these issues led to a lot of creative work that I’m proud of. One of my favorite enemies in the game is the angler fish. Here’s a glimpse at it:
It is not realistic, or to size at all. Yet you immediately know what it is after it first attacks you, and it’s designed in a way that the first time you see it, it’s likely to surprise you. It’s one of my favorite examples of working within the limitations imposed by all the facets of the game (and you can tell I love it since it’s slowly becoming our unofficial mascot for the experience lol).
I (and the entire team) learned a lot through creating the art for Depths of Sanity, and even late into development, I’m still encountering new challenges or finding clever workarounds for these issues. I hope digging into these two today will help you solve a few challenges on your own games.
Also, some big news: we’re going to be in the Steam Games Festival from June 9th — June 14th!
For 5 days you’ll be able to download our latest demo and give the game a try. We’ll also be hosting Q&A’s and a playthrough of a non-demo section, so be sure to stop by our Steam Page and follow us on Twitter to know all the activities we’re planning, and when the demo is live.
We’ll see you next month.