Chopper Patrol - Solo Project in Unreal4/UMG/C++



Chopper Patrol is my personal attempt to recreate some of the core gameplay of SimCopter. The player pilots a helicopter in a 3D world with simplistic flight control. Unreal UMG widget blueprints were used to create the menu system and responsive in-game HUD. 

A nifty User Interface

The in-game HUD has several features that provide interactive feedback to the player. The compass bar at the top of the screen accurately scrolls with player rotation to show what direction they are facing. Three separate dial gauges use rotating needles to display readouts for speed, altitude and the main rotary’s RPM. Each gauge also grows in scale when hovered over by the mouse to give a zoomed in view. Two vertical progress bars fill to indicate the player’s orientation with regard to minimum and maximum achievable pitch angle (forward/backward lean). A click button control panel allows the player to pause the game or toggle helicopter functionalities such as a spot light and radio.

Programming Flight

The player indirectly controls their altitude by changing the speed at which the rotary blades turn. While the chopper is in the air and there is no input, it will the hover in place. Increasing the rotary blade speed when hovering moves the helicopter upward. Vertical lift will continue even after player input is released, until the blades slow back down to their hovering speed. The same hover speed tethering is in place when decreasing blade speed to move down.
This indirect control of altitude through the rotary speed creates the feeling of weight and momentum.

Users control the chopper's pitch and yaw for forward/backward speed and direction adjustments. Pitch will slowly recover to an angle of zero, similar to how rotary RPM returns to hover speed.