Thursday, September 5, 2019

Spirit of Play: Play and Humility


What is this?

Last year, I dedicated some time to thinking about my hobby on a grander scale. Inspired primarily by games like B.U.T.T.O.N. and J.S. Joust, I started searching for the intersection between technology, play, and spirituality, taking a deeper dive into the the works of people like Henning Eichberg, Bernie De Koven, Ian Bogost, and Johan Huizinga all of whom have been instrumental to my understanding of "play" on a grander scale, and searching through scripture to find where play belongs in Christian life. At one point or another I started up a google doc to take notes about what I learned and found, speaking from the perspective as if I were giving a lecture or a sermon, to try to help make sense of my own thoughts. The following blog posts, which I'm titling "Spirit of Play" are excerpts from that doc; thoughts that I felt were worth sharing. While I'm still trying to figure all of this out, I hope that these posts plant some kind of seed or start some kind of conversation about the importance of play in a world that is in desperate need of it...

Introduction

I’d like to start off my this series of posts with an anecdote, one that I’m sure many of the parents in the room will be familiar with.
A man and his daughter were visiting the mall.  After doing some shopping, the man looks at his watch and realizes he is running late to rendezvous with his wife.  The man begins to rush through the mall to the spot where they had agreed to meet, trying his best to navigate through the mall traffic as fast as he could while keeping his daughter in tow.  As he pulled her along, hand in hand, he would occasionally feel his daughter pulling back in the other direction. Eventually he turned around he saw what she was doing: she was carefully placing her steps to make sure her foot would land in the center of each individual square tile that made up the floor of the mall, relying on her father’s hand to guide the direction in which she was traveling.
This is an anecdote from a man named Ian Bogost, a game designer and philosopher, who described this encounter in his book titled “Play Anything”.   
Bogost elaborated a bit on this experience, saying that his daughter had “made up a game; she was ‘playing,’ we say, often dismissively.  [Yet] she had made the most of a mundane situation. She turned misery into fun.” This small interaction with his daughter would become the foundation of the rest of his book, which is a read that I strongly recommend and will reference throughout the rest of this talk.

Related Scripture

Truly I say to you, unless you are converted and become like children, you will not enter the kingdom of heaven.  Whoever then humbles himself as this child, he is the greatest in the kingdom of heaven.” - Matthew 18:3
"I praise you father, Lord of heaven and earth, because you have hidden these things from the wise and learned, and revealed them to little children.” - Matthew 11:25

Child's Play


What comes to your mind when you hear the word “Play”?  Chances are you might have thought of a play as being something you watch in a theater, or maybe you pictured someone playing a musical instrument.  Most commonly, though, we associate the word play as being an activity for and by children. “Go outside and play” is a common phrase a parent might say to their child upon realizing they’ve been sitting in front of the television for hours on end.  I know I certainly heard it when I was younger. Sometimes I still hear it today.



There are good reasons for this association.  In a recent publication from the American Academy of Pediatrics, researchers emphasize the importance of play as a tool for growth and development in children.  


“...developmentally appropriate play with parents and peers is a singular opportunity to promote the social-emotional, cognitive, language, and self-regulation skills that build executive function and a prosocial brain.”


“Play is fundamentally important for learning 21st century skills, such as problem solving, collaboration, and creativity, which require the executive functioning skills that are critical for adult success.”
That’s quite a mouthful for a simple activity.
This is all very well and good, but what does play *actually* mean in this regard?  What are we actually asking our children to do when we say “why don’t you go out and play”?  We’ve already seen how the term could be applied in so many different ways.


Returning to Bogost, he had theorized that play, at its most abstract, is simply doing what we can with what we are given.  By playing with something, say a rubber ball or a stick you found on the sidewalk, you are accepting the fact that this thing you are playing with has some sort of structure; it’s own set of affordances.  You can’t truly discover this structure, however, until you give all of your attention to this thing, until you’ve truly explored all of it’s qualities and capabilities. At first glance a rubber ball can’t do very much aside from bounce and roll, but throw in a bat or a racket, and maybe a net or a basket, and you get the countless number of games that children play all around the world.  Discovering these structures and opportunities means turning your attention outward. To quote Mr. Bogost once more, “Living playfully isn’t about you, it turns out. It’s about everything else, and what you manage to do with it.”

In other words, play is an exercise in humility, where the byproduct is often “fun” or “joy’.

Humility


