Monster's ready-to-use components - Door Control

I think I need to explain some of the design decisions.
The logic has several layers of abstraction. There is Animation, Animation logic and Controlling logic (and maybe more).

Animation logic
The animation logic defines how to play the open and close animation.

The gate in the example is pretty simple, it swings open and the same way back to close. This works in most of the cases.

But think about a more complex door with several parts animating one after the other or even parallel. This requires different logic for each different animation method. This happens as well when the close animation is different to the open animation (non-symetric animation). Additional a door open might get different animation with each open/close (like getting more dirty, or broken).

The animation logic depends on the animation. So the artists designing this animation knows the best how to achieve that. The current design of the DoorControl keeps pretty much freedom how to design the animation logic.

Controlling logic
The controlling logic (door control) defines when the door should open and close. It does not matter how the door is animated or even how long it lasts, or if it is the same animation all the time.

The component Door Control prevents the artist from reinventing this controlling logic all the time again and again. In a typical game there is a very limited number of different door controls. This supports a consistent feeling towards the player.

By placing this logic into a group it encapsulates the implementation details from the door designer and makes the game creation much simpler for the level designer. As additional benefit it is pretty easy to receive updates to the component from the door control developer.

Future
The current Door Control is pretty simple. It can open and close. That is all. In future versions you might be able to toggle open/close, lock and unlock the door etc… You will still be able to use the methods mentioned above.

Coming back to this question:

Yes, I thought about it. It is possible to create a component that combines door control logic and animation logic. The artist just adds its own model and animation without a need to care the animation logic. Which is less work.

If you think about it, you will see this is more restrictive than the method mentioned above. E.g. the animation logic includes the start and end frame so the component requires that the animation starts at frame 1 and ends with frame 11 all the time.

While this limits the freedom of the artists choices it is a valid interface between animators, game level designers and game flow designers (The duration of an open animation has impact on the motion/timing of a character).

This limitation depends on the specific game while door control is more generic. Therefore I did the design decision to let the animation logic be implemented by the artists (but providing an example in the video).

I hope you get the idea

Monster