-
Notifications
You must be signed in to change notification settings - Fork 4
Path Manager (Team 1)
!!WORK IN PROGRESS: The following is outdated
The path manager handles the creation and allocation of paths for enemies to follow. The path is given in the form of a Path object, which is a queue of nodes. The nodes are points, represented by Box3D's with z=0, and a height, width & length of 0.
The above graph shows the nodes and vertices of a basic 25 by 25 map with 2 static-collideable items in the middle. Nodes have been placed just inside each corner of the map & adjacent to the corners of the objects.
The squirrel shows an implementation of using the PathManager to path find to the player. The Squirrel:
- Follows it's path.
- Requests a new path whenever it collides with a staticCollideable entity
- Moves directly towards the player once it reaches the end of it's path
Entities can call setStaticCollideable(true) when they are created, to indicate that they are solid objects that need to be pathed around.
At the moment there is no way to update the graph once it has been initialized. In the future, calls to AbstractEntity.setStaticCollideable() will trigger an update to the PathManager.
Populates the internal graph representation of the PathManager with nodes and edges based on the current world state.
Runs on every game tick, helps process getting to the player.
returns an array of connecting nodes, from current position (enemy) to a node with a direct line of sight to the goal (player)
- Home
- How To Play
- Keybindings
- Inventory and Resources
- Trees
- Portals and Worlds
- Projectiles
- Enemies
- Waves & Spawning
- Graphical assets progress overview
- Audio Files
- Design Templates
- Blender Intro
- Converting 3D models to Sprites
- Scripting in Blender
- Creating a Model in Sketchup
- Colouring and Animating in Blender
- Animation using Dope Sheet, Keyframes and Scale Transformation in Blender
- Template
- Testing
- Terrain
- Terrain Generation
- Resource Trees
- Main Menu, Chat, options
- Main Menu V2, Options V2, Sound
- Damage Trees
- Projectiles
- Enemy User Testing
- Tree planting, inventory GUI, resources, portals
- Caveman Character
- Debug Mode Menu
- Tree learning, Attack Trees, Main Menu Tutorial Resources Styling
- Revamped Resource Trees
- Squirrel User Testing
- Final evaluation
- Project Structure
- Git Workflow
- GUI
- Worlds
- Entity Directions
- Resources
- Inventory
- AbstractEntities
- BasicProperties
- MortalEntity
- ProgressBarEntity
- Multiplayer
- Trees
- TimeEvent
- Game Time
- Animations
- Enemies
- Waves
- Player
- Projectiles
- Effect
- Particles
- Path Manager
- Sounds
- Debug 'God' Mode
- 2D Collision
- Box3D {depreciated}
- Render3D
- Cheat Codes