Nameplate System
Nameplate System
Section titled “Nameplate System”Dynamic Nameplate Visibility
Section titled “Dynamic Nameplate Visibility”With multiple AI characters in levels, persistent nameplates create visual clutter and reduce immersion. Implement dynamic visibility system that shows nameplates only when relevant.
Nameplate Toggle System
Section titled “Nameplate Toggle System”Master Character Interface
Section titled “Master Character Interface”Create interface function for nameplate visibility control:
Interface_Toggle_Nameplate Function
Section titled “Interface_Toggle_Nameplate Function”- Visibility Input: Boolean to control nameplate display
- Health Update: Refresh health display when nameplate becomes visible
- Delay Integration: 0.1 second delay before health update for proper timing
Nameplate Default State
Section titled “Nameplate Default State”Configure nameplates for proper initialization:
- Default Visibility: Hidden on all characters
- Selective Display: Only show when player is nearby
- Performance: Reduces UI overhead when not needed
Player Detection Radius
Section titled “Player Detection Radius”Detection Sphere Implementation
Section titled “Detection Sphere Implementation”Create player-based detection system for nameplate activation:
Player Character Components
Section titled “Player Character Components”- Sphere Collision: Component named “Sphere_Toggle_Nameplates”
- Radius: 1250 units for reasonable detection range
- Collision Settings: Custom collision, ignore all, overlap pawn only
Detection Events
Section titled “Detection Events”// Nameplate Detection SystemOnDetectionSphereBeginOverlap(OtherActor) {if (!OtherActor.Interface_Character_Type()) {// Not a player - this is AI or NPCOtherActor.Interface_Toggle_Nameplate(true);}}
OnDetectionSphereEndOverlap(OtherActor) {if (!OtherActor.Interface_Character_Type()) {// Hide nameplate when moving awayOtherActor.Interface_Toggle_Nameplate(false);}}
Character Type Integration
Section titled “Character Type Integration”Leverage existing character type system:
- Player Characters: Return true from Interface_Character_Type
- AI Characters: Return false from Interface_Character_Type
- Selective Activation: Only show nameplates for non-player characters
Implementation Details
Section titled “Implementation Details”Health Display Integration
Section titled “Health Display Integration”When nameplate becomes visible, ensure accurate health display:
// Nameplate Visibility with Health UpdateInterface_Toggle_Nameplate(Visibility) {Widget_Nameplate.SetVisibility(Visibility);
if (Visibility == true) {DelayFunction(0.1) {F_Health_Modify(); // Update nameplate with current health}}}
The delay ensures the nameplate widget is fully visible before attempting to update health values.
Design Considerations
Section titled “Design Considerations”Detection Range Tuning
Section titled “Detection Range Tuning”- Range Testing: 1250 units provides good balance between information and clutter
- Gameplay Impact: Range should support tactical decision-making
- Performance: Larger ranges increase collision detection overhead
- Visual Comfort: Avoid nameplate flickering from rapid enter/exit events
Nameplate Information
Section titled “Nameplate Information”Configure what information nameplates display:
- Character Names: Identify different enemy types
- Health Status: Current health for combat feedback
- Status Effects: Visual indicators for debuffs or special states
- Team Identification: Color coding for team allegiance
Integration with Other Systems
Section titled “Integration with Other Systems”Combat State Interaction
Section titled “Combat State Interaction”- Combat Visibility: Consider keeping nameplates visible during active combat
- Target Identification: Nameplates help players track damage dealt to enemies
- Status Communication: Show when enemies are in different detection phases
Stealth Mode Considerations
Section titled “Stealth Mode Considerations”- Stealth Integration: Nameplates may need special behavior during stealth
- Detection Risk: Consider whether nameplate visibility affects stealth gameplay
- Information Balance: Provide useful information without breaking stealth immersion
The nameplate system creates clean, contextual UI that provides necessary information without overwhelming the player or cluttering the visual experience during exploration and combat.