Notifications
Article
Peach Mountain Friends: 1,000 Leaves
Updated 5 years ago
788
0
The Story: 1,000 Leaves
We first meet Hanna under the trees raking leaves. She has a secret plan! Join the fun as she works out the process of counting by ones, tens, and hundreds while enjoying the great outdoors. This game showcases Unity 2D animation, Inverse Kinematics, and 2D Cinemachine.
The game is an interactive story about math. The story arc layers a cute character demonstrating a math concept: Counting by ones, tens, and hundreds. Finally, the story shows what a thousand looks like.

Origin Story

I've been brainstorming the concept of story-based children's apps since 2012. I took a break from the project after having my third child. In 2017, I found a very talented artist who was willing to work with me on the project. I picked up where I left off, building on the original concept of the Peach Mountain Friends who work through technical and system challenges while causing a lot of trouble and having a lot of fun.
When Unity's 2D tools were refined and explained, I saw a chance to simplify the build process by reducing the complexity of the project by an entire dimensional plane so that a non-technical creator can get from zero software expertise to GameBuild in 2.5 months.
This kind of speed in development wasn't possible 7 years ago. The 2D tools greatly reduced the learning curve.

The Inspiration Behind 1,000 Leaves

As a kid, learning arithmetic was fun when I got to practice on Atari floppy disk spaceship games. As a parent, I've found that a lot of those brilliant Atari games have disappeared. Peach Mountain Friends game(s) — plural, I hope, although this is the first one of many -- are free. The plan is to not run traditional ads since this material is crafted for kids. If you're curious: the plan is to make sales revenue selling tee shirts and other gear.
As much as possible, Peach Mountain Friends will scale and automate the production of engaging, math and science games that tell fun stories with a side of humor and mischief. The vision is to provide the games for free to anyone who owns the hardware to run them.

2D Tools of choice: Animation, IK, and Cinemachine

In Unity, as in life, there are infinite possibilities. Narrowing down what we want to do can be 80% of the effort. The first story for the math-focused kids' game grew, shifted, and shrank every day until I found a story that could work for the parts of the game I was equipped to build.
Since at first I didn't know what any of the 2D tools did, I tried them all. I ended up using three of the tools. SpriteShape and Tilemaps would have been useful for some of the more complex levels that I ended up cutting, but those features will help when the project expands to build a bigger world rather than prototyping a proof of concept game.
2D Cinemachine is the star tool of the 1,000 Leaves project. Cinemachine easily tracks Hanna as she rakes through the leaves in different meadows. I think it took about 5 minutes to set up Cinemachine and get it working. A+, don't leave home without it!
I found that the Animator, Animation, and Timeline systems get very complex with just a little input. The value of IK seems to depend on how good your animation skills are. You can rig up a character and find that you need to re-do it completely with a different GameObject structure to make it run correctly. It's worth running through a bare-bones prototype before rigging up something complicated, just to figure out where all the required inputs and outputs are.
Inverse Kinematics took a long time to figure out, but it was worth it. I built and rebuilt bones a few times for Hanna and the other Peach Mountain Friends. The models look great!! But when it came time to animate, I mixed up the Player components in the scene while building and animating the characters with tools. IK is fantastic if you have some time to build up expertise with the processes.
One thing to note: When building an IK bone rig in the sprite editor, naming the bones is extremely important. Later you will need to select the effector bones, which are typically the head, feet, and hands on a humanoid model, from a long list of other bones. Selecting the right bone when configuring the IK script is easiest when you label at least the ends of each limb. Then you can drag and drop the end bones from the scene hierarchy of the edited sprite into the IK component.
The biggest challenge in selecting tools to use was figuring out how to simplify elements of the game so I could ship the game in time for the contest. I cut and changed many game elements, including all but one introductory character and several story lines. That allowed me to focus on the three tools I selected to build with.

100% Original character art by Pat Redding Scanlon

I used the JazzCreateBubble font available for free on the asset store. Pat Scanlon drew the character art, props, and scenery. I sliced up the images when needed, using The Gimp and Inkscape. The amazing thing here is that I was able to convert Pat's gorgeous art into an animated world in less than two months. AMAZING!

Children's content created by two moms

