Archive | April, 2010

Join your jeesh for zero-g battles in Leges Motus

Isaac Newton, in his Principia, outlined his famous laws of motion, or in Latin “leges motus.” As you know, Newton was an avid computer gamer, so it’s fitting that a SourceForge project has adopted Leges Motus as the name for its 2-D multiplayer shooter. In this game, players attempt to travel across a zero-gravity arena while freezing the opposing team’s members in order to bring down the opponents’ gate. Game play combines fast-paced action with team tactics, yet the basics are simple enough that beginners can jump into it immediately. Its developers says it’s the only open source game that combines 2-D graphics, top-down shooter gameplay, and a zero-gravity environment.

Nathan Partlan, one of the project’s three main developers, says he and his colleagues began writing Leges Motus for a college course, “but we quickly realized that it was so much fun to develop and play that we wanted to continue writing it on our own time.

“We knew that Leges Motus should be open source from the start. We have all enjoyed using open source software for years, and we hoped that by making Leges Motus open source we could get a good base of users and contributors and make a difference for the open source gaming community. Linux users don’t always get the newest commercial games, and some people can’t afford or don’t want to pay for games. We hope that Leges Motus can provide hours of fun without a price or an arbitrary lock-out of a certain operating system.

“We have now spent almost a year developing the game, and have had three major releases and a few bug fixes. We have big plans for the next version, though it may take us some time – we want to do some major internal refactoring to make way for an AI client.

“We used C++, SDL, and OpenGL to create the game. It was important to us that the game be cross-platform and that it use standard and powerful technologies. All of these tools fit that bill perfectly, and Leges Motus therefore runs efficiently on Mac, Linux, Windows, and FreeBSD, with the potential for ports to other OSes.”

With a small development team, Partlan says it’s easy to coordinate work on the code by talking on IRC or in person, “but we would like to expand our team to speed up the process of development. We’re looking to make some really cool features happen in the future. We want to create more interesting weapons, such as a burst-fire machine gun that takes some time to charge up, and a melee weapon that fires a pulse of energy in a small radius around you. We also would like to create an AI client, so more players can try the game out without needing to wait for opponents. We’ll also be adding a keyboard mapping menu, among other things.

“Leges Motus already has lots of configuration and mapping capabilities, many of which aren’t visible in the small number of servers and maps that we currently run. We’re hoping that users will be able to contribute some cool maps that use forces, map hazards, aural radar, and other interesting features to create new gameplay experiences.

“We would love to get programming, art, or sound contributions from anyone who’s interested. Contact us by e-mail or on our IRC channel at #legesmotus on irc.freenode.net.”

KXStitch delivers cross-stitch wizardry for Linux

Several cross-stitch applications are available to run under Windows, but Stephen Allewell’s wife was frustrated to find that none of them gave her everything she wanted of them. “She asked me to have a look at creating an application for Linux,” the English developer recalls. “I started work on KXStitch in early 2002, and it has been an ongoing project since then.”

KXStitch is a graphics editor for creating cross-stitch charts – think of a mosaic made with cotton thread. Cross-stitchers normally work off bought or downloaded charts; KXStitch allows them to either create a chart from scratch from their own designs, or import pictures and convert them to a chart that can be further edited to produce just the design they want. It also allows pictures to be used as a background image, so users can trace an image as needed where an import might not give them the desired result. When finished, users can print charts, along with a key to the cottons used to stitch the finished design.

A recent enhancement for the latest version, which was released earlier this month, is an improved pattern library that allows users to apply saved patterns to any existing or new pattern by copying and pasting or dragging and dropping onto their current chart. Users can export and import these libraries, and so share them with other KXStitch users. Allewell says, “My hope is that users will be generous enough to share their work with others, in keeping with the open source philosophy.”

As KXStitch grew, so did Allewell’s skill as a developer. “I originally started the development process with KDevelop using KDE2/Qt, as I was new to developing graphics applications and new to developing on Linux. I found KDevelop was easy to use and provided a wealth of tools to aid the development process. Since then I have moved away from KDevelop and just maintain my own build files as I have gained more knowledge of Linux and the development process.”

Not that he was any stranger to Linux to start with. “I started using Linux about 15 years ago, mainly as a hobby thing to try it out and see what it was capable of. Over the years I moved more and more to Linux until I was using it full time, dual-booting with Windows to keep my wife happy. About 10 years ago I persuaded my wife to try Linux, and over a couple of months she gradually became a full-time user too. Now she hates using Windows. We are both amazed and inspired by all the people that give their time to develop such a wide range of applications that are made available to everyone without any requirement to give anything in return. Because of that I felt it was only right to make a contribution to the open source culture.”

Allewell says KXStitch today is fairly feature-complete. “My main aim now is to start a major rewrite to KDE4 and switch to the CMAKE build system. I also want to create a page layout tool so users can create their own printing layouts instead of just having the default arrangement of pages. Unfortunately progress is sometimes slow because of the busy pace of life these days, but I try to get as much done as I can, and always respond to user queries promptly, particularly when bugs are reported.”

If anyone would like to help with KXStitch, Allewell says the most useful task would be translating it into more languages. He also says feedback from users is essential: “what’s good, what isn’t, additional features needed, better ways of working. Not being a stitcher myself, I do get a lot of input from my wife, but having the views of more people is invaluable to develop the project to be as useful to as many people as possible.” You can get in touch via the project’s forums and mailing lists, or via e-mail.

Popular phpMyAdmin is on a roll

If any open source application needs no introduction, it’s probably phpMyAdmin, the popular web interface to MySQL databases. MySQL is itself the most popular database system for web applications, and phpMyAdmin makes it easy to administer. phpMyAdmin lets database designers connect to MySQL servers, see all databases and tables they have permission to see, and perform actions on them, including creating and modifying table structure, inserting and updating data, import and export, and synchronizing data between servers.

phpMyAdmin is generally among the most active and most downloaded projects on SourceForge.net. One of the problems with such a popular project, according to developer Marc Delisle, is supporting all the users. “We have a wide range of users, who may or may not be knowledgeable in database principles. As we try to support these persons, it’s not easy sometimes to speak the same language. Another problem is that a web environment like the one in which phpMyAdmin is playing poses all sorts of problems in itself, in terms of operating systems, web server issues, and web browser compatibility.”

You might think such a popular project takes many developers to maintain, but Delisle, one of the project’s leaders, says, “Not counting the translators, we are only four active members at the moment, so coordinating is not really a problem. Other persons prefer not to code but are nonetheless important in maintaining the wiki, helping on IRC, accompanying me to conferences, and so forth.”

The project also welcomes contributions from its users. “This is a community project,” Delisle says, “so yes, people can make feature requests, but we actually count on users to give back to the project by proposing real code to us, or being active with our 60+ translations.

“In recent years, some of our big new features have been implemented via our participation in Google Summer of Code. One of the results from participating GSoC students is to bring in more motivated developers.”

Among the upcoming enhancements on the project’s Ideas List are user interface improvements. The project welcomes help in many areas.

phpMyAdmin has been hosted on SourceForge.net since 2001, despite the fact that alternative hosting services have become available since then. “SourceForge fulfills our needs, so I see no reason to switch,” Delisle says. “At the same time, we notice a big number of ‘thumbs down’ evaluations on our main page at SourceForge from users complaining about download issues. We wish SourceForge could do something about this.”

Scorched 3D is one hot battle game

Scorched 3D is a modernization of the classic DOS game Scorched Earth. It’s a simple turn-based artillery game and a real-time strategy game in which players can counter each other’s weapons with creative accessories, shields, and tactics.

Game play is easy: jump into your tank, aim the turret, adjust the power and trajectory, select a weapon, and shoot. Weapons and accessories lend themselves to different tactics depending on the situation and opposition. After each round you can buy new weapons and accessories with the prize money you won during the round, or keep the money to gain interest. Weapon choice and money management play large parts in game strategy.

Gavin Camp, the game’s developer, used to play Scorched Earth with a group of friends at university. He rediscovered it years later on a boring airplane flight, and began thinking about creating a modern take on it, with 3-D graphics, but true to the original feel.

