{"id":489,"date":"2007-02-25T11:38:01","date_gmt":"2007-02-25T16:38:01","guid":{"rendered":"http:\/\/UnhinderedByTalent.com\/Phi\/?p=489"},"modified":"2007-02-25T11:43:34","modified_gmt":"2007-02-25T16:43:34","slug":"go-with-the-flow","status":"publish","type":"post","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2007\/02\/25\/go-with-the-flow\/","title":{"rendered":"Going with the flOw"},"content":{"rendered":"<p><a href=\"http:\/\/intihuatani.usc.edu\/cloud\/flowing\/core.html\"><img src='https:\/\/i0.wp.com\/UnhinderedByTalent.com\/Phi\/wp-content\/images\/Flowscreencapture.jpg?w=400&#038;ssl=1' alt='Flow start up screen' data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>It&#8217;s a snowy-stay-inside day (for us anyway), so you might as well play a game.  (Unless, of course, you&#8217;re in my Software Design class, in which case you ought to be in the lab working like dogs! :->)  Consequently, you might want to check out <a href=\"http:\/\/intihuatani.usc.edu\/cloud\/flowing\/core.html\">flOw<\/a>, a free Flash game written as part of Jenova Chen&#8217;s MFA thesis.<\/p>\n<p>OK, the idea of a game as part of someone&#8217;s MFA thesis means that this thing is probably either going to suck huge or be pretty cool, and while I haven&#8217;t played a lot, I&#8217;m leaning towards the pretty cool end of the spectrum.  The game is apparently based on <a href=\"http:\/\/en.wikipedia.org\/wiki\/Flow_(psychology)\">Mihaly Csikszentmihalyi&#8217;s concept of flow<\/a>.  Without having read Chen&#8217;s thesis I don&#8217;t know exactly what parts of Csikszentmihalyi&#8217;s theories are central to the design of the flOw (the game), but it appears from <a href=\"http:\/\/www.jenovachen.com\/flowingames\/missionstatement.htm\">Chen&#8217;s mission statement<\/a> that the key concept is the arguably obvious, but sadly oft-ignored, relationship between challenge and ability:<\/p>\n<blockquote><p>\nWhen the challenge is greater than our abilities, we become anxious and potentially dead. When the challenge is significantly less than that of which we are worthy, we become bored, and potentially dead.\n<\/p><\/blockquote>\n<p>When the balance between challenge and ability is right, we can enter a state of &#8220;flow&#8221;, where &#8220;we feel that we control the activity, our worries and concerns disappear, our subjective experience of time is altered&#8221;.<\/p>\n<blockquote><p>\nMaintaining the dynamic balance between abilities and challenge is key to the fun experience in work. That is, keeping it dynamic. Making it possible for anyone to find exactly the right amount of challenge needed to engage exactly those abilities needed to access Flow.Which means that when work is fun we have created complex, but negotiable challenges, challenges that allow the individual to engage or disengage, to work harder or work safer.\n<\/p><\/blockquote>\n<p>And while Chen is using game design to explore these ideas, they apply to lots of activities, including writing, programming, driving (and probably flying), playing an instrument, and juggling.  Returning to my aforementioned Software Design students, for example, one of the biggest challenges in teaching that class (and many other courses) is successfully negotiating the transition from small, solo activities to large, challenging, group activities.  If the projects remain too small and simple, then at least some students won&#8217;t be challenged enough to stay focussed and interested, and while they are unlikely to die in the literal (or game) sense, their grades can certainly tank if they drift too much.  On the other hand, if we hand them a massive task and just walk away, many students will be overwhelmed by the challenge, have no idea how to even begin the work, and die.  <\/p>\n<p>According to Csikszentmihalyi, there are at least four pre-requisites for obtaining a sense of flow:<\/p>\n<ul>\n<li>We are up to the activity.<\/li>\n<li>We are able to concentrate on the activity.<\/li>\n<li>The activity has clear goals.<\/li>\n<li>The activity has direct feedback.<\/li>\n<\/ul>\n<p>In Software Design the first tends to come down to (a) solid prep out of Data Structures, (b) some motivational speaking (they&#8217;re often nervous coming into Software Design, and you have to reassure them), and (c) being around a lot to help them over bumps so they don&#8217;t start to lose faith and drift on you.  The second is (I think) mostly up to them, although trying to stay out of their way probably helps (e.g., don&#8217;t lecture endlessly on things that appear irrelevant and give them plenty of time to work in the lab).  Clear goals should be a part of <em>any<\/em> educational activity, but a good project (like a good writing assignment) ought to have a lot of possible (good) outcomes, so the goals have to about <em>properties<\/em> of the outcome such as clarity, relevance, and focus.  In the case of Software Design, we use a number of metrics gathering tools (<a href=\"http:\/\/junit.org\/\">JUnit tests<\/a>, <a href=\"http:\/\/www.cenqua.com\/clover\/\">Clover test coverage<\/a>, <a href=\"http:\/\/pmd.sourceforge.net\/\">PMD<\/a>) and communication and tracking tools (<a href=\"http:\/\/www.nongnu.org\/cvs\/\">CVS<\/a>\/<a href=\"http:\/\/subversion.tigris.org\/\">Subversion<\/a>, <a href=\"http:\/\/twiki.org\/\">TWiki<\/a>, a home-grown tracking tool) to help clarify those goals and and provide regular, consistent feedback.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.experimental-gameplay.org\/2006\/flow.jpg?w=840\" alt=\"Boss fight from Flow\" align='left' hspace='10' vspace='10' data-recalc-dims=\"1\" \/><br \/>\nThe other major challenge is to help break down a task that can seem overwhelming at first.  If all they see is this huge mountain to climb in nothing but swim trunks and battered sneakers, they not surprisingly tend to lock up.  If you can help them develop and focus on manageable intermediate goals, and also help them realize they have the skills and tools they need to reach those goals, then they have a much great chance of succeeding.<\/p>\n<p>And all of this is not to say that somehow I\/we have got this all worked out perfectly in our classes, but we try.  My students are currently in the tail end of a large two week project that they&#8217;ve found pretty difficult (because it is).  They&#8217;ve made <em>lots<\/em> of progress, but they&#8217;re still struggling with a variety of things, and I arguably haven&#8217;t given them optimal support.  We&#8217;ve been wrestling with a number of our tools, so the &#8220;regular feedback&#8221; part hasn&#8217;t worked as well as I&#8217;d like, and it seemed to take them <em>forever<\/em> to &#8220;get&#8221; the whole idea of the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Observer_pattern\">Observer Pattern<\/a> as a way to manage the interactions between their GUI views and their backend.  We&#8217;ll cope, though.<\/p>\n<p>Coming back to the game, the intent in flOw is to provide the player with the ability to easily adjust the difficulty of the game to suit their level of skill and understanding.  When you drop into the thing, it&#8217;s not at all obvious (at least for me) what you&#8217;re supposed to <em>do<\/em>, so part of the challenge is simply figuring out what&#8217;s going on.  It&#8217;s pretty clear that you&#8217;re supposed to guide your little swimming thing around, and it seems likely (giving the scoop-y mouth thing) that you&#8217;re supposed to &#8220;eat&#8221; other little simming things.  It took me a little longer, however, to get a sense for the business of diving deeper and moving back up to shallower water, and how one controls that.  One of the cool things about the game, though, is that the different depths feel much more continuous and less like the discrete levels common in other games, and the ability to move back and forth between them fairly easily does make you feel much more in control.  I also like the fact that if you have a run in with a nasty beasty that wants to eat you, you don&#8217;t just die and start over, you are automatically bumped back up to a shallower area.  Thus when you&#8217;re new and still trying to figure out what&#8217;s what, if you go too deep too fast, you don&#8217;t just die and become all frustruted, but instead are nudged back into safer waters.<\/p>\n<p>&#8216;Nuff said &#8211; go try it for yourself.  I found watching <a href=\"http:\/\/www.gametrailers.com\/umwatcher.php?id=28379\">this demo clip<\/a> very helpful in giving me a sense of what gameplay could look like.<\/p>\n<p>Credit (or blame!) for pointing me at this goes to Nate Fortuna, so take it up with him if you don&#8217;t get your work done.<\/p>\nNo tag for this post.\n\t<h4>Related posts<\/h4>\n\t<ul class=\"st-related-posts\">\n\t<li>No related posts.<\/li>\n\t<\/ul>\n\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s a snowy-stay-inside day (for us anyway), so you might as well play a game. (Unless, of course, you&#8217;re in my Software Design class, in which case you ought to be in the lab working like dogs! :->) Consequently, you might want to check out flOw, a free Flash game written as part of Jenova &hellip; <a href=\"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2007\/02\/25\/go-with-the-flow\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Going with the flOw&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_newsletter_tier_id":0},"categories":[21,4,17,14],"tags":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p90sy-7T","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"jetpack-related-posts":[{"id":712,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2007\/11\/20\/akismet-rocks-upgrades-bring-hiccups\/","url_meta":{"origin":489,"position":0},"title":"Akismet rocks; upgrades bring hiccups","author":"Nic McPhee","date":"20 Nov 07","format":false,"excerpt":"Over the weekend I finally found time for a major set of upgrades to all of the family blogs. One of many impetuses for this was the vast ocean of comment spam that I was dealing with from my blog. I had a CAPTCHA plugin running on this blog which\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":683,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2007\/11\/10\/well-that-only-took-20-years\/","url_meta":{"origin":489,"position":1},"title":"Well, that only took 20 years!","author":"Nic McPhee","date":"10 Nov 07","format":false,"excerpt":"There are those rare, but wonderful, moments when you realize that the tool you've always wanted (but didn't actually realize that you desired) was right there in front of you. I just had one. I've used LaTeX for preparing my scientific documents for nigh on two decades now. For all\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":245,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2005\/10\/09\/a-rockin-umm-csci-reunion-dinner\/","url_meta":{"origin":489,"position":2},"title":"A rockin&#8217; UMM CSci reunion dinner","author":"Nic McPhee","date":"9 Oct 05","format":false,"excerpt":"Nick Hopper (UMM '99, now a tenure-line CSci faculty at the Twin Cities campus) invited us out to the Twin Cities' Computer Science and Engineering biennial technology forum\/open house, which was very cool. At various times it looked like as many as 10 or more UMMers might make the trip,\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1332,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2010\/07\/12\/massive-road-trip-days-7-11\/","url_meta":{"origin":489,"position":3},"title":"Massive road trip, days 7-11","author":"Nic McPhee","date":"12 Jul 10","format":false,"excerpt":"Day 7 started with a vist to Lewis and Clark College, which was interesting if not overwhelming for Tom. It's a gorgeous campus and the study abroad stuff there is very cool, but it didn't particular ring Tom's bells. We then spent most of the day hanging around Portland together,\u2026","rel":"","context":"In &quot;Family&quot;","block_context":{"text":"Family","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/family\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":298,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2006\/01\/13\/links-for-2006-01-13\/","url_meta":{"origin":489,"position":4},"title":"links for 2006-01-13","author":"Nic McPhee","date":"13 Jan 06","format":false,"excerpt":"Extreme Programming: A Gentle Introduction. An excellent overview of the key ideas of extreme programming\/agile development. (tags: agile code design development planning programming project projectmanagement software testing xp methodology UMM:CSci3601) XProgramming.com - an Agile Software Development Resource Ron Jeffries' site on XP. I really don't like the design, but there's\u2026","rel":"","context":"In &quot;Daily links&quot;","block_context":{"text":"Daily links","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/daily-links\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1682,"url":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/2013\/03\/25\/remembering-richard-crandall\/","url_meta":{"origin":489,"position":5},"title":"Remembering Richard Crandall","author":"Nic McPhee","date":"25 Mar 13","format":false,"excerpt":"This morning while frying an egg I picked up the latest copy of Reed Magazine, which had been sitting around the kitchen for a week or so, and was very sad to learn of the death in December of Richard Crandall, Reed alum and Physics prof for many years. I\u2026","rel":"","context":"In &quot;Computing&quot;","block_context":{"text":"Computing","link":"https:\/\/UnhinderedByTalent.com\/Phi\/archives\/category\/computing\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts\/489"}],"collection":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/comments?post=489"}],"version-history":[{"count":0,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/posts\/489\/revisions"}],"wp:attachment":[{"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/media?parent=489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/categories?post=489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/UnhinderedByTalent.com\/Phi\/wp-json\/wp\/v2\/tags?post=489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}