Abylight en Facebook   Abylight en Twitter   Abylight en Instagram   Abylight en Tik Tok   Abylight en Youtube   Abylight en Twitch   Abylight en Discord

Abylight en Facebook   Abylight en Twitter   Abylight en Instagram   Abylight en Tik Tok   Abylight en Youtube   Abylight en Twitch   Abylight en Discord

Blog

One Military Camp: How we create thousands of characters

Hi there, future Commanders!

My name is Miguel García and I am the Creative Director of Abylight Barcelona. In this series of articles we are going to be talking about the development process of our next game: One Military Camp. The idea being to show different areas of development such as programming, design, and art.

You’ll get a first row seat to what happens behind the curtain of game development while we still work on finishing the game. You’ll get to see the evolution of the game during this journey. If we do this right, you’ll also learn some neat tricks about how games are made, or at least our tricks for making great games!

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

In One Military Camp, characters are very important. They enter as recruits and then, as you assign them to different training sessions, they change their uniforms and evolve. They show progression while maintaining their physical features. Not only are the characters important for the game, but you will also see A LOT of them over time. After all, this is a management game with the usual camera set in an isometric-like shot. It’s essential to feel that there are many different characters and not just the same ones repeated over and over again and we need some mechanism to allow that.

We could summarize the list of issues to tackle regarding the character generation system in the following ones:

  • Change the characters’ clothes over time
  • Generate characters with different physical attributes
  • Some of the uniforms have hats, so we need to figure out how the hair adapts to the different clothes.

Mix and match

Let’s start by talking about how we build the characters. For this game we model them as 2 different pieces: bust and body. Each of these pieces are attached to the same male or female skeleton and in the game we select which combination of pieces to show according to gender, head and the necessary uniform. In terms of rendering, 2 draw calls are painted for each character.

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

This separation allows us to change clothes according to how the role of the character evolves within the game:

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

But only combining heads and bodies is not enough to generate a large number of different characters. For this reason we introduce two new variables: Skin color and body complexion.

For the skin color, we generate the diffuse textures of all the pieces of the character (heads and bodies) in two skin tones. We can combine them by changing the value of a variable in the shader, so that the color mixture is shown according to the value of a slider. This allows us to create different combinations of skin tone. Now we can generate a high range of characters from the same set of basic pieces!

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

To represent the body type, we use a technique called blendshapes. It consists of having different position states of the vertices of the 3D model stored in the same mesh. Using this technique we create a vertex state for slim and another for strong.

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

Just like we do with the skin tone, we can control the mix of blendshapes by changing the value of a slider, in order to achieve an interpolated result.

So far… this is the easy part! Things get really hairy when you want every uniform hat to work properly with all the different heads. Each head has a unique hair shape: some have it long, others with a ponytail, and even afro hairstyles.

How do we solve this?

Solving “The Hat Problem”

The solution is a brilliant combination of vertex painting on the 3D model plus a little bit of shader magic. For each head, we paint all the vertices of the hair in red (what in shader means value = 1 for that channel). This information can be read later in the shader to do a special interpretation, but it will be hidden for the player in the game.

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

After that, we associate each head with a list of spheres that delimit the “non-deformable” zone. The shader receives the spheres and for each vertex of the head painted in red outside one of those spheres, its position will be projected to the surface of the sphere. This creates the effect that the hair has been flattened by the hat or helmet and we avoid having to generate new head assets for each hat in the game, since everything happens procedurally in real time.

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

Using the right tools

At this point, with all these parameters and different elements for each character… we begin to feel that we are juggling too many things. Sure, some companies, (especially those with more resources), can solve this kind of challenges with brute force, employing a large number of personnel to take care of all that meticulous work. Smaller indie companies like us, we need to create many tools, to do many things with few people. For this project, we are currently a team of 16 people, but with the appropriate tools, we can achieve a high level of quality like if it was made by a bigger team.

Abylight’s development method is heavily tool oriented, and that’s an understatement. We make tools for each process whenever it’s possible, thus requiring fewer people to obtain great results. Of course, we’re not trying to cut staff, what we want is that the members of the team can focus on unique creation tasks, things where their time is well spent without having to do repetitive and absurd work. That’s why one of our first steps when we started the development of One Military Camp, was creating the character generation tool:

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

With this tool we can create the different characters, test the animations and set all the parameters to bring to life the thousands of unique recruits that will populate One Military Camp.

Once in the game, the characters look like this:

▷ One Military Camp: How we create thousands of characters | Abylight Barcelona | Independent video game developer studio in Barcelona.

Stay tuned!

This is how we manage to have all those tiny little characters in the game, feeling alive and different! But this subject is far from over. In future entries, we’ll tell you about the animation system. You won’t believe the issues that may arise when you want the characters to interact with objects on the 3D map and how we have solved them in One Military Camp.

If you’ve enjoyed this sneak peek into the development process, don’t forget to wishlist and follow the game on Steam! This way you won’t miss the next entries of this Development Diary.

https://store.steampowered.com/app/1743830/One_Military_Camp/?snr=1_2108_9__2107

See you soon!

Latest Posts:
Follow us on Twitter:
Receive in your email all the current information and the news that interest you from Abylight…

Subscribe to the Newsletter