The programmer: I am 39 years old, a parent of three kids. I've worked in marketing and retail management, with some dabblings in grant writing, startups, and 3d modeling (Using Google Sketchup, The Gimp, and 123d design). Aside from working on Unity scripts for this project, I have limited to no programming experience.
The artist: I met Pat as a fellow parent. Our children were in school together from Kindergarten to middle school. Last year, Pat sent a Christmas card that she drew of cartoon versions of her family that showed her brilliant ability to put personality into character drawings. Personality was what I needed for my Peach Mountain Friends characters, so in December, 2017, I asked her to draw the art for the project. She said yes!

The standout tutorials

I started on this prototype from Zero game-building abilities or experience. I worked my way up the stack to learn how to piece the game together and get the moving parts to work. The process worked like this: I read a blog post on the next thing I wanted to try out in Unity, and then I emailed Pat an asset request. She then miraculously drew exactly the right thing and sent it as a PNG file to me. Pat can draft a new look for characters in about a day, so I was able to review designs lightning-fast.
I focused the asset and scripting efforts on these resources from Unity. The big takeaway for me from the tutorial exercises was: Do it right the first time. Often that means taking the time to script it. Otherwise you'll get cascading issues that eventually need to be addressed with a gut rennovation of the project scene (see item 6, below).

Progression of Work

November 5 — I learn about the 2D Challenge
11/5-11/15 Research to turn existing 3d plans into a 2d game prototype
11/15-11/26 Brainstorming to get the right 2d assets, efficiently
11/24-12/15 Reform story draft to work well with the 2d game map
11/29 Finally get a moving animated 2d rig (It was Sid, not Hanna)
Major project overhauls and rebuilding on these dates: December 9, 10, 11, 12, and 14. In some of these cases, I made a backup copy of the game and started almost from scratch as the original ideas for animating and rigging the characters in an appealing way for kids fell apart.
12/15 Final push to get the last animations into place. Yes, I accidentally wrote over the build folders early this morning... recovery by 3 p.m.! (Save and back up your files, ppl.)

Getting familiar with the available tools

Since Unity offers so many possibilities, I didn't know where to start. I ended up watching 2d tutorial videos at 1.5x or 2x speed to build familiarity with the interface. Then I rigged one of the Friends (Sid). I spent a day slicing up the Sid sprite and then the Hanna sprite. Then I realized I needed to get back to the drawing board and electronically separate and distance the moving parts of the all the sprite images so that the PNG parts wouldn't spill over each other in the sprite rigging process.
I began using sliced PNGs instead of layered vector files early in the project. This turned out to be a big win for speed. Working with layers and vectors can be very time consuming, but Pat can easily turn her beautiful hand-drawn pictures into sliced 2d sprites using a simple photo editor.
To simplify the plan and complete something in time, I ended up building the characters without tracking or managing their behaviors with too many extra scripts. Each dimension of inventory tracking and programming turns out to force another few days of coordinating and configuring into the project timeline. I started looking at each feature that I COULD do with a very critical eye. All that lovely complexity that you could build can end up exponentially multiplying configuration and polishing time.

Final text-based storyboard: "1,000 Times the Fun"

For the first story, I came up with this plan, after looking at the 2D Unity capabilities.
Ten days and 5 story plans later, I zeroed in on Box #9 for the whole game, which is about 1/10th as complicated as the original plan. To help visualize the process, I laid out a text-based storyboard.
Intro page: Peach mountain friends cover page. Animate summer turning to fall (green trees fading to orange), then leaves falling.
Gameplay: Hanna needs to rake the leaves. Make a system to rake the leaves. Rake 10 leaves into each pile. Put ten piles into each basket. Pile ten baskets full into the leaf pile. Jump into the leaf pile!
Making a simple, straightforward plan means that you can sometimes convert the plan directly into logic bundles to put into scripts. The logic draft gave a feel for the most streamlined possible game I could make in the available time, showing the way to the foundational scripts I would use as the backbone for the game. The logic plan for the game play wasn't exactly the right fit in the end, but it helped identify logic pieces that could be scripted that would get the project closer to the goals.
If you look at the game plan over time, you can see parts falling off of it at each phase of development. First I ditched 90% of the story. Then I cut all but one character for the first game. I eliminated two out of three of the remaining character's orthographic orientations (profile and back views), and almost all of the extra animations like falling leaves — We'll come back to that later.
The cutting room floor was an essential part of the process, and Unity 2D tools enabled a lot of hand-drawn details that add texture even without a lot of explosions and animation flourishes. The 2D tools empower tiny teams to do big things in a small amount of development time.