Monday, 25 April 2016

Tower Defense Starter Kit: Update I Change Log

Update I (v1.1) [compatible with Unreal Engine v4.11] project files for the Tower Defense Starter Kit are now available in the Unreal Engine Marketplace. Since this update brings about a lot of changes, both in terms of new features as well as the improvements over the previous v1.0 implementation, the update has been released only for Unreal Engine v4.11. This ensures that anyone who wants to keep using the v1.0 implementation can still download the v4.10 project files from the Marketplace. 

Listed below is a brief overview of the code changes in the update:

- Loadout & Tower Selection menus added to enable tower selection at level start. The list of available towers in the Tower Selection menu are populated dynamically based on the information specified in the new Tower Data Array. [Preview video: https://www.youtube.com/watch?v=uqLN_pxcR5k]

- The new Tower Constructor widget enable dynamic tower construction/function in-game menus [right down to button positions] based on the towers selected by the player as well as the data specified in the Tower Data Array & Tower Functions Array. Since the tower constructor can shift between a Tower Build menu & Tower Functions menu based on the context, this ensures that no HUD changes are required when adding new towers/tower functions as long as the necessary information is specified in the aforementioned struct arrays.

- Data driven tower spawn workflow implemented. Unlike the v1.0 implementation of setting default values within the tower blueprints, this new implementation showcases how to use data stored in struct arrays to control the attributes of the towers. By having all the data in the Tower Data Array, the Tower Manager acts as a central HUB for setting all user defined attributes for towers.

- New towers: Mining tower. The Mining tower harvests resources at regular intervals until the resource pool gets exhausted. Both the resource cap as well as the harvest rate can be increased through tower upgrades.

- The new modular target stats widgets can dynamically alter themselves to display relevant information about the focused/selected target based on a combination of data retrieved from struct arrays as well as the new interface functions.

- Blueprint interfaces added to handle tower functions like upgrade/sell features & target stats display.

- New HUD class to manage high level HUD state changes.

- Simplified output boost implementation for the Boost Tower.

- Added provision to set the scale [number of digits succeeding the decimal point] for target stats display in order to prevent clipping of text between widgets.

- All Grid Data updates now handled within the Game State blueprint only.

- Added level boundaries to prevent camera from going offscreen. [thanks to tanka2d for pointing out the issue]

- Tower upgrades now improve the rate of fire & tower range/resource cap alongside the normal output increase.

- Stats for all offensive towers now display Damage Per Second instead of the regular output per cycle value, thus providing more useful data to the player when interacting with towers.

- Setter functions implemented to enable variables changes to occur only from within their parent objects.

- Improved code standardization & optimization implemented across all classes.



All changes within the blueprints are marked with the boolean variable 'Version1.1' in order to easily identify the workflow changes introduced with this update. Comments are also written to describe the major changes. The new variables as well as functions added to existing blueprints are also marked in the event graph as shown below:



Changes in the Content Browser:

- New enums: EHUDState, EHUDStatsType, ETowerConstructorMenuType & ETowerFunctions.

- Enum EEnemyType renamed to ECreepType.

- Member name changes/additions in the enums ENavType & ETowerType.

- 'BP_BulletProjectiles' blueprint moved to 'GameplayActors' folder.

- 'BP_GridCellHighlighter' renamed to 'BP_GridCellDetector'.

- New interfaces: BPI_GridLink & BPI_TowerFunctions.

- New functions within the interface 'BPI_UpdateHUDStats'.

- 'Struct_GridGeneratorData' renamed to 'Struct_GridCellData'.

- 'Struct_MapGridData' renamed to 'Struct_GridData'. New member added to struct.

- New structs: Struct_HUDStats, Struct_TowerData & Struct_TowerFunctions.

- New tower: BP_MiningTower.

- New default HUD class added: BP_PlayerHUD.

- New widgets: Widget_LoadoutMenu, Widget_SelectionButton, Widget_TargetInformation, Widget_TowerBuildButton, Widget_TowerConstructor, Widget_TowerFunctionsButton, Widget_TowerListBox & Widget_TowerSelectionMenu.

- Renamed 'WidgetBP_EnemyTypeData' to 'Widget_Stats'.


- New static mesh: 'SM_MiningTower'.


For more details, check out the official support thread in the Unreal Engine forums at: https://forums.unrealengine.com/showthread.php?102675-Tower-Defense-Starter-Kit-Support-Thread

No comments:

Post a Comment