Giter VIP home page Giter VIP logo

creature-control's Introduction

Creature Control

This is an Outer Wilds Mod that implements a whole stack for generating and following paths for pathfinding and pathfollowing.

The envisioned stack

The stack envisioned is the following:

path-finding-stack

  • "Walkable" Space Graph: The graph that represents the "walkable" space. "Walkable" cause this graph can include regions that you would need to perform an action or something to cross it, be it , for example, an "Air" space (so you need to either be able to fly or jump), or a "Pipe" space (where you need to interact with a teleporter to get teleported somewhere else). This graph is also not limited to 2D! (This can be cached)
  • Path Generator: This takes our graph, a target transform (position and rotation, or just position) and our current transform and tries to find a path on the graph that best connects both. If the target and the character are outside the graph, it will need to get the best vertex on the graph that can represent it. (This only runs once per target change)
  • Path Follower: This figures out how to best follow the path generated from the generator. It can "see" dynamic obstacles, and avoid them somehow. It returns the pos, vel and rot for the character to reach the next part of the path. (This runs almost every frame, at best only when the character reaches the part of the path it planned to reach)
  • Character Controller: This takes the pos, vel and rot the Path Follower wants and translates it to character commands, like if it was controlling with a controller (This runs every frame)
  • Character: The actual character with its rigidbodies and physical limitations, the bottom part of the stack needs to be tailored to fit its capabilities.

creature-control's People

Contributors

loco-choco avatar

Watchers

 avatar FunkyShoe avatar

creature-control's Issues

Character Controller

Implementation of a character controller example following the "Character Controller class" interface.

"Walkable" Space Graph Tooling

Tooling to make generating "Walkable" Space Graphs easier.

  • Graph Representation
  • Graph Creation And Editing
  • Graph Visualization
  • Graph File IO (Baking in game or in the Unity Editor)

Path Generator

Implementation of some path generator algorithms implementing the same "Path Generator class" interface.

Pathing AI

Implementation of a "Pathing AI class" that contains a "Path Generator", "Path Follower" and "Character Controller".
Can be started now, but can only be tested after #1, #2, #3, #4 and #5 are close to finish.

First Release

The first release of this stack will can only be made after these issues are closed:

Path Follower

Implementation of some path following algorithms with same "Path Follower class" interface.

Character

Implementation of a example Character.

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.