• Register

Wield the Hammer of Seasons and explore Viking-inspired labyrinthine islands riddled with enemies, challenging jumps and original puzzles. Combine your dexterity with your partner to defeat the devious villain of this Norse tale, Fulvinter. And do not get distracted, a second duo of friends can join the action to compete for glory!

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

Modeling your fellow traveler


In Fulvinter, one plus one adds more than two. But … What happens when you play alone? Well, it happens that you control some more than your character. In Fulvinter, whether you play alone or in cooperatively, your character is tied to a partner.

childrens3y4

And this partner can be controlled by an AI or by another player. Well, the AI-controlled thing has its tramp :)


In this article, we are going to explain which is the trick and how we have implemented it.


Making off


Fulvinter was designed primarily to be a cooperative game but, on the premise that plays alone should be as much fun as play with your friends. That is one of the main ideas of the game. To achieve it, it was crucial that the AI replaces the fellow traveler must be good and does not make bad decisions.


Our first approach was to implement allied behavior as a full-independent AI. We had enough experience to carry it out, so it was the most obvious solution. But soon we discovered that having a full-independent AI in the game wasn’t fun.


How many games have you played where the allied AI virtually wins the game without your help? We didn’t think it was fun and it didn’t add anything to a single player’s experience. Play alone was worse than together and this was just what we wanted to avoid.


So, we turn the table upside down and approach the problem from another point of view. What if the player could handle both characters? Oh, wait… Hold your horses! How the player can control both characters?


Indeed that is not possible… directly. But not indirectly. Really the trick is the allied AI in Fulvinter do exactly the same actions that you did, but with a small delay. Most of the partner’s actions follow this rule, except the hammer hit that’s synchronized between player and partner. This allows you to predict all the time how the partner will behave and take advantage of it in your favour. Taken this into account, you can resolve puzzles o hitting an enemy even when the player isn’t near. You’ll see how useful it is!!!


But… How is this implemented? Well, Don’t panic!! We are going to talk about software design patterns.


The Command design pattern was initially used in the game to create the allied AI.

Command

If you want to know more about this pattern here you have a link where it explains it quite well.


Command design pattern


The allied AI was only a command queue that saved the commands that we are executed with a certain delay. Each action of the player was enqueued and then executed. All the actions except the hammer hit as we have explained before. We soon discovered that this approach was not the right one. The delay and the different starter position between player and NPC caused that the AI fails many times.


So we change our strategy radically. Finally, your fellow traveler search Smart Objects in the world. The Smart Object was used for the first time in The Sims game to solve the problem to manage a large number of a different object.


Smart Object in The Sims


Although the idea of executing commands remains and is similar, the approach is completely different. Smart objects are placed in the world and are independent of the position of the NPC, delay and the events that occurred in the game. They’re gonna be there at their place no matter what. The player with each action leaves these object around the world and the NPC goes looking for these objects and executing the orders that they contain. And finally, the smart object processed by the NPC is deleted to avoid repeating actions.


This approach solved 95% of problems that the first solution was produced but not all of them. There are some exceptional situations that we need to be handled separately. By way of example, we can cite the problem of mobile platforms.


In these type of platforms, the smart object can’t be placed in absolute position because the position where the player jumped can now be a position in the void and your partner to take a leap of faith.

Platform

The position must be relative to the platform. When the player enters the mobile platform, the redundant smart objects are removed and a new smart object is added to manage the jump on the mobile platform. Basically, the smart object performs the following actions:



    • Jump from the last valid point until the centre of the platform.


    • While the player is on the platform, the partner remains of it. When the player goes down and steps on the ground, the partner will also go down in the same position as the player.



And that’s how we solved the partner’s AI when you play alone. Making predictable AI that you can use as a mechanics. So, when you play alone, it’s up to you to use your partner as part of your playable mechanics. Surely you can come up with an original way to use it to your advantage ;)


Ysslandril, the Fulvinter's archipelago

Ysslandril, the Fulvinter's archipelago

Feature

Which island would you like to visit today? Let's do a little tour around this world of viking inspiration.

What is Fulvinter?

What is Fulvinter?

Feature

A small look at some gameplay foundations of our new game by @oppicaro

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 Report Profile
Icon
Fulvinter
Platforms
Windows
Developer
8Pícaros
Engine
Unity
Contact
Send Message
Homepage
Fulvinter.com
Release date
Game watch
Follow
Share
Style
Genre
Platformer
Theme
Fantasy
Project
Indie
Boxart
Boxart
Twitter

Latest tweets from @fulvinter, @8picaros

Uno más uno en suman más que dos 👫. Pero… ¿Qué sucede cuando juegas sólo? 🙀 En @fulvinter tu personaje va siempre a… T.co

Jul 15 2019 by fulvinter

RT @TeamOcclusion: Aquí tenéis algunos de los assets que se encuentran en la sala de guerra. Realizado por nuestro maravilloso equipo… T.co

Jun 26 2019 by fulvinter

¡Nuevo post de @fulvinter! 🥳🤩 T.co

Jun 25 2019 by 8picaros

¿Todavía no sabes a dónde ir de vacaciones?🏖️ ¡No te lo pienses más! En nuestro nuevo #post nuestra Lead Artist… T.co

Jun 25 2019 by fulvinter

¡Por fin! ¡Ya están aquí! Las promesas vikingas son sagradas, por lo que os presentamos los nuevos escudos del Drak… T.co

Jun 21 2019 by fulvinter

🌟CONOCE A NUESTRO EQUIPO🌟 Queremos que conozcais poco a poco a todos los miembros de nuestro equipo, para que pongá… T.co

May 29 2019 by fulvinter

RT @fulvinter: ¡Feliz #Orgullofriki! 👈 Nuestra concept @ojorypy no se ha podido resistir y ha hecho un homenaje a todos los que so… T.co

May 25 2019 by 8picaros

¡Feliz #Orgullofriki! 👈 Nuestra concept @ojorypy no se ha podido resistir y ha hecho un homenaje a todos los que so… T.co

May 25 2019 by fulvinter

RT @fulvinter: Today is the #GeekPrideDay Our Viking children were going to congratulate you but it seems that they have got into… T.co

May 25 2019 by 8picaros

RT @fulvinter: Hoy es el #OrgulloFriki 🖖 Nuestros niños vikingos os iban a felicitar pero parece que se han metido en un buen lío… T.co

May 25 2019 by 8picaros

Embed Buttons
Link to Fulvinter by selecting a button and using the embed code provided more...
Fulvinter
Statistics
Visits
405 (3 today)
Last Update
Watchers
2 members
Articles
3
You may also like
Meawja
Meawja Platformer
The True Slime King
The True Slime King Platformer
SonicGDK
SonicGDK Platformer
Skelattack
Skelattack Platformer
Clive 'N' Wrench
Clive 'N' Wrench Platformer
Thy Sword
Thy Sword Platformer