Assets
Brimstone Engine
This project is a physics based series of controllers, sensors and test environment generator. These scripts let anyone quickly and easily add PID controls to their games. So far, I have made a few basic controllers, a range sensor and environment generator that are useful for 2D top down navigation but I plan to add other controllers for other types of games and eventually expand the project with other concepts such as path planning. Currently I am working on this project solo so I will provide updates as soon as I can.
Features
The controllers react to any physical properties applied to them, then compensate with user adjustable gains to achieve the desired result. Anyways, I think a few videos can help me explain things better. Please let me know your thoughts and questions on my project.
Behavior Manager Implementation Of All Controllers
In this situation only a single green line, which points to the goal position, is visible.
Avoidance Controller: This controller is only used in hazardous situations ( rover is too close to a obstacle).
Only a single magenta line is visible.
Position Controller
Allows user to set custom X and Y position coordinates at any time, and the controller will move the game object attached to the script to that specific location.The controller is completely adjustable, allowing multiple variations of routes and speedsUser can toggle visual debugging indicators to show objects current heading and the heading and location to the user specified position.
Position Controller Follower
In the video, the red rover is player controlled.
The other black rovers are NPCs controlled by the position controller.
A variation of the position controller instead of setting coordinates, users can drag and drop a game object and the controller will move the game object attached to the script to the specific location of the other game object placed by the user.
Avoidance Controller
Range Sensor
Attach a group of range sensors to any game object.
These sensors report the distances between the script corresponding game object and any other game object that is within the sensor's detection area.
The sensor's detection area can be set to any size, and the amount of sensors per detection area is adjustable as well.
Toggle-able visualization tools allow users to see the length and direction of each sensor's detection area in yellow. Sensors will decrease in length and change to a red color, when an object its detected.
Environment Generator
Angle Control
Wall Follow Control
At the start of the video, (0:13 - 0:23) the controller is set to follow walls to the left of the rover. The controller uses distance data from the range sensor script to determine if there is a wall to the left of the rover.The yellow lines on the rover turn red to display detection. Finally with a little bit of math the control will estimate the location of the wall.The estimation is displayed by a green line. (It is somewhat difficult to see in the video) The green line is located between the two red lines representing sensor detection and the green line is also parallel to the wall.
At (0:23 - 0:29) the wall follow direction is changed to follow walls to the right of the rover. This direction remains set to the right for the rest of the clip.
At (0:29 - 0:33) the distance the rover must maintain from the wall is increased.Then at (0:33 - 0:38) the distance is lowered (rover get really close to the wall) and the distance is raised again.I know the changes are quick and random, I was just trying to show the setting was adjustable.
Finally, for the rest of the video, the settings stay constant and only the wall the rover must follow is changed.