Inspiration
We wanted to make a cozy, beautiful, and simple game with a personal feel.
What it does
Randomized simulation of plant growth under artificial conditions that reflect the mood of the user as recognized by facial expression analysis. Mood of the user reflects weather conditions, which in turn probabilistically controls the growth of the plants in the garden. The plants grow freely according to a certain set of constraints -- taking into account nutrition, weight, space, and other realistic concerns, for an organic, deeply personal feel. More than a mood ring -- this is meant to be a slowly developed reflection of the self.
How I built it
The core functionality of the game is the user's influence upon the growth of the plants -- facial expression translates to corresponding artificial conditions, such as weather, nutrient availability, and growth potential. We used Google Cloud Vision's facial expression analysis API to interpret the raw webcam data, and piped that into our simulation for dynamic effect -- joy brings prosperity, anger inhibits growth, and sadness both hurts and helps different plants.
The main focus of the simulation, the plants, was created using a flexible constraint system in which allowable values and approximate "forces" constrain randomness -- all the plants that you see generated by this program are in large part "organic". This required a good amount of modelling and structuring of such a system, and the end result is plants that both act and feel realistic.
Procedural generation plays a large part in every part of the game not just the plats; we wanted each garden to feel unique, so the landscape is generated from scratch for each new garden for unique, but always pleasing, geometries. The weather effects, from the blaze of the desert sun to the torrents of rain are all similarly generated on the spot -- in fact, there exists only a single prebuilt asset in the entire game -- the thunderstorm cloud. Everything else is generated from first principles.
When we first came up with the idea of this project, we knew that we wanted it to be comfortable and cozy -- and our carefully selected color palette and atmosphere reflect that. From the sunny grassland to the overbearing thunderstorm, you feel right at home.
What's next
The current form of the sandbox is extremely flexible -- with the change of only a few constants, plants of vastly different appearances and behaviors can be generated. However, it was limited by the limited time we had to build it -- the growth timelines are accelerated, we couldn't bring out some of the more subtle interactions and plant intricacies we wanted to create. What's next is the completion of the experience -- with a richer plant engine, more data sources, a slower growth timeline, some interactive elements, and more sustaining trends, this simulation would be positioned to be a serious tool for self-discovery and reflection, as well as relaxation.
Log in or sign up for Devpost to join the conversation.