Humility is a common theme in scripture.  We often read of the rewards that await the humble in spirit, how God will exalt the humble and humble the exalted.  But this moment of the Gospels, when a child unquestionably runs up to Jesus when he is called, is one of the few places in scripture where we see what this humility should look like.  We are meant to humble ourselves as children do.

It turns out that there is something that we as adults could learn (or perhaps be reminded of?) from the way children view the world around them.  As Bogost was observing his daughter skipping steps to avoid stepping on any cracks in the mall floor (lest she break her mother’s back), he came to realize just how skillful children are at making the best of any given scenario.


He notes that “children are forced to live in a world that wasn’t designed for them, one that isn’t concerned with their desires and welfare.  And so children are constantly compromising, constantly adjusting to an environment that is clearly not theirs, not yet. That’s wisdom, not innocence. We are fools to think that we are in control of the universe.  Children are right to allow the humility of their smallness to rule the day.”

Like children, We are all a part of this same world that wasn’t designed for any one of us specifically; we all have to adapt and carve our own niches.  Bearing a playful attitude as we attempt to find our own place among all of God’s creatures, can truly open up the way we perceive life as a whole.
As an example of the humbling factors of playfulness,  I’d like to turn your attention to a woman by the name of Simone Giertz.



Simone is an inventor, but not the kind of inventor you’d expect.  She earns her living from making youtube videos where she designs and constructs robots that are, in essence, built to fail.
As an example, here is a demonstration of her robot designed to feed her soup:

It might surprise you to hear that Simone is a college dropout.  She studied engineering physics for about 1 year before she left, suffering from the overwhelming pressure to go above and beyond in every one of her classroom efforts.  But she was still curious about the subject matter, and discovered a way to continue learning about these subjects without the demand for perfect grades to weigh her down.
Simone took this very serious and result-centered image we have of the discipline of engineering, and turned it from this:
To this:

In 2018, Simone had the opportunity to give a “TED Talk”, titled “Why You Should Make Useless Things”, in which she discussed her experiences in this unusual career path.  She had this to say:
“I’ve stumbled across something bigger than engineering slapstick.  It’s this expression of joy and humility that often gets lost in engineering, and for me, it was a way to learn about hardware without my performance anxiety getting in the way. “


You see, Simone found an opportunity to learn about engineering and robotics in an entirely new way. She took this very strict and goal-oriented field of engineering and flipped it on it’s head - she figured out that she could continue her intellectual pursuits by exploring what it meant to be an engineer; by asking questions, and playing around with solutions. What she discovered was not only a form of entertainment to her nearly 2 million youtube subscribers, but an entirely new way to use her own gifts and talents. She removed her own desires for perfection; for a top GPA from a prestigious university, or a high status at a high-paying engineering firm, and simply started “playing with robots”, you might say.


Simone Giertz closes her TED Talk, saying that the “true beauty” in her work is in “this acknowledgement that you don’t always that you don’t know what the best answer is, and it turns off that voice in your head that tells you that you know exactly how the world works. And maybe a toothbrush helmet isn’t the answer, but at least you’re asking the question.” When we humble ourselves to the world around us, when we let our own smallness rule the day, just as our children do, the results often surprise ourselves and the people around us. Play is one of the many options we have in accomplishing this; it’s a tool for exploration and discovery. It’s not just a simple way to pass the time; it’s more than playing a game of tag in the park, more than playing a new song on your guitar, more than an actor playing a role. As Bogost says, to play means to “treat things as they are, not how we wish them to be”.

Tuesday, December 11, 2018

Gamanteau: How Not(?) to Do a Month-Long Game Jam

I have a lot of blog posts that have been left in the "draft" state on here, left either unfinished or just deemed unworthy of publishing.  Earlier this morning I managed to get one of those out the door, a small analysis on level design in Hat in Time, in hopes that it'll help me prepare an even larger piece on the project I've been working on for much of the year.  I'm putting a bit of effort now, before the end of the year, to empty out my head and reflect a bit on my year as a hobbyist game developer.

Scoping Down

Last month, Github announced the theme of their annual "Github Game Off", a month-long game jam that encourages participants to use open-source tools to develop their games.  Last year's Game Off resulted in the birth of the independent studio Monument Games, a team of college student who were passionate about their craft and looking to try something new.  I had joined the team as a designer, and pitched a game idea about rolling rocks down a hill.  To our surprise, the game was pretty popular among the participants and judges of the jam, and would go on to win 2nd place in the "Overall" category.

