top of page
AI-transformed.png
AI-transformed.png

MLAgents (Machine Learning AI)

 

Playable build is here.

​

Scripts can be found here.

​

This project uses a combination of Unity's MLAgents package along with Python to create an environment where a machine learning AI is able to travel through different rooms trying its best to avoid the walls. This was achieved through the use of strong supervision in the form of "bread crumbs" that are in each doorway. These were created in an attempt to speed up the process of the AI trying to figure out how to navigate out of its original room. All three AI use the same brain, which was created by running this same test, and saving what the AI had learned so that on runtime for the demonstration they wouldn't have to relearn how to navigate. 

SteeringBehav-transformed.png
SteeringBehav-transformed.png

Implemented Steering Behaviors

 

Click to see the Playable Build.

​

GitHub repo with Scripts.

​

This project is a simple game that utilizes multiple symbolic dynamic steering behaviors where different blocks act differently around the map as the player tries to collect as many little blocks to grow as they can while running from a larger block trying to get them. 

​

Dji-transformed.png
Dji-transformed.png

Tactical Pathfinding

 

Playable build can be found here.

​

Scripts can be found here.

​

This project utilizes Dijkstra to achieve pathfinding through weighted and directed graphs. The cube travels through the graph trying to make the cost as cheap as possible with each point having a labeled cost value.

​

navm-transformed.png
navm-transformed.png

NavMesh

 

Playable Build is here.

(Press Right Click to move)

​

Scripts are here.

​

This project is a simple scene that uses Unity's NavMesh system to allow a player character to move around a simple map while trying its best to avoid both moving and static obstacles. 

​

bal-transformed.png
bal-transformed.png

Ballistics 

 

Playable build here

(Press spacebar to fire projectiles and A and S to move side to side)

​

Scripts are here.

​

This project utilizes ballistics when launching its projectiles to its target. The firing solution specifically calculates the maximum possible angle it can launch its projectile while still hitting its target, causing the projectile to fly in a large parabola. 

​

maze-transformed.png
maze-transformed.png

Procedurally Generated Mazes

 

Playable build is right here.

(Press E to generate a maze, feel free to press it repeatedly to keep generating the maze.)

(Press R to generate another maze that's connected to the first maze, you may press the button repeatedly to keep regenerating the maze.)

(Press T to generate a third maze that's connected to the second maze, you may press the button repeatedly to keep regenerating the maze)

Once you have the second and third mazes out, you're able to go back and forth pressing R and T to keep building mazes back to back from each other to form an endless string of mazes.

​

Scripts can be found here.

​

This project utilizes some shape grammar techniques to create a procedurally generated maze. However, there are certain aspects of the maze that have set parameters, specifically so that the entrance and exit of the maze will always be on certain walls, and that when you add another maze onto the next one the exit of the previous maze and the entrance of the new maze line up.

​

bottom of page