Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Thursday, February 10, 2011

Announcing Project Umbra: Mixing metaphors (in a good way).

It's no secret that I am a gamer. I play board games, card games, video games, tabletop games... pretty much every kind of game this side of LARPs (I do have limits). As a gamer, I see games changing in response to technological advances, along with everything else in society. Video games, for instance, have transformed immensely into one of the richest new art forms available. At the same time, advances in small-run printing coupled with online fora for game reviews have allowed for many more unique board and card games ranging in complexity from stunningly simple (such as Zombie Dice) to mind-mindbogglingly complex (such as Arkham Horror or Battlestar Galactica).

What remains, however, is the conception that tabletop, board and card games are based on physical objects (dice, cards, boards, papers, tokens, figurines, maps, etc.) whilst video games are based on information processing. This divide means that the more complex games, like those mentioned above, require an awful lot of bookkeeping to play, dissuading all but the more passionate gamers such as myself. This is seen in extremes with many roleplaying game systems. The rulebooks for HERO System 6th Edition, for instance, cost $80 and weigh in at about 1,000 full-color pages. Players must keep track of endurance, body and stun damage, mental and physical defences, skill level allotments, initiative, position, etc., while the game master (GM) must keep track of all of this and more for each of the antagonists.

My question, then, is what power can be gained by mixing the physical and informational models. Let the computers do what they do best, keeping track of rules and statistics, while the humans do what humans do best: spin stories and build worlds. Of course, many tools exist that nudge in this direction, but very few embrace the fusion of information processing with physical metaphor and human creativity.

Enter Project Umbra: a suite of web-based tools for keeping track of stats and states in Shadowrun 4e. Players will be able to log in to a game hosted by a GM from their smartphones, and will be shown their damage levels, wound modifiers, initiative orders and other vital information. The GM, for his/her part, will be able to use an Android tablet (Honeycomb or later) to view and manipulate entire combats quickly and unobtrusively. Games won't have to be interrupted to ask for initiative rolls from each player in turn; they can simply tap a button on their phones to make that information available to the GM, keeping table talk focused on the characters rather than the rules.
A player can quickly see what games are available to them from their mobile phones using the web-based Shadowcloud client.
In the future, I plan on expanding Project Umbra to other roleplaying systems, but for now, focusing on Shadowrun 4e allows for the project to be developed organically--- that is, without having to understand the full scope before writing each line of code. The potential here is rather unexplored, after all, and so it's far from clear what the right approach will be to each problem.
A game master can quickly view and manipulate an entire combat by using an unobtrusive tablet, instead of a laptop whose screen blocks their view of players.
Like any truly community-minded project, Project Umbra is an open-source project based on open specifications and open platforms. The tablet-facing part of Umbra is based on the Android platform, and as such, can be run on any of the many forthcoming Honeycomb-powered devices. The web-based portion uses Google App Engine for Java (itself a derivative of the open-specification J2EE platform) to serve standards-compliant HTML5 content powered by the open-source jQuery and jQuery Mobile libraries. Communications between components are handled by JSON serialized data, generated by the Gson library. All Umbra-specific code is licensed under either the GPL or AGPL, as appropriate, and as such, is freely available to interested developers for reuse.

I think the potential for Project Umbra is quite exciting, frankly, and am looking forward to playing more with it and making the most I can of the technology. If you would like to be a part of the project and help in any way, please let me know. Just like any good game, Umbra isn't limited to just one mind.

Happy gaming!

Thursday, August 05, 2010

Open Source and Science: A match made in pragmatism.

Note: This is an issue I care a lot about, and so I've written about it before. This is kind of a "take two," where I hope to expand on previous writings.
I am an idealist of a peculiar kind, in that one of my highest ideals is that of pragmatism. For instance, I posit that society should not spend immense amounts of resources in efforts that evidence has shown to be futile. As I wrote about in my post on science and faith, this is one of the quintessential features of science. So much so, in fact, that one may define science as the set of those means of learning which expand human knowledge.

This pragmatic ideal is what determines much of the way that we do science. We have found that, as the sphere of human knowledge grows, it has quickly transcended the capacities of any one human brain. Thus, in order to continue to do science, we have recognized that science must be a social enterprise. This then requires that we have some means for accepting that what another scientist tells us accurately reflects reality.

It is this point at which many will claim that science must base itself on faith; specifically, faith in the goodwill and honesty not simply of our peers, but of all who came before us. Through pragmatism, however, we see that this is not the case. Rather, necessity has driven a complicated system of social protocols for communicating science by which everything is reproduced and verified such that errors due to misplaced trust are minimized. A key aspect of this social system is that science is done in the open. While truly taking seriously the ramifications of such a principle is an effort still in its earliest stages, we have long recognized that science cannot go beyond that which is communicated (put differently, science cannot exist in a vacuum). Thus, secrecy has no place in the development of scientific knowledge. In order to truly succeed in the sciences, we must wholly embrace the social and open nature of science.

Of course, science in the abstract is not the only place that we find such concerns. Consider, for instance, a computer. It was not too terribly long ago that a single person could in principle understand every aspect-- perhaps even every circuit component-- of a computer. Despite their immense physical size, computers of this age were small in the sense that they fit into the human mind. Now, however, there has been so much technological progress that it is ludicrous to think that a single person could design a modern computer from first principles. Rather, the development and manufacture of computers is a social enterprise, and not just to the extent that it overlaps with science as we have discussed it so far.

To make the discussion still more concrete, we can consider the enormity a modern operating system. The Linux kernel alone has grown from 10,000 lines of code to about 13,000,000 lines, representing far more work than any one individual can master. Such a task is undertaken with open collaboration and communication, whereby each contributor can focus on some subset of the immense whole that is the Linux kernel. This is to say nothing of all of the other parts required to make up an operating system, such as a desktop environment and low-level userspace utilities. The modern operating system must be a true community effort, if only due to the proportion of the task.

In order, then, to develop software commercially, one must create within their company a microcosm of this sort of community. Undoubtedly, this can be done, as the evidence exists in the form of closed and proprietary software. Science, however, serves in this instance to show us the value of an open flow of ideas. We spend an immense amount of effort in the sciences on facilitating communication, utilizing everything from conferences to telecommunications as tools to do so. It is, in essence, an openness born primarily of a pragmatic ideal which can be readily seen to apply in society more generally.

The story of openness, however, is far from being a constant push from academia to the rest of society. Indeed, much of the current open science movement relies on the open source movement for its inspiration. There is, in fact, a healthy community on the boundary of the open science and open source movements. This community is a wonderful example of the more general realization that pragmatism can and should drive forward the open exchange of ideas.

Resources
I would be remiss if I did not take the opportunity to share at least a few good links on the subject. In particular, I have provided below links to the work of a small sampling of the people who comprise much of my view of the open science movement.