Friday, April 29, 2011

A Moment for the Tech

Let's take a sidestep. It's been mostly design, fun and games here, but of course there's another aspect which should be discussed from time to time. I mean, the title I'm working towards is in fact doctor of technology. In this post I'll present my current opinion of what technology will afford my goals. I have certain strong opinions about tech. I gravitate towards free, open-source technology for ideological reasons. I'm not 100% allergic to proprietary but I avoid it where I can.

When it comes to ubiquitous computing systems, connectivity is key. And in the center, I see web services. Extended to multiple platforms in various scale of course, but ultimately it's the internet that connects services. Ubi infrastructure is beyond the scope of my research but its application is not. At the moment most of the stuff is happening on the mobile device level. Tangible interfaces are still mostly in the lab. Computing has not yet escaped into the open world, sticking to our walls and desks. However, taking advantage of the ubiquity of smart phones and other devices capable of reading RFID or NFC tags, that future could be here any moment.

These technologies will be an important first step as they are inexpensive. The installation cost is minimal: just slap some tags into the environment. All done, and no walls were torn down. These tags can activate services over the web or simply contain information. The interesting part? Tags are tied to location and a specific task. Put another way, it's much easier to understand the context when these variables are fixed. This is a significant aid if we compare it to unaided mobile applications. There is no need to worry about locationing because the tag knows its own location. There is no need for the user to browse the mobile phone's crammed menus to find the application they're looking for, because the correct application is launched when they touch the tag.

While the use of tag-based technologies is ultimately limited, with creativity a lot can be achieved with them. The biggest limitation in fact are the mobile phones themselves - not all models have those necessary readers. This brings us to the next technology, which is way more available: the world wide web itself. Browsers are available in mobile phones, all kinds of terminals and of course desktop computers. These days, almost anything can run in the browser, at least with the correct plugins. The problem with plugins is that they are a bit "pick your poison" variety. Even Flash, the most ubiquitous plugin, is not available for iPhone users. I have chosen to go with HTML5. While it still has availability problems, at its core it is the most available solution, running basically anywhere where JavaScript is enabled.

While at the moment HTML5 with JavaScript cannot do as much as certain plugins, it is slowly getting there with Canvas, SVG, WebGL and HTML audio. A variety of good JavaScript engines, frameworks and libraries exist. I am mostly interested in game development engines. They provide interaction features beyond standardized web user interface widgets. Indeed, I believe that game engines are in many ways the future for interface programming. Sure, they require somewhat more work than widget-based toolkits. However, they are not that hard to work with. Besides, gameful applications won't look very gameful if made with widget toolkits - the association with conventional software is too strong. I am currently favoring Crafty JS. With my current project I will see how far it carries.

Finally, when talking about web services, there's the choice of a backend. Because of my background and general preferences, I'm determined to stick with Python. One of the primary reasonable reasons is the availability of high quality web development frameworks. I have chosen Pyramid. Well, actually I chose Pylons initially, but as it went into legacy state, I decided to pick up Pyramid instead. Fortunately I had not done too much programming with Pylons. While I don't have any particularly good reason for choosing Pyramid over, say, Django, its way of doing things feels better to me. I will also be using Python to program the core server facilities which will communicate with mobile phones reading RFID or NFC tags.

So I think this is the future for me. Web applications running on Python, with HTML5 and JavaScript frontend. The systems will be extended by RFID or NFC tags to provide location-specific services. My choices are, most importantly, feasible for a researcher. There is no need to create different versions of applications and no need for special hardware. And no need to tear down walls, which will be a huge benefit for getting permissions to do live experiments... There is one particular system with which I will be working with for majority of my time, and it will provide me most of the research data I need to write that thesis.

Thursday, April 21, 2011

Random Bits

I don't have a big subject just now, but I do have some random things I want to write about. So let's get them out.

I modified my job game a bit again. I realized that the achievements that require me to gain exp every day can be harmful. The problem is with requiring side-quests on weekends. While it's all good to set some goals to do game design on weekends it kind of pushes all the game design tasks from week days to weekends because the exp needs to be gained then. So I ditched those achievements. I might bring them back and limit them to working days only. That was more productive. Note to designers: achievements should be thought out really carefully. Faulty goals can ruin the experience and change the way the game is played.

