views:

68

answers:

3

I would like to experiment with machine generated levels for a 3D game. I'm very open which game this will be. I just like the idea to run through a generated map.

For this approach, it would be great if I can use an API or an open format for level designs.
Is there an open source level system that can be used in several game engines (ego shooter or whatever)?

Update 1: I don't want to develop a new game engine, I would like to reuse an existing one, my levels will be playable in. Therefore, I'm bound to its restrictions. It would be great if you can give me some advices and recommendations which game engine would be good to use.

Update 2: It would be nice if the level data is able to be ported to different games. But that's not a necessity.

I don't know if I explained my point clearly, so please add a comment with your question. I will try to clearify my point.

A: 

Why not use XML? It's open, easily extended and the plethora of readers means it is portable (if that is your thing).

Useful until you can lock your design down.

graham.reeds
I don't want to develop a game engine, I would like to reuse an existing one. Therefore, I'm bound to its restrictions.
furtelwart
+3  A: 

There is the cube game engine, which is somehow general purpose, but currently there are only a couple of shooter games build on it (eg. Sauerbraten, AssaultCube). The long-planned adventure game has never been finished.

Many games use the Quake engine, follow the link (Wikipedia) to see a list of these games.

Many 3D models (not levels) are created in Blender, the open source 3D software. It is very powerful, but also complex. There is a built in game-engine, which is, AFAIK also standalone (I think this is CrystalSpace). Here is a dedicated site for blender games. You could create levels by its powerful scripting API.

Stefan Steinegger
Thanks for the hint! Cube would be nice, because it's completely free and it has complete games. Did you mean Blender Game? Blender is very hard. Have you experiences with Cube level design?
furtelwart
@furtelwart: I don't have much experience. Cube has a built-in level editor which is quite easy to use. Don't know about API.
Stefan Steinegger
Good advice about sauerbraten, but quake cannot be used to make dynamic levels.
SigTerm
@SigTerm: May be, but he never said something about dynamic level, just generated levels.
Stefan Steinegger
+1  A: 

I would like to experiment with machine generated levels for a 3D game.

Sauerbraten, Ogre3D or Blender. I'd go with Sauerbraten - because it is small and allows to edit levels dynamically from within the game. Or you can take a look at quake1..quake3 engines and derivatives (ioquake, I think), but I think they aren't exactly suitable for dynamically generated levels. With Sauerbraten you can very quickly rebuild geometry, recalculate lighting and reflection cubemaps from within the game.

It would be nice if the level data is able to be ported to different games.

I think you can forget about it. Worrying about your levels being compatible with other games will only slow down your development. Many games are using custom format, and there are no "standard" way to exchange data. There is "Collada" file format, but I wouldn't rely on it - it is meant for exchanging models, not levels, and certain game engines doesn't support levels made from polygonal soup.

SigTerm
Thanks for the tip with Collada, it would be interesting. I didn't know Ogre3D yet.Did I understand you correctly that Sauerbraten has an API that lets you control and edit the levels?
furtelwart
Sauerbraten has a builtin level editor, and full engine source code is available under zlib license. You can press "E" at any time, and start changing levels - extruding walls, etc. It shouldn't be too difficult to hijack this API and modify engine slightly for your needs.
SigTerm