Mounts
From EQUIS Lab Wiki
Contents |
Title
Creative rideable mounts
Group members
Kevin Grad, Joseph Lam, Lenko Grigorov (auditing course.. minor contribution)
Goals
In this project we intend to create different mounts that the user will be able to catch and ride while playing life is a village. We are intending to make three different type of mounts, seaborn, landborn and airborn. We would like to also have mounts that can cross between the barriers, for example a frog can traverse land and water. We hope to have each mount obeying the laws of the environments they traverse. Finally, mounts should be harder to catch based on their types and abilities. By the end of the project we hope to have one or two mounts completely working within the game environment.
How changes will appear to the player
Each mount will have different attributes including motion (aesthetics) and speed and will be easier or harder to catch based on these attributes. Mounts can either be caught or purchased based on the mount type or the amount of resources the player has amassed. We will probably only implement one or two mounts in our project, however, the types of mounts we have in mind include:
- Water: Giant fish (caught), Giant turtle (caught), canoe(purchased)
- Land: Horse (caught), Donkey(caught), Bicycle(purhcased)
- Air: Giant Bird(caught), Giant butterfly(caught), Hand glider(purchased)
- Hybrid: Giant Frog (water-land, caught), Lion with wings (land-air, caught), hydroplane(water-air, purchased)
Mounts will be faster than walking or running. Each purchaseable mount will have its cost relative to its speed/abilites, hence the hydroplane will be the most expensive where the bike will be the least. As well the hybrid animals will be the rarest of the catchable mounts while the donkey will be the most common and slowest. When the game is played via the bicycle each mount will require different physical effort in order to move. Finally, we will attempt to make these mounts visually pleasing.
Technical issues
The mounts will be designed using XSI. The underlying structure will be laid out as a superclass called Mount with three subclasses called water, land and air. The superclass will be purely virtual with the attributes common to all mounts such as speed. Each subclass will extend the superclass and add on their unique abilities such as swimming or running or flying. If we have time to attempt to make a hybrid mount we will extend this architecture to include a separate subclass called hybrid. The attributes for each class will be read in from an xml file. For example, the speed will just be a number in a file, the location of the image file will just be a line of text in the xml file. The advantage of using xml files is that it will allow us to change the data without recompiling the source code. Catcheable mounts will be roaming the world randomly and will have a limited form of artificial intelligence. When a player approaches, it will run away. Based on the speed of the particular mount it will be easier or harder to catch. For mounts that are not on land, there will be different ways to catch them, including sneaking up on them, or luring them to you using purchasable bait. Once a mount has been caught, the player can ride it for as long as he/she wishes but once they get off, the mount runs away.
We will need to create and animate skins for the mounts as well as different positions for the player when he is getting on the mount or actually riding it. The actual mounting process will be: when the player catches up to the mount, they will be asked to press a button to catch it. To get off, they simply repress the button. As well, if no water exists within the current world and we have time to attempt to create water mounts we will need to modify the current world to include water.