-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Team 2] Towers Feature Ticket #5
Comments
Edited feature ticket to replace 'UI Elements' with 'Graphics and sound'. |
I've developed the |
Added JUnit tests for |
I've developed |
This Feature has been implemented and merged into main - some tasks have been covered by other teams and bonus tasks in this feature will be taken forward into future sprints. |
Description
The game revolves around the defense of human resource extraction operations on various planets. This is carried out by defensive installations we call "towers". This ticket is for the implementation of the towers feature. This feature relates to the tower installations, their creation, destruction, phyiscs, visuals, and input handling. Projectiles and attacking are handled in feature #7 Projectiles.
SubFeatures
This feature is broken up into the following subfeatures:
Creation - 2 members
Handles the creation and destruction of the tower entity and associated actions, such as UI triggering (showing which tile is being occupied, initiating render), Map interaction (occupying tiles, marking tiles unavailable), Economy interaction (Checking and deducting 'cash') and tower health.
Graphics and sound - 1 member
Handles elements such as creation of the render component, tower image, tower animation, and sound effects.
Physics - 1 member
Handles the physics elements of the tower such as physics component and collider component.
Input - 1 member
Initial implementation of the input handling, in preparation for future upgrade functionality. Process and register inputs and trigger tower stats' display.
Examples (optional)
Tower creation example
The intent is that towers are created by selecting them in the build menu <insert task?>. If the player's resources are sufficient to construct this tower, then a transparent tower UI element is shown wherever the mouse pointer is, and highlights the tile onto which the tower would be placed if the player clicks in that location . A tower entity would then be created at that location, occupying the selected tile and initiating all the components of the tower (render, physics, collision, and so on). The tower upon taking damage would reduce health until reaching 0, at which point the tower would be removed from the map (with the appropriate pyrotechnics).
Physics example
The intent is that the tower, once placed, will occupy the tile space it is on, and prevent movement through the tile. Mobs will not be able to traverse the tile, and will attack the tower instead, until they destroy the tower or are killed by it. The tower will also be susceptible to ranged attacks from Mobs. However, if towers are placed in a row along the lane, their projectiles should....
Input example
The player should be able to click or hover on a tower and see information displayed about its health, attack damage, (maybe other stats such as number of enemies destroyed or upgrade status?). This feature should pave the way for a pop-up upgrade menu that allows upgrading of the tower's attack damage, attack speed, or hp.
Dependencies
Creation team will have dependencies in the scope of the economy and map teams. Update with reference
UI elements and Input will have dependencies in the scope of the interface team. Update with reference
List any features on which this ticket relies. If there is already an existing ticket, reference it using #xx. If a feature needs to be implemented and the issue does not already exist... make a new ticket and leave it unassigned for someone else to take on.
e.g. Random game mode relies on random map seed generation(#xx).
Milestones
List of sub-features you intend to have done and in Master by the end of the sprint.
Completion Deadline: Aug. 29
Extras (optional)
Documentation
Members
The text was updated successfully, but these errors were encountered: