Project Overview
Conundrum Creations was developed as our capstone project during the final semester of my game programming program. Inspired by Portal, we aimed to create a unique puzzle experience built around a single core mechanic—in our case, color-based interactions.
The game’s design centered on using color as the foundation for both puzzles and environmental interaction, supported by physics-based elements to enhance immersion and realism. Unlike traditional puzzle games with numerous but simple challenges, we focused on fewer puzzles with greater depth and creativity.
The final product included:
2 main levels, each containing 5 distinct mini-levels.
A balance of color-based mechanics and realistic, physics-driven gameplay.
A guided player experience through voice-over dialogue and cinematic sequences.
Project Goals
Create engaging, interactive puzzle gameplay.
Integrate physics-based interactions for realism.
Develop a unique color-based puzzle system.
Implement achievements to reward progress.
Build 2 main levels with 5 mini-levels each.
Provide player guidance with in-game dialogue.
Include cinematic introductions to main levels using CineCameraActor.
Support full controller playthrough for a “shipped game” feel.
Add a splash screen and loading screen system for polish.
Architecture
By using the Game Instance as the central mediator, the architecture stays modular and scalable — puzzle components, achievements, and cinematics operate independently while still sharing state and progress. This design not only reduces system coupling but also ensures a seamless player experience, where puzzles, unlocks, and transitions flow together smoothly without direct dependencies.
My Contributions
Project Lead
Coordinated a 5-member team with two meetings per week—one for task assignment, another for progress review and troubleshooting.
Used Discord for centralized communication and file sharing.
Created a detailed Game Design Document (GDD) containing:
Puzzle and level concepts
UI designs
Achievement requirements
Experimental gameplay ideas for prototyping
Planned 1 month of pre-production to finalize scope, ensuring smooth development within the 3.5-month timeline.
Level Designer
Designed All the level in the game.
Focused on gradual difficulty progression and integrated teaching of mechanics.
Balanced puzzle complexity with visual clarity to avoid player confusion.
Game Programmer
What I Learned
Technical Skills
Implementing dynamic materials and color-based interaction logic.
Designing physics-integrated puzzles in Unreal Engine.
Using interfaces (Observer Pattern) for modular event-driven interactions.
Creating cinematic camera sequences for narrative and gameplay onboarding.
Managing controller connection states and implementing robust input handling.
Building loading screen systems for seamless level transitions.
Soft Skills
Project Management – Planning development phases and ensuring timely delivery.
Team Leadership – Coordinating across roles, delegating effectively, and facilitating collaboration.
Design Thinking – Balancing complexity and clarity to ensure engaging but approachable puzzles.
Polish & Player Experience – Adding features like controller support and cinematic intros to elevate presentation quality.
Created static mesh-based lasers with adjustable length/width via trace detection. Implemented dynamic material instances to allow real-time color changes. Lasers interacted with other objects based on color match/mismatch.
Core Puzzle Components
Multi-Color Lasers
Color Cubes
Used dynamic materials to change cube colors. Implemented logic so matching colors allowed lasers to pass through, while mismatched colors blocked the beam.
Color Switches
Chargeable Switches
Activated when a matching color cube was placed on them, triggering doors via interface communication.
Required a certain number and type of colored lasers to fully charge before unlocking doors.
Cinematic Level Introductions
Integrated CineCameraActor sequences to showcase newly unlocked main levels. These brief flythroughs gave players a preview of upcoming challenges and environment layout.
Controller Support System
Developed a dedicated controller connection manager in UMyGameInstance and AA1_GameMode to detect, connect, and assign controllers dynamically.
Added automatic pause/resume functionality on controller disconnect/reconnect.
Displayed a UI widget when a controller was unplugged to notify the player.
Splash & Loading Screens
Implemented a splash screen on game start.
Created a loading screen system with fade-in/out transitions using a custom GameViewportClient.
Added cinematic loading sequences for gameplay map transitions.