IS – Application Concept Review

User Research

Initially explored participatory design methods. Though eventually realised they were not suitable to this application which needed a technological probe to observe user reactions. Hence, technological and cultural probes were explored, attempting it with one of the first groups of participants (though, as the application did not physically exist yet, it was motioned conceptually). As this first session evolved into an interview, interviews were taken with three other groups (one group of one and two pairs).

Findings included the need to facilitate the casual, and temporal nature of games whilst prolonging it’s life via aesthetics and rewards. There did not appear to be much of a need to facilitate social communication or change, except for the mutual unification of players via shared activities (or shared space, a “common reference”). Awareness of others was an important aspect, of friends and strangers, their immediate status’, activities, and offline presence (interactive ghosts and avatars were suggestions).

[Personal Notes on Findings]

Additional Research

To contextualise these findings, further exploration was required. The paper “Asynchronous gameplay in pervasive multiplayer mobile games” and video on the “State of Social in Social Games” by Aki Jarvinen presented intriguing similarities that reinforced the interview findings in the context of mobile, social, and casual games.

Interestingly, the paper also stated that players were more interested in creating ‘encounters’, or environments of social play, rather than playing. The video encompassed several points on social play quite succinctly. It presented the need (in the context of this application) to minimize social cognitive load via simplified social communication channels, delicately balancing social presence (which conveys ‘immediacy’), facilitate the single-player experience, creating parasocial experiences (aesthetically attachable characters), and the need for shared social spaces.

[Personal Notes]

Original Concept

[Some Pics]

Full App Concept (Future Work+)

Stage 1 – Choose a Game

  • – Filtering of Results Contextually (e.g. location, time, ~activity) and Socially (Past Personal Plays, Friend’s Plays)
  • – Results able to be ordered by ‘ranking by location’, ‘ranking by creator’, ‘already played’, ‘Friend’s creations/plays’
  • – [ Should not think about scaling with this type of project ]

Stage 2 – Play Game (mechanics)

  • – Ghosting, interesting to explore Conceptually (not technically) in terms of social implications
  • – Possibilities: Path Tracking, Accelerometer/Gyroscope, Top-Down, Racing

Stage 3 – Results of Game

  • – High Score (Conceptual ‘Observation’ of other’s Plays Possible)
  • – Replay, Next Stage, ‘Edit’
  • – ‘Edit’ would have security concerns, and evolve into more of game forking/versioning
  • – Ranking

Stage 4 – Edit Game

  • – Easy to test out [link gamasutra level design] – (e.g. flip phone to test)
  • – Restrictions on items, (e.g. game collectables) – (Conceptually explore the sharing of such items via level creation – LBP)
  • – Possibilites: ,Drag & Drop, Draw,

Raw App

Create Game.

  • – Drag & Drop Object
  • – Move Object
  • – Delete Object
  • – Objects: Start/End Position, Basic Obstruction

Play Game.

  • – Level Screen
  • – Win Screen
Advertisements
Posted in Uncategorized | Leave a comment

IS – Status Update

Falling behind, re-scheduling required.

Current Concept:

  • To explore the social fabric that can be interwoven by a casual mobile game that has been integrated with a social dimension.

Goals for this week:

  • Set up some user discussions / participatory design
  • Completely flesh out the concept by looking at: examples, user discussions, etc.
  • Schedule for the rest of the semester.
Posted in Uncategorized | Leave a comment

IS – Physics on iPhone

Goal

Get a physics engine onto an iphone project.

Alternatives

There are quite a few physics engines out there such as ‘Sparrow’, ‘Chipmunk’, ‘Box2d’.
The latter two come bundled with ‘Cocos2d’ (an opensource 2d game framework).

Though ‘Sparrow’ is a native-like alternative to cocos2d (which appears quite flash-like). ‘Sparrow’, along with ‘Chipmunk’ are much less documented when compared to ‘Box2d’. (edited: 5th April 2011)

Process

Following ‘tutorials on cocos2d’ and ‘box2d within cocos2d’, it does appear quite flash-like.
As Cocos2d is organized into ‘scenes’ (screens), allowing for multiple ‘layers’ (like photoshop), and nodes within nodes (sprites/labels/menus).

One of the annoyances of using box2d within cocos2d is that it seems you will have to write in cpp (.mm) files.
Though if cocos2d is not required, it is possible to write box2d in objective-c (as seen in these structured examples (which uses UIViews)).

Physics Games

Looking around at a few physics games. Some prominent ones that facilitated user creation were; Crayon Physics, Magic Pen, Labyrinth.
Crayon Physics and Magic Pen are quite similar, in that you need to get a ball from point A to point B by drawing objects onto the screen.
Labyrinth, which is a game that exists on the iPhone and online, requires the player to get a marble in a maze from point A to point B. Levels can also be created for the game through it’s online editor.

