Archived

This topic is now archived and is closed to further replies.

Simple indoor level editor

This topic is 5014 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Heyas all, Well, I''m at the point now with my terrain level editor where I have the basics up and running (heightmap, splatting, streaming data, etc etc). Everything that I have yet to accomplish, I have a good idea of how I shall go about it. This leaves me with a mini dilemma. I''d like to include indoor areas in my game, as I feel that purely outdoor areas would feel like a cardboard cut-out scene that doesn''t really have any depth. Now I''m quite well versed on indoor level rendering, having coded a quake 3 bsp viewer, however, I''d like to start thinking about my own indoor levels and I''m not really sure how best to progress. My idea currently is that I''ll take an approach similar to Morrowind, in that indoor levels will be made in their own editor, and can be accessed in game via portals, in the sense that to access the inside of a house, you''d use the door and be warped inside the house... to access the inside of a tomb, you use the tomb door and are warped inside of the tomb at the entrance, etc etc. Now my problem lies in that I do not have time to code something akin to worldcraft as I''m working alone and I would like to finish this in my lifetime!! What I propose is something along the lines of having pre modelled brushes. Each brush has a set of textures that can be changed for every instance of the brush, every instance of a brush can also be scaled, rotated and possibly deformed in a simple manner (I do not have time to go into things like vertex editing). I also think that rather than delve into BSP trees and the like, I may simply divide my indoor areas into chunks, and frustum cull them, as I don''t plan to have huge indoor areas anyways. I feel I''m lacking some way to make sure the level is enclosed (ie the player cannot fall out of the level). I could perhaps enclose the level within a large room or force the person editing the map to ensure that all brushes join seamlessly, but neither of these ways seems quite right. I also feel that this method lacks the fine control it may need to create truly impressive indoor environments, but I''m convinced that there is an easy way to do it without having to have control over individual vertices... I''d much rather deal with things on an object level rather than a polygonal/vertex level, as I feel this would make the level editor much more intuitive to use. So to sum up, I''d like to promote the most intuitive interface possible, dealing with things on an object level, allow as much flexibility as possible, and keep things simple to code. I''d also like to work out how to keep the level useable in game at all times (ie never allowing any gaps between meshes, etc), so would anyone happen to have any thoughts as to how to achieve my objectives? Thanks for any assistance, Steve

Share this post


Link to post
Share on other sites
Indoor modeling software is complicated. Even if you do use premade brushes, exect to spend many hours coding your indoor level editor. Why don''t you check out ArtOfIllusion.org, or blender3d. Both are good 3D modelers.

Share this post


Link to post
Share on other sites
As you seem to know some stuff abotu Worldcraft why not use that? I''m using the .map files. I haven''t found a way to check for leaks but loading a .map file isn''t too bad and Worldcraft''s a pretty powerfull editor.

Share this post


Link to post
Share on other sites
hmm, I''m not quite sure that my explanation was clear enough. I''m not after using a 3rd party modelling software to create my indoor scenes. Perhaps to create the pre-modelled brushes, but not for general level editing, the level editor will be of my making. I do not like worldcraft as a level editor, I believe it is more complex than it needs to be, and produces poor quality maps for the complexity of the program, and on top of that it is not intuitive and not of my own making (mostly convex objects with a few exceptions, takes a relatively long time to make even a simple map, handles large areas poorly, lots of vertex editing needed to make simple objects, etc).

What I''m looking for is not advice on what software to use, I''m going to write my own and have already done so for outdoor terrain, and I''m more interested in premises on how to keep it simple, yet powerful if anyone has any further thoughts?

Thanks for the help anyways, but perhaps I was just unclear

Cheers,

Steve

Share this post


Link to post
Share on other sites
hmm.. ok to give more of an idea of what I mean, I''ve come up with a possible solution to enclosing the maps. Some brushes will be defined as rooms, anything defined as a room will automatically crop off any geometry intersecting with another room. At the point of intersection between rooms a door type must be defined, this could be no door, or one of a set of pre-modelled doors scaled to fit the intersection.

I think now that I lack fine control over textures, so I need to work out some way to have more control over them, possibly doing something similar to my outdoor splatting by allowing the user to paint textures onto brushes. Also there is a problem in that the selected door type may not fit the shape of the intersection between rooms, but again, I''m pretty sure that there is a way around this that could sort that problem out.

Cheers,

Steve

Share this post


Link to post
Share on other sites
Since you mentioned Morrowind....


Morrowind uses "3D Tiles" for it''s indoor areas. That doesn''t seem like too bad an idea for making it quick and easy to make indoor levels.

