Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411432 Posts in 69363 Topics- by 58417 Members - Latest Member: gigig987

April 20, 2024, 05:52:24 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsNeighborhood - ProcAnim, AI, Sim
Pages: [1]
Print
Author Topic: Neighborhood - ProcAnim, AI, Sim  (Read 1279 times)
bob_sacamano
Level 0
*



View Profile
« on: March 30, 2018, 09:33:00 AM »

Hello All,

I am working on a 2D single-player sim game where you control a procedurally animated human interacting with similar characters and the environment. I will use this post to track progress and consolidate ideas/development.

Features:
-Robust AI (STRIPS-style planning w/ comparable choices available to NPCs as the Player, individuality through emotion variables)
-Procedural Animation (Component-based characters that can realistically interact with the environment)
-Body Simulation (Light to medium body simulation as opposed to flat hitpoint system, some hunger/thirst management etc)

The end-state of the game is loosely defined, after establishing the main features I plan on testing/exploration to seek out the best way to generate entertainment from the established systems. Any and all feedback is appreciated!
« Last Edit: May 13, 2018, 04:15:28 PM by bob_sacamano » Logged
bob_sacamano
Level 0
*



View Profile
« Reply #1 on: August 18, 2018, 04:17:02 PM »

Still alive (barely)! A lot of changes here, switched engines and had to rebuild most of the previous progress. Currently working on a procedural top-down walking system that will allow the player character and other npcs to move around the environment in a realistic fashion. Here is the current set-up:

hip_l-pelvis-hip_r
   |            |
knee_l       knee_r
   |            |
foot_l       foot_r

The feet are stored as a walking pair, along with their roots (the respective hip) and whether they are planted on the ground or not. When one foot is planted it is held at that position while the other foot moves towards a target position. Currently the planted foot switches when the distance from the planted foot to hits hip is ~equal to the length of the leg. This works great when in motion, the problem is deciding when to take the first step from a standing position. Since the player commands apply a force to the torso, the character ends up leaning far forward until they hit the distance threshold, rather than just moving the foot forward like a person starting to walk. Will need to spend a little more time on factoring in the players directional command in the foot behavior.
Logged
bob_sacamano
Level 0
*



View Profile
« Reply #2 on: March 15, 2020, 07:40:26 PM »

Coronavirus Crunch Time! Been quietly working on this for a while.

Using an ECS system here, like the framework and the enforced organization of it. Summary of systems in place now:

Active Top-Down Ragdoll physics (a little funky dealing with heights, but i've got things split into high, mid, and low heights for now and that seems to work)
Behaviour Trees + FSM ai system (the FSM manages non-linear switching between ai modes while the behaviour trees give the capacity for more advanced, sequential actions with priority fallbacks)
Locational health system (trying to find right balance of granularity here, right now it's head, torso, hips, hands and feet for human characters)
Job System (assigns tasks to npcs based on local area and demand, need to make this more robust to avoid double-assigning and factoring in priorities)

Still fine-tuning these, but the goal now is to make the town seem more alive so that the interaction between the player character and the npcs can be fleshed out more
Logged
bob_sacamano
Level 0
*



View Profile
« Reply #3 on: July 12, 2020, 09:55:41 PM »

Work continues! Have a working inventory system in place as well as the FSM/Behaviour setup for the NPCs. Quick corrupted gif to show off how it's looking


Logged
Schrompf
Level 9
****

C++ professional, game dev sparetime


View Profile WWW
« Reply #4 on: July 12, 2020, 10:00:02 PM »

The tech looks nice! When the character turns, the feet look stretched a bit too far, but overall it already looks believable.
Logged

Snake World, multiplayer worm eats stuff and grows DevLog
bob_sacamano
Level 0
*



View Profile
« Reply #5 on: July 14, 2020, 01:16:49 PM »

Thanks for the feedback! It's been a lot of fine-tuning to get it to where it is, but I've found biped procedural animation can be tricky because humans notice very easily when it looks off... Might be able to resolve that by changing the step trigger range from a radius to a rectangle that allows more range in the forward/back direction than left/right
Logged
bob_sacamano
Level 0
*



View Profile
« Reply #6 on: July 19, 2020, 08:14:11 PM »

Quick example of how clothing/armor works in this system, collisions between active attack bodies in the physics engine generate damage attempts based on the impulse of the collision and the attributes of the attacking/receiving entities. This makes adding solid armor (like the helmet below) relatively simple, you can attach the item to the protected body part and it will intercept collisions. I plan on incorporating some deterioration in armor so that it wears down after repeated blows, but an armored opponent will either require significant force to overwhelm their defenses, or strategic targeting of vulnerable areas.

Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic