Is there life after death? Embark in a surrealistic afterlife journey, discover the secrets of a new and misterious world in this atmospheric light puzzle-platformer with a hint of stealth. Explore a warm voxel world with an cinematic approach. Dive into this deep reflexive experience and try to find the exit!

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Control Improvement: How?

News

Hello, fellow travellers. These days have been a little chaotic but here we are, in the bastion of development.

So we asked ourselves, what is the thing you NEED to know now that the world is ending?

Yes, you got it, we’re talking about character control and how it was made!

The first order of business to create a good control was to figure out which were the principal actions we wanted the player to be able to take. In our case:

  • Walk/Run
  • Jum / Vault / Vault Wall
  • Push
  • Interact
  • Crouch

DEEXIT AgachadoDEEXIT SaltarDEEXIT Correr

Vault gif NoBordeVault gif BordeInteractuar


Our priority was for the control to feel precise and fluid, and to make the player feel that they can reach any place without having to think about it for too much. In that sense we want the player to feel movement in the world is intuitive and organic. Movement and exploration should not be a puzzle in itself.

To do this we have used the following main components:

Character Input:

In our case, we considered it more important to work with controllers instead of mouse and keyboard. This allows for a more fluid feeling and a higher range of movement for the character.

But there’s one issue: today thousands of controllers exist, each one with its different buttons, mapping… Preparing the game for each of the controllers independently would have been a colossal task. That’s why we chose to use Rewired, a great and useful unity asset:

Assetstore.unity.com

No, do not worry, this is not a brand deal. But after exploring and investigating we found that Rewired was one of the best assets in unity’s asset store to help with player control.

Capas omqoowyuljxfyvyoogvx7kq7cs

In addition, and to be able to have further control on player input, we have created an additional layer, the “CharacterInput”, which allows us to extract the player from the rest of the code from the input. This gives us more flexibility as developers and makes it easier for us to adapt: if we decide to stop working with Rewired at a given point, we will not have to recreate the player’s input code, we will just have to tweak this new layer.

Character controller:

In Unity there are two main ways to create character control.

  • Using a character controller;
  • Using a rigidbody;

The battle for “which option is better” has been talked about in detail already. You can watch here a video by Master Indie that explains very well the main differences:

Youtube.com

In our case, seeing that we don’t prioritize realistic physics as much, we decided to use a Character Controller, that gives us a lot more precision and control. The downside of this is that we have to implement and add a series of things by ourselves, such as jump physics, gravity when characters fall, etc..

Animator:

As we said in the introduction, we are looking for a smooth and natural character movement. We achieved this, on one side, thanks to Motion Capture (or Mocap) animations. These give a more human and realistic aspect to the character, and contrasts nicely with the voxel aesthetic of the game.

Animator 1024x576


Also, to add even more fluidity to movement, we have been very careful with transitions between animations. This allows us to avoid weird cuts when the characters goes from one action to another. It is also important for the character to adapt to the world it’s moving in. That is why we have a big variety of transitions possible. This is used for vaulting on top of objects of different sizes for example. The character will climb on small obstacles with only one foot. Inversely, they will jump and grab the edge of the platform if it’s too high to vault normally.

Unity allows us to assign scripts to each state of the animator. This lets us execute chunks of code only when the character is in a specific state. This comes very handy when we compartmentalize our code and helps to improve the traceability of our errors.

CharacterMove:

This is the main script we use for character logic. It handles each of the states of character control, activating in each situation the correct animation and moving the Character Controller in the desired direction.

InverseKinematic:

The Inverse Kinematic (or IK) is a technique that determines the movement of a series of bones and articulations (be it a leg, an arm, a neck…) to place them in a specific position.

The objective with IK (opposed to forward kinematic or FK) is to find the values that each bone has to have in order for them to be oriented and located following a specific position.

