Thursday, 23 December 2010

Paper - Learning in the zone

1. Bronack S, Riedl R, Tashner J. Learning in the zone: A social constructivist framework for distance education in a 3-dimensional virtual world. Interactive Learning Environments. 2006;14(3):219-232. Available at: http://www.informaworld.com/openurl?genre=article&doi=10.1080/10494820600909157&magic=crossref||D404A21C5BB053405B1A640AFFD44AE3.

A paper reviewing the design and success of a custom virtual world for online learning, with separately designed areas for each course.

Gives a good overview of social constructivism, based on the following tenants:

  • learning is participatory; 
  • knowledge is social; 
  • learning leads development through predictable stages via shared activity; 
  • a useful knowledge base emerges through meaningful activity with others; 
  • learners develop dispositions relative to the communities in which they practice.
The paper goes on to define each of these more carefully. 

The design and build of the virtual world is discussed, and feedback from students presented. The three dimensional virtual world appears to be used to allow the students to build and create things that would not be possible in real life, allowing for situated learning. The focus seems to be on building a 'community of practice', allowing students to mingle as would normally be possible on campus. 

Interesting, but most useful for the discussion on social constructivism. Might need to follow up the references on that. 

Paper - Why Virtual Worlds Can Matter

1. Thomas D, Brown JS. Why Virtual Worlds Can Matter. International Journal of Learning and Media. 2009;1(1):37-49. Available at: http://www.mitpressjournals.org/doi/abs/10.1162/ijlm.2009.0008.

A paper that looks at the value of virtual worlds (primarily focussing on MMOGs like World of Warcraft, Eve online and Second Life - although I still contend that Second Life doesn't come close to being a game) as social educational environments. These games are selected because players can create, change and evolve the game world. Focusses not only on the 3D worlds, but also the message boards, wikis etc that are created around the edges of the game.

Discusses the way that learning to play the game is an inversion of the normally accepted learning method of 'learning about' and then 'learning to be'. When you play a MMOG you spend the first x levels finding out how to be your character, rather than learning about your character and then learning how to be it.

Also talks about the idea of a 'networked imagination' - using the example of a guild in World of Warcraft. I _think_ the idea is that a group of people (or network) imagine or understand the game the same way - they build their view of the game together, by playing the group missions, developing guild rules etc.

Introduces the idea of 'conceptual blending' in MMOGs, where rather than keeping real life and virtual life separate, players blend their perception of both. So they are easily capable of processing that they are both sitting in front of a computer and taking part in a raiding party. This suggests that things that teh player tries via their avatar can have a direct effect on their real-life attitude/learning, and that the player-outside-the-game can use that position to learn things to have an effect on how the player-in-the-game does things. Got a bit complex, and I think I might need to follow up on the references in this area!

There is an interesting idea about how when players struggle to do something and then it's suddenly easy they reflect on what's happened to analyse it and try to use it again. Might be worth following up to see if we can use this in our game to bring in any aspect of reflection?

Review - Half-Real, Jesper Juul

1. Juul J. Half-Real: Video Games between Real Rules and Fictional Worlds. IT University of Copenhagen, Glentevej 67, 2400 Copenhagen NV: MIT Press; 2005:225. Associated webpage: http://www.half-real.net/.

An interesting book that looks at defining what makes a game a game, starting with a 'classical' model and then looking at the ways in which that has been expanded by recent video games. He examines the interplay between rules and fiction, where the rules can reinforce the fiction and the fiction can teach about the rules.

In discussing the fictional world of games he defines 'coherent' fictional worlds as being ones where it is possible to explain all of the things that happen in the game in terms of the fiction, whereas 'incoherent' fictional worlds require the player to discuss the game rules when talking about the things that happen. An example he uses is the multiple lives of Mario - the only way a player can explain these is to say that the rules say Mario starts with three lives. In terms of our game, a coherent fictional world would mean that all of the consequences for players actions are described in fictional terms (e.g. weeding your crops a lot means you get greater yields) rather than in points (e.g. sending your kid to school gets you 20 points at the end of the game). He does point out that players don't seem to object to incoherent worlds, but that the inconsistencies tend to make the rules more obvious than the fiction.

One interesting point he makes is that rules can be used to create emergent behaviour (e.g. behaviour that the game designer didn't expect, or more complex scenarios than would be suggested by the rule set). This is contrasted with progressional games, where it is only possible to do the next thing, or solve the puzzle in one way. He discusses that some games (e.g. Grand Theft Auto) combine progressional and emergent play, by allowing the player to do their own thing in between quests, or to go through the quests however they choose, provided they reach a given end state.

One interesting point he made is that subtle tweaks in the rules make for very different player behaviours. One example discussed is the comparison between Quake III Arena and Counter-Strike (p 88-90). Apparently they have very similar rules and both support multiplayer gameplay, but Counter-Strike tends to lead to team-oriented play while Quake III Arena doesn't. He says this is because in Counter-Strike the rules have been tweaked to make it more important to have other people covering your back - subtly, by things like changing the respawn points and increasing vulnerability of players.

Possibly more interesting for game design than thesis!

Wednesday, 22 December 2010

MMOG Farm Games - the follow up

I've been playing My Free Farm and the Free Farm Game for a couple of weeks now, so I thought I'd post a bit of a follow up on the two of them.

I've got far more into My Free Farm than the Free Farm Game. I think this is a real reflection of the different mechanisms at play in the games. With My Free Farm there are more things I can do in a day. I don't play constantly, but whenever I log in there is something I can do - either a crop ready for harvest and replanting or some eggs ready for collection. The Free Farm Game I still log into first thing (got to feed those chickens and check the crops), but it takes about 5 minutes to exhaust my 'energy' for the entire 24 hour period. I then sell whatever I've gathered or fished for plus my eggs in the market, and log back out. I'm not really sure I have any more insight than previously!

With My Free Farm, I've managed to level up to level 8. This gets me a range of different seeds to plant, which all take different amounts of time and different arrangements of fields to grow. I've increased my chickens from 3 to 5, which is allowing me to make more money off the NPC characters than before (eggs earn more). I've also unlocked a second village site, where I can purchase 'recipes' that will let me do other things more quickly. I've had 'quests' to complete which have pushed me to grow more of certain crops than I would otherwise. I've sold a little bit in the market, and I bought a cat (which turned out to be a stupid thing to do, because all it seems to do is take up valuable growing space!).

I am enjoying working out how to maximise what I get out of my patch, and how I can juggle serving enough of the NPCs to keep my queue down to a dull roar. I'm close to unlocking an extra field too. But all of the quests and all of the NPCs can be managed by basically growing things. There isn't really a talent, or something to practice, it's just a case of seeing what needs growing and putting the right seeds in the boxes and waiting. All of the things I'm unlocking are just different ways of using the outcomes of that mechanism, and I'm finding that a bit dull.

I've also had no inclination to find the other players, or any real need to do so. I know that what I've bought and sold through the market was to other players (unlike in the Free Farm Game, where it is just to a generic 'market') but the contact is very remote. I'm not sure why I would bother. Likewise the big push seems to be to decorate my farmhouse and fields. But I don't know why, it's decoration for the sake of it and then you can 'share' that with your friends.

I think this reinforces that for me, actions in game should have consequences in game, not externally. Also if we want to encourage player interaction we need to create situations where it is necessary for successful playing of the game.

Initial thoughts on My Free Farm
Initial reading of the Free Farm Game

Wednesday, 15 December 2010

SmartFoxServer 2x and Hibernate

I've been looking at using Object/Relational Mapping (ORM) to link my database and server extension in SmartFoxServer since reading the SmartFoxServer white paper on developing an MMO. Hibernate is one I've heard of, so I've been starting with that.

An ORM tool basically abstracts out connecting your objects to the database. It's possible to do all of this in SmartFoxServer using the in-built database manager, but not without some fairly intricate and repetitive code-wrangling. Hibernate should (in theory) take out a lot of the CRUD work.

To configure the connection between Hibernate and the database, you create a hibernate.cfg.xml file. This goes in the root of the src folder for the project, and includes all the settings for the connection, including which driver, which database etc. This clearly supersedes the information set up in the SFS2X database manager, so we could probably not bother setting that up.

Each object in the model that gets saved out to the database needs an xml file mapping the tables and columns in the database to the types and objects in the class. I'm putting these xml files in the same packages as the classes themselves. The hibernate.cfg.xml requires the full mapping to these files, including the package path. (e.g. <mapping resource="uk/ac/sussex/model/User.hbm.xml" /> not just <mapping resource="User.hbm.xml" />)

All of the xml files get included when I package up the .jar file for the extension.

To get the system up and running I needed to include the following jars:
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate3.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
slf4j-api-1.6.1.jar

These all needed to be included in the same folder as my extension (so {wherever}/SFS2X/extensions/gameBackend) NOT in the __lib__ folder of my extension (so {wherever}/SFS2X/extensions/__lib__) . When I put them in there hibernate then couldn't find the hibernate.cfg.xml unless I put that file separately into the root of my SFS2X installation, rather than leaving it in the extension jar. That would mean that I couldn't use separate hibernate configurations for each extension, which would be a bit ridiculous.

The server needed restarting once all of the jars had been put in place. I still haven't got the log4j stuff up and running correctly - I think SFS2X already uses log4j, so there's probably something in the configuration somewhere that needs changing, but I've not really looked into it yet.

Setting the project up like this also means that I can write JUnit tests for my model objects, provided that I include all of the same jars in the build path. The database connection does not depend on having SmartFoxServer running, so the objects are more server-independent (although now reliant on Hibernate! Swings and roundabouts I guess.)

Wednesday, 8 December 2010

My Free Farm

http://myfreefarm.co.uk/ Browser game allows you to farm (initially planting crops) and sell your produce to either other players (via a marketplace) or to NPCs, or to complete the NPC quests for extra cash/experience points.
The interface is really nice actually. You get 6 plots of land (although I think one of them is only available if you upgrade to premium). Initially only one is available to you, which is your field system. When you click on that field, you get a more in-depth view of what's going on.
You can only plant on clear squares, and a large chunk of the field is covered in weeds, stones and tree trunks which cost potato dollars (pDs) to clear. Some crops take more than one square to plant. The crops should be watered to decrease the time they take to mature, but it isn't necessary. There's no limit to how much watering you can do. The crops grow in 'real time' - so watered wheat takes around 20 minutes to mature, watered carrots about 15. There doesn't seem to be any sort of seasonality either - the plants you can grow reflect your experience level, not the weather conditions.

The other big area is the marketplace.
(This is currently covered in snow because it's December in real life, and has no effect on the game.) Different areas of this town give you access to different shops - a seed shop, a livestock shop etc. Also there's the marketplace, which is where you sell to other players and buy their wares. In order to sell you have to pay a percentage of your profit upfront, so cashflow can be an issue.

NPCs come to your farm at a rate of 6 in a 24 hour period, starting after you log in for that day. They will buy your stuff directly from you, which helps a little with some of the cashflow issues. You can advertise to increase the number of NPCs. Also NPCs in the market will sometimes have exclamation points over them, indicating that they have 'quests' to do for more points, coins and pDs.

Your second field becomes a chicken coop after the first tutorial level. The chickens in the coop eat the wheat you've grown which helps them to produce eggs faster. Which is a good thing, because an egg takes 4 hours. The maximum wheat you can feed them reduces that to 2 hours. I'm still waiting for my first egg as I'm writing this. The anticipation might kill me. There's a nice feature on the interface for showing how long you have to wait - next to the field is an egg box which is slowly filling up. If you mouse-over the egg box it tells you how many hours and minutes you have until the eggs are available.
There doesn't appear to be any direct player-to-player chat. You can send players messages in the post (and system messages are delivered that way) or you can use the town crier to post wanted ads (I think). These can lead to contracts being negotiated between players and by-passing the overhead of the market.
I'm finding the length of time to achieve anything a bit tedious - particularly the eggs. I can't complete my quest until the eggs are ready, and I don't have enough cash to sell anything worthwhile in the market so all I can do at the moment is keep planting crops and waiting for them to be ready. One online review suggested a chatroom might alleviate the boredom while you're waiting. It is a very different mechanism to the limited endurance one used in Free Farm Game though. Might not work with seasons etc.

Youda Farmer

http://www.miniclip.com/games/farmer/en/

This is a little flash game, that totally ignores the tending and choosing which crops to grow, and totally focusses on picking the products up before they go off and delivering them to town before people get frustrated with your tardiness.

Customisation is minimal - gender, truck colour and name. Mostly it's the truck you see, and the town people call you by name.

After that you get a tuition level, then it gets frenzied really quickly! Not sure it's got huge amounts to teach us, although it's a nice clear screen to work with it's not really presenting huge amounts of information.

Hamlet on the Holodeck, Janet H. Murray

A few further thoughts - The strength of Murray’s book is the historical and literary perspective she brings to this study, recognising that we are still in the early stages of developing the forms and grammar that will enable us to fully exploit the possibilities offered by CMEs. Perhaps inevitably we approach a new medium with the models and conventions from established media – in this case books, radio, television, film - and it will take some time before we can free ourselves from these constraints. Interactivity is seen a key aspect of CMEs, and Murray explores the possibilities of multiform dramas where ‘interactors’ can select different points of view, follow sub-plots or choose from a selection of plot developments. However it strikes me that the task of producing a work with real depth where an observer can choose how to experience the drama would be colossal - I was reminded of Stoppard’s “Rosencrantz and Guildenstern Are Dead”, a play based around two of the minor characters in Hamlet whose exploits occasionally intersect with scenes from Shakespeare’s play. How often could we hope to combine talents such as Shakespeare and Stoppard on a single production? Also it seems to me that part of the power of fiction is that a good author can take you down paths you would not otherwise choose to travel, and left to our own devices we may choose to stay with what’s familiar and unchallenging. The possibility of an 'interactor' helping shape the unfolding drama brings a new dimension to the tension between character and plot in traditional fiction - if, as an author, I allow my characters to have a life of their own, my carefully crafted plot may well be torn to shreds; however keeping my characters subservient to the plot may render them flat and unconvincing. In Murray’s multiform cyberdramas, it’s hard to see how ‘interactors’ can have anything more than token roles if an authored plot is to be preserved. In the context of educational games this raises issues of freedom, constraint and learning outcomes – how much autonomy can we give individual players while maintaining the coherence of the game and achieving the desired leaning outcomes? If players are overly-constrained, frustration and lack of engagement may be the result; on the other hand, with insufficient guidance the game could descend into chaos and learning outcomes will not be realised. Reading this book also revived in me the nagging question of the players' roles in Green Revolution. Are they best cast as a group of lexia-wielding cyberbards, controlling the destinies of their families, or would it be better to give them the roles of particular characters in the game?

Free Farm Game

http://www.freefarmgame.co.uk/index.php Online farm management game, encouraging multi-player co-operatives.

This looks like it's going to be an interesting (if slow) game. You start out with a beginner-level farm that consists of 6 squares of land that you own. One has your home on it, one a silo for collecting your produce, and one a chicken coop with 2 chickens in it. You start with $2000. There is woodland all around your farm that you can gather other produce from, but to cultivate it you need to buy it.



It is turn-based, with a farmer having a limited amount of 'endurance' per day. Each task on the farm uses endurance, and once you have too little endurance to perform any tasks that's you done for the day. And it really means day. A new turn starts at 3AM GMT every day. You can increase your endurance by eating, which can be done up to 3 times per day (they've clearly never heard of snacking...). In order to do that, you have to initially buy food from the market. I found it didn't really take very long to get through all my endurance and be done until tomorrow, and as a beginner I'm not in a cooperative or employing anyone else, so I have to wait now until tomorrow to do anything else. Frankly I found that a little frustrating.

The information display is interesting. Each square on the farm can be clicked on. When you do that you can see information about that square displayed at the bottom of the page, and you get a drop down with available actions for that square. Hovering over the action for a while brings up the information about what that icon means. Hopefully eventually that wouldn't be necessary, but it's a helpful touch for beginners.


I found it a little difficult to pick up what the various bits and pieces meant, and actually a little tough to read at times. But I think it gets the information across. The section at the top stays visible at all times, providing information on the current endurance level (although I have no idea what the little stars are above that), the current date and weather conditions, and things like your storage capacity and stocks of various bits and bobs.

The server keeps the game time, so presumably the date and weather is the same for everyone? It means that what you have to do initially and what is available to you is somewhat dependent on when you sign up (e.g. I've signed up on a hot day in August so I can move my chickens out of the coop and plant some warm weather crops).

Apparently skills have to be earned, so although you can gather from the woods from day one, apparently you get better at it the more you do it. This is reflected in getting more and better things in return. Equally your livestock is initially of a poor standard, but this can be improved by (I believe) breeding and improving your equipment. Eventually with enough money you can buy workshops to increase your skill levels further.

There is a market to buy and sell things, and that's also where you join cooperatives. These are player-managed, but I haven't really explored what difference they make to the game. There are also 'missions' that I have yet to explore. There also appear to be on-going competitions - again I haven't explored those yet.

In addition to the limited information provided by the mouseover/info stuff, there's a manual available from a link below the flash game. Click on that and a second flash item appears over the top, which provides more information and some starter advice.

It felt a little clunky, but I wouldn't have wanted all that information in the game interface so probably a good solution.

The homepage is interesting because it gives both starting information and in-game info, like the date, weather and pests to watch out for. It is very much in the same style as the game. I'm not sure if I'm just getting old, but I found both to be rather cluttered and the text rather small! The icons on the screen aren't very clear either.

I guess I'll have to log in and feed and water my chickens daily (yeah, honestly, or they die) for a bit and see if my opinion changes or I find more interesting facets to this.

Tuesday, 30 November 2010

Designing and Evaluating Games and Simulations, Margaret Gredler (1992).

Although the technological advances of the last 20 years have revolutionised the development of games and simulations, Gredler’s book is still worth a look. The dazzling possibilities offered by technology can sometimes distract from fundamental design issues but Gredler, writing at a time when the Apple II was cutting edge, keeps her focus on learning objectives rather than the enabling technologies.

Gredler begins as she intends to go on, asserting a clear distinction between games and simulations and then proceeds to sub-divide simulations into 2 major types, and then 6 sub-types as she doggedly follows her categorising agenda. A comprehensive listing of the resulting hierarchy would be exhausting, so here‘s the short version:

Games and Simulations

Game: a world unto itself, determined by rules that are not replications of real life; involves winning by taking any course of action allowed by the rules; consequences experienced as a player do not extend to real life (so any skills developed would help only in playing the game better)

Simulation: based on real life; problem-based unit of learning; problems without easily determined solutions; participants carry out functions associated with their defined roles and circumstances; participants experience “reality of function” (given bona fide roles, address problems seriously and conscientiously); outcomes primarily determined by actions of participants – not by chance or luck.

Types of Simulation

Tactical-Decision Simulation: The primary interactions are with a complex problem in which participants, in executing their roles, use their skills in interpreting data, organising findings and managing a solution strategy to the problem. There are 3 sub-types – diagnostic (define nature of a complex problem and implement strategies), crisis management (allocate resources to avert or minimise an impending threat) and data management (manage a set of data to fulfil defined goals).

Social-Process Simulation: The primary interactions are among participants as they try to achieve a social or political goal. Again there are 3 sub-types – social system (participants engage in the social or political processes that form the fabric of organised social groups), language skills/communication (participants placed in a challenging situation requires participants to stretch their communication skills) and empathy/insight (participants undergo a frustrating or traumatic event and struggle to function in this changed environment).

I think Gredler’s definition of a simulation is more successful than her take on games (why can’t the rules of a game be replications of real life?) and maybe simply “not a simulation” would have been a better definition. I think the participants intent or attitude is also a factor worth mentioning here. And although she accepts that a simulation may have elements of more than one type, I suspect that in practice some simulations may sit uneasily between categories. Gredler goes on to devote chapters to academic games and then to each major simulation type and subtype.

Green Revolution seems to fit best in the ‘Data Management simulation' (DMS) sub-type of Gredler’s taxonomy, though with elements of the ‘empathy/insight’ sub-type. In DMSs participants are required to allocate resources to achieve a particular goal and the main focus is on the interrelationships and trade-offs among variables.

Gredler offers some general guidelines in designing simulations of this type:

  • problem and variables must be meaningful to the participants – otherwise it will be treated as a game (so don’t ask the average primary school kid to run the World Bank)
  • participants in their roles must feel compelled to address the problem
  • defined roles must allow maximum opportunity to engage with the problem (don’t create roles peripheral to the main task)
  • participants are empowered to address the problem (they have the expertise and authority to act)
  • participants decisions and actions (not random events) are the major determinants in the outcome (they feel some measure of control)
  • underlying model should be logical and credible to participants (make sense and be consistent)
  • variables must be quantifiable (as simulation based on a mathematical model that calculates the outcomes) - but avoid trying to quantify the unquantifiable

Gredler suggests that a sufficiently comprehensive array of variables and a wide range of decision options be made available to the participants to make the simulation realistic and engaging. She also suggests thinking through a range of action/decision scenarios and about the information the participants need be given (what and when).

Gredler has clear views on to evaluating performance. She believes that judging participants as winners or losers is counterproductive for several reasons:

  • it can encourage unhelpful behaviours e.g. desperation plays (huge gambles) and end of activity plays (focusing on very short-term goals)
  • it can encourage excessive competitiveness which may lead some participants to treat the simulation as a simply a game where the only object is to ‘beat everyone else’.
  • some participants may simply disengage physically or mentally if the focus is simply on winning.
  • in the post-simulation discussion, winners tend not to question their own decisions or acknowledge the help they received from others.
Gredler acknowledges that there are ways to curb excessive competitiveness (e.g. making the model adaptive or introducing computer run teams that prevent any single participant from cornering the market) but argues that it is best simply to avoid identifying participants as winners or losers – in her view it is strategy rather than outcomes that should be evaluated.

This all seems well and good but raises questions regarding simulations of real-world situations in which there are winners and losers and where life is anything but equitable. (Gredler, perhaps failing to recognise the empathy/insight aspect of the simulation, takes a swipe at the original Green Revolution Game because the social inequalities modelled in the game led some participants feeling humiliated when they had to ask wealthier players for a loan). There’s clearly a balance to be struck when designing a simulation which gives the participants a positive learning experience but doesn’t shy away from reflecting real-life inequalities.

To be effective the simulation should lead to reflection on the experience and to new patterns of thinking and so Gredler devotes a chapter to post-simulation activities, which she sees as a crucial to the learning process. She suggests that the post-simulation discussion should be given as much time as the simulation itself, but notes (in the chapter on empathy/insight simulations) it may take several weeks for participants to fully process the impact of the simulation. Therefore several activities should be planned to give them opportunities to explore their experience. She applies both Lewin’s and Piaget’s models of experiential learning in her discussions. Here’s one possible composite scheme pulled from her various notes:

  • immediately after the simulation give participants a short informal break (without co-ordinators) to give them space to release any pent up feelings
  • participants then complete a questionnaire that focuses on their memories of the experience.
  • co-ordinator then invites participants to make any immediate comments.
  • discussion proceeds to more orderly discussion of the simulation:

+ determine what actually took place

+ identify participants thoughts and feelings about the events and the perceptions that led to decisions

+ explore possible alternative actions

+ develop generalisations

  • discussion broadens to include wider implications of experience
  • a second meeting should be scheduled for 1 or 2 weeks later to revisit the experience.

In all this she emphasises that the co-ordinator's role is that of facilitator, not “expert”.

In summary - the book does feel a bit dated and Gredler's relentlessly systematic and prescriptive approach to her subject can be irritating. However she has produced a well-structured book that succeeds in it's stated aim of addressing the core issues involved in the design of games and simulations.

Friday, 26 November 2010

Hamlet on the Holodeck, Janet H. Murray

ISBN-13 978-0-262-63187-7 (paperback 1998)

Thoroughly interesting book on where the computer might be able to take narrative in the future. Lots of examples of changes in narrative style in other media, and how time and experience with the medium leads to different forms of expression with them.

It ties in with the 'Persuasive Games' (Ian Bogost) view of the strength of the computer being the procedural nature, allowing for the scripting of the rules by which a story can be performed without necessarily dictating the full story - leaving that to the interactors.

I focussed more on what might be useful or interesting for our game and my multiplayer/singleplayer research.

The chapter on immersion had some useful insights that a simulation without other characters or some form of task to perform can be a really empty and lonely place that quickly gets boring (pg 109). There is some discussion about a chatterbot used in MUDs called Julia, where simple rules of engagement allowed her to pass on relevant information (e.g. whether a player is currently online, or so on) as well as 'conversing' (pg 215 - 219). Players seem bothered about whether she is 'real' or not. However, the presence of others is noted as something that potentially makes story-immersion more difficult. It's fine when the conversations that take place remain 'in character' but a non-scripted player may break character in such a way as to throw the other player out of the story too. (pg 115-116) Intriguing that apparently what keeps LARP cooperative (i.e. the story keeps moving in a sensible direction and players stay in-character more) is out of game connections and operate face-to-face. (pg 151)

The other interesting thing about LARP that I noted was that they have a wrap-up session after the simulation ends. That chimed (for me) with the post-game discussion on Green Revolution. Apparently with LARP the wrap up allows the players to see how their part fitted into the whole, as well as feeding back on their experiences within the simulation. (pg 180-181)

Puzzles within any game are thought to be most dramatically satisfying and reinforce the belief in the virtual world when they encourage the application of real-world thinking to the virtual world. The example given is of a moment in Zork II where to solve the problem of a dragon and a wall of ice you have to apply the knowledge that dragons breath fire and that the ice can be melted by the fire. (pg 139-140) So the world feels more real because of the application of 'real' knowledge. I'm not entirely sure if that's true, or if it's more internal consistency that's needed. In the Zork example you could argue that rather than build their own set of rules the game writers have 'borrowed' from real-world physics - not to say that isn't valid, but if they had previously established some rule that the character could melt ice in a different way it would still have been satisfying to solve it using this different rule.

Murray draws on the bardic oral traditions to point out that traditionally each telling of the story is different in detail, whilst providing the same overall story. (pg 188) That tallies with the idea of playing a game differently every time (whether with different companions, or with a subtly different goal) and still being able to pull out the same overall plot or experience. Could be potentially interesting. Equally interesting is the suggestion that digital narrative is potentially more powerful than other forms because it allows you to enact the narrative and experience it more personally (pg. 170-171). So enacting looking after a small-holding in Africa leaves a deeper inprint than reading about looking after a small-holding in Africa.

I found it was particularly interesting (because this book was first published in 1997) that a lot of the mechanisms she talks about can already be seen. E.g. on-going TV series that provide chatrooms shaped like parts of the TV world. Equally something like Second Life could be seen as an arena for co-authoring digital stories or the maturation of the MUDs where the players can make up their own artifacts and rules. Also very interesting to consider this as the infancy of the medium, and that maturity will only come as the medium becomes more familiar and the 'rules' for understanding/interpreting it become fixed.

Transitional Objects and Potential Spaces, ed. P.L. Rudnytsky

This book is a collection of essays exploring the application of D.W. Winnicott’s concept of potential space in the literature and the wider cultural arena.

The volume begins with a chapter ‘The Location of Cultural Experience’ from Winnicott’s seminal book ‘Playing and Reality’. Here Winnicott sets our his ideas on "potential space", an intermediate area of experiencing that lies between the inner psychic reality and the external world (originally the space between the infant and mother). Transitional objects and transitional phenomena link these inner and outer worlds. Transitional objects originally symbolised the union between mother and baby, when the mother is in transition from being (in the baby’s mind) merged with the infant and being experienced as a separate object. In the potential space these objects can be used symbolically, imaginatively manipulated and transformed in play to represent parts of the mother or the external world.

These ideas have been widely applied beyond the world of psychoanalysis, as is attested in the diverse essays that comprise the remainder of the book. In particular I enjoyed Bollas’ essay ‘The Aesthetic Moment and the Search for Transformation’ where he suggests that an aesthetic moment, experienced in potential space, takes us back to "the most most profound occasion where the content of the self is formed and transformed by the environment". I also found Hopkins’ analysis of the Christian resurrection myth ‘Jesus and Object Use’ very interesting. Hopkins' essay includes a lucid account of Winnicott’s ideas on the transition from object-relating (where the object is related to as a bundle of projections) to object-use (where the object is experienced as an external reality) - "the most difficult thing, perhaps, in human development" - through acceptance of our own aggressive and destructive impulses. It is through our destruction of objects (in fantasy) that they become real to us.

So what has this to do with game design (beyond a spurious justification for FOTW allowing players to obliterate the world)? OK... probably nothing directly, but I still think Winnicott really was on to something. He believed that our adult abilities for play, creativity and cultural experience are grounded in our experience of potential space - we need to enter this potential space in order to be creative. This intermediate space is a world of ambiguity and duality, a space where the boundary between “me” and “not me” can dissolve, a place where we both blend and separate inner and outer realities, the place where our subjectivity engages with objective reality (the transitional object represents both our connection to the external world but also our separateness from it). So in a gaming context we could see the game as framing a potential space within which the player is able to creatively engage with the game environment and game elements to form his or her own connections and meanings.

Thursday, 25 November 2010

Linking SmartFoxServer and MySQL

How to get a zone set up to use a specific database is actually rather well covered in the documentation. Here's my set up after doing that:
The important bits to change are the connection string, which will need the right port for the MySQL instance that you want, and the database name (test_db in the example above). The username and password are for the database. I have used the oh-so-insecure root with no password, but normally you would want to create a specific user with a strong password who only has access to that database.

The test SQL is used by the server when it sets up the zone to check that the server connection is good. If your test SQL is broken it will refuse to connect, but it doesn't really matter what the result of your test is. Short and sweet might be good! It will need to be specific for each database.

The code side of talking to the database is more convoluted and we will probably end up wrapping some of our common actions. It is dealt with in the server-side code. It relies on us having access to the Zone object,  which has a DBManager property that can access the database using the connection settings above.

This is an example of the code that could be used in a request handler class that extends the BaseClientRequestHandler:

    SFSExtension parentExtension = this.getParentExtension();
    Zone parentZone = parentExtension.getParentZone();
    IDBManager dbManager = parentZone.getDBManager();
    try {
        dbManager.executeUpdate("INSERT  INTO log VALUES ('"+sender.getName()+"',     
        'input two numbers to add')");
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
That will successfully write data to the table in the database linked to in the zone manager when that request handler is fired.