Friday, December 16, 2011

A Prototype

This is a prototype I made before the break. It's mainly meant to show the idea of overworld/minigame/output connection. Being a prototype, it's a bit buggy and hard to understand.
Here's the idea: you are a janitor in a treasure room; some guy steals the main treasure and you must go find him. You wander around the map, talking to people(T icon) and conducting investigations(magnifying glass icon). You have to figure out where the next clue is by asking people. When you play the investigation mini-game at the correct location, you will find the clue and must now find the next clue.
After some number of clues (in this instance, just one so that the demo isn't too long) the next "clue" you find is actually the criminal. You can choose to deal with him in a number of ways. At this stage, the game is theoretically over, though you can still wander around the map and play the mini-games.
Oh, and you also only have a few seconds to pick the next mini-game in the overworld, otherwise one is chosen for you.


After I made this, I realized I pretty much made a Carmen Sandiego game, but that's OK, since the mission structure wasn't really the point of the demo.

Tuesday, December 13, 2011

Abandoning HTML5

Originally we had seriously considered making Micro Missions in HTML5with the mini games potentially possible in HTML5, Flash, or Unity. In order to test the feasibility of this I decided to try building an HTML5 based mini game collection during the Microsoft Imagine Cup event. The game turned out well and our team ended up winning third place in the competition, however it was ultimately decided that HTML5 would not be a very good platform on which to base Micro Missions.There were quite a few reasons for this decision and it was not made lightly.

First, there is the issue of differences between browsers and platforms. Unfortunately HTML5 has not reached a level where it is consistent in different browsers. In our small project alone we saw commands that behaved differently between different browsers (especially with input) and Internet Explorer ended up not working at all. Even when we got commands working consistently between the browsers we ran into issues with timing and speed. Since each browser could render and execute javascript at different speeds we had several inconsistencies where something would work fine on one browser, but far too slowly on another.

Not only were speeds inconsistent between browsers, but they were also overall quite slow. Compared to Flash we were able to have far less images on screen before slowdown became a major issue. Even with small amounts of graphics on the screen and a small resolution we were only able to consistently keep about 30fps across browsers (although with more research into efficiency I'm sure we could improve on this somewhat).

The final issue we have with using HTML5 is that even if we did use HTML5 most of the mini games we would get from other sources would be written in Flash. This is because we hope to get mini games made by students taking various classes and the vast majority of these we can assume will be written in flash. It would take additional time to create a system for communicating between Flash and HTML5 and we would also have to deal with issues relating to loading the swfs in time and having common assets between the different mini games.

Thursday, December 1, 2011

What's Micro Missions?


A LMOG (Lightly Multiplayer Online Game) that aims to bridge the gap between Social games and Party games by combining mini-games into story-based missions, and allowing people to play those missions together both synchronously and asynchronously.



In most mini-game collections, the individual games are either pass/fail or score-based. The mini-games in Micro Missions instead have a qualitative effect on the overarching world and story. For example, some mini games may allow you to travel in the world, while others are fighting mini-games to resolve conflicts with enemies, and others represent side-quests of a sort. At the same time, these games also take input from the overworld - where you are at the moment, whether you have encountered an enemy, what actions are available in the current location and story context, etc.

These mini-games are tied together into missions, and each mission outlines a story through the sequence of mini-games and short informational cut-scenes. Particular missions are based on encoded templates that define what the goal is, what the different roles are, and what must happen along the way. For example, the Hero’s Journey can be encoded into a very flexible and scalable template for missions (but not all missions have to be based on the Hero’s Journey).

The social aspect of the game is tied into how the individual missions intertwine and work together in the overarching world. Since these missions all take place in one big but unified world, players will often encounter the effects of other players’ actions, whether it is recurring characters, passages that have been closed off or opened up by other player, or other, more subtle changes to the world. Friends can also play together synchronously: they can go through the same mission, co-op style, or encounter each other asymmetrically: imagine if one player is the villain, throwing stones in a throwing mini-game, while the other player is trying to dodge these stones in a dodging mini-game.

The mini-game collection aspect of the game also lends itself naturally to social play: acquiring, collecting, trading and showing off individual mini-games are all extremely social activities.

Selecting mission templates, populating the missions with particular mini-games, and reacting dynamically to player actions will be the main source of “intelligence” in the system, and the major research topic in this project.

We want to build this game using HTML5 and related technologies, with hooks for both facebook and Google+. HTML5 would also allow us to extend the game to mobile platforms in the future. We also want to use Flash as a prototyping tool (for developing the mission architecture) and as a fallback in case the relatively new HTML5 technologies prove to be unsuitable for this game.