10th Floor
GAM666/DPS901 | Weekly Schedule | Student List | Project Requirements | Teams and their Projects | Student Resources
Contents
10th Floor Maze
Project Marking Percentage
Group work: 50% (25 <= xx <= 50) Individual work: 50% + (50 <= xx <= 75) ------------------------- Total 100%
Repository
Repo path
svn://zenit.senecac.on.ca/dps901_103rep10
Trunk Status
committed by avathsalan / being committed by [NAME]
Team Members
- Ryan Wang, Responsibility: Stage creation, textures, collision detection agains stage objects, loading map files.
- Aravinthan Vathsalan, Responsibility TBA
- Geoffrey Mok, Responsibility TBA
- Steve Borges, Responsibility TBA
- Corey Angus, Responsibility TBA
Proposal
The proposed game for the GAM666 project is an action role-playing game (action RPG). The game is played in the first person perspective in which the goal of the game is to move the main character through an old, abandoned, and decaying dungeon while fighting/avoiding the monsters and traps in order to reach the end of the dungeon.
The objects in this game are: the main character (human controlled; move and battle through the dungeon), enemies (in the form of monsters), and traps (either hidden or visible traps, such as a suspicious panel on the floor, floor spikes, collisions, etc.). The environment is open such that the player has the choice of avoiding an enemy, choosing to battle an enemy, and avoiding traps.
The main character and the enemies have the following traits of: health (the life of the character/enemy and the amount of damage that can be inflicted before being defeated), speed (the pace at which movement through the dungeon occurs), strength (the ability to do a set amount of damage to an opponent during battle), and defence (ability to endure attacks from an opponent with reduced impact on health while blocking).
Moreover, the battle system is such that the main character as well as the enemies can be in only one of two states at a given moment during a battle: block or attack. Blocking, although does not prevent the damage from an attack, allows either the main character or the enemy, to have a less impact on health. However, in order to dissuade the main character from continuously blocking, there is a “block meter” that is used to show for how long the character can block before it is temporarily disabled (note that this interval for blocking can be increased with added levels and improvement to the defence trait by gaining experience; read more below).
Once an enemy is defeated in battle, the main character gains Experience Points (EXP) which can be added to the character’s current level and allow for the character to proceed to the next level. With each new level gained, the character can improve one of the traits of: health, speed, strength, and defence (choice is up to the user).
Movement of the main character is performed using the WASD keyboard keys for moving the character forward or backward, and in association with the mouse to view the character’s surroundings (i.e. look around).
As the character progresses through the dungeon, the enemies and traps get increasingly stronger and complicated.
Iteration 1
Assignment 2 Requirements
1.draw a map of what you'd like the 3D world of your game to look like, with 3-dimensional coordinates of all of the major points in the world. Your map should include all of the "actors" (moving objects) in the world. You should attempt to make the coordinates as realistic as possible, being aware that you may need to scale them up or down as you implement your design in code.
2.design and code one or more original objects of your own chosen shape for use in your game. You may derive the class(es) for your object(s) from the Object class of the framework.
3.implement a draft of your design by coding the framework's design component. If your design requires low-level coding or modifications to any other part of the framework, you should include those changes in your submission.
Revised Game Proposal
Revised Proposal
Game Genre
Genre: First person maze puzzle
How to play
Stage clear condition
Game Items
- Haste item: Increases character's movement speed by 150% for 10 seconds. (Keyboard mapping: 1)
- Dexterity item: Allows player to pass through the obstacles more quickly for 10 seconds. (Keyboard mapping: 2)
- Revert ceiling collapse: Makes the collapsed ceiling tiles rise back up into initial position for 20 seconds. (Keyboard mapping: 3)
- Stop ceiling collapse: Stops ceiling collapse for 20 seconds. (Keyboard mapping: 4)
Map of the World of the Game
Dynamic Map Configuration
Overview
The game is designed to load map information from map files and dynamically generate game environment and components accordingly. Map configuration is flexible in size and configuration and can be easily modified. As shown in the picture below, tile type is described in numbers and details are as follows:
- Tile type 0, 4, 8... (4n): No wall.
- Tile type 1, 5, 9... (4n+1): In the x-axis direction.
- Tile type 2, 6, 10...(4n+2): In the z-axis direction.
- Tile type 3, 7, 11...(4n+3): In the both directions
Syntax for the map file is as below, where 't' is tile type code and 'i' is item type code:
t,i|t,i|...|t,i|t,i; t,i|t,i|...|t,i|t,i; ... t,i|t,i|...|t,i|t,i; t,i|t,i|...|t,i|t,i
Sample map file
Below is a sample map configuration file that generates 5 X 9 stage. The image above is drawn based on this map configuration.
1,0|1,0|3,0|9,9|2,0; 1,0|3,0|3,0|2,3|2,0; 2,0|2,2|3,0|2,2|2,0; 3,0|2,0|1,2|2,0|2,0; 0,0|2,0|2,0|1,0|3,0; 1,0|2,0|2,4|3,0|0,0; 1,0|1,0|2,0|3,5|1,0; 2,0|1,0|2,0|1,0|2,0; 0,1|3,0|3,0|3,0|3,0