- tank with movement
- handle wasd/mouse input
- gamepad?
- input mappings are already configured in the starting project
- the turret motion follows a hitscan with the mouse, so a separate control strategy
is required for dual stick
- this could be a good learning project to publish -- geometry wars
- gamepad?
- enemy turret
- projectiles
- hitpoints, damage, destruction
- destruction:
- handle destruction with a pawn function
- handle actor death with a game mode function
- plumbing and binds to invoke these functions
- apply damage -> damage taken -> actor death -> handle destruction
- destruction:
- win/lose condition
- vfx (smoke, explosions), sfx
i've run into several issues where modifying c++ code from beneath the running editor session can lead to unexpected behaviour (missing UPROPERTIES) or editor crashes. in order to alleviate this, this is the workflow for cleaning and rebuilding the project from the context of creating a new class.
- create the class (from the unreal editor):
Tools > New C++ Class...
- close the unreal editor
- run the ToonTanksEditor Win64 Developemnt Build build task in vscode
- note: the ToonTanksEditor Win64 Development Rebuild build task will also clean
- note: ToonTanksEditor Win64 Development can be used as a debug launch target
- reopen the unreal editor
- verify changes and continue developing