Project goals - Spring-Chobby/Chobby GitHub Wiki

Chobby is an ingame lobby and platform for playing games that use the SpringRTS engine.

Target audience

It's mainly geared towards new players with an emphasise on active play instead of chatting and idling. A clean and easy to understand interface is always preferred over one that might clutter it and present confusion, even if it causes a lack of features or requires more actions to achieve something.

Configuration

"Configurability is the root of all evil" is a core principle of the project. The fewer configuration options there are, the better. That said, configuration is meant to be done in three different ways:

  1. Settings window - here one can expect to be able to configure the most important options, similar to how it's done in most other games. This should cover the most common player requirements, but nothing too specific or arcane.
  2. User modifications through configuration files and custom widgets - this would allow for some major configuration of the default interface as well as some new elements that would fit in it.
  3. Game branding (see below), where games can specify their own layouts.

UI Innovation

Innovative in UI is avoided as it's unproven, untested and unfamiliar to the user. All UI design decisions must have some examples in previous software.

Protocols

Chobby is designed to support the official Spring Lobby Protocol for core lobby features, although it might also use other Spring infrastructure elements. There is no official support for other protocols, and although such implementations may exist if there are contributors, only features that are shared with the official protocol are to be used.

Game-specific features

Supporting game-specific features is key, and in the creation of Chobby we intend to promote standards for specifying such content. While we wish to provide new game devs with a good lobby for their main needs, the ability to do custom game branding is also at the core of Chobby. Games should be able to easily specify the look & feel of Chobby, as well as use custom game filtering. Those with the manpower and specific needs are also encouraged to create forks of Chobby as long as they don't use "Chobby" in the name of the fork.

Technologies

An important part of Chobby development is through the use of Spring Lua libraries, which aren't just used, but also actively improved and contributed upstream so as to make the whole Spring ecosystem better.