Dev Blog

Dev Blog 114: Benefits of the gods

05/28/2014

devblog_header08

Welcome back followers of the fearsome!

Today we share some benefits of worshiping the gods during your voyage. In Norse mythology the vikings worshiped many different gods. Every action a viking took during a raid was in the name of Odin or Freyja. There were many gods each with a purpose in love and war, so this continues in Viking Squad!

Gods in viking squad can grant multiple abilities, some passive while others are active. At the start of the game players have access to a handful of gods. Players can gain more to choose from by freeing them during their voyage.

VS_silhouette12

Freyja the ruler of the afterlife would look after those who died in battle. She was also a symbol for love and riches. Players who follow Freyja are easier to resurrect when they die in battle. They also gain a protective shield that will knock back enemies around them.

VS_silhouette13

Odin the god of war and wisdom granted courage and cunning to those who followed him. Players who follow Odin gain more rewards at the end of each level. They also gain the ability to throw a spear of light that penetrates enemies.

VS_silhouette14

Thor is the son of Odin, he is also the protector of mankind. His wrath could bring stormy weather to a voyage or his blessing could clear skies. Players who follow Thor gain access to new destinations in their voyage. They also gain the ability to strike foes with lightning from the heavens.

There you have some of the gods in Viking Squad! Stay tuned for more of the oddball ones we’re sure to come up with!

Caley_avatar64

Twitter: Nick: @nickwaanders Jesse: @jouste Caley: @caleycharchuk SlickEntertainment: @SlickEntInc

Google+: Nick: +NickWaanders Jesse: +JesseTurner Caley: +CaleyCharchuk

Facebook: https://www.facebook.com/SlickEntertainmentInc

 

Posted by: Under: Slick Entertainment Comments: Comments Off on Dev Blog 114: Benefits of the gods

Dev Blog 113: Dude-Builder! And a shout out to the Summit!

05/21/2014

devblog_header08

Welcome back followers of the fearsome!

Last night we showed the current build of Viking Squad to a bunch of people at Full Indie! We got some great feedback and it’s always awesome to get people to play your game when it’s in the early stage of development. Speaking of the great crew that runs Full Indie there’s the super awesome, second Full Indie Summit happening soon! This one will be over 2 days (August 9-10) and will be held at Stanley Stage, 2750 Granville St, Vancouver. There’s going to be some great speakers and a whole bunch of developers there as well so be sure to get your tickets! Hooray!

VS_silhouette09

———-

This week we’ll be taking a look at how dudes are built and put into the game! We’ll be looking at one of our favorite bad guys; the Fishbeards!

When we start designing the look of a new enemy, they are usually based off of something that’s in the editor already. Caley grabs whatever characters or puppets he can find and hooks up new behaviors to them to test them out in combat. This is kind of a proving ground phase where we can tell if the enemy idea is worth pursuing or not.

For this character that we’ll be talking about today we wanted something more substantial than the little gremlin guys but still a “smaller” type of foe.

VS_silhouette08

The first thing we do is a super fast and loose sketch! It sure doesn’t look like much but the idea is definitely somewhere in there. The second pass is done with a more refined brush and we are coming closer to how it will look. We added details like the hanging fish tasset, the gross beard bones and arm barnacles!

———-

VS_silhouette10

Now we can start drawing every piece! Initially I drew and colored the whole character and chopped him up after but that becomes super time consuming and annoying so I just draw piece to piece and it goes by much faster. After doing a few of these characters I also figure out what we need to make them look really cool in our game. Things like those fishes on the board armor can be hooked to a physics bone and flop around as our Fishbeard attacks you! How cool is that!?

———-

VS_silhouette11

Finally he’s all done up! The only thing he needs now is a skeleton and some animations and he’s all ready to attack our Vikings! I save out a flattened version of him to help me align the bones and graphics and then move it to a source directory it so it doesn’t take up texture space in our game.

———-

And that is that! Another week berzerks by here at Slick! we hope you liked another peek at our process and be sure to drop by next week where we’ll be bringing you only the finest in lane-based brawler development! Until next time, keep those bearded axes honed to a fine edge!

Jesse_avatar64 -Jesse

 

Twitter: Nick: @nickwaanders Jesse: @jouste Caley: @caleycharchuk SlickEntertainment: @SlickEntInc

Google+: Nick: +NickWaanders Jesse: +JesseTurner Caley: +CaleyCharchuk

Facebook: https://www.facebook.com/SlickEntertainmentInc

 

