Name: Anonymous 2006-08-29 19:16
Long story short, I'm working on a shmup engine that'll be entirely done in 3D (gameplay will of course be 2D -- think Einhander), and I know enough to make the game, but not enough to work on a cross-platform world editor of decent quality (I'm not experienced enough in GUI-specific things at the moment, I just never really touched the subject).
I'm thinking of having levels made in a way that you can edit them in a text format, constructed of "tiles" that are .MD2 models of widths that are multiples of 64 or something like that. A sample level definition file might look something like:
activecolumn 5 ; column where action occurs (in this hypothetical example, all the road tiles are in this column), every other column is foreground and background
skybox images/storm.tga
music audio/level3.ogg
tiledef X [emptytile]
tiledef 0 tiles/road1.md2 ; 64x64
tiledef 1 tiles/road2.md2 ; 64x64
tiledef 2 tiles/terrain.md2 ; 128x128
tiledef 3 tiles/factory.md2 ; 128x128
tiledef 4 tiles/foreground1.md2 ; 512x128
mapdef
2 X 2 X 1 4 X
X X X X 1 X X
2 X 2 X 1 X X
X X X X 0 X X
2 X 2 X 0 X X
X X X X 0 X X
3 X 2 X 0 X X
X X X X 1 X X
end
...
From a programming standpoint this can save time on learning GUI programming just to make a world editor (and there's other things about custom level editors that I see complications from, such as if I change something in a custom-made file format... I've self-imposed an artificial deadline on this project to get it done before December). From a design standpoint, however, this can potentially make it a pain in the ass to model tiles in such a way that their geometry and textures would look seamless when placed next to each other in the game. Perhaps I can write a Python script in Blender that can let me visualize tiles next to each other as I work on them, without affecting the ones I don't want to change?
Also I don't think modeling the whole level in Blender would work, because I don't know any free file formats that I could use, along with other technical concerns I have with limitations on textures (also I cannot model the entire level and export it as one big .MD2 file -- the format has a limitation of 4096 triangles per model).
I'm thinking of having levels made in a way that you can edit them in a text format, constructed of "tiles" that are .MD2 models of widths that are multiples of 64 or something like that. A sample level definition file might look something like:
activecolumn 5 ; column where action occurs (in this hypothetical example, all the road tiles are in this column), every other column is foreground and background
skybox images/storm.tga
music audio/level3.ogg
tiledef X [emptytile]
tiledef 0 tiles/road1.md2 ; 64x64
tiledef 1 tiles/road2.md2 ; 64x64
tiledef 2 tiles/terrain.md2 ; 128x128
tiledef 3 tiles/factory.md2 ; 128x128
tiledef 4 tiles/foreground1.md2 ; 512x128
mapdef
2 X 2 X 1 4 X
X X X X 1 X X
2 X 2 X 1 X X
X X X X 0 X X
2 X 2 X 0 X X
X X X X 0 X X
3 X 2 X 0 X X
X X X X 1 X X
end
...
From a programming standpoint this can save time on learning GUI programming just to make a world editor (and there's other things about custom level editors that I see complications from, such as if I change something in a custom-made file format... I've self-imposed an artificial deadline on this project to get it done before December). From a design standpoint, however, this can potentially make it a pain in the ass to model tiles in such a way that their geometry and textures would look seamless when placed next to each other in the game. Perhaps I can write a Python script in Blender that can let me visualize tiles next to each other as I work on them, without affecting the ones I don't want to change?
Also I don't think modeling the whole level in Blender would work, because I don't know any free file formats that I could use, along with other technical concerns I have with limitations on textures (also I cannot model the entire level and export it as one big .MD2 file -- the format has a limitation of 4096 triangles per model).