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.