Category: Unity

Game AI Final Assignment Report (Hirgana Hunter)

Game AI Final Assignment Report

“Hiragana Hunter” (demo prototype)

The game uses the following three game AI mechanics: A*, Path Smoothing, Agent Sensors. A* is used through a series of pre-defined nodes (the grass tiles actually), and performs a series of calculations based on A*, with the Manhattan Distance heuristic to calculate the shortest path to the target (the exit portal, the purple circle).

Once the A* final path is calculated, path smoothing is performed, albeit, in a somewhat lacking manner. The path smoothing will only perform smoothing on the final three tiles within a shift of movement from horizontal to vertical movement, and vice versa.

pathsmoothing_astar

Continue reading

Game AI Assignment 2 (A* Code Demo)

Game AI Assignment 2 (A* Code Demo)

Summary of Code

The software used for development was Unity 5.3.2f. It has scenes available to it, and can be thought of as “levels”. The code I wrote for the “first level” is a very simple “main menu” type scene. The scene displays a sprite image with text explaining controls to play the game. Pressing enter will enter the game, aka “level 2” aka the actual assignment. I thought that the best way to start would be to have a screen that explains the controls and features right off of the bat. The code for the main menu uses key down detection for the Enter key in order to progress to the other scene. Since this is a summary of the code, and not a comments of the code this will be very brief.

Continue reading

Game AI: Foundations

My Game AI assignment 1: Foundations

The Engine

The game engine that I used was Unity3D 5.3.2. The game Engine provided an IDE (Integrated Development Environment)  with the ability to generate game objects, with labels, positions, rotations, sprite and/or script components without actually writing any code at all through the IDE’s GUI (Graphical User Interface). It also gave me the ability to use raycasting and to set up colliders using Unity’s built in functions, which also provided details such as distance of collision, the name of the object collided with, and so forth. Unity also provided some great tools to make vector manipulation easier, such as Vector addition, subtraction, normalization, and even dot product calculations rather than needing to perform the math step by step ourselves.Unity also does a great job of listening to key press events as well.

Continue reading