There are many different types of pre-play level creation. These include the ability to create various devices:

  • static and dynamic, fixed obstacles
  • { generated paths/machines from these obstacles ‘put put’ }
  • characteristics alters; ‘speed boosts, etc.’
  • terrain alters; ‘light, world upside down’
  • { continuous buildup of characteristics }
  • friendly/enemy, automated bots
  • { predefined tasks }
  • world rules – gravity, backwards
  • the supplying of resources; ‘stores, etc.’

Overarching game concepts can also include games involving in-game level creation that are intertwined with gameplay. Or games where the whole aim is level creation (construct and watch), As well as games whom’s gameplay relies on multiple players.

  • Multiplayer – Timed Editors – Editing own sides / modification & fortification (,turrets,)
  • Multiplayer – Strategic Terrain/Character Editing (,Worms,)
  • competitive play
    – (,a.i. competitions,) (e.g. player’s characters/terrain versus preset story bots OR automatically versing other human players)
    – scored by time / number of achievements
  • co-operative play
  • simultaneous level-editor & game editor
Posted in Uncategorized | Leave a comment

IS – Exploring Level Design Tools

Level Exploration – Observations

For the past day or so, I started exploring what simple level design tools exist for the casual user. (Simple things like, Line Rider, Little Big Planet, etc.).

I noticed that most of the most addictive of these games are built of physics engines, like box2d (which is portable to objective-c).
And even in this physical world, the amount of ‘abstracted’ physics is kept relevant to the world and does not have to be entirely realistic as some developers strive to be (for example, line rider does not consider air friction, amongst other things, as analyzed here).

Some of the more interesting and publicized games include Kodu and Little Big Planet. Kodu is inspired by robotics, and contains agents whereby “each character and object in Kodu is programmed individually to interact with the world, much like intelligent agents” as it is event driven. Kodu’s coding system is represented as an icon-based language, not unlike Little Big Planet (LBP) (who’s second iteration recently introduced programmable sakbots). LBP also uses some Ragdoll physics (popular), and allows the player to grow their inventory through gameplay. The ‘functional’ agents within these games also reminded me of command games like Lemmings, which allowed realtime manipulation of the environment.
#Edit, this ‘construction via coding’ has also been utilized in ‘construct and watch’ games like Core Wars, Tierra, and also reminds me of the yearly google artificial intelligence challenges.

The Incredible Machine was also interesting in that it was composed of a sequence of puzzles, and later iterations facilitated multiplayer gameplay, taking the “construct and play” approach.
Games like Worms and Gunbound were also interesting in that a lot of the player’s creativity lied in their weapons, modifying and shaping the terrain to their advantage in a turn-based manner.

Many modern and addictive games also simply work due to intelligent level designs mixed with nice aesthetics (sounds, visuals) and a physics engine (e.g. Angry Birds, Cut the Rope).

Level Exploration – Summary

After exploring this field, I’ve come to categorize games within this particular field like so:
Construction Approach (construct and play, turn-based, realtime)
Physics Engine, Graphics, (2d, 2.5d, 3d)
Control over a range of (characters (hero/ines), objects (puzzle pieces), terrain (like poco))

Thoughts on the integration of the Flenur

(Granted this should have been though of simultaneously throughout the level exploration)
I don’t believe there are many accurate, geolocated games in existence. As such, I believe that, in implementing this philosophy, one should look at the user’s environment in a wider context than their location. For instance, one could observe a user’s current activity and time on top of their location. This data can provide further, and more global options when the the user plays a game with other players, with shared contexts.

Next Task

Next, look at making something with box2d for the iPhone (in objective-c)!

Posted in Uncategorized | Leave a comment

IS – Connecting Google App Engine with iOS

Currently focused on setting up Google App Engine (GAE). Australian mobiles can apply to GAE with an ‘Other’ number with country code; ‘+61 403  123  456’.

———————————————————————————————————-

Finally have the connection of GAE with iOS up and running.

Process

Followed the python tutorial that’s available on google. (Extremely straightforward).
After trying to browse around for a few examples (there weren’t many out there), I came across “ASIHTTPRequest” for connecting the iPhone.
Simply copied sample codes from ASIHTTPRequest’s Documentation to a function (e.g. viewDidLoad) in Xcode to get it running.
With the google app engine application, had to set it up by allowing the parsing of variables in it’s urls (dynamic urls). (e.g. http://hello-o.appspot.com/?action=postData&name=John&message=Hello! ).
[ Though that may not be the proper way of doing things ].
This application and it’s simple model can be expanded to a more complex structure later, along with authentication (and url hiding if required, as demonstrated here).

Links I used to help me with this process are listed at the end of the attached note.

Personal (Messy) Note on the process throughout this implementation.

Evaluation

Now I have an app in google app engine storing data and communicating with my iphone app. On to the next step.

Posted in Uncategorized | Leave a comment

IS Project Brief

Brief: Facilitate Locative Mini-Games

(Scrapped ideas of context awareness and curiosity from the primary).

Posted in Uncategorized | Tagged | Leave a comment