Spurred on by this recognition, we stuck together and continued development on the game, eventually submitting it to other competitions such as the IEEE Gamesig Showcase and the Casual Connect Indie Prize in London.  Things were going really well.  While we didn't exactly find financial success through our game, it gave us the confidence to continue on forward to our next project, and bring on some new people in the process.


Then, my life changed.

Ellie was born on August 10th, the same day as my 5th anniversary with my wife.  She has been an absolute blessing in my life, and is giving me a whole new perspective on things.  But my new life as a father isn't easy, and to this day I'm still getting used to it.  About a month ago, I backed out of Monument Games in order to better focus my efforts on my job and my daughter.  I had, of course, hoped that I could still dedicate some time to my newfound passion in game design.

Enter the 2018 Github Game Off.

"Hybrid"

As life currently stands, I have ~1-2 hours of time every weekday to dedicate towards my own hobby projects.  If I'm lucky, I might be able to grab a few extra hours at home on a Saturday afternoon.  Having this small amount of time available meant I had to choose my projects very carefully; I opted to stick with 3 options: long game jams (longer than 2-days), modding, or learning new tools.  I was excited for the Game Off to roll around, but I was already knee-deep in a modding project and not too concerned with actually submitting anything.

The theme was announced, "Hybrid", and I took note.  No ideas came immediately to mind, so I wrote it off and forgot about it.  Some time later, as I was reading some comments on reddit, I came across a bot that would combine two-word comments into a single word.  It had suddenly occurred to me that this was a game I had often played with my friends; we would, for some inexplicable reason, try to combine two words that one of us would use in casual conversation.  I hadn't realized that this creation of new words had a name: Portmanteau, what could essentially be considered a "hybrid" of two words.  Perfect!  I had an idea for a game, that would be small enough to accomplish on my own with the minimal free time I had available to me...  Sure, the jam had already started, but I should have the time to complete something this simple, right?

Design

The idea was simple, from a source of words, pick two at random and display them on screen.  The player would be free to enter whatever they wished using a keyboard-like input, which they could then save to a "favorites" board.  This favorites board, however, would only hold a limited number of entries, so they would have to choose their absolute favorites and toss away the created words that they felt were no longer "good enough" to keep.



That was it.  3 screen, including the title.  All I would really have to worry about was making a pretty-yet-functional user interface, something which I didn't really have much experience with before.  But something about the open-ended results of this project amused me.  I had recently read Douglas Wilson's writings on "intentionally broken" games, and hoped to emulate that in some way: creating a game that pushed more towards a form of festivity rather than competition. 

Simply the act of creating new words is a silly but entertaining practice, improved even further if you attempted to say a new word out loud.  In addition, being provided with two random words that you might not normally see side-by-side could potentially present an opportunity for joke entries rather than new words.

Tools



When it came to prototyping or making small-scale games, I had fallen in Love with Pico-8.  It felt like the natural choice for this project, based on scale alone.

So what if it:
  • Doesn't have keyboard support
  • Had limited memory
  • Could only store 4-byte integers as save data
I could work around all of this, right? I mean, it's just a simple text game...

My starting point was to find a way to enter text data, and thankfully, other Pico-8 enthusiasts had already accomplished this for me.  Their code for simple, virtual keyboards were freely available for others to use;  I figured I could simply hack one of these keyboards to better serve my own concept.  I started by taking afburgess's PicoBoard cartridge, and replacing the functionality of the number and entry keys with a key that would re-shuffle the words presented to the player, and a "favorite" button that would take the new word combination and transfer it, as well as the player, to the "Favorites" screen.

After establishing a list of  words that would be chosen at random, and transplanting the code from the PicoBoard cartridge, the next step turned out to be the biggest: finding a way to save these words to memory, so the player would have a persistent scoreboard every-time the game was loaded.  As the Pico-8 console didn't save strings directly and relied on 4-byte numbers to be stored in specific addressed, I had to try to find some way to encode and decode the words that the players would try to save.

Working in 1 hour intervals when trying to solve a programming problem doesn't help much.  After some trial and error as to how to accomplish this, my motivation wore down, and eventually dropped the game altogether and turned back to my mod project.

New Tools


The silliness of this idea hadn't left me completely, however.  I still enjoyed pressing the "shuffle" key in the prototype and trying to come up with new words with what I was given.  Approximately 1 week before the end of the jam, it hit me:  Why can't I just use HTML?  After all, the game is entirely text-driven, and I had a little experience in the language.  Unfortunately, I had never touched Javascript before, but I had the opportunity to try and learn something new.