To make it clearer, when we record a Mocap animation and implement it in the character, the character bones will move following this animation. There we use FK. In FK the bones follow the position and rotation of other bones. In IK, you can force the bones to stay in a position or follow a certain rotation that might be unnatural. In our case, we use IK to force the bones to behave in a way they don’t in the original animation. For example, we use this so that the character looks at certain elements in the scene (maybe a key object, a hidden path… ). By doing that, we bring attention to the player to what the character is looking at. We tell the head bones their final position and rotation and, from there, we calculate the rotation of the body, neck and head for them to adjust to the final values.

Mirar


We are currently working on improving the Inverse Kinematics in D E E X I T . The goal is to overall improve the way that the character interacts with the world. This would allow us to make it so the character’s feet adapt to the shape of the floor, for example. It would also make it so the character touches a wall when one is too close. In general, it would help us with improving realism and fluidity in character control.when one is too close. In general, it would help us with improving realism and fluidity in character control.

Feet IK omqozcyaja84ywsjozeowxuk


This is all for now. We will keep hard at work on character control and all other departments. And if you want to be more aware of what we do and help us on developing D E E X I T , we will also be sharing special testing zones on our Discord server. We would love it if you could check it out and give us your feedback on all this!

Discord : discord.gg/fx3dMh5

Polishing a Cube: March 2020 Update

Polishing a Cube: March 2020 Update

Feature

Improvements summary. If you are asking yourself: Which objectives have we achieved in the lasts weeks? What are we doing right now? What are our future...

From the past to the present: D E E X I T

From the past to the present: D E E X I T

Feature 2 comments

Fist entrance of our Devblog, where we explain how the demo of D E E X I T have evolved since we started work full time on it! This are the points we...

Comments
LunarShuriken
LunarShuriken

Amazing visuals!

Reply Good karma Bad karma+2 votes
SandBloomStudio Creator
SandBloomStudio

Thank you so much! We are pouring a lot effort to make the game look as much good as possible!

Reply Good karma+2 votes
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Profile
Icon
DEEXIT
Platforms
Windows
Publisher
SandBloom Studio
Engine
Unity
Contact
Send Message
Release date
Game watch
Follow
Share
Style
Genre
Cinematic
Theme
Abstract
Players
Single Player
Project
Indie
Twitter

Latest tweets from @sandbloomstudio

RT @eastasiasoft: Are you ready for EMMA: Lost in Memories? Preorders for our #PSVita Limited Editions will open in 24 hours with… T.co

13hours ago

We backed the #SwordOfTheNecromancer on #Kickstarter! The Dungeon Crawler RPG with #RogeLike of @GrimorioG publishe… T.co

14hours ago

And you? What has you most excited about EMMA: Lost in Memories for #PSVita? Have you already played the smartphone… T.co

18hours ago

RT @GrimorioG: Sword of the Necromancer NOW on Kickstarter! Kickstarter.com #gamedev | #indiedev | #indiegame |… T.co

19hours ago

Today our friends of @GrimorioG lauched their @Kickstarter campaing for #SwordOfTheNecromancer with @JanduSoft! Tak… T.co

19hours ago

RT @JanduSoft: Sword of the Necromancer on #kickstarter NOW! Kickstarter.com

19hours ago

RT @eastasiasoft: What has you most excited about EMMA: Lost in Memories for #PSVita? Is it the unique platforming gameplay concept?… T.co

Apr 7 2020

RT @Cosmokeeper: @SandBloomStudio @eastasiasoft @JanduSoft Of course it's a purchase for me in a heartbeat as soon as the physical… T.co

Apr 7 2020

RT @JordyVrinssen: @eastasiasoft @SandBloomStudio @JanduSoft Havn't heard the soundtrack yet, but I did watch the trailer . Gameplay l… T.co

Apr 7 2020

RT @SandBloomStudio: We are so happy to finally be able to talk about this! Beeing able to see our game in a physical form is magical re… T.co

Apr 7 2020

Embed Buttons
Link to DEEXIT by selecting a button and using the embed code provided more...
DEEXIT
Statistics
Last Update
Watchers
4 members
Articles
3
You may also like
Raindrop
Raindrop Cinematic
Lonely
Lonely Cinematic
Alt-Frequencies
Alt-Frequencies Cinematic
Elysian Fields
Elysian Fields Cinematic
UltraBox
UltraBox Cinematic