Share this post


Link to post
Share on other sites
Hmm, ok that sounds like a feasible idea that would be quick to implement. I had considered the idea myself but thought that it may present too many limitations. Having watched the TES construction kit video of dungeon building though, I think it may actually be feasible after all. I will purchase Morrowind to get a better look at how they do it, but I''m still a little confused how they achieve 3D tiles.

Take for example, a section of 3D cave. How do they ensure that all cave sections join correctly? Do they create large models and then split them down into smaller tiles? I can''t imagine the tiles being created separately as ensuring that all the tiles join seamlessly must be a nightmare.

Does anyone have Morrowind that could possibly comment on how the TES construction kit deals with this?

Cheers,

Steve

Share this post


Link to post
Share on other sites
quote:
Original post by Mephs
Take for example, a section of 3D cave. How do they ensure that all cave sections join correctly? Do they create large models and then split them down into smaller tiles? I can''t imagine the tiles being created separately as ensuring that all the tiles join seamlessly must be a nightmare.


For many it doesn''t matter if they fit seamlessly, being close is good enough. Everything else is specially designed to fit together, in the same way 2D tiles are drawn to fit together in specific ways. Other games that use the 3D tile approach are Neverwinter Nights and Dungeon Siege.

Share this post


Link to post
Share on other sites
quote:
Original post by Mephs
Hmm, ok that sounds like a feasible idea that would be quick to implement. I had considered the idea myself but thought that it may present too many limitations. Having watched the TES construction kit video of dungeon building though, I think it may actually be feasible after all. I will purchase Morrowind to get a better look at how they do it, but I''m still a little confused how they achieve 3D tiles.

Take for example, a section of 3D cave. How do they ensure that all cave sections join correctly? Do they create large models and then split them down into smaller tiles? I can''t imagine the tiles being created separately as ensuring that all the tiles join seamlessly must be a nightmare.

Does anyone have Morrowind that could possibly comment on how the TES construction kit deals with this?

Cheers,

Steve


ah, well it''s not tile based in that the ''tile'' positions aren''t restricted. More like they have "Blocks" of 3d geometry that they can position in 3d space that are in fixed "sizes" (i.e. 1x1, 2x2, 2x1 etc etc)

Share this post


Link to post
Share on other sites
What I''m still confused about though is 3D tiles with irregular shapes. Take for example a section of cave that is rounded and not a regular shape like a house room would be. How would you ensure that the tiles join together correctly? Is this best left as something for the modellers to deal with to ensure that sections join as near seamlessly as possible (which to me seems like a harsh restriction to deal with), or would there be any way you could enforce this through code?

Share this post


Link to post
Share on other sites
quote:
Original post by Mephs
What I''m still confused about though is 3D tiles with irregular shapes. Take for example a section of cave that is rounded and not a regular shape like a house room would be. How would you ensure that the tiles join together correctly? Is this best left as something for the modellers to deal with to ensure that sections join as near seamlessly as possible (which to me seems like a harsh restriction to deal with), or would there be any way you could enforce this through code?


Well I think the caves are modelled to fit together - but I don''t see why this is a harsh restriction (and as for placing the "Tiles" (Blocks would be a better word I think) - the grid snap helps alot)

Share this post


Link to post
Share on other sites
Perhaps I'm not thinking as a modeller would, but I'd see it as a harsh restriction to have to ensure that cave sections fit seamlessly with other cave sections.

/------------| |
| |
\ /
\ /
\ /
\______/


Take the above bad ASCII art to represent the joining end of a section of cave, remembering that the cross section would probably be more irregular than ASCII art can depict. To ensure that many cave sections are interchangeable, every single joining end of a section of cave would have to have the same cross section at the joining point. This means that the modeller will have to base all his models (or enough that there is room to shuffle tiles around a bit) around having that particular cross section. That is why I think it is a harsh restriction. I think it would be much easier on the modeller to just be able to build any shape section that they desire, within the block size limits (1x1, 2x1, 2x2 etc), and have the editor deal with joining tiles (by manipulating the mesh vertices automatically). Ok, it might take longer to code such a system, but I imagine it would take the modeller longer to ensure that cave sections are interchangeable, especially if you plan on having a wide range of tiles. Perhaps someone has a better suggestion though, or am I seeing this modelling restriction as a bigger problem than it actually is?

Is that making sense?

Cheers,

Steve



[edited by - mephs on March 22, 2004 12:34:33 PM]

Share this post


Link to post
Share on other sites