This project was created as part of a university assignment and focuses on designing and implementing core gameplay mechanics for a bar simulator game. The goal of the project is to simulate realistic bar operations by combining NPC behavior systems with player-driven interactions such as inventory management and drink creation.
The mechanics are designed to be modular and extensible, allowing for future expansion of features.
- Simulate realistic bar interactions
- Create engaging systems that encourage quick thinking.
- Demonstrate understanding of game mechanics, system design, and state management
- Apply programming principles learned during the course
A queue system was developed to manage how NPCs interact with the bar:
- NPCs dynamically line up at the bar when waiting to be served
- Queue positions are updated as customers are served or leave
- Prevents overlapping or unrealistic NPC behavior
- Ensures a clear order of service, improving realism and gameplay flow
An inventory system was implemented to manage ingredients and resources:
- Stores drink ingredients and supplies
- Tracks available quantities in real time
- Prevents drinks from being made if required ingredients are missing
- Designed to be easily expandable for new items or categories
The drink creation mechanic allows players to prepare drinks for NPCs:
- Drinks are created using specific ingredient combinations
- Integrates directly with the inventory system
- Validates recipes before allowing completion
- Can be expanded to include drink quality, preparation time, or bonuses
A quest mechanic was implemented to guide player progression and add structure to gameplay:
- NPCs can assign quests such as serving specific drinks or completing a number of orders
- Quests provide clear objectives and rewards
- Integrates with existing systems like the queue, inventory, and drink creation mechanics
- Encourages players to prioritize tasks and manage resources efficiently
- Game logic and state management
- NPC behavior systems
- Queue and interaction handling
- Inventory and crafting-style mechanics
- Unreal Engine 5
- Rider
- C++