• Register

This member has provided no bio about themself...

RSS My Blogs

King, Witch and Dragon. Devlog #3

Torchinsky Blog

So, the models of the main character and his abilities are ready, now it's time to prepare it for animation. In my case there are 2 steps: rigging (create and setup virtual skeleton) and skinning (connect mesh vertices to the virtual bones).

Preparation

I have experience of creating 3D models, but I've never rig them myself before. I decided to dedicate some time to research and learn the theory before I start.

Unfortunately there is not much really useful stuff about rigging and skinning in the internet. Most of the tutorials are very basic and generic. I started to dig deeper and found some interesting stuff.

First, I found this course - Character Creation Volume 2 – Rigging.

In general this course is quite useful and gives basic understanding how the whole thing works. The main disadvantage for me was that the model and techniques and author shows are more suitable for cinematics rather than in-game animations.

The real gem and revelation for me was course The Art Of Effective Rigging In Blender.

In this course I found everything I needed - the author is professional rigger and really knows his stuff; rigs can be exported to Unity and Unreal; author showcase intermediate and higher level techniques.

The only disadvantage is very strong french accent :) But it is nothing compared to amount and quality of knowledge that you get from him.

Having all this in mind I started to create my own rigs...

Main character

To start I made a deformation skeleton which is basically set of bones without any controls. Then I skinned main character's mesh to this skeleton and tried several poses to see if "skin weights" are correct.

Main character rig test

Then I created the rig. In my game character has a wide spectrum of possible moves and animations (moving on slopes and walls, air movement, ground attacks and air attacks, animations for special abilities, etc.) so the rig should be able to provide this freedom.

I ended up with this:

The main features are:

  • FK/IK switch for arms and legs
  • isolated rotation switch for arms, legs, neck and head
  • hand and fingers controls
  • foot roll in 2 directions
  • cloth controls
  • hair controls
  • switch to snap sword to the hand
  • sword controls (bend and twist)
  • facial rig

Main character facial rig

Special abilities

I also made rigs for all the special abilities except tentacle because it supposed to be created and animated procedurally.

Spider legs

Spider legs rig

It's just a simple IK-chain that will be animated procedurally in the game engine.

Bat wings

Bat wings rig

Pretty simple. It will be used just for a flapping animation.

Snake

Snake head rig

The tail will be animated procedurally and for the head I made a simple rig like that.

What's next

Next step will be animation and integration. This step will take some time because it also requires some theoretical preparation.


To get more updates, materials and WIPs on the project follow me on Twitter, Instagram and join Facebook page.

Cheers!

King, Witch and Dragon. Devlog #2

Torchinsky Blog

In previous blog-post I've shown concept art for the main character and his special abilities. Now it's time to see how it looks in 3D.

Humanoid character template

For the first I decided to make a generic humanoid model that can be used as a template for all other anthropomorphic characters in the game.

After digging into polycount wiki I found good modeling references and also some useful articles about mesh topology.

Another interesting challenge for me was Blender. Around 10 years ago, when I just started learning 3D-modeling, Blender was... let's say, weird (compared to other 3D-modeling software at that time). Then I took a long break from this hobby, but with the release of Blender version 2.8 I was tempted to give it a try.

After a couple of evenings messing with vertices I ended up with this:

humanoid template front

Not very impressive, but good enough for the template.

Main character model

Next logical step would be creating main character model based on that template. My goal was to stay below 10k tris budget.

CorruptedPrince model front

So, I almost did it. But I believe in that particular case 150 extra tris won't make any difference.

Unwrapping and texturing

When we create models for games the significant amount of memory is consumed by textures. It's a common practice in AAA-pipeline to use several textures of 2k or 4k size (Diffuse map, Normal map, Specular map, etc.). I set the goal to use the least possible amount of textures of the minimum possible size.

Because of the main character is going to occupy just a small portion of the screen (1/8 of height more or less) and also because I chose cel-shading for the visual style it made this task a bit easier. First of all we don't need very high level of details on textures, nobody will see them anyway. Second, cel-shading implies having "flat" light and shadow without gradients.

I decided not to use Normal maps and Specular maps at all and achieve desired result by using vertex colors and my own custom shader. I wrote an article about this shader with the examples and source code included.

To avoid complete loss of details on the texture I used the trick from the GDC talk where technical artist of Guilty Gear series explains their character creation pipeline. He made the texture and unwrap in a way to have crisp sharp black lines on the model to emphasize shaded areas, folds, seams and "internal outline".

UV unwrapping

My last consideration was about using the same material for the main character, his weapon and all his special abilities. With this approach the whole character can be rendered in just 1 draw call. In fact there are 3 draw calls: main model, outline and shadow caster, but still...

So, basically I was creating texture atlas instead of a single texture. I ended up with 1 texture, 8x16 pixels, 384 Bytes.

texture atlas

Here you see the texture with 30x zoom. In reality each square is just 1 pixel.

There a several clusters on this texture. Left column is main character "palette". In the middle column there are 4 clusters - "palettes" for the character's abilities, the column on the right is for the weapon. Black pixels in-between needed to be able to create these sharp black lines on the model.

All the models below use the same material with just 1 single texture

Main character

Main character turntable

Weapon

Talon blade turntable

Bat wings - double jump ability

Bat wings turntable

Spider legs - wall crawling ability

Spider legs turntable

Tentacle - grappling hook ability

Tentacle turntable

Snake - dash ability

Snake turntable

What's next?

Now I can say that modeling phase for the main character is over. Next big step will be rigging, skinning and animating to see all of these in action. Yep, gameplay videos and GIFs are coming soon :)


To get more updates, materials and WIPs on the project follow me on Twitter, Instagram and join Facebook page.

Cheers!

King, Witch and Dragon. Devlog #1

Torchinsky Blog

In this blog post I'd like to talk about the main character of the game - Prince.

In "King, Witch and Dragon" Prince presented in 2 forms: normal and corrupted. This requires a little bit of a backstory...

Backstory

