Pondering making a new format/editor

Discuss the construction of maps and the tools to create maps for 3D games.
Post Reply
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Pondering making a new format/editor

Post by jitspoe »

This is something I've wanted to do for a while, but it's probably not realistic with my limited free time, so I figured I'd just throw some ideas I had out there.

Minimal, intuitive, powerful controls:

Not sure if I'd make it 3D-only, since having the 2D windows can be useful/easier sometimes, but I'm picturing an interface similar to Wings3D. (example: http://www.youtube.com/watch?v=jqnDYU4JxNA)

Closed mesh based editing:

Instead of forcing convex brushes during the editing phase, users can build more complex, concave objects, so long as the mesh is sealed. They will be intelligently broken into convex brushes at compile time.

3D grid planes with snaping:

One of the biggest problems I have with most 3D editing windows is that there's not a good way to use the grid for things like vertex tweaking. I want to implement a system where a grid plane will be visible on the axis most perpendicular to the camera (ex: camera looking down would show the ground grid plane). Moving/editing objects would edit them along this plane and allow you to snap to the grid.

Auto-texture selection:

If you want to make a map with lots of grass and rock textures, for example, you could set up an object to auto-select grass textures on faces with walkable angles/normals and rock for steep angles.

Mirrored map mode:

For things like CTF maps, sometimes you want to have the geometry be perfectly symetrical, and it's a pain to maintain both sides of the map when making tweaks. Mirrored mode would make the changes to both sides of the map simultaneously.

Smart auto-alignment of certain textures (configurable?):

Things like wood textures should almost always be aligned along the length of boards. This means half the time, you have to rotate a bunch of textures 90 degrees if they're on-axis, and you have to find a good angle for brushes made at arbitrary angles. Per-texture auto-alignment features would attempt to automatically handle this for you. Another example is crates. If you scale/rotate/offset them, they should scale to the closest multiple of 64 (or whatever your crate size is).

Prefab sub-editing system:

This would basically allow you to edit groups brushes separately from the rest of the world, then place them anywhere. For example, say you wanted to place a house at a non-axis aligned angle. Trying to get all the brushes and textures to line up well is a real pain. If you could edit the house on-axis by itself, then drop the whole group of brushes anywhere in the map, at any angle, it would make things a lot easier.

In-editor compilation:

I'm thinking of a random ray tracing system for calculating reflected light, or possibly rendering the scene from each lightmap point. The more iterations you do, the better it will look. If this is continuously run while the editor is open,

A) You'd get in-editor previews for lighting.
B) You won't have to wait for the compilation to finish before launching the map. Just save and run.

It would also let you see how your faces are getting split up and other things that are useful to optimize your map.


Things that would require a new map format:

LOD system:

This would probably be a challenge to implement, but I was picturing something that could better support larger, open maps. Rocks and terrain could allow you to edit in different LOD levels. You could build the basic rock, switch to higher detail mode, then split some of the faces to add more detail.

Reflection PVS:

Reflective surfaces are problematic if they can see around corners that are blocked by PVS. Reflective PVS would determine which areas are visible to a player

Caustic maps:

Kind of a minor thing that I think would be cool. Currently, in my engine, caustics are applied to everything underwater, but it would be cool to have them applied based on light angle, reflected onto nearby surfaces, etc.




This is all very ambitious, and I'll probably never get around to it, but it would be cool. I'm trying to decide what approach I should take if I go forward with it.

I was thinking of using this as an opportunity to learn something like C#, where the UI would be much easier to implement. I'm not sure if that's the kind of UI I want, though. If I do something like Wings3D, I will likely have to do highly specialized context menus. Radial menus would probably be the fastest user interface (ex: right+click, mouse right, mouse up might create a new cube -- easier muscle memory than trudging through drop-downs looking for the item you want). If I do something like that, I'd probably be better off writing a custom UI system in OpenGL.
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: Pondering making a new format/editor

Post by jitspoe »

Forgot something:

Networking:

Allow multiple people to work on the same map simultaneously. Maybe even have a dedicated map server.
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: Pondering making a new format/editor

Post by leileilol »

Sounds like a patch for Trenchbroom.
i should not be here
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: Pondering making a new format/editor

Post by jitspoe »

leileilol wrote:Sounds like a patch for Trenchbroom.
True, it does have some similarities. These ideas have been bouncing around in my head since long before Trenchbroom came out, though. Perhaps collaboration would be the way to go. I need to check out the latest version.

Another fun idea might be to make the editor inside Quake, so you could run around, build, and play at the same time, like Sauerbraten.
Spike
Posts: 2914
Joined: Fri Nov 05, 2004 3:12 am
Location: UK
Contact:

Re: Pondering making a new format/editor

Post by Spike »

yeah, I keep returning to the in-engine editor idea myself (but part of that is because it would be a gateway to red-faction-style destruction).
especially if you want to network it.
it depends if you want to make a generic editor, or specific tools for a specific engine (which you might as well, if you're changing the various file formats anyway).

Regarding your 'new map format' things...
LOD: surely it would be better to support various sorts of different static meshes instead, and have the lod as part of that, just pre-lit. As your meshes get larger and larger, it gets harder to justify multiple copies of said verticies in the bsp.
reflection pvs: can you not just find the leaves with the water surfaces and or together the pvs bits from those leaves?
caustic maps: not just some 'fog' volume with some sort of tcmod projection on it?

personally I'm more interested in dirt maps. something like a lightmap used to blend between clean/dirty textures for more varied detail. kinda like terrain in q3bsp, but less absurd.
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: Pondering making a new format/editor

Post by jitspoe »

I was thinking of LOD's in the sense of being able to optimize unique geometry: terrain, elaborate rock walls, caves, the occasional detailed structure/building. Creating one-off assets for all these things then importing them into the map is a lot more work than just being able to freely build and detail the world with a powerful level editing tool.

I would also like to do a texture painting system. Guess I forgot to mention that. I'm thinking something like this could get really nice results:
https://developer.valvesoftware.com/wik ... dulate.jpg
ceriux
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: Pondering making a new format/editor

Post by ceriux »

it would be nice to be able to make our maps out of some type of model. the half-life mod earths special forces did this and both the preformance and visuals of the mod both increased. http://www.esforces.com/ ( im not sure if this is on topic or not but i felt like it kind of was )
jitspoe
Posts: 217
Joined: Mon Jan 17, 2005 5:27 am

Re: Pondering making a new format/editor

Post by jitspoe »

Well, if the format is updated and world geometry is rendered optimally, it shouldn't matter if it's meshes or built directly into the map.

Looking at screenshots of that mod, are you saying the rocks here are models? http://esforces.com/sites/default/files ... 4-2012.jpg

How do they do the shadows? Can radiosity be baked into them?
leileilol
Posts: 2783
Joined: Fri Oct 15, 2004 3:23 am

Re: Pondering making a new format/editor

Post by leileilol »

It's HLBSP and they have some opengl32.dll wrapper trickery to do some unoptimal lighting crap. I don't see how this is relevant to a map editor, Q3BSP has internal models already.
i should not be here
goldenboy
Posts: 924
Joined: Fri Sep 05, 2008 11:04 pm
Location: Kiel
Contact:

Re: Pondering making a new format/editor

Post by goldenboy »

You can de facto already make 90% of a Darkplaces / FTE level in Blender.
ceriux
Posts: 2230
Joined: Sat Sep 06, 2008 3:30 pm
Location: Indiana, USA

Re: Pondering making a new format/editor

Post by ceriux »

leileilol wrote:It's HLBSP and they have some opengl32.dll wrapper trickery to do some unoptimal lighting crap. I don't see how this is relevant to a map editor, Q3BSP has internal models already.

leilei at one point as far as i remember they did away with hlbsp and moved to maps based on model meshes. they showed tutorials where they baked in their lighting and everything at one point.

this video shows that even their water is mesh based : http://www.youtube.com/watch?v=oM38MkjXQHY

the article talking about how they no longer use bsp.

http://www.moddb.com/mods/earths-specia ... m-overhaul
Post Reply