Domain: devolution.com
Stories and comments across the archive that link to devolution.com.
Stories · 3
-
Bill Kendrick Interview at OSNews
Bill Kendrick writes: "When I thanked the folks at OSNews for mentioning me in their interview with Michael Speck their response was a list of questions for my own interview. Well, I've answered them. Enjoy! While I'm glad some people consider me 'up there' in the ranks of Open Source game development, I honestly think there are far more deserving folks... Like Sam Lantinga, Steve Baker, and the people developing FlightGear, to name a few." -
Feature:Linux Game Development
Christian Reiniger of the new Linux Game Development Project has written up a nice piece that you might want to read if you want to see more games on Linux, and how this new project will aid that. The way I see it, the apps are coming, and in many cases, already here. We just need the games. The following was written by Slashdot Reader Christian Reiniger The Linux Game Development Center RationaleLinux is gaining much attention these days. People who were anti-Linux for a long time suddenly discover that it has changed much the past few years, ultraconservative magazines feature positive stories about Linux at prominent places and The Big Ones in the computer business are almost crowding to support the former "hacker OS".
Good press is always welcome - but can Linux live up to its new image? Can it avoid to dissapoint the people finally giving it a try?
Well, the "It doesn't have a nice, easy to use desktop" and "There are no applications for it" arguments are vanishing in a puff of colorful smoke and the "It's too hard to install" problem is quietly dissolving. But there's still that nasty "But I can't play my favourite games in Linux!" thing.
Linux has games. Linux has good games. But that other operating system has several orders of magnitude more good games than Linux. That's bad. And difficult to overcome, as it's not only because of technical reasons. But we, the free software community, have have a long history of solving But we, the free software community, have have a long history of solving problems and shipping around obstacles. There is no reason why we should not be able to solve this issue, too.
So what's the current situation, what needs to be done and what can be done? Here is a short overview of the major issues:
- Despite Linux's rapid growth - both in terms of user base and existing software - it still is not generally perceived as viable platform for high quality games. Some of the often cited problems are without doubt true, but most of these are already at the verge of being solved and the others mainly need more public discussion.
- While many game-related SDKs and applications exist or are in the make, there is no comprehensive overview of them available.
- As all of these SDKs have their strengths and weaknesses, much can be gained by making them as modular and interoperable as possible, so that game developers can combine them to an almost optimal solution.
- For both commercial game developers wanting to port games to Linux and yet-inexperienced Open Source® developers aspiring to write free games, easy to read documentation and online help via mailing lists and/or irc are very valuable.
In essence we are suggesting that this new Linux Game Development Center be a kind of meta-project. It would be dedicated to advocating Linux as gaming platform, collecting knowledge about Linux game development and using it to help all interested people, providing facilities for discussion to Linux game developers and, last but not least, encouraging and helping existing free (Open Source®) game SDK projects coordinate with one another.
Please note that this is not an attempt to impose standards or rules on anyone. We just want to do what we can to help everybody coordinate their project with the others and to encourage all game SDK developers to develop compatible libraries.
This is also a call for developers, users and game SDK projects to join our efforts.
HistoryIn the beginning ... there were many unrelated games SDK projects started by many different groups with little or no inter-group communication or coordination.
The initial initiative of starting the Linux Game Development site came from Ian Crawford (you can read his announcement of the site here).
It was first meant as a meeting and coordination point for people developing native and free Linux games, but its scope was soon widened to support Linux game development in general - the phrase "This site aspires to be the headquarters for all Linux game development" is from that time.
Cut - Switch to the PenguinPlay mailing list. Shortly after Ian's announcement of the site, Sam Lantiga suggested on the PenguinPlay mailing list that people could get together on IRC to discuss the future of Linux game development. His idea was considered as "really good" and after the first meeting the thing was extended to all people involved in pushing game development for Linux. Here are the archives of past meetings and the plans for future ones.
Well, the irc meetings became a regular event (each Saturday) and the possibility to have a real-time discussion through irc gave a big push to our work. We started discussing on how we could coordinate our efforts better, how to make Linux more appealing to professional game developers etc. After a few meetings we came to the conclusion that it would be best to merge the SDK projects (ClanLib, CrystalSpace, GAMES and PenguinPlay) to one, giving it the full support. It seemed to be the right thing, but we were a bit uneasy with it, as merging projects is a very, very difficult task.
Then Charles Durst threw in an proposal for a clearing house project, i.e. a project that would give developers from different game SDK projects a good way to communicate with each other, remind these developers to keep the different SDKs compatible to each other etc. He first proposed that PenguinPlay could become this "meta-project", but we found Ian Crawford's "Linux Game Development Center" much more fitting.
We started working on the homepage for this and Charles wrote an announcement text we wanted to post on Slashdot or Freshmeat and several newsgroups. However, as we assembled material for the homepage, discussed its structure etc it slowly mutated from the "Linux Game SDK Coordination Center" to a site for Linux game development in general - the "Linux Game Development Center" or LGDC for short. Ian's original site laid the foundation for this (as it was aimed at helping people to develop actual games) and the transformation was completed when the "Linux Game Breeding (LGB)" (aimed at creation of new projects around Linux GameDev) and "Linux Gaming Awareness (LGA)" (aimed at advocating Linux to commercial game developers) projects joined in.
So here we are. The Linux Game Development Center is a project from Open Source® game developers, maintained by them and dedicated to all people interested in the subject. Located at www.linuxgames.org, it serves as a sister site to www.linuxgames.com, the already well-established site targeted towards game players.
The ProposalThe new Linux Game Development Center would:
- Maintain a collection of links to various game SDK projects and a "news page" of the current status and functionality of each.
- Help coordinate efforts to increase compatibility and perhaps create "glue" software between the libraries produced by different game SDK projects.
- Help game SDK developers coordinate with one another (via mailing lists and perhaps IRC get-togethers), and share algorithms and code. This could even help SDK developers abstract out new layers of common or overlapping functionality between projects.
- Help to fill the functionality gaps that are currently preventing any combination of game SDK libraries from being comprehensive enough for many professional game developers to use.
- Help to direct game developers to the right tools for their particular tasks. Making it easy to find software for a particular purpose, within certain platform, language or license requirements. We are considering using existing web-based knowledge base tools such as WikiWikiWeb or faq-o-matic, as well as tables of the features and limitations of each available package.
- Collect the general feedback that game developers might want to give the Linux community about any porting problems they might have. And helping to start, extend or fix projects to meet those needs.
- If neccessary initiate and host "please port this to Linux" petitions and mane the commercial game developers aware of the demand.
- Find volunteers willing to port commercial games to Linux and act as mediator between them and commercial game houses.
- Provide facilities for discussion between commercial game developers and Linux users on how support for Linux can be increased in the future.
- Help rally game SDK development efforts to port existing game libraries to needed, unsupported platforms.
- It could help direct interested people to other projects as needed to help with bugfixing, porting, and documentation (especially with respect to interoperability between projects).
- It could even have a relationship to game SDK projects and Open Source® games somewhat similar to the relationship Debian has with the packages that it collects. It could collect easy-to-find and easy-to-install packages of game SDKs and try to make it easy for a new developer to choose the one(s) that best meets their needs. It could even help develop policies to ensure clean interaction between libraries wanting to be added to the collection.
While game development for Linux would be an important goal of the web site, the most important goal would be the development of quality cross-platform game libraries. For that reason, developers of games and game SDKs for platforms other than Linux would be more than welcome to join us. Especially if they are interested in porting software to or from Linux.
In the end, there would still be multiple, competing game SDK packages, but that should be OK as long as at least one comprehensive open-source solution can be cobbled together from the pieces. As we have seen with multiple distributions, and even the KDE/GNOME projects, competition can sometimes be a very good thing ... if you can see past the flame wars.
The biggest problem with having multiple, competing projects is the resultant (developer and user) confusion. What we are proposing is a Linux Game Development Center that is aimed simply at reducing that confusion by helping people to find, evaluate, combine and use the available tools, or to develop new, missing ones.
RequestAt this point, we are mainly looking for:
- More people to work on the web-site (in particular people who have ideas for ways we should do it with existing or new web server and/or database technologies).
- Other game SDK related projects that should be added, or who want to help, or who should at least join the linuxgames mailing list(s).
- Other Game or Game SDK developers who want to be in on the discussions, prioritizing, development, or who just want to influence the direction of the Linux Games project in one way or another.
All interested people are invited to join the linuxgames mailing list and participate in the discussions (send a blank message to linuxgames-subscribe@sunsite.auc.dk)
Current Linux Game Development ProjectsThese are the current Linux Game Development projects we have been able to locate and invite to participate. If your favorite project is not included, let us know and please join us.
- 3dfx HowTo
- ALSA - Advanced Linux Sound Architecture
- ClanLib
- CrystalSpace
- Daryll Strauss' Linux 3D page
- DUMB
- GAMES - GNU Animation Multimedia Entertain ment System
- GGI - General Graphics Interface
- GSI - General Sound Interface
- Linux game development webring
- Linux Game Programming HowTo
- Linux Game Programming Megasite
- Linux Game Tome
- LinuxGames.Com
- Mesa
- MGL
- PenguinPlay
- SDL - Simple DirectMedia Layer
-
Linux and Games (Editorial)
Rob Huffstedtler sent me an editorial piece on Linux and its future in the gaming market. It features comments from Crack.com's Dave Taylor, so everyon must definately hit the link below and read it. The following editorial is by Rob Huffstedtler. Please direct comments to him.When I talk to my friends and business associates about using Linux as a desktop OS at home, they invariably ask, "What sort of software runs on it?". A quick demonstration of KDE, Netscape, and StarOffice usually convinces them that it has potential, but they are put off by the lack of commercial games and multimedia software. I myself boot into Windows on an almost daily basis, and it's always for one of two reasons: to run Microsoft Money (hopefully this will soon be replaced by either KMoney or something from the GNOME project) or to play a game which isn't available for Linux (read: just about any of them that aren't published by id).
There is currently very little incentive for game developers to port to Linux. Our installed base is still comparatively small (the most aggressive estimates I have seen put us at about half of the Mac's installed base), and there is an all too common sentiment that those who don't buy into the Free Software Foundation's dogma in its entirety are vile heretics who should be erad icated (Please don't misunderstand me; I support the ideals of the FSF, but not to the point of believing that it is unethical to release closed software). This creates a classic chicken & egg dilemma wherein most developers don't want to support our beloved OS and most non-hacker types don't want to use it bc they can do more of what they want to do with Windows or MacOS. Ultimately, it is not our noble ideals that will bring converts to Linux; converts will come when they can run the programs they want to run on an OS that is stable, easy to use, and fun.
Towards that end, I suggest that the world needs a free (LGPLed) cross-p latform multimedia API. There are various projects in the works which are aimed at simplifying game development under Linux. Unfortunately, that is their greatest weakness. A Linux-only API will benefit hobbyist developers, but it won't offer the necessary incentive for commercial developers to make the product available for Linux.
Crack.com (of Abuse fame) is the only game developer that I am aware of which is planning on producing a fully supported Linux version of a new product: Golgotha, the first 3D action game in a long time that seems like more than a Quake clone. Crack.com p refers to call it an action/strategy game to emphasize the characteristics which differentiate it from the rest of the 3D genre. Since Dave Taylor is a member of the slashdot community, I asked for his thoughts regarding the current state of Linux development.
I was pleasantly surprised to hear that the code base was not all that different between the Win32 and Linux versions of Golgotha. Thanks to the Linux port of the Glide library, the 3D code is largely portable. The Windows version also supports Direct3D, for those of you who are into that sort of thing. They were able to provide equivalent functionality for DirectSound (except for 3D positional audio, which Linux still lacks) and DirectDraw.
When I asked Dave point blank whether or not a cross platform API would be beneficial, he replied: "Yes, it would make us happier, and hardware vendors would love it, too. But the main problem is Microsoft. They want to ma ke the standards. They do not dig on open standards, and they will basically force the hardware vendors to support their standard, leaving them little money or time to support the open standard." This is pretty obvious when you look at the number of graphics cards supporting OpenGL vs. the number supporting Direct3D.
So, what is the answer? Dave Taylor suggests going the opposite route a nd creating a GGI layer for Windows that would operate above DirectDraw and an OSS layer that would operate above DirectSound. This would certainly give Linux developers a path to the Windows world, but I'm not sure that it would give enough of an incentive to those who are already comfortable developing with DirectX.
My vote is for the more subversive and radical solution: create a free DirectX clone for Linux (maybe for Windows as well). Aside from Direct3D, I have heard very positive things ab out it from a developer standpoint. It would allow developers to create much more portable source code which would allow commercial developers to reach a larger p otential customer base without drastically increasing their development cost and which would give Linux developers the opportunity to reach the rest of the world.
So far, the best hope seems to be the Simple DirectMedia Layer, an API being developed by Sam Latinga (the fellow who did Maelstrom). It's still in early development, but he already has some real games coded with it (SDL versions of Maelstrom and Doom). Currently it supports Linux, Win32, and BeOS. One of his stated future goals is DirectX comp atibility. Sadly, I found out about the project too late to get any direct comment from Sam.
Lastly, I'll try to head off the flames before they start. Some will say that commercial development for Linux is bad. That's ridiculous. Any development is good. If you aren't comfortable with whatever restrictions a vendor puts on their product, don't use it. Either wait until a suitable free replacement comes along, or go without. The beauty of GNU/Linux is that it provides choice which can never be taken away. No matter how much commercial software is released, you always have the option of either modifying existing public source or creating your own.
Special thanks to Dave Taylor of crack.com for taking time out of his development schedule to answer my questions and help me form my opinions. If you would like to show your appreciation and prove that developers can make money on Linux soft ware, buy a copy of Golgotha when it's released.