Postmortem of Roses Are Red
🌹 Roses Are Red is a relaxing experience where you play as Mother Nature and fill the world with flowers. Play the game on itch.io.
🖋️ In this devlog I’ll elaborate on the goal of the project, what I’ve learned from it (animation, character modelling, coroutines), and finally share a time tracking breakdown. Enjoy! Also see the other devlogs about art design & music design.
🎯 Goals of the project
- Roses Are Red was made for the 2022 Game Off Jam on itch. The theme was “cliché”, and I turned that into a game based around the well-known verse “Roses are red, violets are blue”, as well as the cliché of a personified Mother Nature who makes plants grow wherever she walks.
- My game concept was to make a very wholesome experience that is extremely low effort to play & enjoy. Therefore the gameplay is limited to simply walking around the map and making flowers grow, while the experience is carried by the music & art design.
- Besides finishing & publishing a game, I had two main personal goals for this project: learning animations in Unity & creating a 3D humanoid character. I’m happy to have succeeded in both goals with this project. As an extra, I also learned how to use Unity coroutines, which have proven to be very handy.
🧠 New Things I Learned
Animations in Unity
After trying out the animation tools in Unity for the first time, I can say they’re very good and I’ll probably use them in every project from now on. Unity Learn has a great section on animation, which was my main source for learning it. The principles are simple: you create an Animator, which is a state machine that can transition between multiple Animation Clips based on conditions or triggers from code. The Animation Clips can be made directly in Unity, which I did for the flower waving & growing, rock sinking, and text animations. They can also be imported from external software. I used Mixamo to automatically generate a rig for my character & for downloading suitable mocap animations to be used in Unity. This worked very well after figuring out the initial setup.
3D Character Modelling
I’ve created 2D characters before, as well as various 3D models of props & environment, but modelling a character in 3D was the first time. Since I was going for realistic proportions, I used Mixamo’s X Bot as a starting point and built my model on top of that. This worked well, the only main issue was the bending points (shoulders, elbows, knees), which didn’t look good in the animation at first. Introducing extra edge loops closely next to the joints fixed this problem.
Unity Coroutines
Coroutines allow you to interrupt the execution of a function, and continue some frames later. I used it in this project to implement all the cutscenes & camera movement triggers. Alternatively, using async
methods would also be an option
Implementing coroutines is quite straightforward: you use an IEnumerator
instead of a normal function, and use yield return
instead of a normal return
statement. See the example below:
private void Start() { StartCoroutine(Cutscene()); } IEnumerator Cutscene() // you can also add parameters { DoThings(); yield return null; // pause execution for 1 frame yield return new WaitForSeconds(_delay); // pause execution for _delay seconds yield return new OtherCutscene(); // execute another coroutine, wait for its completion StartCoroutine(OtherCutscene()); // execute another coroutine, don't wait for its completion DoThings(); }
⏱️ Time Tracking Breakdown
Planning & estimating the necessary time to complete a project is always hard. The only way to improve here is to track your time and take a look at it afterwards. I’m sharing my time tracking here, in the hope that it will also help others. Keep in mind that I’m mostly intermediate, which means beginners will be slower, and experts will be faster.
Because of the atmospheric nature of the project, the gameplay took less work compared to other games (it’s very simple by design), while the music is a bit more important than normal. This has resulted in a more or less equal time split between art, coding, and music. Also, keep in mind that brainstorming & concept iteration happened mostly while doing other things (showering, commuting, trying to sleep), which is not included in the time tracking.
Art | Model character (first time) | 7h |
Art | Model environment & flowers | 6h |
Art | Animation research (first time) | 4h |
Art | Animate character (first time, used Mixamo animations) | 3h |
Implementation | Character | 2h |
Implementation | Flowers | 2h |
Implementation | Other gameplay programming & playtesting | 14h |
Other | Brainstorm & concept | 2h |
Other | Publish & presentation | 3h |
Music | Composing | 5h |
Music | Instrumental Production | 7h |
Music | Vocal recording preparation | 2h |
Music | Vocal recording | 3h |
Music | Vocal comping | 1h |
Music | Mixing | 1h |
Music | Implementation | 2h |
Thanks for reading!
💬 Comment below to share your thoughts & suggestions
🎮 Check out my other games & devlogs
🎨 Check out my other projects
Have a nice life ❤️
~ Tijmen
Files
Get Roses Are Red
Roses Are Red
Play as Mother Nature & fill the world with flowers in this relaxing experience.
More posts
- Sound Design of Roses Are RedDec 10, 2022
- Art Design of Roses Are RedDec 10, 2022
Leave a comment
Log in with itch.io to leave a comment.