Create Your First Project
Start adding your projects to your portfolio. Click on "Manage Projects" to get started
Design Patterns for Dynamic Gameplay
Description
Design Patterns Work is a self-initiated project aimed at refreshing and expanding my knowledge of design patterns. In this project, I implemented various AI behaviors and game mechanics using design patterns such as Command, Flyweight, Observer, and Object Pooling. The project features a soldier character that patrols and chases the player, engaging in combat when within range. Additionally, AI characters follow the player controlled by a third-person camera, and a minimap displays health and rewards. Interactive elements include plants that provide information through pop-ups upon clicking.
Technologies Used
Game Engine: Unreal Engine 5
Programming Languages: Blueprints (Visual Scripting), C++
Tools: Unreal Engine 5, Visual Studio
Platforms: PC
Features
*AI Patrol and Chasing: Implemented AI behavior for a soldier that patrols, chases the player when spotted, and returns to its patrol route when the player is out of sight.
*Third-Person Camera: Developed a third-person camera system that follows the player character, providing an immersive gameplay experience.
*Minimap Integration: Integrated a minimap that displays health packs and rewards, enhancing player navigation and strategy.
*Interactive Elements: Created interactive plants that provide information through pop-ups, adding an educational and exploratory element to the game.
Design Patterns:
1- Command Pattern: Used to handle player commands and actions.
2- Flyweight Pattern: Applied to optimize memory usage by sharing
common data among multiple AI characters.
3- Observer Pattern: Implemented to update the minimap and UI
elements in response to game events.
4- Object Pooling: Used to efficiently manage the instantiation and
destruction of game objects, improving performance.
Development Process
In the Design Patterns Work project, my focus was on implementing and experimenting with various design patterns to solve common game development challenges. By creating AI behaviors such as patrolling and chasing, I demonstrated the practical application of these patterns. The project also involved developing a third-person camera system and integrating a minimap, both of which enhanced the overall gameplay experience. The interactive plant feature added an educational aspect, providing players with information about different plants. Using design patterns like Command, Flyweight, Observer, and Object Pooling, I ensured that the codebase was efficient, maintainable, and scalable.

