trail games

...it can simply be fun and a new way to think about all those klicks you’re tracking.

Writing code for a project you love is like being a kid in a candy store.

I’ve been writing code for a running project.  The result of the effort is something I described in a post earlier this week, but even in the few days since I wrote and posted that explanation I’ve started using my new web app—ahem, running toy—and indulging in post-run feature building.

I have been moderately obsessed with a thing called “gamification” for the last couple decades.  Gamification is when you take something in real life—a hobby or a set of tasks or a chore list—and you make a literal game out of it: the game is usually heavily influenced by an RPG-style game, like say Dungeons & Dragons for example, and loops in aspects of character design, experience acquisition and tracking, and achievement-based reward systems.

Running is well-suited for such gamification.  These systems rely on routine, data, and progressive milestone efforts moving towards a goal.

Now look, you might be one hundred percent internally motivated, and that’s awesome. For the most part I would say I’ve never really needed external drivers to get myself off the couch and onto the trails.

But such gamification can be for more than motivation: it can simple be fun and a new way to think about all those klicks you’re tracking.

My code has been adding a whole bunch of gamification features to my web app. All my runs sync over, and I can route-plan and look at heat maps and keep track of my annual metrics—but now I can unlock trophies, earn XP for doing runs and completing “quest” challenges like “run such and such a street this week” or “run 3 times after sunset” and if nothing else it makes me think differently about my time out on the trails.

I love to run and I love to code, and somehow I’ve united the two into an interesting project.

If you are incredibly nerdy about data like me, the source code is on GitHub.

Definitions

august
In the month of August where I live summer peaks and the days are often relatively hot (in the high 20s or low 30s) muggy, smokey and dry. Rain is infrequent, but when it arrives it comes in the form of drenching downpours and epic thunderstorms. We begin our runs earlier in the day because the local marathon runs late in the month and our training distances are maxing.
goal
In training lingo, a planned series of steps and milestones to reach some planned achievement: A race time. A race finish. A weekly mileage total. A streak. Or getting through an injury. Goals are personal and (for me) important.
klick
As a Canadian I run in metric. As a writer, I find the word kilometre clunky and clinical. I'll usually use the colloquial "klick" or "klicks" to substitute in for this.
motivation
Like many things in life, running is an act of motivation. You make yourself put on the gear. You put in the effort to lace up. You open the front door and you step out into the world and the weather. You press the start button on your watch and you go. Step after step, one footfall at a time.
october
Fully into autumn, October is a month of shifting seasons, short days, long shadows, and gorgeous sunsets. The cobwebs are hung on the eaves in preparation for halloween, and here in Canada we're running off Thanksgiving dinner for a couple weeks after a proper good meal mid-month.
september
The days are noticeably shorter when we realize that September is upon us. The post-summer routine kicks in and people are back to regular work schedules and kids are back in school. It can still be warm, but the hottest days are behind us and most of the biggest races of the year are in the rear view. We savour September knowing winter is too soon to come.
Brad The Runner

Brad The Runner

Brad has been running recreationally since late 2007, completing five marathons, dozens of half marathons, and countless shorter races. He has been writing about his experiences on the trails for nearly as long as he has been running.

Leave a Reply

Your email address will not be published. Required fields are marked *