RTS Template
About
Engine: Unreal 5 | Language: C++ | Platform: PC | Team Size: 1
Roles
Gameplay Engineer Technical Designer
Gameplay System
Commander & Faction
I created a commander class that controls the camera and sends orders to the squads. It receives input from players. Every commander has their faction; different factions have different relationships with others, which alters their units' behavior.
Squad & Unit
Players can put the items into machines and select formulas to craft merchandise. The machines have many kinds of types, so I abstract the basic crafting mechanics into a component that provides the necessary delegates to allow us to make different interaction experiences.
Command & Task
The Command class contains information and tasks passed down to the Squad. The Command has three types: No Target Command, Target Location Command, and Target Actor Command. Those types should cover every kind of Command players can give in a traditional RTS game. Developers should make their combat mechanics based on the Command. After receiving the Command from the Squad, the squad will send tasks to units' behavior trees accordingly.
Attacking & Weapon Component
There is a unique task called Attack Task, which makes units perform other tasks and attack simultaneously. The Attack Task will use the Weapon Component in the Base Unit class as its default attacking method and calculate the result of the attack through the Attacking Interface.
Future Plans
I want to improve the Fog of War system. Right now the Fog of War can just block player's version, I am planning to adding perception system and combine it with the Fog of War.