Dev Blog

Dev Blog 121: A Jarl most Jevil!

07/16/2014

devblog_header08

Welcome back followers of the fearsome!

This week we’ll be diving a little into the story we are building for Viking Squad! We were interested in the idea of an evil viking Jarl that has our hero’s village in a dark grip of greed and gloom. The spooky Jarl sends the vikings out to raid and pillage over and over to quell his thirst for gold and spoils. The Jarl is corrupted by evil and the Vikings are powerless to stop his reign of cruelty. Hopefully you can band together and unlock clues during your voyage to free your village and end the Jarl’s grip on your home!

VS_silhouette23

Designing the Jarl is a lot of fun because we just wanted an evil creature to boss the players around. When you’re allowed to design big broad strokes within the framework of “obviously evil king” you can add a lot of fun things to him. I really wanted him to be slumped in his throne, like uncomfortable in his seat because he really shouldn’t be in that position so i took it literally by making him to big for the throne. I also enlarged his hands to make grabbing at treasure and other things even more exaggerated. The Green eyes are another symbol of greed and make him more soulless than our pupil sporting main characters.

With a nice big and gross beard you have a lot of mouth shapes that you can use to exaggerate his expressions like him yelling in the bottom image here. It’s a trick a lot of great shows use like the Ice King in Adventure time to name one. All in all he looks pretty spooky and with a bit of work he’ll fit right into our Viking Squad universe!

VS_silhouette25

———-

So that’s it for this week’s dev-blog! We hope you guys have liked our quick little look into the badguys of Viking Squad and be sure to come back next week when we’ll be talking about even more Viking Squad related stuff! Until next time, keep those Evil Jarls in check!

 

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: 3

Dev Blog 120: Whats yours is mine!

07/09/2014

devblog_header08

Welcome back followers of the fearsome!

Vikings are made of two things, the strength to fight and the tenacity to take whats not theirs. The later is what I want to focus on in this blog post. A piece of recurring feedback we get is “I want to pick this up!”. Until now in Viking Squad you could smash enemies and items for treasure, however you couldn’t physically take anything with you.

During one of our initial play tests we had this random red gem that people were drawn to. Players would scrape tooth and nail pushing this thing back to their boat where upon arrival…it did nothing. We’ve taken this and turned it in to an actual mechanic where players can pick up large objects and return them to their boat for additional prizes!

Below you can see two vikings tossing a gem back and forth. With this new mechanic you can not only carry treasures, you can throw them at enemies or pass them to a teammate to get out of harms way!

GrabThrow

Once you finally get the treasure back to the boat you are rewarded for your effort. Some items like the gem break in to smaller items for cash. While others will actually stick with you on your journey altering further destinations.

HandIn

So there you have a taste of things to come! Happy looting!

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,Vikingsquad Comments: 0

Dev Blog 119: The Marauding Menace!

07/02/2014

devblog_header08

Welcome back followers of the fearsome!

This week we’ll be checking out some of the newer enemies we have planned for our Vikings to raid and demolish!

Even though we love our ugly little Draugrs they were never meant to be the only thing you’d be pummeling. Draugrs were initially the first enemies we drew fighting our Vikings in our game documents and were easy enough to design with their hodgepodge of rusty weapons and gross, green faces. If we needed to make a Draugr seem more powerful we simply added more heads to them and made them taller! Their weapons were always crude clubs and bits of rusted metals so we never had to worry about attack animations getting too graceful or complex. This was great because it really helped us work with the puppet technology and become better at animating and making art that works best.

Here’s a quick reference sheet if you’d ever want to draw your very own Draugr army! Be sure to add staples and nails to their ghoulish bodies to really add to that un-dead feel!

VS_silhouette20

The Draugrs were designed to be a flexible enemy visually so we could test the differences with scale and attack movements. We could easily make them big oafs or little gremlins quickly and without too much design work. This was great for our early development but we really wanted to start brawling with fellow humans.

————