I have reached level 3 and hacked my way to level 7 bosses. The last one I defeated was Prismatic Ghost. I just make up the names after I've randomly generated the requirements for defeating the boss. I also renamed the skills in the game to theme it into a fantasy setting:

Programming -> Melee
Writing -> Sorcery
Game Design -> Creativity
Reading -> Lore
Networking -> Cooperation
Research -> Experimentation


My paper "Designing Ubiquitous Computing Systems to Transform Activities into Games" was accepted to the doctoral colloquium workshop in GPC2011. I have not yet received the reviews of my paper but nevertheless it does mean two things: 1) my thesis topic has received a certain level of acceptance; 2) I will get to present it to an audience and receive feedback from people outside my research group. I will tell you more about the exact contents of the paper a bit later after I have read the reviews, given the presentation and received feedback. It will also be available in the proceedings of the conference.


As a final note, Jane McGonigal's awesome talk at the Game Developers Conference is available for free here.

Tuesday, April 12, 2011

Saving the World. With Games!

I was supposed to write this post last week but turns out I actually had something more important to do. If for some reason you did not guess from the title, this post is about Reality is Broken (Jane McGonigal).

Here's a really brief summary. The youth of today are gamers. Almost everybody plays games at least to some extent. They are becoming extraordinary at something, but what exactly? Putting the emphasis on players of multiplayer games, McGonigal suggests that collaboration is one of their most important superpowers. However, they are presently using their powers almost exclusively in virtual worlds because the real world cannot compete. Reality is not a very well designed game. That is why, she suggests, if we could make reality a better game, we could harness the power of all these gamers and truly save the world. We could also design games to make these gamers happier by guiding them to do what are called happiness activities.

The book is really inspiring and I strongly suggest reading it. It is highly optimistic and you might find yourself not in entire agreement, but nevertheless, it is a compelling vision. Do I subscribe to it? Mostly, yes. I mean it is clear to me that politics has failed to save the world, so we the people must do it ourselves. I also know that it just won't happen if we don't make saving the world interesting. Even if we choose to look past McGonigal's optimism, the baseline she proposes in her book is valid: we need to get epic wins in reality. We need feedback and meaning. World saving is too often an activity that feels meaningless, lacking feedback. Feedback, how strange the way we always seem to get there.

If we return to reality (do we have to?), it would take some really compelling game design to make world changing games that people would truly want to play over the ones about saving virtual worlds. It is easy to get people already interested in world saving to get involved in world saving games. They have the initial drive to save the world. The bigger challenge is to get those people interested who could not care less. This is the part that makes me doubtful. Is it even doable? I'd like to see it happen but I'm a bit too cynical to believe in it just now. I think the same largely applies to any other means of trying to activate people. However, I think this problem goes away if we don't try to think too big.

The second part of McGonigal's book is the most interesting in my opinion. It keeps gamification on a personal level. The goal is to improve lives of people as individuals. Happy people are more likely to take interest in matters beyond their own. Depressed or other wise anxious people (alarmingly huge part of today's youth) are very unlikely to lift a finger. With projects like Quest for Learning I think gamification is an important method to return people to life. The first step in saving the world is to save us from boredom and negative stress. Only then it becomes possible to engage people in more lofty goals. The ironic thing about happiness activities is that people don't feel like doing them when they are not happy.

All in all, I mostly stand in agreement with McGonigal (and indeed, she says much of what I just did, just with different emphasis). My view however is less optimistic. I expect people to be self-centered. It might not be very nice of me, but I think it's an aspect that should always be kept in mind when designing. The bottom line is what counts though, and that's where I think McGonigal is right: games can save the world. They can do so gradually, piece by piece, mending people as individuals. Every small improvement is a victory. After all, we need to see our progress to stay motivated.

Friday, April 8, 2011

A Look at Games - Chime

