Difference between revisions of "10th Floor"
(added corey and steve's responsibility)
|Line 128:||Line 128:|
==== Corey Angus ====
==== Corey Angus ====
==== Geoffrey Mok ====
==== Geoffrey Mok ====
|Line 149:||Line 149:|
==== Steve Borges ====
==== Steve Borges ====
Revision as of 15:06, 18 November 2010
- 1 10th Floor Maze
- 2 Iteration 1
- 2.1 Revised Game Proposal
- 2.2 Map of the World of the Game
- 2.3 Project Status & Documentation
10th Floor Maze
Project Marking Percentage
Group work: 50% (25 <= xx <= 50) Individual work: 50% + (50 <= xx <= 75) ------------------------- Total 100%
committed by avathsalan / being committed by [NAME]
- Ryan Wang, Responsibility: Stage creation, textures, collision detection agains stage objects, loading map files.
- Aravinthan Vathsalan, Responsibility: Traps, collision detection against traps, update character stats in respond to traps
- Geoffrey Mok, Responsibility: HUD - Progress bars, 2D sprite animations, minimap
- Steve Borges, Responsibility TBA
- Corey Angus, Responsibility TBA
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.
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
Phase 1: First person maze puzzle
Phase 2: Action role-playing game
How to play - Stage clear conditions
- Sprint mode: Move the character with arrow keys through the maze and try to find the way out.
- Time attack mode: Find the exit within given time.
- Haste item: Increases character's movement speed by 150% for 10 seconds. (Key 1)
- Dexterity item: Allows player to pass through the obstacles more quickly for 10 seconds. (Key 2)
- Revert ceiling collapse: Makes the collapsed ceiling tiles rise back up into initial position for 20 seconds. (Key 3)
- Stop ceiling collapse: Stops ceiling collapse for 20 seconds. (Key 4)
Map file loader
- Main character
keyboard control, mouse control& game pad control Sound effects
- Traps, items, enemy characters (next phase)
- Collision detection against
map components, enemy characters, traps, obstacles& items
Map of the World of the Game
Dynamic Map Configuration
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
Interactive Game Environment
Project Status & Documentation
Modifications to the framework
Progress / Updates
Responsibility: Traps, collision detection against traps, update character stats in respond to traps
Responsibility: Enemy AI - To Be Confirmed
Responsibility: HUD - Progress bars, 2D sprite animations, minimap
Responsibility: Stage/levels design
- October 11: Prepared texture images for the stage components. Created walls, ceilings and floor tiles.
- October 31: Added the code that dynamically creates stage components according to the maze matrix.
- November 2: Added codes (on the Camera.cpp) for camera movements and keyboard/mouse controls. Implemented simple collision detection against the walls. Added breathing/fainting/walking effects.
- November 10: Main character object is created. Character movement is handled in the Design.cpp instead of Camera.cpp. Collision against walls is also handled in the Design.cpp.
- November 11: Map is initialized based on the configuration in the map file. Added obstacles. Ceiling tiles collapse as the player travels around. Added sound effects. (Fig.R1)
- November 13: Game items are added - Haste item, dexterity item, stop/revert collapse items. Try keys 1-4.
- November 14: Added background image in the dialog box. (Fig.R2)