rwengine / openrw

OpenRW "Open ReWrite" is an un-official open source recreation of the classic Grand Theft Auto III game executable
http://openrw.org
GNU General Public License v3.0
1.91k stars 169 forks source link

Strategy to improve character/player behavior? #341

Open ghost opened 6 years ago

ghost commented 6 years ago

There's a lot of work to do: -Path-finding (for example A*) -new activities in vehicles -Different behavior and place of occurrence for different pedestrians etc..

But before that, (I think that) ai folder needs to be rewritten. My idea is unite DefaultAIController.and PlayerController. Class controller would contains 3 data members:

What do you think?

danhedron commented 6 years ago

The "strategies" (I prefer goals as a more apt name) might need certain data members, the opcodes related to characters (listed below) outline roughly what behaviours are required to get scripts working.

Variants should be used to store the data for goals and activities, I'm not sure virtual inheritance is adding anything here.

I'm hoping that someone with more experience with GTA can outline how the animation/activity state machine would work best. Are the activities directly observing the animation state?

Beyond characters there are opcodes for vehicle navigation, these will need to be handled in some way too.

danhedron commented 6 years ago

Character AI should take a different approach, using top-down objectives over the rather messy Activity system currently in use.

danhedron commented 5 years ago

This is slightly more important after #683, the lack of response to melee attacks is quite obvious.