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

🖋️ 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.

The animation controller for the main character

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.

Extra edge loops around the knee joints keep the geometry looking good when animated

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()
IEnumerator Cutscene() // you can also add parameters
    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

⏱️ 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 42 MB
Dec 01, 2022

Get Roses Are Red

Download NowName your own price

Leave a comment

Log in with to leave a comment.