Azul was created by myself, Connor Zielinski, Cameron Foister, Makena Kronemyer, Zack Pine, and Ben Attina. I worked as a mechanic and level designer and took the role of team leader for development. The game is a 3d platformer set in a massive jungle. You play as a peacock treasure hunter named Azul. You can jump, swing, and scare animals in your path on your way to get pieces of an ancient idol.
After first settling on the theme and setting of our game, my team began by ironing out mechanics. We knew that we did not want explicit combat in our game, and so to fit with our peacock protagonist I suggested a "tail flare" mechanic to defend from enemies without actually attacking them.
While other members of my team set up the base character movement, I programmed the tail flare functionality, which consisted of two box raycasts, one narrow box close to the player and a wider one father away, to simulate a "field of vision" for the tail flare without needing to calculate the angles of raycasting a cone. The specific lengths and widths of these raycast boxes would be tweaked through playtesting to ensure that the tail flare did not hit when it felt like it should have missed, or vice versa. Zack Pine and I created a small whitebox environment to test the tail flair, player movement, and swinging from vines.
I was responsible, at this point and throughout development, for organizing our group's meetings, deadlines, and progress reports, as well as mediating conflicts between group members.
After the base player mechanics were implemented, Zack and I got to work designing the layout of the level. We had several concepts that we wanted to ensure were implemented. First, that mechanics would be introduced to the player in controlled doses, allowing them to familiarize themselves with enemy snakes or breaking branches before increasing the difficulty of those mechanics. Second, that the player had some amount of choice over how they progressed through the environment and the path they took, but ended up collecting all the idol pieces regardless.
To this end, I outlined a series of "gameplay bubbles" which identified which mechanics would be required for which portions of the level, how the player would be introduced to those mechanics, and how those mechanics would increase in difficulty or combine later in the game. From there, we created a simplified map of various portions of the level which showed how the player might move through them, how the gameplay bubbles would be implemented, and how the player's paths would branch and reconnect, allowing them to explore the level in their own way while keeping the gameplay experience controlled.
It was at this point that we also added swinging vines that would only spawn in after the player collected certain idol pieces, allowing us to gate parts of the level behind objective progress.
Zack and I designed a whitebox of the level based on the gameplay bubbles and level map, adding the swinging vines, snake enemies, and breaking branches in select locations to increase the difficulty of the level as the player progressed and became more familiar with the obstacles. At this point, Makena, the team's artist, finished our Art Style Guide, and we began implementing our environmental models into the game, transforming the whitebox into a lush jungle.
During this time I also programmed the spawning vine mechanic to control player progression, as well as the system to change the model of each idol piece at runtime so that they would all be different. As we finalized our level design, we added colored flowers to guide the player along the various routes the game offers. If a player is confused on where to go, the flowers act as directions when no idols are visible.
During playtesting, I realized that there was no introduction to the tail flare mechanic for players, and as such I programmed in a text popup which triggered when a player got within range of a snake, prompting them to press "E" to scare the snake. This popup would continue to appear for the player when they got in range of a snake until they successfully scared one.
Finally, as we wrapped up development, I added the cutscene functionality and finalized the aesthetics of the environment, such as fog and the forest surrounding the playable area. My group's cumulative design outline for Azul is highlighted in our Game Design Document.
Through development of Azul, I practiced bridging mechanics and storytelling, which I consider very important in game development. Because our protagonist was nonviolent, I was able to design the tail flare mechanic, which connected the gameplay and the protagonist's design into one cohesive whole.
Further, I put my studies in gameplay progression and user experience into practice, controlling what mechanics the player interacted with and when in order to deliver an overall rewarding gameplay experience. I worked to strike a balance between teaching and helping the player and challenging them with dangerous obstacles.
Finally, I learned a lot about managing a game development project and the various development checkpoints that must be met. While my team members and I worked in parallel on many parts of Azul, some development hinged on the prior completion of other work. Mediating these requirements and redistributing tasks when deadlines were missed made for a rewarding challenge and provided me much insight into the challenges of game development and how to overcome them.