The implementation of multiple game programming patterns within Unreal Engine 5. You can check screenshots/GIFs and more information about this project from my personal portfolio website.
This project include several Unreal projects about the implementation of multiple game programming patterns, inspired by the book Game Programming Patterns and Game Development Patterns with Unreal Engine 5: Build maintainable and scalable systems with C++ and Blueprint.
I use Unreal5.2.1 and JetBrains Rider for this project under Windows 10 environment.
Unreal download
JetBrains Rider download
-
Download this repo, open(or zip and open) the Unreal5_GameProgrammingPatterns folder.
-
Double click related uproject file within each project folder.
-
Let the Unreal Game Engine rebuild the demo.
Details of each project are explain within each project's Readme file.
- HelloPatterns
Pure Blueprints project, contains 3 examples about how to optimize certain Blueprints to increase performance. - DoubleBuffer
A brief introduction about double buffer pattern. - Flyweight
A brief introduction about flyweight pattern. - SpatialPartitioning
A brief introduction about spatial partitioning. - Component
Create a custom health component which can track health, handle damage events and broadcast two key events. - Update
A brief introduction about update pattern. - BehaviorTree
Build a behavior tree for a simple real-time strategy (RTS) AI Unit. Introduce various building blocks such as selectors, sequences, decorators, services, and tasks. - EventDriven
Make 3 iterations of one certain implementation to demonstrate techniques of Tick, Timers/Timelines and Event-Driven Systems. - Observer
Update previous implemented custom HealthComponent class to demonstrate how event delegates enable anonymous communication, eliminating the need for direct object references. - DecoupledSystem
Decouple a small system using following rules:
- Functions for downward communication
- Events for upward communication
- Interfaces for horizontal communication.