Since the Draugrs are pretty simple mechanically, we wanted to get some enemies in the game that had combination attacks that could really damage players that weren’t careful. We decided on an enemy race we are currently calling “Marauders”. These super scary bandits wear black armor and use huge cutlasses and combination attacks to deal out the damage. Their look is an homage to the evil crew men under “Halfdan the Black” in the movie Erik the Viking. We are also playing around with the idea that they will be pillaging the map as well, taking the riches right out from under you if you don’t tangle with them fast enough!

These guys will be more advanced than our current Draugrs. Right now each Draugr has a melee attack and something else like a lunge or throwing weapon. The Maurauders perform relentless combo attacks. This means getting caught in an entire combo will decimate your health, it is also more difficult to find an opening to attack.

VS_silhouette21

————

So that’s it for this week! We hope you guys like our quick little look at some new enemies and ideas on our journey through the creation of Viking Squad! We’ll be pillaging out a new dev-blog next week so be sure to come back and until next time, keep your axes sharp and your helmets horned!

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: 0

Dev Blog 118: Scripting and Level Design

06/25/2014

devblog_header03

Welcome followers of the fearsome!

Since Nick gave a brief overview of our editor last week, I thought I would go in to more detail on how we actually script events and fights in Viking Squad. Before I get in to our tools I just want to break down the basic components of level design.

There are three key factors that play in to any games level design. Space, Time and Score. Understanding how these concepts form your game is critical when it comes to designing a scripting tool with the most flexibility.

Space. In games that feature characters, they often move from point A to point B in world space. You need to be able to control events depending on where the character is between A and B.

Time. The average human reaction time is 0.215s and the average human perception time is at minimum 2.5s. So we need a way to space events out in times perceivable by players. Time is a very important ingredient as it plays a major role in pacing. Unexpected events happening in quick succession lead to confused players.

Score. This is how we gauge the progress of a players actions. In an FPS it’s the number of enemies you’ve shot. In a puzzle game, the number of matches made or obstacles cleared.

So in our tool, we have triggers and scripts that let us manipulate these three key principals. All this is authored right in the window.

Encounters_FlowEncounters_Flow2

Our scripts follow a branching sequence of logic. The following is an example of a combat script. The fight triggers when the camera reaches a coordinate, this locks the camera’s position, which then leads to the spawning of enemies. Once those enemies are dispatched more follow at different times. The camera lock is removed once all its children are complete.

On any given node we can right click and add new ones. Or drag and drop existing nodes to rearrange the sequence. Each node is a class written in C#.

Trigger. You can see the trigger line represented in the window below. Once this line is crossed the children are activated in sequence.

Encounters_Trigger

CameraLock. The bounds of the camera lock are displayed in the viewport and can be adjusted to span multiple screens. The trigger that activates it can also be seen.

Encounters_CameraLock

Wave. Each wave can have multiple points with recurring spawns. You can see the points represented as spheres below.

Encounters_Wave

The nice thing about this system is we can write and maintain each node once and then instance it throughout every encounter in the game. As we write new scripts those can be seamlessly incorporated in to existing encounters.

Well there you have it. A look at the scripting system we use to create our action in Viking Squad!

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: 0

Dev Blog 117: A tour of the Editor

06/18/2014

devblog_header03

Welcome back followers of the fearsome!

Alright, this week we’ll give you a closer look into how we are developing Viking Squad. We develop the entire game in C# using .Net 4.0, and later port the game code to C++. The game is pretty much entirely developed in an editor that I’ve been changing and optimizing since N+. The only part that isn’t inside the main editor is the UI editor. The UI editor is a separate editor for UI-screens. Come to think of it, I should actually integrate the UI editor into this main editor as well… hmmm. Ok, first finish this blog.

I’ve created a base editor that I extend to fit the current game we’re developing. Here’s a screenshot:

Editor

So as you can see, there’s a big main window on the left showing whatever we’re currently editing, and on the right is the tools pane. The main windows is basically just an OpenGL viewport that runs our proprietary engine to render whatever we need to render. We use OpenTK to get OpenGL rendering in the main view-port with C#. It used to require XNA, but when Microsoft announced they would abandon it we decided to switch to OpenGL. This switch actually helped us port Scrap Metal and Shellrazer to mobile devices at the same time!

