Test Objective:
Verify tank movement responsiveness and physics-based terrain interaction, including inclines, obstacles, and uneven surfaces.
Test Environment:
Platform: Windows 11
Engine: Unreal Engine 5.3
Build: v0.3-alpha
Map: Desert_TestField
Input Device: Xbox Controller & Keyboard+Mouse
Test Conditions:
Accelerate/Brake/Reverse using both control schemes
Rotate turret while moving
Traverse steep slopes (30°, 45°, 60°)
Collide with small debris and terrain geometry
Test at 30 FPS and 120 FPS
Expected Results:
Smooth acceleration and turning
Tank remains grounded unless airborne by design
No unnatural jitter or clipping through terrain
Actual Results:
Smooth movement on flat ground
Minor sliding on 45° slopes
Unexpected air time on 60° slope edges
Turret rotation lags slightly on 120 FPS
Defects Identified:
BUG-001: Tank collides with small debris (sandbags) and flips unnaturally
BUG-002: Turret rotation desync at high frame rates
BUG-003: Tracks temporarily clip through terrain when reversing uphill
Recommendations:
Add a stabilizer or physics constraint for flipping behavior
Update turret tick logic to be framerate-independent
Adjust collision capsule and track physics material
Test Objective:
Ensure the shell-firing mechanics, hit detection, and physics-based explosion system work consistently across various scenarios.
Test Environment:
Platform: Windows 11
Engine: UE5.3
Build: v0.3-alpha
Level: Urban_TestArena
Test Conditions:
Fire at static and moving targets
Observe shell trajectory at different elevations
Measure impact force and explosion radius
Test shell collision on metal, stone, and destructible objects
Test networked multiplayer desync (2-player test)
Expected Results:
Shell trajectory follows correct parabolic curve
Accurate collision detection and damage radius
Detonation VFX/SFX triggered on impact
Actual Results:
Trajectory is visually accurate
Shells sometimes pass through fast-moving objects (edge case)
Explosion VFX occasionally triggers twice
Defects Identified:
BUG-004: Intermittent shell collision miss at high velocities
BUG-005: Explosion effect plays twice due to double-hit registration
BUG-006: Explosion force not applied to destructible props reliably in MP
Recommendations:
Refactor projectile blueprint using CCD (Continuous Collision Detection)
Add a cooldown or single-event flag on explosion trigger
Ensure RPCs for explosion force are replicated and authoritative
Test Objective:
Test the clarity and consistency of UI feedback related to damage, health bar, and kill messages.
Test Environment:
Resolution: 1920x1080 and 2560x1440
Platform: Windows 11
Device: Keyboard + Mouse
Game Mode: Free-for-All Deathmatch
Test Conditions:
Take damage from direct shell hit
Take damage from splash/explosion
Heal via pickup
Observe killfeed and feedback VFX
Expected Results:
Damage indicator flashes red in screen corners
Health bar decreases smoothly
Killfeed displays correct player name and weapon
Actual Results:
Visual feedback consistent
Health bar updates with delay during explosions
Killfeed shows weapon ID instead of readable name
Defects Identified:
BUG-007: Health bar animation desync under GPU load
BUG-008: Killfeed displays blueprint ID instead of localized string
BUG-009: Damage VFX overlaps with HUD elements on 1440p
Recommendations:
Optimize health bar update logic with event-driven model
Fix string binding in killfeed widget
Add adaptive HUD scaling
Test Objective:
Ensure that player actions (movement, firing, deaths) are replicated accurately and consistently in multiplayer sessions.
Test Environment:
Test Setup: Listen Server & 3 Clients
Network Sim: 100ms latency, 5% packet loss
Map: OpenField_MP_Test
Build: v0.3-alpha
Test Conditions:
Join/leave mid-match
Fire and destroy opponent tanks
Use voice commands
Observe movement sync and kill confirmation
Expected Results:
Smooth replication of all actions
Minimal rubberbanding under simulated lag
Correct state persistence when rejoining
Actual Results:
Minor desync in turret rotation
Rubberbanding on high-ping clients
Players occasionally spawn under map after reconnect
Defects Identified:
BUG-010: Turret rotation not fully replicated (client-authoritative logic)
BUG-011: Spawn location fails to reset on reconnect
BUG-012: Voice commands not heard under packet loss
Recommendations:
Move turret rotation to server-side prediction
Implement spawn validation on reconnect
Use voice packet buffer or switch codec for robustness
Symptoms:
When using Unreal Engine 5 (UE5) and Houdini on a Dell Aurora R16, the programs crash once the system memory usage exceeds 40%.
System Specifications:
Processor: Intel(R) Core(TM) i9-14900KF @ 3.19 GHz
Installed RAM: 32.0 GB (31.7 GB usable)
System Type: 64-bit operating system, x64-based processor
Testing Procedure:
Benchmark tests were conducted using Houdini with the Axiom plugin. A total of 10 tests were performed and averaged to measure performance and identify issues before and after modifications.
Before Modifications:
Axiom 3.2 - Quality Assurance - OpenCL - 5GB
Houdini Version: 20.0.590 (Windows - x86_64)
Device: Intel(R) Core(TM) i9-14900KF (1.1)
Performance Metrics:
Total Time: 822.681 seconds
Average Time Step: 8.227 seconds
Minimum Time Step: 1.463 seconds
Maximum Time Step: 13.012 seconds
Average Performance: 3,900,105 voxels/s
Minimum Performance: 3,723,173 voxels/s
Maximum Performance: 4,017,740 voxels/s
Average Active: 31,672,401 voxels
Minimum Active: 5,779,456 voxels
Maximum Active: 49,299,456 voxels
After Modifications:
Axiom 3.2 - Quality Assurance - OpenCL - 5GB
Houdini Version: 20.0.590 (Windows - x86_64)
Device: Intel(R) Core(TM) i9-14900KF (1.1)
Performance Metrics:
Total Time: 577.891 seconds
Average Time Step: 5.779 seconds
Minimum Time Step: 0.987 seconds
Maximum Time Step: 9.214 seconds
Average Performance: 5,629,395 voxels/s
Minimum Performance: 5,268,067 voxels/s
Maximum Performance: 6,011,014 voxels/s
Average Active: 31,672,401 voxels
Minimum Active: 5,779,456 voxels
Maximum Active: 49,299,456 voxels
Solution Implemented:
Extended the TDR Delay:
The Timeout Detection and Recovery (TDR) feature in Windows was adjusted to allow more time for the GPU to complete its tasks. This can be modified via the Windows Registry.
Steps:
Open the Registry Editor (regedit).
Navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GraphicsDrivers.
Add a new DWORD (32-bit) value named TdrDelay.
Set the value to 120 (seconds).
Disabled CPU SpeedStep and SpeedShift:
These features dynamically adjust the CPU's power consumption and performance. Disabling them can stabilize performance by preventing the CPU from downclocking under load.
Steps:
Enter the BIOS setup during boot (usually by pressing F2 or DEL).
Locate the settings for SpeedStep and SpeedShift.
Disable both features.
Save and exit the BIOS setup.
Effect of Modifications:
The system now operates normally, albeit with a performance degradation of approximately 29%. This trade-off ensures stability and prevents crashes during high memory usage.
Probable Cause:
The crashes were likely due to the GPU timing out and the dynamic frequency scaling of the CPU. Extending the TDR delay provided the GPU with sufficient time to complete tasks without causing a timeout, while disabling SpeedStep and SpeedShift prevented the CPU from dynamically adjusting its frequency, which can cause instability under heavy load conditions.
By implementing these changes, the stability of UE5 and Houdini on the Dell Aurora R16 was significantly improved, allowing for more reliable operation during demanding tasks.