Posted by: Under: Art Work,Slick Entertainment,Vikingsquad Comments: 2

Dev Blog: 112: Viking Housing Rocks!

05/14/2014

devblog_header08

Welcome back followers of the fearsome!

This week we’ll be looking at some of the architecture and culture we’ll be cramming into our starting area! Our viking voyage starts from a simple hunting village that’s going to look super cool and have a bunch of neat elements going on. Here we’ll be showing you guys some ideas of what we’ll be creating for one of the first places our players will see!

VS_Doc_08

We’ve taken a TON of liberties with our Slick Vikings and are not going too traditional with historical facts and whatnot. That’s not to say that the Norse explorers were not insanely fascinating but we tend to be able to create a lot more content faster if we are unbridled from realism and can just go crazy. In this image we can some ideas of the housing that our vikings would use. There’s a lot of great reference online (as usual) and they show old, viking houses being insulated with the earth and some have even grown a very cool lawn of plants on top of their roofs. We really wanted the start of the game to be snowy and cold so we covered the buildings with a heavy layer of snow instead of the grass and kept the crossing lumber “horns” at the top of the structure.

Although taxidermy wasn’t really around till like 700 years after the Vikings, we thought it would be funny to have monstrous trophies and other things around the houses to show that these characters mean business. Small stone statues will also be breaking up the rock formations with some cool shapes and details. Hopefully the warm color of the wood will look super next to the freezing winds! (fingers-crossed).

———-

Working with such a big screen size can get pretty hard to handle when making assets that need to occupy that much screen-space, so to handle this we mess around with a postcard sized image of what the layout could be. Here it’s much faster to hammer out ideas and get things roughed in. Here we played with a shingle style roof on a building but after some discussion, realized it looked a little too Asian inspired and that we really wanted snow on top of everything like in the above images. We also added some ideas for training dummies, weapons racks, and foreground elements.

villagebuilder01

In the image below, we’ve  done up the foreground rocks as an in game asset. Just like in Shellrazer, we draw everything at double resolution then half it down to keep the detail level nice and high. The Large foreground rock here is over 2000 pixels high when at full resolution! With a bunch of files like that floating around, we have some pretty massive photoshop source files. Luckily we have other tricks to keep the asset size down and the game running smoothly.

VS_silhouette07

———-

Well that’s all for this week! We have been showing our game around and getting some great feedback, Viking Squad is getting better everyday and we couldn’t be more excited. Thanks a bunch for coming and checking out our side of the industry and until next time, keep those voyages long and lootful!

Jesse_avatar64 – Jesse

Twitter: Nick: @nickwaanders Jesse: @jouste Caley: @caleycharchuk SlickEntertainment: @SlickEntInc

Google+: Nick: +NickWaanders Jesse: +JesseTurner Caley: +CaleyCharchuk

Facebook: https://www.facebook.com/SlickEntertainmentInc

 

 

 

Posted by: Under: Art Work,Slick Entertainment,Vikingsquad Comments: 1

Dev-Blog 111: Procedural Goodness Part 5

05/07/2014

devblog_header03

Welcome back, followers of the fearsome!

Let’s talk about some more procedural tech stuff. First off, we’re not using procedural generation to generate everything in the world. We’re using procedural generation to drastically speed up the handcrafting of levels, and as a nice side benefit, the procedurals generate a slightly different outcome each time we place a chunk of level in the game. So basically we ‘program’ the way we want a chunk to look.

Let’s start off with a screenshot of our editor, and then I’ll talk about some stuff you see in there:

Procedural

This is an example of a procedural lane for Viking Squad. The game creates multiple of these next to each other to generate a level.

On the right you can see a treeview of the procedural. The way the procedural generation works is that each node in the tree gets a list of transforms from the parent node. A transform is a matrix, which holds the position, rotation, scale, etc, for that particular point. The node can do anything it wishes to the transforms, such as add new transforms, remove a few transforms, change the transforms, etc. When it has completed with the transforms, it passes these transforms on to the child nodes. Each child node in turn can do things to modify the transforms again, etc. Some nodes can also choose to use the transform to place an object, like a mesh, sprite, image, sound, effects, etc. That’s pretty much it in a nutshell, but I’ll go through the treeview in the image above a bit more.

It all starts with two transforms from the Root. These transforms are shown as the two little red spheres on the left and right ends of the lane. In the procedural editor, these two points are movable for testing purposes, but in the game these transforms get created based on where we want the lanes to be.

