Unity – Ninja Adventure

Class: Action_Wander

Class: LootManager

Class: PlayerMovement

Ninja Adventure was a class-guided assignment where we learned to build a 2D RPG-style game. We learned a ton of different ways to use logic and Unity’s built-in features to make a fully playable game. The game has a Ninja who can go around and attack mobs, get items, upgrade stats, use magic, swap weapons, take quests, and craft. We also designed enemies using an enemy brain as a script that uses decision and action scripts to go through logic while keeping it all organized. A method in one of the action scripts was Act() from an interface. It decreases a timer when it is called and calculates the movementDirection and movement using the destination, current position, movespeed, and the deltaTime, making it frame independent. It then checks if the distance between it and where it should be is small enough, and if not, it moves towards it. It also gets a new destination if the timer hits zero. This is all a part of the Wander action to make enemies randomly wander around.

From this assignment, I learned how to organize scripts and not just combine everything into one. The enemy brain is separated into many scripts to avoid confusion, redundancy, and increase modularization. A big struggle early on Junior year was trying to grasp making methods and scripts modular if they can be used again. Enemies in games can have many different abilities and purposes. Having a modular AI design for the enemies allows for easy creation of multiple enemies after one is designed. This concept I was able to use to create in my future projects and make them more organized and modular.

Java: Recursive Minimum

This java assignment had us create a method that finds the minimum value of an arraylist of integers. We did this by recursively going through an array and slowly making it smaller until we know what the smallest is. Afterwards we grew the list by going back up through the recursive methods and compared against the current minimum, and the next number we added.

Personally, this assignment was really difficult for me to wrap my head around how it works. Recursion wasn’t very difficult for me, but this one assignment gave me a run for my money. It took me a long time to write out the steps to figure out how I would actually do this recursively. Eventually, however, I found the way that works and implemented it. This assignment taught me to slow down and draw out my steps to give myself a clear view of my goals. It advanced my perseverance skills to not give up and keep pushing through.