Tuesday, January 25, 2011

Oh my God-it's full of stars!: Free and Open Source procedural space sim round up (a la Infinity or Elite)

"The thing's hollow..it goes on forever..-and--Oh my God--it's full of stars!"
Bowman's memorable utterance in 2001 A Space Odyssey encapsulates perfectly the way the space and its' exploration resonates with the imagination and nothing encapsulates the experience of stepping out and living amongst the stars as well as David Braben's immense procedural opus, the Frontier Elite/Elite series of games.

The Elite and Frontier Elite series left a long shadow, inspiring academic work in procedural generation (see vterrain.org) but towering over countless emulation attempts, for both the depicted universe (space and surfaces of all objects on a scale of light years, to meters) procedural gameplay (location/assets/mission/incidental event combination, with a full range of mission types), interaction (action based reputation, politics etc.). Although a lot of academic work was done, like with a lot of areas of game development, not much in the way of actual realisation was ever done (a genre of space sims emulated a fraction of the scope of the game, often using large FPS style rooms with space/planet wall paper). There were a few foss/indie projects (Oolite, FFEd3d, Ad astra, Evochron series) that attempted to follow.

Recently with the advent of very powerful hardware ( just begging for realistic procedural simulation) the I-Novae engines indie creator decided to implement a procedural universe, with stunning results (see here and here for motivation), and the proof of concept has further stirred opensource attempts. I-Novae people are mainly focussed on an MMO, which largely gets around interaction/social simulation in a by replacing it with standard MMO player-player interaction mechanics.

Which leaves a large empty space for commercial, indie, or most importantly FOSS singleplayer games, as well as, and much more interestingly, a chance for FOSS to produce the standout significant modern game in a genre first.

The procedural space sim bug has resulted in quite a few FOSS projects, often the result of a single founder's inspiration, occurring independently and in isolation, and subsequently attracting some attention from the community:


Pioneer:

(Download, more recent v7.5/Source/Forum/Screenshots)
Most developed procedural planets (along with Spaceway). New sim, released online by Tomm Morton (creator of glFrontier), and associates, and whose development has avalanched a bit. OpenGL 2.0, lua/c++, all bodies spin/orbit around each other, scriptable procedural models, economy/life/missions implemented but require fleshing out, procedural cities/ground vehicles etc. mean FPS/RPG/air/ground stories/gameplay of sci-fi tv franchises like Star Wars/Star Trek/Doctor Who/BSG/Babylon 5 (and game worlds from books) etc. can be potentially recreated therefore also of interest to franchise modders.

There is a weight/substance to planets when viewed from a distance which is not even present in Infinity (as far as youtube vids show). Probably a combination of not looking plastic-y due to phong-like lighting model/strong specularity and planets having a realistic radius allowing you to be reasonably distant and still see the planet stretch away despite turning a lot.




Note: all screenshots are from earlier versions of Pioneer, and the graphics have improved even more since then.


Spaceway:


(Download/Screenshots) Virtually identical specs to pioneer, has procedural spaceships half implemented, no life/cities yet. Created by FOSS Orbiter's oglaclient author Artlav and shares some code with it. Intended to be a procedural replacement for orbiter he is looking at a game as well. Sourceforge says GPL license. Code not released yet as apparently he is waiting until it is cleaned. Good atmospheric scattering. Many galaxies simulated.






Titaniumart's Planetary space:


(Ogre thread/Screenshots) More speculative, long presence in Ogre forums, where they have mentioned it will be opensource, and a procedural 'snap-in' will be released, potentially allowing FPS/RPG devs to incorporate procedural terrain easily. Due for a tech demo soon.




Vegastrike:


(Download/Source/Forum/Screenshots) Have recently started looking into procedural planets. Mostly included here for completeness.Features a large procedurally generation universe, with economy/empires/wars simulated. Multiplayer/modding community. Released version is years behind, and graphically of a previous era, looking for a coder to port to Ogre.


Project Simerge:


(Code) Windows/Linux support. Inactive, but code may be of some use (Sourceforge shows 5 week old commits, thanks Charlieg). A partly completed procedural sim, the developer released code under GPL3 and is considering a seperate closed source game. Working prototype.Building interior support.



FOSS tech demos/source:

Sponeil.net: Windows/Linux.
Various tech demos, including planet/volumetric cloud generation.

Galaxy Engine: (Download/Source/Ogre thread) Procedural planet tech demo.

OgrePlanet: (Source) Another recently started attempt..

Foss clones of Elite series exist (not modern, as they are the same game essentially, but..) e.g. Oolite: Elite remake as for a long time gameplay just was not available elsewhere. Planets etc. nowhere near upto pioneer/spaceway standards.





It strikes me that development of so much software so identical in spirit, scope and vision, is precisely the type of duplication an open and social philosophy like FOSS seeks to prevent. It should be possible for projects to list their particular requirements to see if a framework for a space sim engine cannot be created that allows overlapping areas to be developed in a way that avoids duplication (especially considering the drought of programmers in FOSS space sim communities like Vegastrike, Freespace open etc.).

If there is software, stats, or facts that would be relevant please feel free to note in comments.

Provide feedback:

Due to SPAM issues we have disabled public commenting here.

But feel free to join our forums or easily chat via IRC with us.