Hey! I’m Jesse Turner, and I drew everything in the game. I go by “The Drawbarian.”
I’m Nick Waanders, the programmer of the game. I don’t go by any fancy name, though Jesse has nick-named my engine the ‘Waanderful engine.’
I’m Caley Charchuk, I design and implement a lot of the content in the game. Everything from the system that drives character attacks to levels and AI.
JT: I’ve been working on games for a while, but when I started it was in the “Everybody make Call of Duty” era of games so my cartoony style was never a hot commodity. I was a 3d artist. I kept drawing and as the Indie scene got bigger I found my art resonating with smaller teams and made a shift from a larger studio to a smaller one where I could draw everything.
Introducing the Cast of Characters
JT: We have a Bow Viking that can nail bad guys from a distance; a Shield Viking that can smash out ice attacks and go all defensive; a Hammer Maiden that can erupt the ground with earthquakes; and a dual-wielding Hatchet Viking that can dash into combat with burning attacks. All the Vikings get upgraded as you play the game and get equipped with cool gear that alters your character’s statistics and looks.
Initially, the characters were all generic Vikings so whatever weapon you picked up changed the fighting style. Then players added custom beards and other looks to their Viking. We changed this because it was super lame – we couldn’t get cool girl Vikings to look right on a male skeleton. We decided to make our own characters, a pretty big challenge that happened about a quarter of the way into production. Players never gave us much feedback on the characters, so we came to the decision to change them as a team. In the beginning, it was probably one of the largest changes we had artistically, but we think it was a smart one because now people liked the characters.
The Evolution of Character Design
JT: I draw a lot and I’m fast, so this makes everything come onto the screen in a flurry of premeditated approaches and on-the-spot improvisation. Sometimes, a quick line drives a whole new element that’s so interesting it blows the initial idea out of the water. I’ve gotten used to not becoming so attached to an idea it can’t be changed later. I think this is both a blessing and a curse. Sometimes, I end up sounding disinterested or uncaring when I’m just trying to move forward and create more stuff.
At the beginning of development, we were trying to incorporate a lot of Viking Lore and Mythology into Viking Squad. As it went on, I honestly thought it became more of a hindrance than a source of inspiration. I watched a lot of videos and read up a lot on historical weapons like any good concept artist, but there’s something to be said for coming up with your own armor designs.
When you try to make something authentic, I think it starts grabbing the reigns from you, and you have a whole other element to worry about – a highly educated audience. Viking lore is awesome; I love all the stories and the gods and frost giants and everything, but at the end of the day I’m here to draw killer crabs, polar bear bartenders, and helmets with horns.
JT: Caley and I always talk about expectations in games and how they’re super important to players. If there’s a big enemy, players assume he’s slow and deadly which is great! It’s good to keep those things in mind and not to make interactions or characters too confusing or off the wall. Players bring all their experiences to our game, which can get pretty challenging.
We started by throwing all the characters into specific shapes. The shield was a round dude, the bow guy a thin rectangle, the hatchet a wedge, and the hammer gal was a very stocky hourglass. These started to get us thinking about their personalities which helped move the designs and style forward. It was great when people started noticing the Bow Guy (or Ninja Viking as he’s called at conventions) was the quiet, wise guy who’s been around the longest. Hatchet guy is super crazy because you have to be crazy to charge into battle as quickly as he does. Shield guy is the Team’s protector and very pragmatic, and the Hammer Maiden trains the hardest and lets everyone know she’s there to scrap.
Good versus Bad Character Design
JT: Personally, I think it’s all about readability (which is something I’m constantly working on). A good friend of mine, Mr. Chris Bourassa, told me once over a meeting, “A kid can draw Superman. How the hell is a kid supposed to draw this over-designed mess of a character?” I’m paraphrasing, making him sound much less profound, but the point is if a character reads well, it resonates with people. I feel bad for the kids out there trying to draw Michael Bay’s Optimus Prime. The original was an easy go-to for the aspiring creative. Take Adventure Time and Rebecca Sugar’s Steven Universe as a more contemporary example; people connect with those characters and want to be part of them.
The Benefits of a 2D Perspective
NW: The nice thing about characters only visible from the side, and never away and towards the camera, is it drastically reduces the number of animations we need to create. We only animate characters facing one direction; to go the other direction, we simply flip the puppet. Adding towards/away animations takes time and texture space; we’d have to create front and back views of all the different gear in the game. The decision to display them as flat 2d characters saved a lot of time; necessary, if you’re building a game with a small team of three people.
Building a Custom Toolset
NW: I built our custom animation tool to animate characters, called the puppet system. The editor resembles Spine but integrates with our game editor and engine. We can use visual effects, camera shakes, chromatic aberration effects, all from within the puppet animation, and see them live as we scrub through. We also added a skin system to support upgrades to armor, weapons, and hats for the characters.
JT: And the art is all done in Photoshop, drawn at a super high resolution so when it’s crunched down it still looks cool.
What animations took the longest?
NW: Probably the animatics, the ‘cut scenes’ when you first free Loki and bring the shard of the crystal he was imprisoned in to your Jarl. These all use the same puppet animation system as all the characters, the only difference being intro cinematics are displayed full screen. They took a lot of time to draw and animate because they’re full-screen images. On top of that the sound guys needed to create sounds for the cinematics, making timing changes hard to deal with after the fact.
CC: Player character animations definitely. Players controlled these characters directly, and we wanted to give them a responsive game. We had to account for the many blending situations, an ongoing maintenance through the entire development.
The Biggest Animation Limitations
NW: Probably the fact none of us is an animator by trade. We all did the animations for the characters. Jesse started off the animation, and then Caley and myself did multiple passes to blend between animations without visible artifacts, fix walk cycles, and just general tweaks to make them look smoother.
JT: Yeah I’d say that between the three of us a half decent animator is kicking around. It requires control and subtlety. Those are in short supply when it comes to me personally.
NW: From a technical standpoint, we have multiple tracks in the animation system we used as a priority system. There’s only one animation active per track, though there is blending between animations when a new animation is set on that track. The way the game works, it sets the main animation, which automatically becomes the highest priority animation. The multiple tracks are used for lower priority animations, like hit reactions. When an enemy is doing its main animation, it can still play a hit animation over whatever is currently playing, so the player gets instant feedback of having hit the enemy while the enemy itself can just keep on animating whatever it’s animating.
CC: Like Nick said our animation system is broken down to primary and secondary animations. This also plays into our state machine. The state machine drives primary animations for each character and couples the gameplay mechanics alongside the animation. For example walking is its own state, each attack has its own state and the same with being hurt. If a state is interrupted the mechanics attached to it are as well. So each hit a player does to an enemy it sends them into the hurt state; you’d be locking an enemy in the hurt state, denying them the ability to transition to attack or move. The problem is you need the enemies to visibly react when you hit them without state interruption. This is where secondary animations come into play. We can make it so characters don’t get sent to the hurt state every time they take damage but still play a secondary animation so players get the feedback they’re hitting enemies. This allows enemies to be a bit more reactive while still giving the players all the feedback of their actions. You then take this system and adjust values on enemies across the game to get varying behaviors and difficulty levels.
Building on Prior Experience and New Accomplishments
NW: In general everything we did was using and building on the lessons we learned and technology we used on previous projects. Shellrazer used the last version of the puppet system, which was primitive and harder to animate in. Early on in the development, we decided the old puppet system wasn’t good enough to create the enormous amount of animations and character variations we required for Viking Squad, so we put a lot of time into a better editor.
As for the animations themselves, we used a bit of the physics-driven animations we had in Shellrazer. Little pieces of rope hanging from weapons aren’t animated by hand; they use a simple physics system. The entirely new parts in the puppet system are the skinning options.
NW: As the programmer, I’d have to say it’s a close call between the puppet system and the networking code of the game. For the sake of this article, I’ll say the puppet animation system.
JT: One time I took like, a dozen sandwiches from a PAX party back to the Air BnB and had food for the whole weekend.
CC: Technology wise I’d say it’s the way our entities work across the network. We do some advanced things to make sure attacks don’t miss in high latency situations. The goal is to make online as close to couch co-op as possible, and so far it seems to be working. Hopefully, it stays that way!
Design wise I get excited when a family comes to demo the game; we’ll have a dad playing alongside his 6 and 8-year-old children. The systems were designed to be approachable while still having depth and difficulty if you look for it. Seeing people of various skill levels playing side by side and having fun is always exciting.
Though we had to do this over the Internet, we hope to meet you some day!
CC: You too, thank you for this opportunity!
We thank Nick Waanders, Jesse Turner, and Caley Charchuk from Slick Entertainment for talking about the development process on Viking Squad.