3D Unity Game (Homeward Beta)
This game is supposed to be an RPG with mostly exploration. There will hopefully be some combat, and the mechanics will vary slightly based on the character’s initial choice of Character’s Race. This Race will most heavily affect leveling and EXP Gain to be reliant on a single method: survival time, combat, or exploration, and discovery. It is built using the Unity Game Engine and Blender for graphics.
Area of Interest
Software Engineering/ Music Theory
Pathways Through Technology Early College High School
Fifth Milestone: Animation
My fifth milestone was to import a model from mixamo and animate it using the Unity Animator. It uses four basic animation loops: idle, jumping, walking, and running. Each of these states can freely transition between each other based on parameters that are booleans. These booleans are modified in code so that they respond to keypresses and input from the player. For instance, if any motion key is pressed, the boolean isWalking is set to true, which triggers the walking cycle. Such booleans operate all animations. The next step would be to add maybe a crouch and fix the jerkiness of the midair animation.
Fourth Milestone: GUI
My fourth milestone was to develop a fully operational GUI, beginning with the main menu, and culminating with a nearly complete HUD. The main menu features the basic buttons to initiate the game, quit, or check options. The HUD displays character health, mana, and level, along with buttons that trigger some pseudo dropdowns that would view character stats, equipment, quests, etc. As a next step, I would love to develop an operational map system and quest system to display within their respective dropdowns, as well as to make the main menu pop a little more with perhaps some graphic.
Third Milestone: NPCs
My third milestone was to develop the first non-hostile NPC. It wanders within a certain range of its home point, which is represented by any of the huts surrounding it. It always remains within a short distance of the house that is set as its home point. The player is not able to interact or engage with them as of yet, but the hope is to import fully animated NPC characters each with their own dialogues and behaviors, as well as make the player able to talk to or engage with them. As of now, they use a general script that makes them wander.
Second Milestone: Enemies and Hazards
My second milestone was developing a test scene to set up scripts for enemies and hazards within the game. All characters – player or otherwise – are controlled by a Unity Character Controller. They use the move method combined with Time.deltaTime in order to transition. In the sample scene, the cube serves as a hazard that decreases player health by 5 every hit. The cylinder is an enemy that follows after the player. If it gets stuck behind an obstacle it can’t pass after 100 frames, it jumps using a move that takes gravity into account. The only issue is that it can follow the player almost exactly, and tends to jump on top of them.
First Milestone: Setting up the First Scene
My First Milestone for the game is to set up the first scene. The scene would ideally have a player choose between three doors to choose their race. The door they select would change some values for the player and then teleport them to the next location: their home. The doors required access to the player game object and it’s location.
Code that operates the main menu.
Code that contains basic world rules and manages the active GUI elements.
Code that manages the player. It draws data from the GameSystemManaging.cs file.
Code that moderates NPC behavior, including enemies.
Code that sets up hazards to actually deal damage.