Platform & Category
Lenovo Horizon All-in-One - Games.
Chinese Checkers is a traditional game for 1-6 players - http://en.wikipedia.org/wiki/Chinese_checkers. The intention is to implement this game on the AIO with a user interface that makes good use of the AIO's unique features.
The tabletop mode is perhaps the most unusual feature of the AIO device. As has been noted, this lends itself to the playing of board games. Multi-player games in particular benefit from this format, as it promotes the strong analogy of a group of people sitting around the device, much as they would be sitting around an actual board.
Rather than start from scratch, one or more existing, open source implementations will be used as a starting point. After some preliminary investigation, the following version - http://cheech.sourceforge.net - is a strong candidate for this role.
Cheech is a portable implementation, written in C++, which relies on GTK+ for its user interface (including on MS Windows). In porting it to the AIO, the most likely approach will be to factor out all of the UI code from the game logic, so that GTK and non-GTK versions can be built from the same source. (Although, it may prove appropriate to keep some elements of the GTK code, even on the AIO.)
Cheech allows network play against human opponents and also features robot players. The intention is to maintain these features, and indeed to allow the AIO version to be used in networked mode in combination with other versions (which could be remote opponents, but could equally be people in the same room, preferring to use their tablets, smartphones or other devices, rather than cluster around the AIO).
Cheech does not, however, currently allow more than one human player on the same device. This feature ought to be straightforward to add, and would belong in the main branch, rather than in the AIO-specific development.
Points of Interest
In table mode, with a group of people using the AIO simultaneously, the familiar desktop metaphor is no longer applicable. None of the users should be considered as having primary control of the system, and there is no logical top, bottom, left or right of the screen. Ideally, the user interface should work equally well whatever angle you approach the screen from.
So the desktop metaphor must give way to something new - a coffee table metaphor! This concept comes across in the Lenovo promotional material showing the 'Aura' interface, but seems to be limited in its scope to the accessing of image galleries, etc.
A possible approach for the translation of any traditional menu or toolbar to this multi-user format is to implement it in a circular fashion, similar to the Aura interface. As well as making whatever selections they wish, a user could orient such a circular menu towards themselves with a rotational gesture, removing the 'which way is up?' problem.
In some cases it might be appropriate to have a single menu at a particular location on the screen, which all users must share. In other cases each user could be given the ability to invoke a menu at any screen location by means of a gesture (such as expanding finger and thumb, indicating the desire to expand a menu instance).
In the case of Chinese Checkers, the star shape of the board also presents some interesting design opportunities, allowing the circular theme to be further developed -
A circular representation of a physical board can be rendered in the center of the screen, with the star-shaped playing area upon it. Rather than require that the players position themselves so that they are aligned with the layout of the board, or require that they physically shift the AIO device in order to line up with where they are sitting, they can rotate the virtual board with a gesture (just as they can rotate the circular menus described above).
The circular menu/toolbar to control the game could also be integrated into the board itself, so that a gesture would cause it to appear around the board's circumference. Testing this and other configurations with real users would be the best way to determine what is the most desirable menu interface.
A rough breakdown of the development steps is as follows -
- Set up a build environment for the existing Cheech source code.
- Investigate some of the other open-source Chinese Checkers implementations to see if any elements can be combined.
- Add the missing support for multiplayer on a single device to Cheech (keeping the GTK interface)
- Carry out the necessary separation between game logic and user interface.
- Implement the AIO-specific user interface using native Windows APIs.