It took a bit to get the hang of the programming conventions and how HTML and Javascript files reference one another in code, but after a few coding sprints in the morning before work and on my lunch breaks, I was able to get something functioning.  To accomplish what I was really aiming for, however, I needed to do a bit of redesign.

New Design

As I only had a week left, I needed to re-think some of the aspects of the game. A lot of the changes the submitted prototype saw included added features that HTML coding made easy.  For example, adding a simple "tip" below the word submission field to encourage players to vocally interact with the game seemed like an obvious choice, even if they chose not to use it.

At one point or another, I had the idea to offer up "bonus points" if the player could use their made-up word in a sentence.  It wasn't required, but it proved to add an element of challenge to the game that could produce even more humorous results than the created word itself.


The open-ended interaction of typing in a word and sentence was still essential to the experience, but what really needed to change was the idea of a "favorites" board.  While I technically could have set up a table that utilized HTML's localStorage capabilities, or possibly attempt to set-up my own server to store this data, another idea came to mind: Twitter.  By utilizing hashtags and Twitter's capability to generate "intent" tweets from Javascript, I could use it as a way for players to share their own created words.  Perhaps if the game generated enough attention, the use of likes or retweets could even be used as a sort of "scorekeeper", where the community at large could determine the best made-up words that the players were tweeting out.  Hopefully, by using a unique enough hashtag that could also serve as the game's title,  could keep track of player creations.  Hence, "Gamanteau", a portmanteau of portmanteau and game, became the name.


As an added bonus, adding the capability to tweet out results added a sense of accountability.  The horrific thought had occurred to me that the open-ended nature of player interaction could be a doorway for offensive material to be created and shared.  I briefly attempted to establish a sort of "text-filter" that would reject any submissions that contained language that could be considered harmful or offensive, but I eventually accepted that I lacked the Javascript knowledge to create something that would be robust-enough to avoid misuse.  My hope lied in the idea that twitter users would be holding themselves responsible for what they chose to tweet out to a public audience when playing the game, but I did my best to remove any words from the pre-defined random word list that might present an opportunity for offensive jokes or material.

Results

The game has been up for about 10 days as of now and frankly, there's not much to report.  As it stands, I am the only one on twitter to have used the "gamanteau" hashtag.  At the time of writing, 27 people have at least viewed the game page for Gamanteau, while 7 people have rated it for the Game Off.  I won't find out those ratings for another 10 days.  Given the practically throw-away mentality of the development of this game, and the fact that it's really more of a word game than a "video" game, I can't say I'm too surprised at the lack of activity.


After all though, this is what it can be like to develop games as a hobbyist; I had the opportunity to try something new, something I enjoyed making, and I learned something new in the process.  Had I taken the time to consider my options for tools to use, rather than simply jumping into what felt familiar, I might have had more time to develop this little game into something with a bit more polish.

Even if no one really plays the game as I meant it to be played, I still consider this a win.  There are some incredible games that have been entered into this jam, I highly recommend you head over to itch.io and play some of them!

Next post will probably cover my mod project (I hope to have it done within the next week or so) but don't expect a post until early 2019.

Until then, Happy Holidays!
J-West

UPDATE: Alright, I peeked.  248th place out of 327 games?  I'll take it.

Spaces in Time - Part 2: Time Rifts Continued


Earlier this year, I submitted my ice-themed time rift to the Steam Workshop, and I was rather surprised not only to see how many people have viewed and downloaded the map, but also left positive reviews.  At the time of writing, the map has a 5-star rating, with 944 players leaving reviews and 1,556 players being subscribed to it (plus, 18 favorites!).  This is rather surprising, considering how little pre-planning went into the map, and the fact that it was my first attempt at a mod for the game overall...

Application (Continued)

Looking at some of the notes and screenshots in my previous post, not much had really changed.  I did want to place more effort in creating something that resembled a difficulty curve, rather than just haphazardly placing obstacles in hopes that they would create something interesting.  Overall, I stuck to the use of the 4 main obstacles (rotating ice cubes, rotating pie-shaped platforms, slides, and grapple hook points), but the way they were presented to player was altered slightly.  Where the start of the rift had 3 rotating cubes originally, the later revision replaced them with 2 static platforms and a singular rotating cube, as a means of introduction to the obstacle.



