Dev Blog: Tea Picker 1

I decided that my first game that was really 100% my own would be both educational and based on the tea industry, drawing from experience in other parts of my life.

Scoping the project, I had to take into account that this was my first solo project. I'd done several different prototypes in Unity's Junior Programmer Pathway courses, so I felt pretty confident in something where objects moved across the screen (or the player moves through objects) which sounded most to me like tea pickers, who move along hedges of tea plants, plucking tea shoots.

Part of the skill of a tea picker is to only take the proper "plucking standard" appropriate for the tea the farmer wants to make. Fine plucking is two leaves and a bud. Medium is three leaves. Coarse is four. Sounds like a pretty easy conversion into a "good" pickup and two "enemies" in game terms.

Another challenge for a tea picker is that there's a tension between what the farmer wants, and how the farmer pays. If I'm a tea picker, I'm paid by weight, but the highest quality sprigs of tea take more effort to pick and weigh less. There's a dynamic tension between those fine sprigs and filling up your basket with lower quality but heavier sprigs. You can't do too much cheating with the heavy stuff or the farmer won't ask you back next time there's a harvest, and farmers are watching for that kind of behavior. But you can get away with some "accidental" wrong sprigs. That suggested multiple scores: how much weight, how full the basket, quality (% correct vs incorrect shoots), different points for each shoot collected, speed of collection because you can fill more baskets in a day, etc.

In the end, for the prototype, I chose to narrow it to just an amount of pay for each type of shoot as the basic score (high pay for the fine plucking, almost nothing for the coarse), and a "basket x% full" score to put pressure the other way. You fill up the basket more quickly with the bigger shoots, but they earn less.

As I was programming, these decisions felt sufficiently aligned with my vision for the game, but within the bounds of what I could accomplish in a reasonably short period of time. Just make a prefab for each of the three types of tea shoots, assign a weight and value to each, and track both numbers each time a player clicks on them.

Of course, there were other bits that needed to be put in place: the player's "movement" along the tea row (really movement of the sprigs toward the player), displaying current scores, start and game-over screens, buttons, and so forth. I created a "next loop" document in my digital notes (Obsidian with the Kanban community plugin) so I had a place to put all the stuff that needed to happen after the prototype was released, like making the shoots look like tea shoots rather than colored capsules.

It took about a week to get through my prototype MVP and was ready to release. Did a build. Uploaded it to Itch.io. Tested it there.

Restart game buttons didn't work.

Google. Stackexchange. C# forums. Unity forums. Ah, technically Itch isn't an "application" if it's playing in the browser, and the game can't close your browser but can redirect to another URL...like the game's page on Itch. Good enough. Version 0.1.1 released. Damnit. More searching, a bit more adjustment. Version 0.1.2 released. Still not exactly how I was envisioning it, but definitely close enough. And it was New Year's Eve, so I could also claim to have released it in 2021. Whew.

Did I refactor my code? No. I know I should have but school was starting again and I needed to prep my lesson plans. Did I move my original plan for a name collection and leaderboard from my first prototype to the next loop list? Yes, because technically it didn't need it, and seemed more important to be sure I was mostly happy with the scoring system overall before recording that information in a more permanent-ish form.

If you want to play it (in whatever its current form is, which may not be the prototype described here), it's at https://michaeljcoffey.itch.io/clicker-clicker-tea-picker

And for the completionist in me:

The list of done tasks in a kanban board, listing tasks necessary for the prototype of Clicker Clicker Tea Picker

Up next: Choose which things from the "next loop" notes will actually make it onto the burndown list for the next cycle/sprint.