Pathfinding + Animations Adapted to Different Characters
Hi there!
Alex here today to share some development updates regarding the live mode of the game. This post is for Patrons only so please don't share it, thank you!
Pathfinding
As you can see on our recently shared development roadmap, Jérémie has been doing research and tests for our pathfinding system lately. What is pathfinding, you might ask?
The first aspect of pathfinding is to generate a navigation map of where characters can walk, everywhere in the game world.
The zones in blue indicate where characters can go to and navigate.
The second aspect of pathfinding is to make the character move on that navigation map. An algorithm needs to calculate the fastest or more natural path on the map. Then, the character needs to be moved along that path. The movement needs to look smooth and natural.
Jérémie recently integrated a first prototype of pathfinding in Paralives so our characters can now find their way in houses and on the terrain which is pretty exciting for us!
A first version of our pathfinding. It will be largely reworked to improve and optimize the algorithm as well as to make the movement and animations smoother. Note: If the above GIF doesn’t play for you, try opening this Patreon post on a computer rather than a mobile device.
Pathfinding is a difficult system to develop for multiple reasons:
The algorithm to generate the navigation map is complicated and it also needs to be very optimized because the navigation map will need to be quickly recreated when players place a wall or piece of furniture.
The algorithm to find the best path is also very complicated and needs to be optimized because characters are very often walking to different places in their house and in the world.
When trying to find the best path, there are many things to consider. For example, the fastest path to get to the park might be by walking through a stranger’s lot but we want to avoid that.
Sometimes, a character needs to interact and animate with an object on their path like possibly stairs, ladders, doors. It’s even possible that a character needs to swim through a swimming pool in order to get to the desired location!
Other characters might be blocking the way so a moving character sometimes needs to pause and wait for another character to free the way.
Adding wheelchairs has been requested a lot and is something that we are looking into. We would need to have alternatives to stairs and also wheelchair accessible furniture to make it work without limiting the game experience too much for Parafolks using wheelchairs.
Eventually, we will have cars and bikes so characters will need to consider if they want to use these to get to a location. Cars and bikes will have their own pathfinding quirks. For instance, cars can only move on roads and a character on a bike cannot climb a ladder!
We will be working on all these challenges and it will be really satisfying to see our Parafolks walking around everywhere after that!
Animations Adapted to Different Characters
A while back, Anna was working on dynamically adapting character animations so that they work regardless of the height of the characters. It was put on hold while we were working on other aspects of the game but we have now resumed. Good progress has been made lately and also modders will now be able to use these procedural tools to adapt their own animations.
Let me tell you about an example for a dynamic and procedural animation. As you might know, the height slider is an important feature in Paralives but it adds many challenges for animations in live mode. For instance, when sitting on a chair, if you are tall and have long legs, you might need to bend the knees a bit more when sitting. If you are short, your feet might not even touch the ground while sitting. Since a character can be of any height, we cannot simply do multiple animations. We need to adapt the base sitting animation dynamically to make it look natural regardless of the character’s height.
The top image shows the sitting animation without the procedural adaptation while the bottom image has them. The sitting animation will still be improved. For example, right now, the hands are floating above the thighs but they need to rest on them. This will also be fixed by using our procedural animation system.
The procedural animation tools will be useful for all kinds of animations. When grabbing a cup on a table, a short character’s arm will have to be raised higher than the arm of a tall character. When two characters kiss, the short one will need to look up while the taller one will look down. Same thing goes when hugging, dancing or just talking. In short, the tools we are building will be extremely useful and will make the animations a lot more realistic and smooth!
Have a great weekend and take care!
Alex
Comments (45)
I do hope wheelchairs could be added in a later update if it's not possible for the base game.
All of this work is amazing! Totally get that wheelchairs would be difficult, any disability representation would be great!
Any possibility of 1st person WASD control for the parafolk? I can imagine this being useful particularly when using cars, bicycles and horses.
Waow quel travail ! c'est vraiment génial de vous voir travailler sur des possibilités que je pensais voir dans Les Sims, sans que cela soit le cas. Là, ça devient vraiment concret avec Paralives !
"Other characters might be blocking the way so a moving character sometimes needs to pause and wait for another character to free the way." If it's possible, instead of just waiting for that character to move (which, depending on what they're doing, might take several in-game hourse), it would be great for the moving character to interact with the character in the way and try to get around them. Perhaps it could be personality dependent—if they know each other well enough, the moving para could push the stationary para gently to the side or step into their space and skirt around them. If the parafolk is more brusque or in a bad mood, they could elbow their way past, causing the other para to get upset or annoyed. Or shy paras might decide it's not worth it to get past them—then they could wait or decide to cancel the action altogether rather than face a potential confrontation. I'm mostly interested in this because when your moving character can't pathfind past that other character they often end up just standing there, checking their watch and wasting time. It's tedious to play through. If the character looks like they're going to be stuck there for awhile, the course of action for the player shouldn't be to switch over to the the stationary character, cancel their action, and move them aside so the moving character can get past. This isn't even an option when the stationary character is an NPC. So having some kind of alternative would really help keep paras moving and active and players from feeling frustrated—as well as potentially offer more opportunities to show off parafolk personalities and make the game feel more wholly immersive.
Will it be possible to make ramps that can be set to different lengths and heights to be a part of build mode too as an alternative to stairs and elevators to get between different levels or just to add some diverse elements
Eeeeeee!! 😍🥰
"Adding wheelchairs has been requested a lot and is something that we are looking into. We would need to have alternatives to stairs and also wheelchair accessible furniture to make it work without limiting the game experience too much for Parafolks using wheelchairs." Idea by NebulaDreamer on Discord: "the stairs all falling flat and turning into a ramp to let the wheelchair using para just roll up". So, basically, when a Para in a wheelchair approached a flight of stairs, an animation would play turning the stairs into a ramp the Para could use. Not sure if that'd be possible from a coding point of view, but it sounded like a neat idea. Of course it still wouldn't work for spiral staircases for example, but that could be solved by elevators and other physical aids (like those tiny elevators that you attach to the stairs as well".
I hope elevators (of many styles) are a part of build mode -fingers crossed-
I'm so happy to see something even as simple as basic pathfinding (though I know it's not as simple as it seems). The live mode is slowly starting to feel tangible!
I'm really really excited that you're looking into adding wheelchairs ♿️ ✨ Being able to play as oneself / recreating oneself is such a big part of playing life sims, and having wheelchair options would be huge for so many players! Thank you as always for sharing your process in such detail, it is truly fascinating to see. And especially explaining the procedural animation thing, it's super interesting! Wishing you a relaxing weekend ☀️
I love all the effort you’re putting into this game!! So many details as well!! I also wanted to ask if we could use horses a form of transportation as well? That would be really cool!
Fantastic :)
Something I'd like to see in the future (I imagine this wouldn't be something that'd come in the initial release) would be the option to move your paras with WASD rather than using point-and-click, to give more control over the direction they go. I'm not sure how many other people would want this, though, so I doubt it will ever make it into the game. Just wanted to put the idea out there.
Poor Mustache Para looks a bit chilly 😂
it would be nice to sit a child on your lap or carrying a baby while sitting.
That would be lovely to see indeed. It's the kind of stuff that we will be looking into when we work on babies and social interactions later
When you mentioned not wanting paras to pass through a neighbours lot it made me think, what if there was a trait like rude/inconsiderate and one of the features of the trait would be that paras would be willing to take shortcuts (like cutting across someones front garden) to get around that other paras would consider rude or inappropriate.
Right. Plus if it creates issues with a neighbor (worsening the relationship, or triggering a defense reaction like releasing the hounds, or anything), all the better. I don't think this particular case is an issue, as long as there are consequences.
Congrats on the pathfinding protoype! The gif of Sebastian walking to the directed spot made me clap with joy. Game development is so far beyond me (I hate C++) so reading about how a game comes together is so exciting! The navigation map image is fascinating. Also I'd argue I'd prefer seeing a character go up a ladder with a bike than not. Just have the same speed and animation of riding a bike but vertically LOL
Thank you! Hahaha, the bike going up the ladder would definitely be cool to see
Idea; to make the pathfinding even more tricky, how about making parafolk be able to step over small objects like a plushed animal or a stack of plates.
Would really be nice! We will have to see if it's possible
Idea: if it's possible to implement this feature, what if, when there's a household object in the way, like a couch, or a banister, if the character is a little bit cocky, energetic, adventurous, they'll jump onto it, and walk over it? Have people who are skilled at parkour jump over banisters, and down to the ground. If there's a pool, or any other gap in the way, have these characters attempt to jump over it as a shortcut. If the distance is too far to jump, have them pathfind the nearest possible point where the jumping distance is doable.
That would definitely be really cool to see! However, it is also definitely a technical challenge. In addition to the navigation shown in the first screenshot of the post, we would have to consider jumps between things which complexify the algorithm to find a path. But we will most likely dig into these ideas to see if it's possible!
Wow! You guys are geniuses!!
Alex, thank you for sharing! It is so good to know we have reached this point in game development and I love how much each phase reached excites you and the team, too!! The passion you and your team has for Paralives shines through in the creative and innovative ways you guys overcome challenges and path routing is a key element for proper animation in actual gameplay. I appreciate the time and care being expended to make it right and for sharing how it is being accomplished. Excellent work, and thank you again. I'm so excited for more animation previews to come!
Thank you so much tey and everyone for all the support and kind words <3 <3
It's also great to see Paralives progressing! I love reading all the development details and about the steps you have to take to complete certain things! These are details I've always been curious about with video games.
In terms of processing time, I don't know how impactful it would be to adapt pathfinding to individual characters, but it could be neat to do that if it's possible. I suspect you might have to for wheelchairs/bikes/cars anyway For example, a character that's more impatient or just late for work/in a rush, they could be more likely to cut across a stranger's lawn to get where they're going, or walk through grass in general as opposed to following paths. More impatient characters could also be more likely to do that sideways shimmy between two pieces of furniture, while more laid back characters would take the long way around. More confident characters could ask another para to move out of their way when their path is interrupted, and less confident characters would wait or find another way around Some characters could be more willing to do socially unacceptable things to get where they're going, like walking through a yard, an employees only area, or walking through someone's bedroom to get to a closer bathroom, vs going to a farther bathroom that's in a hallway
Very cool ideas! This is something that we will be able to analyze to see if and how it could be done!
-If an object blocks the path, I hope we see a thought bubble with a picture of the object causing the issue. -If, for example, there are 4 paras all walking into a tight intersection hallway, I hope there is a way to either sequentially or randomly determine who gets the "right of way" so they're not all waiting for each other to move and get frozen in a standstill -I hope there's a priority ranking. Top priority would be a group of paras interacting with each other or an object...e.g. this would not be automatically canceled or disturbed if a para is trying to get by them
Thanks for sharing these, they are really great suggestions! We will definitely be looking into these things
The animation news is cool, thanks for sharing. Also, my brain can't help but go "This is the weirdest train I've ever seen", who invited Near-Naked Ed?
Hahaha! :D
Great news that basic pathfinding is working! I also love seeing all the behind the scenes fixes that need to happen. Adding height is a lot more complicated than it seems, and I love getting that insight into making it work.
I love seeing all the love and details you put into this game, I am looking forward to play it ❤️
This is really interesting. I can't wait for Paralives. But on the other hand, I'm also really enjoying watching the creative process of a game that I believe will be an innovative leader. I'm really, really looking forward to many more explanatory posts like this one.
Love learning more about the intricacies of game development as someone who knows nothing about it. Also think it's great for younger players as they might not be aware of how much actual work (and rework) goes into it and simply expect a game to be finished within months of its announcement. As a sidenote, I hope cars and bikes won't become part of a para's personal inventory and instead are vehicles they need to park/pick up somewhere. For instance, it's in the garage, against a bicycle rack at the park or a car park downtown and when you tell your para to go somewhere else, you can choose whether to use these vehicles or not. If you tell them to go there by car/bike, the para needs to actually collect the item before using it for transportation. Or you could choose not to and walk, take a cab or carpool home but that means the car/bike remains in its spot until the para (or someone from the household) picks it up again.
Thank you Zedef! About chars and bikes, it's true that it could be great and it would make them more realistic! We would have to study all that when we start working on cars and bikes!
I can't wait to see the gif working on PC, lol! But from text alone, I'm already so excited. Pathfinding, procedural animation, character and furniture interactions It's really starting to feel like we're in it now! ♡
This game is going to REWRITE the simulation gaming industry. If Sims doesn't up their game, their gonna go downhill fast....I can't wait 😈
I am in love with your transparency, we all are privy to every detail and decision. Thank you! I am also impressed by your diligence to making this game parallel life in the short and tall Parafolk.
You guys are amazing! A procedural animation engine sounds genius!
For how much is already being put into this game along with small details like this is so amazing! The individualistic aspects you are applying to a life-sim game just blows my mind and I’m so grateful that your team is putting so much into this game! Y’all rock!