Right underneath the Root node, there’s a LaneMesh node. The lane mesh basically draws the base mesh between the two transforms. If we were to just draw the lane mesh, you’d see the left image below. There’s a bit more to the lane mesh than meets the eye. I’ll get into that a bit later. First, let’s continue with the procedural stuff.

ProceduralBase ProceduralTop

Next there’s an ‘InLane’ folder node. We use these folder nodes purely for organizational purposes, they don’t do anything for the procedural generation.

Then there’s a ‘Repeat every 1 meters’ node. This node grabs the two transforms that came from the parent node (in this case the Root), an it generates multiple transforms in between these transforms, spaced 1 meter (adjustable) apart. So now we have a bunch of transforms that get passed down to the ‘Random Transform’ node.

The Random transform node alters each of the incoming transforms by offsetting, rotating, or scaling the transform by a random range. Now we’re left with the same amount of transforms, but they are all scrambled up into random positions. We’re almost getting to the point of actually placing some stuff!

Next there’s a Random (one of) node. This one is a bit special. It basically selects one of the child nodes to use each time the procedural is generated. There’s a subtlety to it though. If the Random (one of) node would select one of the nodes underneath, and pass all it’s transforms to it, it would basically mean that for each time the procedural gets generated, ONE child node would handle ALL transforms. Sometimes though, we want a different image on each transform! The Random (one of) node actually has a flag to split up the transforms into individual segments, and pass these segments to a random child each time. Now we can get a random image to placed on each incoming transform. Sweet!

Now there’s a Place Image node, which does exactly that. It places an image on each incoming transform node. It has a few parameters such as a random color multiplier, random size multipliers, etc. All in all this means that the procedural can look drastically different each time it gets generated, which is exactly what we want! The result is shown in the right image above.

Alright, now to lane meshes. If you look in the images above, you might have noticed that the perspective we used is PFU. (Pretty Fucked Up™). It’s almost isometric, but not quite. It’s using a 5 degree field of view for the camera, but it also uses a skew on the depth axis (which is the Y axis in our case), so that any lines along the X axis are perfectly horizontal. This weird perspective made drawing textures for the lane meshes quite a challenge.  The lane mesh is actually rendered as a stretched cube along the X axis. Below is an image of the lane with a default coloured texture on it:

LaneMeshOriginal

We first tried drawing the individual textures for the tops, sides, and fronts, but we could never get it to fit properly, and not look stretched or like lines were discontinued. We needed a different approach. Whenever Jesse creates concept art, the lanes look really cool, and that’s the look we were going after. However, drawing the different textures in this faux-3d space created quite a few problems. So to mitigate this, I created a little tool that generates a template texture, for Jesse to draw over. When he’s done, he can import this texture back into the editor, which grabs each piece, unskews it, crops it, and exports it as a separate texture. Here’s the texture the editor generates for Jesse to draw over top of. I’ve added text to show what each part is:

Texture

As you can see, there’s two top lane parts. This is because we want every odd lane to look different from every even lane (so there’s more distinction between lanes).

When Jesse draws over top of this, this is the result:

LaneJesse

Now this texture gets processed in the editor when he imports it, which cuts the hand-drawn texture up into separate parts to wrap over our 3d cube. Now, it’s hard to explain how this works exactly, but here’s a video that shows it all:

First, I show how the procedural generates a new version every time you move the nodes on the sides. Obviously in the game we only generate it once, and then use that for the entire game. Next, I show a normal perspective camera view, and you can see how the texture Jesse drew is wrapped over the 3d mesh. It’s kind of a weird optical illusion, but it works perfectly from the default game camera! :)

Alright, that’s it for this week, gotta get back to work. I hope I didn’t confuse you too much! :)

Nick_avatar64 – Nick

Twitter: Nick: @nickwaanders Jesse: @jouste Caley: @caleycharchuk SlickEntertainment: @SlickEntInc

Google+: Nick: +NickWaanders Jesse: +JesseTurner Caley: +CaleyCharchuk

Facebook: https://www.facebook.com/SlickEntertainmentInc

Posted by: Under: Tech Comments: 1

Follow us!

titlebutton_twitter titlebutton_facebook titlebutton_youtube titlebutton_twitch titlebutton_spreadshirt

Join our mailing list!

/ /

Dev Blog

January 20 2017

I almost can’t believe it: Slick Entertainment is a decade old! In the last 10 years we’ve made a bunch of great games, and I am super proud of what we’ve achieved with our small team: 4 fun games, custom C++ engine on 6 different platforms, 3 games feature online multiplayer, all hand-drawn art for […]