So Ive been trying to conceptualize a more robust and flexible AI, and so Ive created a simplification of the Maslow’s hierarky of needs that I hope to implement as a better decision making routine for NPCs.
Here’s what I got:
This list goes from least priority to most priority
–GROWTH NEEDS–
==> Transcendance Needs:
-Basically become buda. The character will try to fulfill its most esoteric and high concept level goals and achieve
true hapiness with itself and the world.
==> Self-Actualization Needs:
-Achieving what the character thinks is it’s calling in life. Basically, the character will try to achieve its long term goals
and ambitions, possibly look to change the world in a way that it can feel proud of.
==> Aesthetic Needs:
-Shinies and pretties. The character will look for and appreciate things it finds beautiful.
==> Cognitive Needs:
-Knowledge. The character will seek to know itself, to know the world and its place in said world. Possibly start a cult.
–DEFICENCY NEEDS–
==> Esteem Needs:
-Social anxiety’s worst nightmare. The character will look to perform and act in ways that make it feel proud of itself
and unashamed. The character will also seek to perform tasks that will lead other characters to like and respect it.
==> Love needs:
-We all need love. The character will desire and search for fulfilling relationships with other characters, and will desire
touch and intimacy from others.
==> Security Needs:
-Safe and sound. The character will look for ways it can be safe from other characters that pose a threat to it, the elements,
injuries and will try to create some semblance of stable footing when possible.
==> Biological and Physiological Needs:
-The gross shit. The character will look for ways it can remain alive and functioning as a living organism. It will also look
for behaviors that satisfy basic instincts like sex or other things.
Im looking for feedback on the best way to implement a system like this and how it would work in the code. What do you think? A lot of these depend on personality of characters so I think this would also need to exist for this to function.