The content of this repository is explicitly NOT LICENSED for use, modification, or sharing. Per GitHub's terms of service it may only be viewed. See No License for more information. |
---|
For our senior capstone project, we were tasked with performing the entire software development lifecycle with a real client: from requirements gathering through multiple deployments. Our client wanted a modular framework written for Unity that would be fully extensible and provide an easy method for creating an idle-progress roleplaying game for Android and iOS devices.
Students: Marc King, Bageshri Bhavsar, Ali Dashti, Jeff Wright, Mark Malkowski
Professor: Dr. Bruce Maxim / Dr. Kiumi Akingbehin
School: University of Michigan - Dearborn
My Contributions: Design, architecture, implementation, documentation
Timeline: 8 months for requirements gathering, design, implementation, testing, and deployment
- .NET Framework 3.5
- Unity 5.6.3
The following animations comprise a sample game that was created to showcase the framework to the client. All art is placeholder art, and the interface is more simplistic than the hooks provided by the framework can allow.
Upon loading the game the player is presented with the world map. They can pan around the world map, see which zones they have unlocked, and enter any unlocked zone. Entering a zone allows the player to pan around the zone map, see which stages they have unlocked, and enter any unlocked stage. While on either the world map or a zone map the player is able to select allies, equipment, and abilities or upgrade their hero and allies.
The hero needs allies, equipment, and abilities to survive; enter the first stage will result in a quick death if none have been selected.
The player is able to unlock many different allies by completing stages, but can only take three of them to battle on stages.
Players can collect equipment that can then be assigned to their hero. A hero can have armor and a weapon, or a weapon and shield, or a two-handed weapon assigned.
Abilities allow the hero to perform special actions during combat. A hero always has the defend ability and can assign up to three more abilities. New abilities are learned from allies when they are acquired.
The player can spend currency to upgrade their hero. The hero's attribute scores increase with each level.
Currency can also be spent to upgrade the attribute scores of allies. Only certain attribute scores are increased; which ones depend on the type of ally being upgraded.
Battles can be much easier with allies and abilities. Toward the end of a stage a boss may spawn.
Stages can contain obstacles that characters and enemies must walk around.
Nearly every aspect of the game is exposed to the Unity inspector to ease customization. The developers should be careful when changing some values as they can be game-breaking changes. Extensive documentation was provided to the client to detail the effect of changing these values.
All the entities are implemented using Unity's ScriptableObject methodology, making it simple and straight-forward to create and maintain.
The following animations shows some of the features being tested in isolation.