It's been a while since my last look at games. Should write more of these. Really should. But I live under the fiction that I can write reviews of everything I play, and that most of those games are not relevant. Reality is, I am now some twenty games behind on my reviews, so it's not looking too good. I could perhaps give myself game design experience for writing reviews. Anyway, back to the point. Chime is finally available for the PlayStation 3.

So what is Chime? It's a puzzle game where the gameplay affects the background music. Remember Lumines? Same concept, but really different gameplay. What these games have in common is the beatline that erases complete blocks (called quads in Chime) from the board. However, in Chime, the beatline also 'plays' the blocks laid on the grid, creating sound effects to go with the music. The goal of the game is to fill the grid. Erasing a quad colors the grid filled underneath it. The player places blocks that are much like Tetris blocks, except these are made of five squares against Tetris's four, which allows more varied shapes. The trick in Chime is this: only a subset of all the available pieces can be used in a level. Better rethink that strategy!

Quads leave fragments. Fragments vanish after a few passes by the beatline, and when that happens, the player loses their score multiplier, which is a big loss. Building perfect quads avoids the problem as there are no fragments left over from the quad. Basically that is all there is to it. The gameplay is not as simple as, say, Lumines, but it is far from complex. Does it work? Hell yeah. Chime feels a lot more relaxed than Lumines. Then again, I'm not very good at it yet, so this will most likely change when I go from "recognize the possible quads" to "do the quads at crazy speed". I like the puzzle aspect of figuring out how to form perfect quads from sets of different blocks.

Chime has awesome atmosphere. The music component seems to work even better than it does in Lumines, which is an impressive achievement. Especially some of the songs are really relaxing, and the way the game is staged means they will be different on every go of the beatline. It's not a coincidence that the game states "Play music in Chime" as a description of selecting 'play' in the main menu. The game even has a scoreless mode for those who want to just enjoy the music and place some blocks at a leisurely pace to alter their experience.

In a way, Chime is a new way to experience music. Unlike band games that allow the player to imitate the music, Chime allows the player produce the music. It does so in a limited way to ensure that the result actually sounds good but nevertheless, the music becomes an interactive experience in a different manner. It also somewhat different from Lumines where player actions directly produce sounds (however, Lumines also has sounds when the beatline erases blocks, but they are not as varied as they are in Chime).

Point of this post? Well not much really, I just wanted to highlight this game as it is yet another really intense experience. Play it and you will hopefully learn, something. It's not an impossible idea to add similar ways of altering background music to tasks such as writing. A beatline goes over your text and plays the letters or something like that. It could be an interesting curiosity to try it, even with just one song. Make a song, decompose it to effects and layers, then tie playing of different layers and effects to events done during a task.

Just some food for thought. And I really needed to gain some exp today.

Thursday, April 7, 2011

Level Up!

I gained my first character level in my job game yesterday. My programming and research skills are now at level 2 and my reading skill at level 3. I haven't gained any achievements yet.

Today I started a bigger task and I realized my quest list for that task is way too short. This is one thing that is important with these kinds of games: it's necessary to have quests that cover everything there is to do, and can be done in a short time. If it takes too long to complete a quest, the progress following aspect of the game is lost. So I will need to rewrite the quest list for a bit. I still haven't come up with any really cool achievements.

So is it helping any? I think it is. The small tasks, which I usually hate doing, get done when they are framed as easy experience. The fact that I actually keep a list of them is probably more helpful though. Even though exp gaining doesn't really contribute towards anything, there is a certain amount of satisfaction gained simply from updating the character sheet. It's that small moment of closure, for a task done. I like that. Maybe a normal task list would have the same effect, but it does have slightly less to do when a task is complete - primarily, there is no reward.

I have thought of another thing that could help me guide my efforts: boss monsters. These would be simple challenges that can be defeated when I have the right combination of skill levels. Again, no real purpose, but like achievements, they would provide more goals. More goals often equals better as there are more reasons to do a task. One way to do boss monsters would be to use a random generator with total skill level requirement as an input and per skill level requirements as output. For example, a level ten boss could require programming at 6, game design at 3 and writing at 4. After defeating that boss, there would be another boss, one level higher and so on. At the end of my thesis work I could see how many bosses I have managed to beat.