This idea was also applied to the spinning gears, which would spin at a faster rate later on in the rift, and the pie-shaped platforms, which would be missing additional pieces as the player got closer to the end.





Difficulty curve aside, much more of the time and effort went into creating a course that offered fluid navigation, and placing aesthetic elements (lighting, particles, decals) to support the chosen theme.  Thankfully, the base set of assets featured in the tool set allowed me to create a setting that felt very much like a "grimy" industrial freezer.



I would very much like to update this map in the future with ice physics, if I manage to take the time to learn how to create customized volumes within the UDK.  As it stands, there are no means for modders to create flat slippery surfaces, unless they manage to code it themselves.  There is currently a volume that will force the player to slide down a slope that is too step to stand on, and it may potentially offer some solutions to simulating the feeling of walking on ice.

Until then though, I'm going to move forward with my level design studies into what are referred to as "Purple" Time Rifts.

Purple Rifts


Purple Rifts are sub-levels found within each chapter that are typically used to help tell stories about key characters or settings.  They are structured quite differently from Blue Time Rifts amd regular chapters in that they have their own sets of sub-levels and a unique collection system, more similar in style to the collect-a-thon games of the 90's.

Rift-Specific Collectables


Aside from from the green and red "pons" that the game utilizes for currency and health (respectively), Purple Time Rifts introduce "Rift Pons" and "Storybook Pages".  Rift Pons must be collected in order to proceed through each rift's sub-levels, and are spread out among a map, typically at points of interest or after particularly challenging action-paths.  Storybook Pages, on the other hand, are entirely optional collectibles that are well hidden in each sub-level.  Each page contains an illustration that is revealed once the level has been completed, offering additional details to the story that the level's environment may not have been able to reveal.


This collectable system is similar to the one that would be found in Banjo-Kazooie, albeit on a much smaller scale.  Rift Pons reflect Jiggies in their importance and difficulty to achieve, while Storybook Pages reflect Mumbo Tokens in their rarity and placement.  Players will often have to search every nook and cranny in order to find and collect all of these pages, while Rift Pons are usually a clear goal that the player is actively in pursuit of.

Example Storybook Page location, from imgur.com user soviam.

However, while the collection of Rift Pons are required to progress, it is worth noting that the number of Pons required to open the next Rift Gate is often less than the number of Pons available in each sub-level.  This allows some freedom of choice for the player, as they can "bank" some Pons to use in a future sub-level if there future are challenges they choose to avoid.  This was a common design choice in previous 3D-Platformers, as it encouraged back-tracking through previous levels, should players get stuck when trying to progress in levels later on in the game.  However, in the case of these Purple Rifts, progression is a one-way street, and the collectables are self-contained; Rift Pons and Storybook Pages have no impact on the game outside of the level.

Rift gate displaying number of "Rift Pons" required to open.  Clearly visible for the player to reference while exploring.

Environmental Story-telling


"Purple Time Rifts are created when a time piece crashes into a person, causing the rift to be themed around them. These rifts lead to a strange dimension where the world resembles the chapter they can be found in." - Hat in Time Wiki


The above quote, found in the game's wiki pages, provides a little more context for the purpose of these rifts and the reasoning for their appearance.  As previously mentioned, the Storybook Page collectibles found in these rifts are used to help further tell the story of key characters in the game.  However, unlike the "Blue Time Rifts" we explored in a previous post, Purple Time Rifts have much more variety in their setting, reflecting the environments of the chapters they are attached to.  This can be seen by each rifts use of familiar props and characters.


Next Time...

I had originally started my own Purple Time Rift way back in April, when I had attempted to participate in the modding contest hosted by the game's developer, Gears for Breakfast.  However, I far underestimated the effort that would be required to complete my vision for a new map, and far overestimated the amount of time I had to complete it.  At the time of writing, I have approximately 336 hours in the Hat in Time Editor, and I have given myself a deadline of December 21st to complete my project.  My next post will be a much lengthier dive into my development of the map, not only observing and applying the design philosophies of Purple Time Rifts but applying common level design practices as a whole.

Until then, I figure I could at least add a few in-progress screen shots from earlier in development.  I will be on vacation after the map is finished and released, so the follow-up blog post will not be written until early next year.  At that time, I'll probably also be posting some tidbits about my 2018 experience as a whole, and maybe discuss my plans for 2019. 

Until then,
J-West