Genre: first-person puzzle exploration
Team size: 1
Platform: aimed at PC
Project type: Personal project
Software used: Unreal Engine 5, Photoshop, 3Ds Max
Solveland is a first-person puzzle exploration game, where you’ve gotten lost while exploring this newly found world. While searching for a way out, you gain the ability to rotate certain pieces of the environment. With this new ability, you solve big-scaled puzzles and explore this magical city.
The core mechanics are based on the Rubik’s Cube. For the implementation, I made a parent system that I could use for similar mechanics. It was made so that I can place interactables around without having to change variables to make it work. For the rotating cubes, I made a system where I can select a preset of buildings. The saving and loading are done with a director that looks over a level for actors with savable attributes. This is also important when the player walks out of a level’s streaming volume. To bring more detail to the environment, I have created a shader with the material editor that places squares on each object with light opacity.
During my graduation, the main goal was to create a reusable puzzle system, designing puzzles and connecting them with level design principles. Afterward, I took a more professional look at the game’s core. I did this by, researching and exploring the target audience and finding references. To mix up the gameplay flow, I had to implement something else besides solving puzzles. It should be optional, entertaining for the players who enjoy this genre, and fitting with the gameplay. Adding more exploration options and different rarities of collectibles were the right choice. It works well with the game and the narrative. The protagonist is an archeologist searching for this new floating city. Once found, she started exploring it, but she was unable to find the exit.
For the creation of puzzles, I started out with a few questions. What kind of puzzle do I need here, what mechanics should it contain, and how complex should they be? The following step is to create an interesting design with my paper prototype. I write down the steps to solve it, then implement a block-out version of the puzzle in Unreal. Testing the puzzle is important, there might be multiple solutions, or being able to get stuck while solving it. Once I have numerous puzzles, I connect them with a flow that guides the player toward the next obstacle. In between puzzles, I implement some optional collectibles and (depending on the level) exploration options.
For the art direction, I aimed at having a cubical art style with flat colors. I implemented a squared shader, to give the art style more detail. This style fits well with the game and the mechanics. The UI also contains a light-squared overlay. The main menu is also fully functional, for both the controller and mouse/keyboard. Furthermore, I also created some sound effects, mainly the most important ones, such as rotating cubes. A few versions with different pitches were made and randomized in the sound cue editor. To keep an overview of the project, I use a whiteboard with sticky notes. High-level planning is on top of the board.