During another Corona lockdown I started this project with the following goals in mind:
the project should be playable/usable from an very early stage on, and further gameplay mechanics and content can be added depending on the time available.
the created assets, e.g. actors for opening doors, should be built in a way that they are reusable in later/other projects.
So the start was to create a cute little drone, which is set up to be flexible for further gameplay mechanics down the road. To archieve this, I gave him a loading space that can be used for cargo, adding machinery, or many more ideas.
Also I prepared several surfaces on the drone to (optionally) have different material slots. By doing this, I have the options per surface in the game…
to have no feature at all there by assigning the hull material,
have a purely design feature there, like a coloured marking
have automatic mechanics there, like turning-indicators by switching the material to emmissive during runtime.
have manual mechincs there, like a interaction beam, or many more things.
In Unreal then it gets some effects to “come alive”, e.g. engine sounds, a toggleable spotlight at the front, controlable WASD movement as well as for up- and down levitation, permanent randomised moving up and down a bit to simulate the “hovering”…
To the right: one can place a (interchangeable) mesh and define locations where the mesh may spawn randomly each round (here target-points 1 to 8). The setable rotation is inherited, so the mesh can be edited to its “natural” rotation.
To the left: sets of table and furniture combinations which are created with randomised parameters, e.g. there may be a lamp(+its light) or a sidetable spawned differently each round.
To give a more natural look, the chairs are randomly rotated each round within 20 degrees to the left and right, so they don’t look static, but rather natural left there individually.
Here the blueprint for that:
Here some damage/painzones that can have any shape and material. The damage is setable and can be applied on entering and/or while in the zone.
Each zone can be set (off, on) individually and triggered by any event like hacking a security system.
Below a example trigger in which 2 of the 3 damagezones are triggered.
Adding enemy AI (security drone in the background) that can detect and chase player’s drone.
It hase some effects on it, and tries to follow the player until it gets to him, does some damage while scanning him, sets off an alarm if it gets close enough, and then returns to its patrol area where it moves randomly, patroling again.
The enemy AI actor has some exposed variables, so its easy to make/set different behaviour/variations out of it, and avoid predictability. E.g. patroling behaviour, chasing parameters, damage, alarm and so on.
Tests on the navmesh here look promising for both the player’s drone as well as the enemy.: