Integrate Towers into Light & Shadow #247
Labels
Category: Gameplay Content
Requests, Issues and Changes targeting gameplay mechanics and content
Size: L
Very big effort likely requiring a lot of research and work in many areas across the codebase
Status: Needs Investigation
Requires to be checked for feasibility, reproducability, etc.
Topic: Architecture
Requests, Issues and Changes related to software architecture, programming patterns, etc.
Topic: UI/UX
Requests, Issues and Changes related to screens, artwork, sound and overall user experience
Type: Improvement
Request for or addition/enhancement of a feature
Apart from actively attacking the opposing team themselves, the player should be provided with defensive mechanisms, such as structures that can be placed in the arena, for instance near the player's team base. One example for such a defensive structure are towers we know from other games such as LoL (League of Legends) or DotA (Defence of the Ancients) as well as from our very own
GooeyDefence
. These towers attack players of the opposing team and thus defend the player's own team.In comparison to
GooeyDefence
, the focus in Light & Shadow (LaS) as a fast-paced capture-the-flag should still be on reaching and bringing home the flag. This is why, instead of putting focus on constructing towers with various effects, target behaviors, etc., LaS should provide pre-assembled tower types that only need to be placed. Still, these structures can leverage parts of the tower implementation inTowers
and the effects they use fromCombatSystem
.In their GSoC 2021 project, @ahv15 started work on this in Terasology/Towers#2 and Terasology/LightAndShadowResources#74.
To manage a tower - a static structure that is composed of multiple blocks - as a single entity, we can utilize our
MultiBlock
module.MultiBlock
currently automatically detects the region taken up by a structure using a recipe and creates aMultiBlock
entity corresponding to that. As the towers will be provided as prefabs based on the concepts ofStructureTemplates
the necessary region for the structure is already present. So by using the regions calculated by systems ofStructureTemplates
, we can create the corresponding multi-block entity and use this entity to damage and destroy all blocks within the structure when the tower is attacked.@ahv15 started work on this in Terasology/StructureTemplates#68, Terasology/MultiBlock#28, and #231.
Finally, towers should be integrated properly as gameplay elements purchasable in the in-game store. On resetting the player inventory when restarting the game after a round has ended, unused towers should be removed from the player inventory. On destruction of a tower, the item for placing it should not be dropped.
Depends on Terasology/GooeyDefence#70
Depends on Terasology/Towers#4
The text was updated successfully, but these errors were encountered: