Deprecated: Assigning the return value of new by reference is deprecated in /home/dfarrell/davidlearnsgames.com/wp-settings.php on line 472

Deprecated: Assigning the return value of new by reference is deprecated in /home/dfarrell/davidlearnsgames.com/wp-settings.php on line 487

Deprecated: Assigning the return value of new by reference is deprecated in /home/dfarrell/davidlearnsgames.com/wp-settings.php on line 494

Deprecated: Assigning the return value of new by reference is deprecated in /home/dfarrell/davidlearnsgames.com/wp-settings.php on line 530

Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 594

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 611

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 705

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home/dfarrell/davidlearnsgames.com/wp-includes/classes.php on line 728

Strict Standards: Redefining already defined constructor for class wpdb in /home/dfarrell/davidlearnsgames.com/wp-includes/wp-db.php on line 306

Deprecated: Assigning the return value of new by reference is deprecated in /home/dfarrell/davidlearnsgames.com/wp-includes/cache.php on line 103

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home/dfarrell/davidlearnsgames.com/wp-includes/cache.php on line 425

Deprecated: Assigning the return value of new by reference is deprecated in /home/dfarrell/davidlearnsgames.com/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home/dfarrell/davidlearnsgames.com/wp-includes/theme.php on line 623

Strict Standards: Redefining already defined constructor for class WP_Dependencies in /home/dfarrell/davidlearnsgames.com/wp-includes/class.wp-dependencies.php on line 15
I make, play, and research games. — David Learns Games

Jon plays with the art.


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GA_Filter::the_content() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-includes/plugin.php on line 163

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Today, Jon played around with the art and pretty much re-skinned the entire page.

I did nothing.

See it here.

Man Vs the End


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GA_Filter::the_content() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-includes/plugin.php on line 163

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

My team won first place in the Scottish leg of Global Game Jam this year with a dash-and-shoot game called Man Vs the End. It can be played on the official GGJ site.

We wanted to take it further after GGJ but in the 2 months since, little has happened.

Myself and Jon McKelland (artist on the game) spent a bit of time today updating bits and bobs.

Assuming that I return to it again, I’m going to post here a sort of change log - mostly for my own benefit.

So!

Today - Jon shrunk the character so he is half as large as before.

I removed the auto-spawn of the meteor and sheep / tvs etc and wrote a planner.

The planner so far can trigger an event when the user reaches a certain number of points and it can then insert into a sort of game-design-array parameters that control the meteor storm.

The plan is that we can set triggers on various values and use this to design the difficulty curve.

Today’s version of the game can be played here.

What doesn’t kill you makes you stronger (Jull on failure in games)


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GA_Filter::the_content() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-includes/plugin.php on line 163

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

I just read an interesting essay by ludologist Jesper Juul.

He set out to find the answers to two questions:

  • What is the role of failure in video games?
  • Do players prefer games where they do not feel responsible for failing?

He built game prototypes to examine different types of failure (loss of lives vs ‘energy’ loss) and used Attribution Theory to frame player interpretation of the reasons for failure.

Players were also asked to rate the game out of 10 and he mapped player performance (and attribution of failure) against their ratings.

Interestingly (and consistent with some other work that I can’t recall at this point) he found that players who failed sometimes found the game more fun.

players who fail sometimes enjoy the game more

players who fail sometimes enjoy the game more

Funnily enough, players are more likely to attribute failure to the game rather than their performance whereas with success, they are more likely to take responsibility.

Also, it seems that players did not view chance as being responsible for failure.  Either the game was too hard or they made a mistake.

Jull concludes by discussing the apparent contradiction between the observations that players want to win and yet they seem to prefer games where they lose sometimes.  He raises the seemingly oppositional considerations.

  1. The player does not want to fail (makes player sad, feels inadequate).
  2. Failing makes the player reconsider his/her strategy (which makes the game more interesting).
  3. Winning provides gratification.
  4. Winning without failing leads to dissatisfaction.

Which he suggests can be understood by viewing games through two frames of reference.

Aesthetic vs Goal Oriented frames of consideration

Aesthetic vs Goal Oriented frames of consideration

So gamers do want to win the game and that is their goal, but they also have an appreciation of the game from another perspective where they appreciate the challenge.

The article essay covers some other interesting ideas regarding casual games and the reasons for their success or failure but I thought these findings were interesting on their own.

This week I carried out a playtest of the e-Bug Platform Game that targets 9-11 year old pupils.  In the previous playtest, they had unlimited lives and there was no real way to lose the game.  Players expressed that they enjoyed the game but that it was too easy.

I had another problem with some players completely ignoring instructions and running to the end of the level without reading instructions.  Because the level design didn’t allow players to get back to the beggining, those who did this had not achieved the level objectives and as such, were stuck at the closed exit point.

To fix both of these issues, I implemented the concept of player life loss through contact with bad microbes.  They player was always able to be hurt by these microbes but there was no consequence to life loss and the player didn’t have to restart when lives < 0.  I also added a fairly generous timer to each level which caused the player to restart the level if s/he got stuck.

The playtest group seemed to enjoy having to restart the level upon death.  They exchanged banter “that one killed me!” “I died there too” and the timer achieved its objective in one situation where a player was in a situation where objective completion was impossible.

However, as the session continued, things went pair shaped.  Players seemed to exhibit very little sense of self preservation.  They threw soap at microbes to wash them away but the still ran straight into them before they were ‘killed’.  By 20 minutes into the session, every player was stuck in an endless cycle of restart, play, die which was painful to watch.

So by the end of the playtest, only one of the six testers had actually made it past that level.

It seems that in an effort to increase difficulty, I swung the pendulum too far to the difficult side.

Meaningful Play: Definitions from Salen & Zimmerman


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GA_Filter::the_content() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-includes/plugin.php on line 163

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Rules of Play

Rules of Play

I’ve started reading Katie Salen and Eric Zimmerman’s book “Rules of Play“. It picked up a fair bit of blog buzz when it came out so I thought I’d give it a look.

So far, I have almost finished the first of 4 sections. I had to talk about the book this week for Journal Club (despite it not being a journal) so these are my notes.

The real meat of the book is in units 2-4 but so far I’m very impressed by the thoroughness of the first unit, “Core Concepts”.

Formal definitions are a key aspect of academia (as my boss is always telling me) and over the first 90 pages or so, Salen and Zimmerman do a fantastic literature search on each of their Core Concepts, combining and synthesising these to create very sensible and reasonable definitions on which the rest of the book will be built.

They start with a new (to me at least) concept of “Meaningful Play” stating:

“The goal of successful game design is meaningful play.”

But what is Meaningful Play?

They define meaningful play in two ways, descriptive and evaluative.

Descriptively:

“Meaningful Play in a game emerges from the relationship between player action and system outcome.”

“The meaning of an action in a game resides in the relationship between action and outcome.”

In other words, there should be intent and expectation when a player performs an action and the action should have a result that has some relevance or significance.

The other definition can be used to evaluate or gauge the success of (elements of?) a game design.

“Meaningful play is what occurs when the relationships between actions and outcomes in a game are both discernible and integrated into the larger context of the game.”

In this statement, “discernible” means that “the player can perceive the immediate outcome of an action” and “integrated” means that “the outcome of an action is woven into the game system as a whole.”

In my current project, I have designed two games, one of which is a platform game with a game show. I use the game show for pre and post evaluation of player learning. The learning (hopefully) happens during the platform game.

One of the least satisfying elements of the game is that during the ‘pre’ gameshow round, the player is not given the answers to the questions. This is so that I don’t bias my results. However, the ‘blind question round’ fails the evaluative definition, probably on both accounts. The player’s action isn’t really discernible because they don’t know if they got the answer right. The action isn’t really integrated because their answer here has no impact on the rest of the game. It’s an important part of my requirements as a researcher (I need the data) but it certainly harms the play experience.

e-Bug Junior Game Quiz Show Question

e-Bug Junior Game Quiz Show Question

Salen and Zimmerman go on to offer further definitions:

“Design is the process by which a designer creates a context to be encountered by a participant, from which meaning emerges.”

This seems to be a somewhat unwieldy definition but makes sense when you view it in the light of semiotics (also satisfactorily described in the chapter).

As said above, I haven’t got to the ‘meat’ of the book yet, but Salen and Zimmerman’s big idea is viewing games with an aesthetic perspective similar to how we relate to other fields such as architecture, literature or film. When creating or evaluating these media, we do so with different perspectives. They advocate a similar approach to reading games.

In order to understand the frames through which they view games, we need to understand systems.

They define a system as having:

  • Objects which are “the parts, elements, or variables within the system.”
  • Attributes which are “the qualities or properties of the system and its objects”
  • Internal Relationships which are “the relations among the objects”
  • Environment which is “the context that surrounds the system”.

Using a systemic frame to define a game allows them to consider the same game in widely varying ways.

Formally” (closed system), a game is a collection of rules - I find that left alone, I tend to design thinking this way, looking for interesting relationships to embed in the game design. With the e-Bug platform game, I looked for ways to embed the learning outcomes in the game mechanics. I did this thinking largely how to represent the learning outcomes through rules and relationships. Although I tried to keep the target player in mind, I was imagining how the system would work more than how it would be experienced.

Experientially” (open or closed system), the game is considered more through the play experience of the player. The game isn’t just a series of rules, it is also the experience of the person playing, their psychology, their previous game and life encounters etc. I think I became consciously aware of this way of thinking about games (even without having a term for it) when I was doing focus groups on the e-Bug platform game with school children. Seeing their interactions, the way the got stuck, didn’t understand something, or blatantly ignored instruction was a bit of a shock at first and shows how a game design really has to include the player at core. The experience of playing the game wasn’t necessarily as good as the design of the rules (if that makes any sense).

Culturally” (open system), a game includes its place in society. With my game, pupils are likely to perceive and engage differently if they consider it an ‘educational game’ instead of a ‘flash game’ or a ‘platform game’. In the bigger picture, societal factors come into play when you view a game culturally. For example, I was surprised to be questioned as to why our “good microbes” where light skinned and our “bad microbes” dark skinned. It certainly wasn’t deliberate in a racial sense. The artist used ’standard’ tropes such as evil eyes and teeth, but it was true that all the good bugs were a light shade of green and all the bad bugs were a murky, almost brown shade of green. It doesn’t feel racist to me but the fact that it’s debatable shows again, how you need to consider all of the ways games can be interpreted when designing. The N’Gai Croal krfuffle about the Resident Evil 5 trailer is a similar example. The designers of that game didn’t consider their game properly in a cultural frame.

There is a really useful example of how chess can be viewed through each frame in the chapter but I won’t repeat it here.

This systemic approach: Formal, Experiential, and Cultural is a really interesting way to view games and I look forward to the rest of the book to see how they develop these ideas (through the related headings of Rules, Play and Culture).

Following systems, the authors also provide a working definition of “Interaction“.

Instead of trying to come up with the Ultimate Definition, they disambiguate Interaction into four modes:

  • Mode 1: Cognitive Interactivity (the way you interact with television or a book)
  • Mode 2: Functional Interactivity (how you interact with an interface, clicking or scrolling etc)
  • Mode 3: Explicit Interactivity (making decisions, overt participation - in other words, the kind of interactivity associated with most games)
  • Mode 4: Beyond-the-Object Interactivity (interacting with something outwith or after the event - i.e. fan fiction / TV forums etc).

They promote the idea of Designed Interaction - if the designer has a goal when designing, the experience will be much more meaningful for the interactee (player).

Within their chapter in Interactivity, they also offer five stages of interaction that construct a choice in a game:

  1. What happened before player given the choice?
  2. How is the possibility of choice given to the player?
  3. How did the player make the choice?
  4. What is the result of the choice. How will it affect future choices?
  5. How is the result of the choice conveyed to the player?

These questions could certainly be used to ‘problem solve’ unsatisfying gameplay.

And that’s where I am so far.

Fascinating, thorough and useful book so far - and I haven’t even got to the main content yet.

e-Bug in the News


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GA_Filter::the_content() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-includes/plugin.php on line 163

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

The project I’m working on is called e-Bug.  We’re working with 17 countries across Europe to create an education pack and online games for primary and secondary (junior and senior) schools that will educate pupils on hygiene, microbes and appropriate antibiotic use.

The bigger picture is that if you can improve the education of young people with regards to antibiotics, then hopefully they will make better decisions with their own families and we can reduce antibiotics misuse.

Of course, creating resources isn’t particularly useful unless people are aware of them, so it was nice to see e-Bug prominately featured in this year’s European Antibiotic Awareness Day promotions in the UK.

BBC News have a summary.

Microworlds, Explanatoids and extending the Islands of Expertise Theory


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GA_Filter::the_content() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-includes/plugin.php on line 163

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

I’m reading David Williamson Shaffer’s book “How Computer Games Help Children Learn

In it, he refers to a paper that he and Gina Svarovsky published on in 2006 based on their Digital Zoo project.  I had a hunt for this paper and found a number that they published on this, and an earlier project called Berta’s Tower.

Both projects seem to have been structured play / learning experiences based around the excellent physics / creative toy SodaConstructor.

I’ve just finished reading one paper ( SodaConstructing an understanding of physics: Technology-based engineering activities for middle school students ) based on the Berta’s Tower project.  

Some (unrefined) initial thoughts are below…

Continue reading →

Using the iPhone as a wireless external drive with SFTP


Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-static method GA_Filter::the_content() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-includes/plugin.php on line 163

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Strict Standards: Non-static method GA_Filter::ga_parse_article_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 406

Strict Standards: Non-static method GA_Filter::ga_parse_link() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 396

Strict Standards: Non-static method GA_Filter::ga_get_domain() should not be called statically in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 376

Deprecated: Function split() is deprecated in /home/dfarrell/davidlearnsgames.com/wp-content/plugins/google-analytics-for-wordpress/googleanalytics.php on line 379

Some tech news websites have been singing the praises of a new iPhone app called DataCase.

It allows you to use your iPhone as a wireless storage device.  It’s a great idea because there’s a decent amount of space on the iPhone and wireless access to anything is cool.

Their Mac Demo looks great but on a Windows or Linux machine, you have to use FTP and / or HTTP to transfer files.  My first reaction was that this was great anyway, but then I remembered how annoying it can be when your “portable hard drive” doesn’t behave exactly like you’d expect.

Limitations of DataCase

You can’t easily map an FTP drive to a letter in Windows.

Under My Computer, your main hard drive is usually C.  A USB memory stick or camera may be seen as letter F when you plug it in.  This is a useful thing to be able to do because most programs can’t “see” FTP.

You can’t ’save as’ a document onto an FTP site - and as such, you won’t be able to natively integrate your iPhone as though it was a USB stick. It’s not a big deal really, DataCase still a cool app (especially since it has some inbuilt file viewers) but it’s not ideal.

Free (for jailbroken iPhones) alternative to DataCase?

My iPhone is jailbroken.  One of the cool things about jailbreaking an iPhone is that you can SSH / SFTP in and have access to the disk.  I had look around and after an unsuccessful attempt at “rolling my own” drive map through a tutorial, I spotted a program called SftpDrive which uses SSH to connect to your iPhone and map it to a local drive on Windows.

It’s not free - but there is a 6 week free trial - it costs $39 (£20ish) to buy.

Before configuring SftpDrive though, you’ll have to get your computer and your iPhone talking to each other.

My laptop connects through a wire to the internet so I have to create a wireless network so that the computer and the iPhone can see each other.  If you are already using a wireless network, you probably don’t need to do this - you only need to know your phone’s IP address.

In Windows XP, I right-clicked on my wireless network icon in the System Tray and went to “View Available Wireless Connections”  I then clicked on “Change Advanced Settings” and then clicked on the “Wireless Networks” tab.

Initially, I just wanted to get the connection working so I didn’t use encryption.  I’m going to put the encryption on soon.

The red boxes above indicate which settings were changed from the default.

After clicking OK a few times, this new network is available on the “View Available Networks” screen.

XP is kind of funny about ad-hoc (computer to computer) networks.  If there is a ‘proper’ wireless network around that you connect to usually, you can’t just click on your iPhoneConnection network and connect.  You have to disconnect first from all other networks.

Once the laptop is free of existing conections, I clicked on the new iPhoneConnection and clicked connect.

For some reason, the computer stayed in “waiting for network” mode - but this is ok because by doing so, it is sending out the name “iPhoneConnection” and your iPhone will see it.

In your Settings app, head into the wifi option.  You should see your new iPhoneConnection available.

Connect to it. then touch the wee blue circle/arrow, choose static and give your iPhone a static ip address like so.

Now you need to give your computer a similar address so that they can see each other.  Right click on the wireless connection symbol and choose ’status’, then properties to get to this screen.

Double click on “Internet Protocol (TCP / IP)” and give your computer a compatable IP address to that of the phone.

If you connect to other networks (and not just your iPhone), you may want to put the IP and Subnet numbers in the “Alternative Configuration” tab instead (so you don’t screw up your main wireless connection).

Click OK a few times and your computer and your iPhone should both report that they are connected.  Often the computer will drop the connection before you get here so go back into the “view available” screen and connect again.  And similarly, in the iPhone, get back into your WIFI settings and reconnect (if you don’t see the connection here, connect on PC first, then switch WiFi off and on again on the phone).

Now you’re ready to set up SSH and SftpDrive.  I won’t show SSH setup here - if you have Cydia on your iPhone (default option when jailbreaking), you’ll see a menu item there about setting up OpenSSH.

I’m assuming that you have OpenSSH on your iPhone.

Download and install SftpDrive.  Run it and you’ll see a screen similar to this:

Fill in the boxes as so (the default root password is “alpine” (as of 2.0.1 firmware anyway) - you should change this!

Click connect and that’s that.

If you get an error, it is likely that the connection has dropped.  Once more, reconnect your PC and iPhone to the wifi connection before clicking “connect” again.  You can test if your connection is working by pressing the Windows key and “r” to open the ‘run’ dialogue and then typing in:

ping 192.168.10.1

and pressing ok - if you see replies, then the connection is fine.  If you have frequent drop offs, change your iPhone settings so that “auto lock” is set to “never”.  I think the connection drops most often when the iPhone is in screensaver / black screen mode.

And that’s that.  So long as you have a wifi connection between the two, the drive is stable (I think!)