At the beginning of the game player starts as normal Prince. At some moment Prince has been beaten hard, almost dead. The Witch (I'll talk about her in following blog posts) brought him back to life through some not very pleasant ritual and turn him into corrupted Prince. She also helped him to get those abilities (double jump, dash, wall climb, etc.). From that moment, the goal for the Prince is not only to save the Kingdom but also to become human again.

Character design

kwad prince grayscale

I'm trying to be fairly realistic in terms of proportions and silhouettes. Since the game is in fantasy setting it makes sense to stick to medieval cloth and armor, but doesn't require to be 100% historically correct. That's why Prince has one arm protected by heavy plate armor and another with just pauldron and leather gauntlet. This also helps to break symmetry.

Important thing is that player should understand clearly that these are 2 version of the same character. That's why I keep bright accents on both characters (scarf, tabard, hairs) to create this connection.

The idle pose of each character should communicate how this character feels:

  • Prince is tall, strong, arrogant and way too self-confident
  • Corrupted Prince is the opposite - beaten, broken, exhausted

I created grayscale tone map for both characters (above) to check the contrast of different elements and visually separate them from each other. Then I created different color schemes for both.

kwad color schemes

After some consideration I decided to stick to color scheme #5, but later on when I was working on character's abilities I realized that color scheme #3 fits better to the abilities palette, so I switched. Also added some details, shading and outline to mimic cell-shading style.

Prince color new

Weapons

Prince has knight has classic Longsword with some dragon-related decorations.

Prince Sword

Corrupted Price got Talon Blade from Witch. It has scythe-like curved blade reminiscent talon or claw of a raven. To emphasize raven theme it also decorated with dark feathers.

Corrupted Prince Talon Blade

Character abilities

When I was thinking about abilities, from the game mechanics perspective I was trying to keep them familiar to the player, so I ended up with pretty standard set of "double jump", "dash", "grappling hook" and "wall climbing".

Meanwhile I was trying to make them very distinct visually. Remember that all his abilities Prince got from the Witch (not exactly, but we can say so at the moment)? So, keeping this in mind I tried to give all abilities some "witchery" vibes and make them related to some animals that people usually associate with the witches.

So, here we go:

bat wings

spider legs

tentacle

viper strike

What's next?

At the moment I consider concept art for the main character done. Next step will be 3D-model of the Prince.


To get more updates, materials and WIPs on the project follow me on Twitter, Instagram and join Facebook page.

Stay tuned...

King, Witch and Dragon. Devlog #0

Torchinsky Blog

King, Witch and Dragon

Introduction

King, Witch and Dragon is a fantasy platformer with 2.5D perspective (3D characters and environment, but gameplay constrained to 1 plane) developed by one person (me).
In this game player takes role of Prince - young, selfish and arrogant son of King, that has to save the kingdom from Dragon. At the beginning of his journey he will get several special abilities that will help him to navigate through game world and reach his goal: double jump, dash, wall climbing, grappling hook, etc.

Sounds like metroidvania? Here is twist.

During his adventure Prince will constantly lose his abilities and will become weaker. Player can choose in which order Prince will lose them, but there is no way to avoid it. Through this sacrifice young selfish boy will become true king...

In the game where avatar become weaker and weaker, the player has to become stronger, more skilled and get more knowledge about game world in order to succeed.

That is Antivania.

Is it too punishing and hardcore?

At first glance, loosing abilities may sound quite punishing and also limiting gameplay opportunities and depth.

I have a couple reasons to try this approach regardless.

Bullet sponge problem

In games that have leveling system or abilities unlock system the character becomes stronger and stronger throughout the game. To maintain level of challenge and difficulty game developers have to compensate character badassness. Usually by making enemies more tough (more health, more armor, stronger attacks, etc.). This approach leads us to "bullet sponges". For me this is lame design and I want to avoid it.

Character vs Player

There is another way to maintain level of challenge - keep enemies constant and degrade character.

My idea is that player (person in front of monitor/TV) is getting stronger to compensate character weakness. In that context stronger means better skill and better understanding of game mechanics and rules of game world.

For me the great example here is "Shadow of the colossus". In this game all the bosses always the same as well as main character (except slightly increased stamina at the end). This means that player has to master sword, bow, climbing, stamina management and controlling Agro. And this what makes me feels good about this game, the feeling of "I've become badass, not my character".

Adding puzzle element

Here is an abstract example.

The character has 2 abilities: to run and to jump. Lets say he is running and see a pit in front of him. If player knows that character can jump then he just jumps over the pit and moves further. But what if character approaches another pit and he doesn't have jump ability anymore? Player has to start thinking. Maybe he needs to find a wooden plank, build a "bridge" and run over the pit (he still has ability to run). Or he might fill pit with water and swim across (if he has swim ability). Or just backtrack a bit and try to find another way around.

This is another thing that game depth can come from.

Self-exposed challenges

There are tons of videos and streams like "Beating Dark Souls without parry", or "without dodge/roll", or "Defeat Ganon with a mop" in Breath of the Wild. Hardcore players like these kind of challenges that limit character abilities, and other players like to watch it. I just decided to make this optional challenges the main (and mandatory) part of the game.

Current progress

At the moment I have Character Controller with all special abilities implemented and tested on playground level:

  • run
  • jump
  • double jump
  • wall stick, wall climb, ceiling climb
  • dash in 8 direction
  • dash in complex shape tunnels
  • grappling hook in arbitrary direction to the walls of handles and enemies

Next steps

Plan for the next update is to work on some visuals: concept art for main character, his weapon and special abilities.


To get more updates, materials and WIPs on the project follow me on Twitter, Instagram and join Facebook page.