jakep121 / gameailibrary Goto Github PK
View Code? Open in Web Editor NEWA stealth AI library designed for use with Unity (C#)
Home Page: http://www.JakePassmore.com/GAIL
License: Other
A stealth AI library designed for use with Unity (C#)
Home Page: http://www.JakePassmore.com/GAIL
License: Other
The sound awareness behaviour is not represented well in the video required for milestone three.
A visual cue should be added to show when the sound is activating.
Documentation on how to import and use this library will need to be written before being released.
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.
Replace any public variables hidden by the [hide in inspector] line to use accessor methods instead.
Path nodes are just being removed from the path once their lifetime has expired, rather than destroying the actual object.
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.
Enemies randomly search hiding spots when in a certain state.
This should eventually be improved with decision tree learning.
Encountered a situation where an agent would need to be aware of agents of the same type around it, would be better suited to be renamed to Target.
Actions that create a sound field. Enemy AI within this range then move towards this noise.
Will need demo levels for:
Visible in the Vision Cone example scene, sometimes a tracked target that is in an uninterrupted line of sight is not in the VisibleTargets list.
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.
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)
Affects rate at which enemies can spot the player within their line of sight.
Get PathFollower working as a behaviour that can be applied to an agent, rather than inheriting from it.
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.
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.
Raycast between path nodes and if it hits an unwalkable object, draw a red line, else draw white.
For things like security cameras etc.
Basic following of a path between multiple nodes
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.
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.
Heavy modification happened to this class when implementing the dynamic path creation. Making an issue to remember to update the documentation
Also remove public visible boolean.
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.