Giter VIP home page Giter VIP logo

gaia's Introduction

GAIA

Generic Artificial Intelligence Agent.
An AI concept that can help the game designer create procedural quests.

screenshot Live version.

About

This project is a concept, it aims to design a generic Agent that can be interacted with any time during the game. It uses finite state machines alongside attributes to give the Agent purpose. The player can alter these states with it's actions, turning the Agent into a enemy or a friend.

Concepts

In order to be interacted with, the agent must have some attributes. In this example, the Agent has a name, a title, age, affinity with the player, hit points (HP), hunger, food and some states.

This attributes can be used to design quests or just ordinary dialog, if the player choose to interact with the Agent.

The Agent can answer it's name, it's age, how hungry it is, how much food it have, how close it is to dying and what it's doing.

This information can be used to create a quest. For instace, lets suppose that the NPC is a shop owner that has a item that the player needs (to finish a another quest). If the NPC is busy hunting (or cutting wood, or fishing, or anything else other the selling) it won't be able to sell the item to the player. So the player could either kill the NPC and still the item, or help the NPC, giving him what it need or completing the action that restores them to they selling state (back to the store).

This way, any NPC that the player encounters during the game could offer a somewhat interesting interaction.

Examples

The player needs to cross a river and asks for a NPC on a boat to take them. The NPC could be busy fishing, so the player could fish for the NPC or just give it some fish, restoring it to a state where it can cross the player to the other side.

The player encounters a NPC that is very hungry and decide to feed it. This NPC then become friends with the player and could retribute the favor later on the game.

Interaction

In this example the Agent has 3 states: idle, hunting and dead. If the Agent is hunting, it roams the map looking for food. When the Agent is younger than 10 or older than 50 years, it's chance of huting with success drops to half.

You can help the Agent feeding it, increasing it's affinity towards you, by clicking feed.

You can also hurt the Agent, decreasing it's affinity towards you eventually killing it, by clicking hurt.

gaia's People

Contributors

victorqribeiro avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

forkkit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.