Camp originally built the application in 2003 using Microsoft Visual C++. “At the time it seemed easier than its competitors, and Scorched 3D was only a Windows application so it was a good fit. A short while after the original conception, I changed the game from Windows-only to be cross-platform, which necessitated the use of OpenGL for the graphics and some other helper libraries to aid porting. Scorched 3D now uses many third-party libraries, including SDL, SDL_net, wxWidgets, and OpenAL. I’ve also implemented a Unix-style make system bootstrapped from the Visual Studio project files. I still do the majority of the coding using MSVC Express, mainly for historical reasons.”

Camp made the game open source for several reasons. “At the time, I felt that there weren’t many good source code examples of a fully fledged game (perhaps I just didn’t look hard enough!). Open source games either seemed to reach an early stage and die off, or were re-released fully featured but without source code, to make some money off them. The open source community actually made things easier at times too, not so much through code submissions but through a general interest and support that tends to keep you going.”

Camp works hard at growing the community for the game, not only by announcing new releases on SourceForge.net and freshmeat, but also going to “as many websites as I can find and pimping my software. Being cross-platform opens up large numbers of Linux distros, and I try and get Scorched 3D into as many distros as possible. I think a lot of interest came from people that knew and remembered the original game and like me wanted an updated version.”

The game is still under development, Camp says. “In future online versions we hope to have more game/user community integration. Accounts will be shared across all game servers and the stats/forum/chat web site. Players will be able to track other players (friends) and will accumulate stats and achievements regardless of the server they play on. Generally we also hope to take the engine forward to support the ever-evolving modding community. I hope to make a major release every six months or so, but often that is delayed by a lack of available time. During the early period of a project I really recommend releasing frequently to keep up community interest and involvement – it’s that that keeps you going.”

Camp appreciates player input on the general look and feel of the game. “It would be nice to move from a functional game interface to something more ‘gamey.’ It’s something that we are improving over time with help from the current community, but I am no artist and help is always welcome.” The best way to get in touch is through the project’s forums.

Meet the staff: SourceForge.net Product Director Nate Oostendorp

Ah, the glamorous life of a director – having a vision, putting together a team to fulfill that vision, and in your spare time attending parties and mingling with the glitterati. Nate Oostendorp is product director for SourceForge, and sadly, this is not what his life is like. “When I first got the job I figured I’d be sitting around in one of those canvas chairs with the megaphone yelling ‘action’ and watching people build a web site,” he says. “Reality is not so glamorous. I end up spending a lot of time writing and re-writing specs, reviewing interface, monitoring our engineering ticket tracker, and on conference calls and meetings with some very smart people who are equally, if not more, pressed for time.”


Nate Oostendorp

Oostendorp joined the company now known as Geeknet in the summer of 2001. He first worked on SourceForge’s sister site Slashdot, then on a now-estranged cousin site, Everything2. He held the title of site architect for SourceForge for a long time, before being promoted to product director nine months ago.

While the job may not involve red carpets and pneumatic starlets, that’s not to say it’s not exciting. “We’re in the middle of some very very cool changes, which our new download service is on the leading edge of. Right now I’m working on a product that includes next-generation versions of the SourceForge tools. It’s really great to be able to start out on a modern tech stack and have the time and the manpower to rethink what we can offer projects to collaborate. Coming from a long history with SourceForge, it’s great to see these pieces getting some love after a long dry spell.”

Oostendorp enjoys “designing software, working with engineers, and after countless revisions having a really cool new app. The worst part of the job is figuring out which features you have to cut, just because you don’t have the time or they aren’t going to be helpful to as many people as other stuff.”

In his spare time, Oostendorp is a tinkerer. “I’ve been dabbling in electronics lately, so I’ve been doing some of the kits from ThinkGeek. I currently have the Larson Scanner in my office window keeping surveillance over the tiny Village of Dexter, Michigan. I am an aspiring maker, so my basement is full of barely started projects, robots in semi-functional states, and various warrantee-violated equipment.

“I’ve got the RepRap/Makerbot bug, and have been spending a good deal of my evenings and weekends with my 3-D printer making random stuff that fits in a four-inch cube. This is some seriously cool open source technology, and it’s staggeringly awesome to see the convergence of open source mechanical, electronic, and software engineering into a product. I honestly think the open source microcontroller phenomenon (Arduino et al.) could be a lot more everyday-life-changing than the PC. It wouldn’t surprise me if in the very near future we start to see ‘computers’ in everything.”