Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

3D tile engine... any pitfalls?

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).

Name: Anonymous 2006-09-05 6:41 (sage)

>>14
I'm assuming you're the same person as >>1 and >>9.
What do you really want to do? Create a game? If that is your goal, then use other people's solutions and don't reinvent the wheel. You don't need to write your own engine from scratch. You don't need to worry about stuff such as scene management, lighting techniques or other graphical effects, collision detection or 3d model formats because they are all problems that have been solved.
There are open source solutions around so USE THEM. If they are inadequate for what your game vision is, then what is to stop you from improving open source engines? If you release your improvements to the public, then everybody benefits.

Here is a list of open source engines that I have played with. I've tried a number of non open source engines but I wouldn't recommend them because you aren't able to improve them or learn from them. Spend time doing tech demos for all of them then choose one to run your game.

http://www.crystalspace3d.org
http://irrlicht.sourceforge.net/
http://www.delta3d.org/
http://www.ogre3d.org - this a graphics engine rather than a 3d game engine/sdk
http://www.cubeengine.com/ - this is very interesting
http://sauerbraten.org/ - redesign of the cube engine.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List