ChoiJK / Cropout_Clone_Cpp

This is a project to learn about Unreal by replicating Unreal's cropout sample project in CPP.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cropout_Clone_Cpp

en kr

1. Introduction

This project is designed to learn the features of Unreal by replicating the Cropout Sample, a representative game sample of Unreal Engine 5, in CPP.

The goal of this project is to learn, so progress may be a bit slow.
(If I were developing AI with Behavior Trees, I would be learning BT in Unreal Engine from scratch).
I'm new to Unreal Engine, and as a result, there may be some weird functionality, structure, or grammar issues.
(These will be addressed as I gradually refactor).

If you find any errors or have any suggestions, please feel free to let me know.

  • Unreal Version : 5.3.2
  • IDE : Rider

2. What is Cropout sample?

Cropout is a sample top-down casual RTS game. It demonstrates how to build a project with cross-platform in mind, and also showcases some useful features built with Blueprints (all of which are developed with Blueprints).

It includes the following features

  • General UI
  • Enhanced Input
  • Geometry Script
  • Behavior Tree
    • EQS
  • Animation Mongate
  • Sound
  • Key and Curves - Timeline play
  • Save-Load
  • Blueprint Interfaces
  • Mobile & PC Packing

3. Goals

  1. develop everything in the Cropout Sample into a CPP.
    • Resources will inherit from the existing Sample.
    • Do not refactor until all content/features are developed with CPP.
  2. Once the development is complete with CPP, we will test it for refactoring, performance profiling, and cross-platform CI/CD.
  3. If there are features that can be extracted as plugins during the above process, we will OpenSource them

4. How to test

  1. clone the develop branch of this repository to your local PC.
  2. open Cropout_Clone_Cpp/CropOut_Clone_Cpp.uproject through Unreal engine.
  3. Open Content Browser -> Conten/Level/InGame level and play.

Caution - Paths to all resources are hardcoded. Caution.

5. Progress

We are currently about 60% of the way through the task.

[ What has been worked on ]

  • Geometry Script to generate terrain
  • Spawning of all Entities
  • Interaction using Enhanced Input
  • Villager AI via Behavior Tree
  • Attach & Dettach Objects based on Villager's behavior
  • Sound Play

[ What to work on ]

  • Adding UI System
    • Developing Game Logic with UI
  • Switching between Levels
  • Setting win/loss conditions for the game
  • Save/Load functionality
  • Cross-Platform Testing
  • Data flow refactoring for Interactable, Buildable, and Build UIs
    • alt text
cropout.cpp.sample.mp4

Translated with www.DeepL.com/Translator (free version)

About

This is a project to learn about Unreal by replicating Unreal's cropout sample project in CPP.

License:MIT License


Languages

Language:C++ 96.6%Language:C 3.0%Language:C# 0.5%