Coder Social home page Coder Social logo

gameailibrary's People

Contributors

jakep121 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

gameailibrary's Issues

Documentation

Documentation on how to import and use this library will need to be written before being released.

Make custom Vector2 integer data type

Since the MapGrid system requires a lot of work with 2D arrays, a new Vector2 that uses short integers instead of floats would not only lessen the hassle of casting to ints every time you want to reference a tile but also decrease the memory footprint.

Use of an unsigned short int would allow for a larger maximum array size than a signed int or float.

Hiding spot objects

Objects that a player character can move in and out of, therefore blocking line of sight with enemies.

At a later date, enemies should be able to search these hiding spots.

Look at target script warning.

The following warnings appear when using the script LookAtTarget.

image

As the warning states, adding the 'new' keyword before LookAtTarget's Update() function causes the warning to disappear but the effects of this should be researched before using it.

No functionality lost, just console spam.

Hiding spot searching

Enemies randomly search hiding spots when in a certain state.

This should eventually be improved with decision tree learning.

Audio sensing

Actions that create a sound field. Enemy AI within this range then move towards this noise.

Create feature demo levels

Will need demo levels for:

  • Patrol path following
  • Vision cone & visibility
  • A* path finding
  • Hiding spots
  • Audio sensing
  • Dynamic path creation

A* path finding with dynamic enviroments

Currently the A* path finding script only searches through each tile, assigning costs and heuristics, when the target moves. This allows it to efficiently skip any unnessecary processing, however, it also means that it won't search if the enviroment changes.

It would be beneficial to look at implementing this while retaining efficiency.

Dynamic path creation

Allow for the player to create a path (footprints) that the AI can follow.

The path should degrade and destroy over time.

Optional: path only gets created over certain materials (footprints in snow but not over stone)

Hiding Spot Machine Learning

Add machine learning to the hiding spot behaviour to allow the AI to remember if a target was found in a specific hiding spot to increase/decrease the chances of searching that hiding spot over any others in proximity next time.

Convert A* to use common path nodes

Right now each A* creates a new set of path nodes. This should be changed so each A* use a common set of path nodes contained by the map grid.

Bug in FOV cone when player is spotted but leaves view distance

Following error gets sent to the console 90% of the time the player is spotted (blue debug line) by the agent but walks away to outside the agent's viewDistance area.

image

This only happens when the player is spotted, not when they are out of viewAngle or obscured by object.

No functionality lost, just console spam.

Update PathFollower documentation.

Heavy modification happened to this class when implementing the dynamic path creation. Making an issue to remember to update the documentation

Fix code formatting

Change things like the 'nodeSize' variable in MapGrid to 'tileSize' to be consistent with other classes.

Make sure all custom functions either follow the convention of beginning with a lowercase letter or follow the Unity standard of starting with an uppercase.

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.