There are 14 tabs at the top of the tools pane. Activating a tab puts the editor in the proper ‘mode’ for that tab. So when you’re editing the general settings, it will just show a list of settings. If you’re editing a puppet, the main view will change to show only the selected puppet, and provide a UI for easy editing of the puppet. Here’s a list of tabs:

1 global settings Global Settings: This is a tab that just holds a big list of global settings, with things like the Camera settings, physics engine settings, etc.

2 destination Destination: A destination is one ‘level’ in our game. It consists of multiple chunks that are randomly put together. In this tab you can select which chunks are eligible to be randomly selected in the destination, which order they should be in, etc. You are also able to set some settings for the destination, such as which music to play, which background to use, and which puppet the destination should use in the world map view.

3 chunk Chunk: A chunk is a small piece of level. In this tool pane you can edit the layout of the chunk by painting lanes onto a grid:

Chunk Editor

You can also place entities and triggers. Entities are basically anything walking around or sitting on top of the lanes. Triggers can be used to create waves on enemies coming at you.

Chunk Editor Entities

4 lane Lane: In the lane editor you can define which different types of lanes there are, and what the settings are for each of these lane types. You can also select a procedural to represent the lane.

5 procedural Procedural: Procedurals are procedurally generated meshes, which we use for the lanes, backgrounds, and anything else that needs to be generated differently every time. I’ve blogged about this before here. This is where you can do stuff like this:

6 background Background: This is where we edit different backgrounds for  our destinations. This is also where you define the water/waves settings.

7 entity Entity: This is where we setup individual entities, adjust their behaviour, select which puppet they use to render, etc.

8 items Item: In our game, items are objects that can be equipped on an entity. The object can alter the current skin used by the entity, as well as alter the entity stats, such as health, stamina, etc.

9 dojo Dojo: This is where we can test our combat in an easy setting. Caley blogged about tuning the fighting before, and he basically uses the dojo to do this. When in the dojo, the joystick can be used to control your character, while the tools pane can be used to spawn any type of enemy.

10 worldmap WorldMap: This is where we edit our world map. We haven’t blogged about this much, but it is basically where you row your boat around to different islands. More on this in future dev-blogs!

11 play Play: This is the magic button. This button starts the game with a full UI flow. It is basically playing the game as an actual game, rather than just a bunch of separate setups in the editor. We’re able to play local multi-player games in here, and we’re working on getting multi-player over internet working as well.

12 puppet Puppet Editor: This is an editor I’ve built to be able to create and animate skeletal sprites (which we call puppets). You can also attach sounds, visual effects, and camera shakes to specific points in the animation. Another cool feature I added is the ability to set certain bones to be physics controlled. Even though it’s very simple Verlet style physics, it still gives a neat effect when things move in a physical way.

13 visfx Visual Effects Editor: This is where visual effects can be created and modified. I should probably do a post about how our visual effects system works one day. I think it’s pretty neat, and there are an enormous amount of possibilities with it.

14 textures Texture Editor: This is an editor I added for Viking Squad. All our textures are converted to a set of opaque polygons. We do this to get crisper edges, and it also gives us the ability to do proper shadows and lighting, which I haven’t implemented yet. Once I do it will be cool though! :)

 

Alright, I think it’s time to end the tour. If there is anything you’d like to hear more about, please leave us some comments!

Till next time,

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: Comments Off

Latest News

July 26 2012

VANCOUVER, British Columbia – July 26, 2012 – Independent development studio Slick Entertainment is proud to announce Shellrazer for iPad, iPod Touch, and iPhone, released on the App Store today for a temporary launch sale of $0.99 (regular $2.99). RIDE YOUR GIANT WAR TURTLE TO VICTORY OVER THE NASTY GOBLINS!! You are a Klang Clan […]

Dev Blog

July 16 2014

Welcome back followers of the fearsome! This week we’ll be diving a little into the story we are building for Viking Squad! We were interested in the idea of an evil viking Jarl that has our hero’s village in a dark grip of greed and gloom. The spooky Jarl sends the vikings out to raid and […]