Update VI (v1.6) [Compatible with Unreal Engine v4.11] project files are now available in the 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.5 implementation, the update has been released only for Unreal Engine v4.11. This ensures that anyone who wants to keep using the v1.5 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 Tower Data Array. [Preview video: https://www.youtube.com/watch?v=uqLN_pxcR5k]
-
The new Tower Data Array can be used to set the list of available towers for each level as well as basic tower initialization attributes like Tower Cost, Tower Class, etc. This essentially removes the need to keep separate variables & checks for each tower & paves the way for a much more dynamic workflow when other parts like the HUD system are interacting with the Tower Data.
-
Blueprint interfaces added to handle resource points management during tower setup/destroy events & grid data retrieval for trace hit actors.
-
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 tower stats display in order to prevent clipping of text between widgets.
-
All Grid Data updates now handled within the Game State blueprint only.
-
Tower upgrades now improve the rate of fire & tower range/resource cap alongside the normal output increase. The improved tower upgrade menu showcases both current stats as well as upgraded stats.
-
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.
-
The Holographic tower spawn logic has been moved from the Tower Spawn Manager to their respective classes, thus reducing the need for unnecessary checks & improving the code modularity.
-
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.6’ 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 [Moved to attachment view]:
Changes in the Content Browser:
-
New enums: EHUDState, EHUDStatsType, ETowerConstructorMenuType & ETowerFunctions.
-
New interfaces: BPI_GridLink, BPI_GenericHUDUpdates & BPI_TowerFunctions.
-
‘Struct_GridGeneratorData’ renamed to ‘Struct_GridCellData’.
-
‘Struct_MapGridData’ renamed to ‘Struct_GridData’. New member added to struct.
-
‘BP_TowerSpawnHandler’ & ‘BP_WaveHandler’ renamed to ‘BP_TowerSpawnManager’ & ‘BP_WaveManager’ respectively.
-
New struct: Struct_TowerData.
-
New default HUD class added: BP_FPSTDHUD.
-
New widgets: Widget_LoadoutMenu, Widget_TowerButton, Widget_TowerListBox & Widget_TowerSelectionMenu.
-
Navmesh runtime generation changed from dynamic to dynamic modifiers only.
-
BP_PlanarGridGenerator moved to GameplayActors folder.
-
Removed ‘BP_FloorGridGenerator’ & ‘BP_WallGridGenerator’ blueprints.