5.4 KiB
Firing-range
Overview
This project involves creating a fully functional firing range in Unreal Engine 5 (UE5). You will focus on implementing shooting mechanics, a weapon system, player input handling, physics for projectiles, and basic AI to control moving targets. Your task is to build a simple environment where the player can shoot targets, and all systems should work seamlessly together.
Role Play
You are developing a firing range training level for a first-person shooter game. You are required to set up a working shooting system, integrate a functional weapon with reload mechanics, implement a physics system for projectiles, and design basic AI for moving targets. Additionally, you will create a player HUD that tracks their score, accuracy, and remaining ammunition.
Learning Objective
By the end of this project, you will have implemented:
- A complete shooting mechanic (with accurate aiming, projectiles, and hit detection).
- A weapon system with at least one firearm, including shooting and reload mechanics.
- Basic AI to control target movement.
- Physics-based projectiles that interact with the environment.
- A simple UI displaying relevant gameplay information (accuracy, ammo count, etc.).
- A simple firing range level design that incorporates moving and stationary targets.
Instructions
General Requirements
- Use
Blueprints
orC++
to implement the game mechanics. - Implement a firing system where the player can aim downsights and shoot.
- Implement a weapon system that supports shooting, reloading, and proper hit detection.
- Create a firing range level that includes both stationary and moving targets.
- Implement a physics system that governs projectile behavior (trajectory and collisions).
- Implement a HUD that shows the player's score, accuracy, and remaining ammunition.
Main Menu
The game's main menu must:
- Be a separate
level/map
. - Include the following options:
- Start Game: Transitions to the firing range gameplay.
- Settings: Allows the player to adjust mouse sensitivity.
- Quit: Closes the game.
Game Screen (HUD)
The game screen must include a HUD that displays:
- A precise crosshair that accurately indicates the bullet's point of impact.
- The player's current accuracy (hits devided by total shots fired).
- Remaining ammunition and reload status for the current weapon.
Player Character
The player character must have the following functionalities:
- Basic movement around the firing range.
- Proper input handling for aiming, shooting, and reloading.
- Interact with ammo pickups to replenish ammo.
Weapons
You must create at least one firearm (e.g., a pistol) that includes:
- Recoil mechanics.
- Reloading the weapon with an appropriate animation.
- Projectile physics that simulate bullet trajectories.
- Bullet hit detection (with an effect on impact, e.g., sound and visual feedback).
Targets and AI
You must implement the following for the targets:
- Create a stationary target.
- Create a moving target with basic AI that follows a predefined path or pattern.
- Implement hit detection for the targets.
- Ensure the targets respawn after a set interval once they are hit.
Game Loop Logic
The game loop must be continuous and consist of:
- The player starts with a loaded weapon and can shoot at targets.
- The player can open a pause menu at any time, with options to:
- Restart the game (reset score, targets, and ammo).
- Return to the main menu.
Level Design
You must design a firing range that includes:
- A coherent theme to ensure a consistent and immersive experience.
- Proper lighting and environment setup to ensure the range is clear and visually appealing.
- A section with stationary targets.
- A section with moving targets.
- Ammo pickups where the player can restock.
Bonus
- Add multiple weapons (e.g., a shotgun, sniper rifle) with unique shooting and reload mechanics.
- Implement more advanced target AI, such as random movement patterns or different difficulty levels.
- Add different hit zones for targets, with headshots awarding more accuracy points.
- Design a timed challenge mode where the player must hit all targets within a set time frame.
Submission
- You must upload a zip file of your game build in your repository.
- Ensure that the build works on your platform.
- If file size is an issue, use GitHub with Git LFS.