/TanksUnrealOld

Primary LanguageC++OtherNOASSERTION

This is no longer being updated! Visit the rewritten version here: https://github.com/Ravbug/TanksUnreal

Screenshot of the game

About

This repository contains my remake of the Unity Tanks! Tutorial game in Unreal Engine 4, the engine behind the popular game Fortnite. I am writing the game predominantly in C++, using blueprint subclassing where it's easier. My goal is to learn Unreal Engine C++ and provide a sample game for people looking to compare Unreal and Unity.

Requirements:

Software

  1. Engine: Unreal Engine 4.22 or newer
  2. IDE: Microsoft Visual Studio Community 2017 or Xcode

Hardware

  1. A decent discrete GPU and quad core CPU
  2. At least 15GB of disk space (for engine and IDE)
  3. At least 4GB of RAM

Compiling it yourself

  1. Ensure you have the software listed above installed on your computer.
  2. Download this repository as a zip (faster than cloning)
  3. Unzip the archive

Editor only

  1. Open the .uproject and compile now if it asks
  2. Play!

From IDE

  1. Right-click the .uproject file in the Finder/File Explorer and press Generate Xcode/Visual Studio Project
    • If this option is not visible, open the .uproject and go to File->Generate Xcode/Visual Studio Project
  2. Press the Compile and Run button in your IDE (CMD+R in Xcode, green Run button in VS)
  3. Play!

Issues

If you find an issue, use the Issues section of this repository to report it. Be sure to include specifically what the issue is, as well as what you've done to try to fix it. The more information you include, the better. However, I may not be able to fix it quickly.

To Do

My list of tasks for this project, semi sorted by importance: Goal is to reach parity with the Unity game, and perhaps extend on it.

  • Add unified tank controller class
  • Tank recoloring and spawnpoint customization
  • Tank knockback when hit
  • Variable damage based on distance to bullet
  • Detect end of game and which tanks to track
  • Spawn tanks on level load
  • Track wins (configurable rounds needed to win game)
  • Text to display round number and scoreboard
  • Display tank health in-game (Billboard?)
  • Smooth tank acceleration and deceleration when controlled
  • Smooth camera acceleration and deceleration
  • Camera rotation (feature removed, caused too many problems)
  • Dynamic camera zooming
  • fix zooming and rotating to avoid cutting off tanks
  • Multiple round support (reset tanks after a delay)
  • Convert the multiple arrays used for setup into a single array (like the Unity game) for easier and more idiot-proof config
  • Bullet particles and lighting
  • Explosions effect
  • Sounds (use Unity assets)
  • music (use Unity assets)
  • Build the arena
  • Tank engine idle and driving sounds
  • Make game framerate independent
  • Tank AI: Pathfinding
  • Tank AI: Shooting (and not shooting when behind a wall - use a trigger collider for this)
  • Tank AI: Choosing targets (and aiming turret)
  • Fix derpy spinning AI
  • Game controller support
  • Mobile touch support
  • Experiment with deployment
  • Maybe: Land mines
  • Maybe: Time of day