That was actually such a cool idea that I'll go and implement the boss generator after finishing this post. Maybe I'll have a couple parallel dungeons so that if there is a boss I get stuck on for a really long time, I can explore the other dungeon in the meanwhile. Or maybe there could be three bosses for each level, and I need to beat one in order to proceed. That sounds even better. Let's do it, bye for now.

Monday, April 4, 2011

What Gamification is not

This is (kind of) a reply to this article. The author accuses gamification of misleading people and being childish. The point being that it's wrong to hide real problems underneath a gamified reality. I myself am now two thirds into McGonigal's book Reality is Broken, and unless I ignore most of what I've read, there is just no way I can agree with Chaplin. In less friendly terms, I think the article is a load of bull.

Like I said before, gamification is powerful, and we need to be responsible about it. However, I seriously do not think it is compelling enough to make people do just about anything. The rule of thumb here is: if there is zero incentive to do something, gamification does not magically create it. This is openly admitted by gamification advocates. Another thing to keep in mind is Maslow's hierarchy of human needs. The theory goes: unless the lower level needs are met, people do not feel any strong desire for higher level needs. It's that simple. Can you figure out where games fit in that hierarchy? Yeah, you guessed it: we don't give a shit about playing a game when our safety is compromised. So sorry, I can't see how "Instead, they are trafficking in fantasies that ignore the realities of day-to-day life. This isn't fun and games—it's a tactic most commonly employed by repressive, authoritarian regimes." You see, unlike authoritarian regimes, games we partake voluntarily do not command any actual authority over us.

Let's move on to: "Chore Wars is a benign example—if pretending you're being rewarded helps you do your chores, fine. But it reveals that McGonigal is not advocating any kind of real change, as she purports, but rather a change in perception: She wants to add a gamelike layer to the world to simulate these feelings of satisfaction, which indeed people want." If there actually was the option to magically make chores disappear, most people would take it, no? However, there isn't. Not now, not in the near future. So how exactly is it fair to blame gamification for not solving problems that are not solvable with our current technology at all? Yeah, I thought so too. The point of Chore Wars is to enable players to get better feedback on doing their chores, set short term goals and add unnecessary obstacles. I typed enable in bold because I think it's the definite keyword here.

Chores are not optional. We do not gamify them to get people to do them, we gamify them to make them more fun and motivating. See, the incentive is already there: someone has to do it, and that someone is most likely yourself. Gamification is not some black magic that compels people to do their chores. So really, what exactly is bad about providing virtual feeling of satisfaction for an activity that in itself has little to no satisfaction? Once basic needs have been met, enjoying life is about perception. If we can create the tools that allow people to improve their experience of life, I don't see a reason why we should not create them. I can see why Chaplin can think we shouldn't when she writes "Do adults really need to pretend they're superheroes on secret missions to have meaning in their lives?". This is representative of the world view that has been impended upon gamers many times. My answer: if it improves their experience of life, why the hell not?

So how gamification does help? Not everyone has the mental strength to just start doing all the things that are supposed to be good for us, like exercise, healthier eating and being more motivated about our jobs. It needs practice. Being happy is not easy. Gamification has the power to make it easier for people to overcome themselves, as it provides clearer goals and better feedback. Even though it is artificial, it allows us to measure progress in many activities where results are not immediately visible. It allows us to set goals that can be met and obstacles that make activities more interesting, even if they are harder. It changes the way we think about things we either have to do or should do or are doing. Finally, it allows us to play together and connect.

I do think frequent flyer points are evil. Skinnerboxed games, likewise. We already talked about this. More importantly, the concerns and limitations of gamification have been notified by advocates already. I think Chaplin simply does not like that we are having fun doing stuff that should not be fun. This is sadly a world view that is even this day shared by many many people, including those in places of power. But we gamers are growing in numbers and we will gamify our future if it pleases us. It's 'opt in' baby, so feel free to be left out if you don't want to share the fun.