Large boss characters in Unity engine : Reimplementation of gameplay mechanics from Shadow of the Colossus video game
Istenik, Matej (2015)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2015060512596
https://urn.fi/URN:NBN:fi:amk-2015060512596
Tiivistelmä
The goal of this thesis was to implement the gameplay mechanics from the Shadow of the Colossus video game in the Unity engine. First released for PlayStation 2 in 2005, this game is centered around the player character, human male named Wander, who battles large being known as the colossi.
The main technological achievement of the Shadow of the Colossus and the difference compared to other games is the design of the colossi. In the game, the player character is allowed to move on or to climb the body of the colossi, as their collision shapes are fully modeled and animated. As the collision detection and resolution can be expensive to compute, they are usually simplified in most of the games by using a primitive shapes or static geometry, which is also the case with the Unity engine, which does not support dynamically changing collision meshes.
For these reasons, alternative implementation of needed mechanics were implemented, such as the custom dynamic mesh collider component, its skinning and animation component and the player character component. They were designed to use custom collision detection and resolution mechanics, however, otherwise the use the available components and technologies provided by Unity, such as animation and bones support or rendering of the skinned meshes.
The main technological achievement of the Shadow of the Colossus and the difference compared to other games is the design of the colossi. In the game, the player character is allowed to move on or to climb the body of the colossi, as their collision shapes are fully modeled and animated. As the collision detection and resolution can be expensive to compute, they are usually simplified in most of the games by using a primitive shapes or static geometry, which is also the case with the Unity engine, which does not support dynamically changing collision meshes.
For these reasons, alternative implementation of needed mechanics were implemented, such as the custom dynamic mesh collider component, its skinning and animation component and the player character component. They were designed to use custom collision detection and resolution mechanics, however, otherwise the use the available components and technologies provided by Unity, such as animation and bones support or rendering of the skinned meshes.