Role: Lead developer
Duration: 6 months part-time
Team-Size: 8 people
- Further understanding of Unity, especially Unity3D
- More C# knowledge
- Optimization for WebGL
- Creating a mixing system with icon generation
- Working with shaders in Unity
- Multiple cameras in Unity
- Creating a time system that can easily be modified and used by other systems.
- Team-work and the importance of proper pipelines
- Leading developers
- Source control
A serene garden building and flower mixing game, where you play at your own pace and take in the sights. Trailer below.
This project was the collective effort of 8 members working together; 4 artists, 2 designers, and 2 programmers. We were given a brief to create a WebGL game that carries a unique factor to draw in the player quite quickly. The game started as a vertical slice prototype, and then expanded to be a fully playable WebGL game.
We decided to create a game that stands out and is different from the usual, and finally settled on a game about exploring an island, and mixing the flowers you find there. To make it more attractive we focused a lot on making the visuals appealing, and decided to therefore add a night-day cycle, where the flowers at night will glow.
This was my second project working in Unity, and I was eager to learn more so we quickly moved forward. I was set on creating the flower system, the flower mixing, and creating comfortable visuals for the game.
I started working directly on creating small prototypes to test different ways of making the flowers glow, finally settling on the emissive material function of Unity. After that I started working on the flower-mixing system. Here I collaborated with the designers to create a flower system that splits each flower into a stem, a flower, and leaves. I integrated this into a machine that takes in two flowers, and then creates a new flower that will always have at least one of those parts from each flower. As the other programmer had by then added in a inventory system, flowers now needed icons, which meant I had to create a way which that was created which took considerably more time. In the end it worked, though I had to struggle with many systems before that.
I then was set on creating visuals, I worked on post-processing as well as a day-night cycle which looks good. Many adjustments led to a comfortable glow from flowers, though it ended up with me having to create a custom shader using Unity’s Shadergraph. I also worked on creating particle effects to emulate wind, as well as further developing shaders that made trees, bushes, and flowers to sway in the wind, making the game feel more dynamic. Then came using several tools to optimize the game as it was currently running at 20FPS on most computers which is not acceptable. After those adjustments I was able to bring it up to a stable 100FPS on my computer, and around 60FPS on most other computers.
Challenges along the way:
Early on we had communication problems, with originally having 1 more artists and 2 more programmers who in the end never did anything, and in the end quit. This put a bigger workload on the others but nothing that could not be managed. The designers had trouble communicating what they wanted, which resulted in one of our programmers writing a lot of code for the plants that went either unused or had to be modified heavily to be used, and the programmers and artists having to take a lot of creative liberty without proper guidance when working on the game. We also never established a proper pipeline to implement assets, meaning in the end I had to do a lot more work to make sure both of the artists assets worked together and properly fit the game-world.
One of the bigger challenges was optimizing the game for WebGL, which early on we decided to go with a low-poly game to make easier. As I was also in charge of compiling the project and making sure it worked for WebGL, a lot of changes had to be made to how lights were rendered, how shadows were cast, and also resolutions and framerate limitations. I also had to use tools to improve the 3D models animations as each flower reduced the framerate significantly.
Try out the Game yourself: