๐Ÿƒโ€โ™‚๏ธAction Gameplay

Experimental - Usable, but you must talk to us to understand the implications

Overview

This page is designed to be the starting point for potential users of the inventory system. Any questions, or any feature requests for the system, please reach out to Samuel Silvester

Action Gameplay isn't a single feature but rather a collection of features that can be utilised together to facilitate the creation of high fidelity, low latency gameplay within your world. Hitscan-based weapons are the current focus in showcasing this functionality.

The key elements that make up an "Action Gameplay Experience" are:

  • Low Latency Mode - Needed for high fidelity interactions between clients

  • Health Component - Used to allow clients to take damage and die

  • Combat Component - Communicates between clients that one client (shooter) wishes to interact with another client (target)

  • Shootable Component - Validates a shot request between clients and determines how to action successful interactions

Integration

To build an experience with hitscan weapon combat:

  • You need to enable Low Latency Mode

  • Your Morpheus Pawn has the CombatComponent, ShootableComponent and HealthComponent attached. If you extend BPM_M2_PlayerCharacterBase, or some child of this, all of these will be included.

    • HealthComponent is automatically attached to any pawn inheriting from the AJM_CharacterBase C++ class, while the others are intended to only be attached to the BP instance.

  • Implement a means of triggering one of the CombatComponent "Shoot" functions.

    • This could be done by overriding the PlayerController or by creating a gadget that will change player input when active.

Known Issues / Limitations

  • Missing background events

    • Events such as OnShotFired and OnTargetHit only fire for fully checked out Morpheus Actors and for the locally owned Morpheus Character.

    • Additional logic can be created in blueprint to accommodate this in the background, but there is a feature in progress to better support this.

Last updated