An up-to-date look at free software and its makers

Projects on the Move


Free software simulates the population of Mars, which is due to start 30 years from now, gives users an overview of social networks, and keeps the peace at the debating society.

By Carsten Schnober

Ben Heys, 123RF

Alexandria Luciano lives on Mars. No, she's not Linux Pro Magazine`s latest foreign correspondent, but one of the first settlers on the red planet. Of course, she hasn't landed yet, because this event will not take place until some time after the year 2040. The Mars Sim [1] project gives you a sneak preview.

Life on Mars

Nearly everybody knows Sim City, the classic simulation game that has reached the age of 20 without losing any of its original charm. In the game, players build a city on barren land. In your role as an omniscient ruler, you need to cater to your population's every need, and various factors, such as criminality, the environment, the flow of traffic, and education make it more difficult to manage the community.

The Mars simulator beams a similar scenario onto a distant world. The Java program simulates the settlement of Mars in the future. Players supervise several missions and assign tasks, such as researching mineral deposits, trading with other settlements, or extending settlements (see Figure 1).

Figure 1: The Mars settlement is growing and prospering thanks to players sending settlers on different missions.

Your Mars settlers can erect buildings or handle other challenges, and you can monitor their progress, including that of individual settlers. Although you can't influence settlers directly, the individual information boxes will tell you how the character in question is feeling at that moment. The information includes comprehensive details on material and health aspects, as well as the settler's social life. The simulator thus gives you granular control, allowing you to take into consideration that Alexandria dislikes Tracey and won't have to share the rover with her on the next exploration mission.

The simulator assigns personal attributes randomly at the start of the game that defines how well a person is suited to a specific mission. Additionally, Martian settlers have skills in various fields, such as cooking, botany, engineering, and more, all of which can influence the success of a mission. If the character is tired or hungry, it influences their effectiveness.

The Mars mission also includes scientific exploration of the newly conquered planet. Many of the settlers are thus scientists from various disciplines, such as botany, medicine, biology, mathematics, chemistry, physics, and so on. They are always proposing or implementing new research projects. If you accept a proposal, a team of up to four scientists will go to work. A successful conclusion of the project typically opens up new options for settling on Mars. However, you can interrupt field trials if you the participants need to do something else, and a research project can fail if, for example, the main researcher dies.

A Mars a Day

If the environment is not to your liking, or the options the simulator offers you are too restrictive, Mars Sim allows you to configure most of the details yourself by editing multiple XML files, each of which defines a category. For example, you can edit people.xml to define your settlers' typical characteristics, including their tolerance for the typical temperature; their oxygen, water, and nutrition requirements; and many other attributes. These details act as mean values, although specific attributes are applied randomly.

In a similar way, you can modify the available buildings, plants, raw materials, vehicles, and other structural units. Depending on the category you can modify existing entries or add new ones.

To round this off, the homepage has exhaustive documentation for the Java programming interface, allowing developers to modify the GPL-licensed source code to their hearts' content. The developer team, led by Scott Davis, is open to help in the form of code, graphics, sounds, ideas, or proposals.

The first version of Mars Sim was released in 1998, more than 10 years ago. Since then, the developers have worked on the project without major interruptions. The realistic depiction of the planet and the intuitive controls the simulator offers reflect the consistently high level of work that has gone into the project. The game runs on various platforms, including Linux, Windows, Mac OS X, and other Unix systems. And, it has Java Webstart support; in other words, the simulator will run directly in your browser.

Many Services

Mars settlers and the residents of today's Web 2.0 might ask themselves how to best keep track of their accounts with Facebook, Twitter, Flickr, and so on. Additionally, spoilsports such as your friends, kids, employees, and customers all expect you to operate outside your set of social networks. Gwibber [2] saves time and gathers all your accounts under a single umbrella (Figure 2).

Figure 2: Gwibber helps you keep track of your social networks.

To get started with Gwibber, simply create one or more accounts in the main Gwibber window. As of this writing, the program supports Jaiku, Identi.ca, Digg, and RSS feeds besides the services I mentioned earlier. The configuration is wizard based (Figure 3), and you will be prompted to enter your login credentials. Then you can decide whether Gwibber can just read messages on, or actually post to, the services. After creating your accounts, you can start to navigate the Web 2.0. On the left-hand side of the window is a list of the services you set up; Gwibber will automatically update the list. Depending on the service and configuration, you can browse the list and compose postings.

Figure 3: Use the wizard to tell Gwibber your login credentials and preferences for the account in question.

Gwibber developers relied on Python as the programming language and used Gtk for the graphical interface. The application does not require a Gnome desktop, but you must have the Gtk libraries in place. Distribution-specific packages of the latest release, version 2, are available for most distributions, and you can typically rely on the package manager to handle dependencies.

Considering the type of project this is, it is no surprise that users are mainly kept up to date via the Twitter [3] and Identi.ca [4] micro-blogging services. Additionally, the Gwibber developers have their own Twitter and Identi.ca accounts. The project homepage also offers links to the mailing list, the IRC chat channel, and the wiki.

The Debating Society

When speakers get carried away, it is sometimes hard to stop them, which is why many discussions, such as those in Congress, on TV talk shows, and in Rhetoric 101 classes, are under more or less strict time limits that give all speakers the same options.

As a moderator at debating competitions, Jemmy Chen is all too familiar with this problem, which prompted him to create the Speech and Debate Timekeeper [5] (Figure 4).

Figure 4: Timekeeper helps debating competitors keep track of time.

The Timekeeper program comprises a small window with the current speaker's elapsed and remaining time and Stop and Reset buttons. When time expires, an optical (and optionally audible) signal is output, so that the moderator doesn't need to interrupt the speaker or take his eyes off his notes.

The software supports a number of predefined standard debating competition formats, and times can be configured individually. The interface is simple, with Chen focusing on portability. As a result, Timekeeper not only supports the usual desktop suspects, including Linux, Windows, and Mac OS X, but also a number of handheld computers, thus allowing the moderator to save space. As a platform-independent language, Java laid the foundations for this portability.

INFO
[1] Mars Sim: http://mars-sim.sourceforge.net
[2] Gwibber: https://launchpad.net/gwibber
[3] Gwibber on Twitter: http://twitter.com/gwibber
[4] Gwibber on Identi.ca: http://identi.ca/gwibber
[5] Speech and Debate Timekeeper: http://debate-ie-timer.sourceforge.net