Jump to content
  • Advertisement
Sign in to follow this  
Subotron

Map Editor design issues

This topic is 4235 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

I have created a simple game-engine sort of thing, and now I'm working on a map editor to be able to make a nice scene with it without hardcoding everything. I have some design issues though. My first guess was to go with a seperate indoor/outdoor environment: The outdoor is pretty much a heightmap with models on it, models being both buildings, trees (although I create those procedurally), characters, etc. Also I am creating a system so you can connect shaders, lights, cameras, etc. to these objects (models) . This means if you connect a shader, it will be used to render the geometry of the model connected to it. Connecting a camera is useful for things like a 3rd person camera, where you connect it to your character. Lights is pretty obvious I think (connect a light source to a torch object). So this outdoor editor is working out nicely (I think). However, I am not sure whether I should create my own indoor-environment editor, or use an existing tool (whether it is ms3d, 3DS max, or a quake/half-life/whatever editor) and just convert/load the objects created there. I think the latter is best, because it saves the trouble of making another editor, and there are probably already better tools out there than I can create, right? Also I am the only programmer at this time, so I want to keep work on tools to a minimum. The problem I still have though, is for example doors/windows. If you look through a window, it would be nice if you could see the indoor environment when standing outside. Maybe I could do this with some sort of portal system? Also, doors need to rotate. However, if a door is part of a generic building model, how can I rotate just the door? Animation inside the model doesn't seem like an option, because what if the building has 5 doors that need to be rotatable at the same time? Should I just make doors a seperate object? The alternative is not making an indoor/outdoor seperation, but just one big map. This seems to give a lot of memory-related issues, and I would also need a system to see what indoor stuff needs to be rendered when I am outside. Well basically I am still at the modelling stage, and these issues are hard for me to solve (first real map editor I am making in 3D). So any help would be appreciated! :) What I want to create is something like The Elder Scrolls: Oblivion. (Not that quality, but just the idea. I know I can't pull off Oblivion on my own :p) Thanks in advance for any input!

Share this post


Link to post
Share on other sites
Advertisement
ok, unfortunately no feedback so far, so I'll just update on what I came up with myself:

My idea for indoor environments is to keep it as close to outdoor as possible, so I can edit it in the same editor (the one I am already working on). For outdoors, I already had the idea to use a base, which would be a heightmap (landscape). This landscape limits the map in size, meaning you cannot place objects outside the xz-plane (with y pointing up) or the landscape. The base is not subject to things like gravity and wind. So pretty much the map is just a base, and objects placed on it that can be moved and such.

Now for indoor, I could design a basic building layout (walls, floors, etc) in another 3D editor, and just import the model, using it as a base. Only now it is a little more complex, because you can have things like a second floord and such, there's not just one bottom, but that can be managed I guess. Working from this base, which again limits the size of that particular scene part (but now also for the y axis, instead of just xz) you could place objects (just like outdoors) for tables, chairs, but also doors and such.

It's still not perfect, but it seems like a nice way to go. So any thoughts? :)

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!